Mograsim.git
4 years agoNeeded to add special class loading, too
Christian Femers [Tue, 3 Sep 2019 04:51:28 +0000 (06:51 +0200)]
Needed to add special class loading, too

4 years agoAdapt Editor to new system, removed json duplication
Christian Femers [Tue, 3 Sep 2019 04:32:48 +0000 (06:32 +0200)]
Adapt Editor to new system, removed json duplication

4 years agoMove components to an actual resource folder (that will remain in jar)
Christian Femers [Tue, 3 Sep 2019 04:29:10 +0000 (06:29 +0200)]
Move components to an actual resource folder (that will remain in jar)

4 years agoA proposal for resolving the loading problem of json files
Christian Femers [Tue, 3 Sep 2019 04:28:01 +0000 (06:28 +0200)]
A proposal for resolving the loading problem of json files

4 years agoAdded small test checking the status register content after Load_Load
Christian Femers [Mon, 2 Sep 2019 22:45:02 +0000 (00:45 +0200)]
Added small test checking the status register content after Load_Load

4 years agoAdded methods to set and get the complete micro-/makro-status
Christian Femers [Mon, 2 Sep 2019 22:43:35 +0000 (00:43 +0200)]
Added methods to set and get the complete micro-/makro-status

4 years agoUnified the status order Z-C-N-OVR everywhere in the Am2904 tests
Christian Femers [Mon, 2 Sep 2019 22:39:42 +0000 (00:39 +0200)]
Unified the status order Z-C-N-OVR everywhere in the Am2904 tests

4 years agoAdjusted GUIMerger/GUISplitter to thick GUIWires
Daniel Kirschten [Mon, 2 Sep 2019 21:00:38 +0000 (23:00 +0200)]
Adjusted GUIMerger/GUISplitter to thick GUIWires

4 years agoRemoved duplicate code in GUIMemoryWA; removed obsolete TODO
Daniel Kirschten [Mon, 2 Sep 2019 20:53:32 +0000 (22:53 +0200)]
Removed duplicate code in GUIMemoryWA; removed obsolete TODO

4 years agoMade wires with logicWidth!=1 thicker
Daniel Kirschten [Mon, 2 Sep 2019 20:46:19 +0000 (22:46 +0200)]
Made wires with logicWidth!=1 thicker

4 years agoMerge remote-tracking branch 'origin/development' into development
Daniel Kirschten [Mon, 2 Sep 2019 20:37:27 +0000 (22:37 +0200)]
Merge remote-tracking branch 'origin/development' into development

4 years agoText no longer jitters
Daniel Kirschten [Mon, 2 Sep 2019 20:36:45 +0000 (22:36 +0200)]
Text no longer jitters

4 years agoSlight rendering improvement
Daniel Kirschten [Mon, 2 Sep 2019 19:17:43 +0000 (21:17 +0200)]
Slight rendering improvement

4 years agoMerge branch 'development' of https://gitlab.lrz.de/lrr-tum/students/eragp-misim...
Fabian Stemmler [Mon, 2 Sep 2019 15:15:15 +0000 (17:15 +0200)]
Merge branch 'development' of https://gitlab.lrz.de/lrr-tum/students/eragp-misim-2019.git into development

4 years agoAdded View for micro instruction editor
Fabian Stemmler [Mon, 2 Sep 2019 15:14:24 +0000 (17:14 +0200)]
Added View for micro instruction editor

4 years agoChanged GUIMerger/Splitter read end array order; removed resolved TODO
Daniel Kirschten [Mon, 2 Sep 2019 12:02:23 +0000 (14:02 +0200)]
Changed GUIMerger/Splitter read end array order; removed resolved TODO

4 years agoImplemented SubmodelComponent#getParamsForSerializing
Daniel Kirschten [Mon, 2 Sep 2019 11:48:51 +0000 (13:48 +0200)]
Implemented SubmodelComponent#getParamsForSerializing

4 years agoCleaned up implementations of GUIComponent#getParamsForSerializing
Daniel Kirschten [Mon, 2 Sep 2019 11:47:01 +0000 (13:47 +0200)]
Cleaned up implementations of GUIComponent#getParamsForSerializing

4 years agoFixed ViewModels being modifiable via GUIComponent/Wire#destroy.
Daniel Kirschten [Mon, 2 Sep 2019 11:09:41 +0000 (13:09 +0200)]
Fixed ViewModels being modifiable via GUIComponent/Wire#destroy.

4 years agoFixed GUIMerger/GUISplitter rendering
Daniel Kirschten [Mon, 2 Sep 2019 10:52:20 +0000 (12:52 +0200)]
Fixed GUIMerger/GUISplitter rendering

4 years agoRevisited some hardcoded components
Daniel Kirschten [Mon, 2 Sep 2019 10:50:43 +0000 (12:50 +0200)]
Revisited some hardcoded components

4 years agoAdjusted GUImux2/3 to have the MSB (of the S wires) on top
Daniel Kirschten [Mon, 2 Sep 2019 10:37:36 +0000 (12:37 +0200)]
Adjusted GUImux2/3 to have the MSB (of the S wires) on top

4 years agoAm2904: Z is now the MSB
Daniel Kirschten [Mon, 2 Sep 2019 10:31:33 +0000 (12:31 +0200)]
Am2904: Z is now the MSB

4 years agoMade GUIMerger/GUISplitter bit order more intuitive (MSB on top)
Daniel Kirschten [Mon, 2 Sep 2019 10:20:08 +0000 (12:20 +0200)]
Made GUIMerger/GUISplitter bit order more intuitive (MSB on top)

4 years agoFixed text file encoding
Daniel Kirschten [Mon, 2 Sep 2019 10:01:51 +0000 (12:01 +0200)]
Fixed text file encoding

4 years agoFixed a bug in Am2904
Daniel Kirschten [Mon, 2 Sep 2019 09:51:12 +0000 (11:51 +0200)]
Fixed a bug in Am2904

4 years agoImproved Test experience by a lot; added first tests for Am2904, Am2910
Christian Femers [Mon, 2 Sep 2019 07:50:42 +0000 (09:50 +0200)]
Improved Test experience by a lot; added first tests for Am2904, Am2910

The current version of the tests includes a failureRule that displays
the state of the failed test in a plain SWT window that opens
automatically. This should make debugging a lot easier.

Some restructuring was done, too.

4 years agoMaybe needs review: fixed bug in ManualSwitch concerning the input
Christian Femers [Mon, 2 Sep 2019 07:39:30 +0000 (09:39 +0200)]
Maybe needs review: fixed bug in ManualSwitch concerning the input

The problem was, that the method getInputValues() did not really return
the current input values, but the last ones that already reached the
wire. This means that different value ranges could not be combined,
since the method already returned the some time ago successfully inputed
values.
This could also cause Problems with setState, since this method used to
compare the argument against the values inputed on the wire, but not
some feedSignals call that is sill due in the Timeline. Therefore a
value change might be discarded although it might actually change the
values again (back):

new: 1010 --- (still in Timeline: 0000) --- already set: 1010

The old method would not have noticed this and ignored the new values.

It is possible, that there are more bugs like this in logic core.

4 years agoIntroduced new adapter class for testing tristate pins easily
Christian Femers [Mon, 2 Sep 2019 04:53:18 +0000 (06:53 +0200)]
Introduced new adapter class for testing tristate pins easily

4 years agoAdded methods to get a TriStateBuffer's pins comfortably
Christian Femers [Mon, 2 Sep 2019 04:51:34 +0000 (06:51 +0200)]
Added methods to get a TriStateBuffer's pins comfortably

4 years agoShortcut for single bit BitVector creation added to Bit
Christian Femers [Mon, 2 Sep 2019 04:50:24 +0000 (06:50 +0200)]
Shortcut for single bit BitVector creation added to Bit

4 years agoIntroduced mini-buttons to the GUIManualSwitch to flip single bits
Christian Femers [Mon, 2 Sep 2019 03:01:43 +0000 (05:01 +0200)]
Introduced mini-buttons to the GUIManualSwitch to flip single bits

Debugging-life is fun again. (Well, as good as it can get)

4 years agoAdded handy new BitVector manipulation method
Christian Femers [Mon, 2 Sep 2019 02:09:23 +0000 (04:09 +0200)]
Added handy new BitVector manipulation method

4 years agoFixed test setup and added support for high level state access
Christian Femers [Mon, 2 Sep 2019 01:26:39 +0000 (03:26 +0200)]
Fixed test setup and added support for high level state access

4 years agomade the test enums package private to avoid confusion and mistakes
Christian Femers [Mon, 2 Sep 2019 01:22:50 +0000 (03:22 +0200)]
made the test enums package private to avoid confusion and mistakes

4 years agoFixed stack high level state internal return type (BitVector[])
Christian Femers [Mon, 2 Sep 2019 01:18:48 +0000 (03:18 +0200)]
Fixed stack high level state internal return type (BitVector[])

4 years agoFixed stack high level state BitVector length (changed 3 to 12)
Christian Femers [Mon, 2 Sep 2019 01:16:52 +0000 (03:16 +0200)]
Fixed stack high level state BitVector length (changed 3 to 12)

4 years agoSlight improvements of Wire#fuse(...)
Daniel Kirschten [Sun, 1 Sep 2019 21:57:07 +0000 (23:57 +0200)]
Slight improvements of Wire#fuse(...)

4 years agoRemove legacy, broken Connector; rename Merger&Splitter to avoid mixups
Daniel Kirschten [Sun, 1 Sep 2019 21:48:54 +0000 (23:48 +0200)]
Remove legacy, broken Connector; rename Merger&Splitter to avoid mixups

4 years agoMerge branch 'fusebug' into development
Daniel Kirschten [Sun, 1 Sep 2019 21:34:20 +0000 (23:34 +0200)]
Merge branch 'fusebug' into development

4 years agoFixed fusebug
Daniel Kirschten [Sun, 1 Sep 2019 21:32:22 +0000 (23:32 +0200)]
Fixed fusebug

4 years agoTextComponent now only calculates its size once => speedup
Daniel Kirschten [Sun, 1 Sep 2019 16:25:43 +0000 (18:25 +0200)]
TextComponent now only calculates its size once => speedup

4 years agoFixed Am2901Testbench broken a long time ago (also updated SWTHelper)
Daniel Kirschten [Sun, 1 Sep 2019 16:25:16 +0000 (18:25 +0200)]
Fixed Am2901Testbench broken a long time ago (also updated SWTHelper)

4 years agoTextComponent no longer eats your CPU
Daniel Kirschten [Sun, 1 Sep 2019 12:25:17 +0000 (14:25 +0200)]
TextComponent no longer eats your CPU

4 years agoSimplified FusionNotWorkingTestbench
Daniel Kirschten [Sun, 1 Sep 2019 12:06:17 +0000 (14:06 +0200)]
Simplified FusionNotWorkingTestbench

4 years agoFound a glitch / bug when fusing wires
Daniel Kirschten [Sun, 1 Sep 2019 12:03:30 +0000 (14:03 +0200)]
Found a glitch / bug when fusing wires

4 years agoMerge branch 'fusebug' into development
Daniel Kirschten [Sun, 1 Sep 2019 11:28:16 +0000 (13:28 +0200)]
Merge branch 'fusebug' into development

4 years agoEditor#getIdentifier(GUIComponent) improved
Daniel Kirschten [Sun, 1 Sep 2019 11:17:53 +0000 (13:17 +0200)]
Editor#getIdentifier(GUIComponent) improved

4 years agoReserialized all components with new ID improvement
Daniel Kirschten [Sun, 1 Sep 2019 11:14:09 +0000 (13:14 +0200)]
Reserialized all components with new ID improvement

4 years agoMerge branch 'fusebug' of https://gitlab.lrz.de/lrr-tum/students/eragp-misim-2019...
Fabian Stemmler [Sun, 1 Sep 2019 11:13:45 +0000 (13:13 +0200)]
Merge branch 'fusebug' of https://gitlab.lrz.de/lrr-tum/students/eragp-misim-2019.git into fusebug

4 years agoSmall improvement regarding IDs
Daniel Kirschten [Sun, 1 Sep 2019 11:13:41 +0000 (13:13 +0200)]
Small improvement regarding IDs

4 years agoFixed issue with Wire fusion
Fabian Stemmler [Sun, 1 Sep 2019 11:07:51 +0000 (13:07 +0200)]
Fixed issue with Wire fusion

4 years agoCreated model for the logic Clock
Christian Femers [Sun, 1 Sep 2019 00:49:50 +0000 (02:49 +0200)]
Created model for the logic Clock

4 years agoNew orientation implementation required small change in the JSON
Christian Femers [Sun, 1 Sep 2019 00:48:21 +0000 (02:48 +0200)]
New orientation implementation required small change in the JSON

4 years agoVastly improved orientation calculation and implementation
Christian Femers [Sun, 1 Sep 2019 00:47:04 +0000 (02:47 +0200)]
Vastly improved orientation calculation and implementation

Let's be serious, nobody understood the old one and it was completely
unreadable. This is much better now and can be reused as needed, even
for asymmetric components. Performance should be roughly the same as
before.

4 years agoAdded BitDisplays for A and B in GUIAm2910; updated Editor's components
Daniel Kirschten [Sat, 31 Aug 2019 21:08:47 +0000 (23:08 +0200)]
Added BitDisplays for A and B in GUIAm2910; updated Editor's components

4 years agoAdded HighLevelStates to GUIAm2904
Daniel Kirschten [Sat, 31 Aug 2019 20:53:37 +0000 (22:53 +0200)]
Added HighLevelStates to GUIAm2904

4 years agoGUIram5_12 now has HighLevelStates
Daniel Kirschten [Sat, 31 Aug 2019 20:46:54 +0000 (22:46 +0200)]
GUIram5_12 now has HighLevelStates

4 years agoGUIdff4_finewe now has a HighLevelState
Daniel Kirschten [Sat, 31 Aug 2019 20:45:12 +0000 (22:45 +0200)]
GUIdff4_finewe now has a HighLevelState

4 years agoGUIAm2910 now delegates HighLevelStates of its subcomponents
Daniel Kirschten [Sat, 31 Aug 2019 20:35:45 +0000 (22:35 +0200)]
GUIAm2910 now delegates HighLevelStates of its subcomponents

4 years agoGUIdff12 now has a HighLevelState
Daniel Kirschten [Sat, 31 Aug 2019 20:33:14 +0000 (22:33 +0200)]
GUIdff12 now has a HighLevelState

4 years agoGUIAm2910SP now has a HighLevelState
Daniel Kirschten [Sat, 31 Aug 2019 20:31:35 +0000 (22:31 +0200)]
GUIAm2910SP now has a HighLevelState

4 years agoGUIAm2910RegCntr now has a HighLevelState
Daniel Kirschten [Sat, 31 Aug 2019 20:19:56 +0000 (22:19 +0200)]
GUIAm2910RegCntr now has a HighLevelState

4 years agoSimpleRectangularHardcodedGUIComponent now supports HighLevelStates
Daniel Kirschten [Sat, 31 Aug 2019 20:11:01 +0000 (22:11 +0200)]
SimpleRectangularHardcodedGUIComponent now supports HighLevelStates

4 years agoSmall cleanup
Daniel Kirschten [Sat, 31 Aug 2019 19:29:36 +0000 (21:29 +0200)]
Small cleanup

4 years agoReserialized all components to version 0.1.5 and set correct PinUsages
Daniel Kirschten [Sat, 31 Aug 2019 17:50:05 +0000 (19:50 +0200)]
Reserialized all components to version 0.1.5 and set correct PinUsages

4 years agointerfacePins, components, wires in JSON files are now sorted by name
Daniel Kirschten [Sat, 31 Aug 2019 16:52:52 +0000 (18:52 +0200)]
interfacePins, components, wires in JSON files are now sorted by name

4 years agoSubmodelComponentSerializer now serializes PinUsages
Daniel Kirschten [Sat, 31 Aug 2019 16:47:00 +0000 (18:47 +0200)]
SubmodelComponentSerializer now serializes PinUsages

4 years agoPins now have a PinUsage
Daniel Kirschten [Sat, 31 Aug 2019 16:39:13 +0000 (18:39 +0200)]
Pins now have a PinUsage

4 years agoRemoved legacy EditableSubmodelComponent
Daniel Kirschten [Sat, 31 Aug 2019 16:17:26 +0000 (18:17 +0200)]
Removed legacy EditableSubmodelComponent

4 years agoMoved Am2904/Am2910Testbenches to test source folder
Daniel Kirschten [Sat, 31 Aug 2019 15:32:02 +0000 (17:32 +0200)]
Moved Am2904/Am2910Testbenches to test source folder

4 years agoRemoved workaround for rendering bug because the bug is fixed
Daniel Kirschten [Sat, 31 Aug 2019 15:22:23 +0000 (17:22 +0200)]
Removed workaround for rendering bug because the bug is fixed

4 years agoMerge branch 'development' into fusebug
Daniel Kirschten [Sat, 31 Aug 2019 15:21:42 +0000 (17:21 +0200)]
Merge branch 'development' into fusebug

4 years agoFixed redraw bug: Changes in submodels didn't cause a redraw
Daniel Kirschten [Sat, 31 Aug 2019 15:20:31 +0000 (17:20 +0200)]
Fixed redraw bug: Changes in submodels didn't cause a redraw

4 years agoMerge branch 'development' of https://gitlab.lrz.de/lrr-tum/students/eragp-misim...
Fabian Stemmler [Sat, 31 Aug 2019 14:52:37 +0000 (16:52 +0200)]
Merge branch 'development' of https://gitlab.lrz.de/lrr-tum/students/eragp-misim-2019.git into development

4 years agoRefactored MemoryView for extensibility
Fabian Stemmler [Sat, 31 Aug 2019 14:51:33 +0000 (16:51 +0200)]
Refactored MemoryView for extensibility

4 years agoFleshed out Memory and Microprogramming interfaces
Fabian Stemmler [Sat, 31 Aug 2019 14:47:18 +0000 (16:47 +0200)]
Fleshed out Memory and Microprogramming interfaces

4 years agoAdded _SE and _OECT to GUIAm2904
Daniel Kirschten [Sat, 31 Aug 2019 14:38:16 +0000 (16:38 +0200)]
Added _SE and _OECT to GUIAm2904

4 years agoFixed some bugs in Am2904 and implemented GUIAm2904Testbench
Daniel Kirschten [Sat, 31 Aug 2019 14:13:18 +0000 (16:13 +0200)]
Fixed some bugs in Am2904 and implemented GUIAm2904Testbench

4 years agoWorked around rendering bug (model updates not resulting in a redraw)
Daniel Kirschten [Sat, 31 Aug 2019 13:56:28 +0000 (15:56 +0200)]
Worked around rendering bug (model updates not resulting in a redraw)

4 years agoFound a bug in logic.core
Daniel Kirschten [Sat, 31 Aug 2019 13:42:02 +0000 (15:42 +0200)]
Found a bug in logic.core

4 years agoGUIMerger/GUISplitter now have a reference to their output/input pin
Daniel Kirschten [Sat, 31 Aug 2019 13:40:17 +0000 (15:40 +0200)]
GUIMerger/GUISplitter now have a reference to their output/input pin

4 years agoAdded TextComponent to standardComponentIDMapping
Daniel Kirschten [Sat, 31 Aug 2019 12:23:36 +0000 (14:23 +0200)]
Added TextComponent to standardComponentIDMapping

4 years agoSimpleLogicUIStandalone now supports a pre-run hook
Daniel Kirschten [Sat, 31 Aug 2019 12:23:24 +0000 (14:23 +0200)]
SimpleLogicUIStandalone now supports a pre-run hook

4 years agoGUIBitDisplay, GUIManualSwitch, WCP now "directly" know their logicWidth
Daniel Kirschten [Sat, 31 Aug 2019 12:22:17 +0000 (14:22 +0200)]
GUIBitDisplay, GUIManualSwitch, WCP now "directly" know their logicWidth

4 years agoRestructured JSON (de)serializing: ViewModels can be (de)serialized too
Daniel Kirschten [Fri, 30 Aug 2019 10:43:33 +0000 (12:43 +0200)]
Restructured JSON (de)serializing: ViewModels can be (de)serialized too

4 years agoBoolean and IntegerImmediates can be accessed as boolean/BigInteger now
Fabian Stemmler [Thu, 29 Aug 2019 11:52:26 +0000 (13:52 +0200)]
Boolean and IntegerImmediates can be accessed as boolean/BigInteger now

4 years agoRemoved superfluous main method in BitVector
Fabian Stemmler [Wed, 28 Aug 2019 19:57:32 +0000 (21:57 +0200)]
Removed superfluous main method in BitVector

4 years agoMerge branch 'development' of https://gitlab.lrz.de/lrr-tum/students/eragp-misim...
Fabian Stemmler [Wed, 28 Aug 2019 19:35:49 +0000 (21:35 +0200)]
Merge branch 'development' of https://gitlab.lrz.de/lrr-tum/students/eragp-misim-2019.git into development

4 years agoFixed getUnsignedValue() in BitVector
Fabian Stemmler [Wed, 28 Aug 2019 19:34:40 +0000 (21:34 +0200)]
Fixed getUnsignedValue() in BitVector

Fixed getUnsignedValue() for good this time; Bit order MSB to LSB is now
correctly incorporated.

4 years agoAdded new GUIAm2904.json to editor's component folder
Daniel Kirschten [Wed, 28 Aug 2019 16:26:22 +0000 (18:26 +0200)]
Added new GUIAm2904.json to editor's component folder

4 years agoImplemented shift-via-MC instructions missing in the last commit
Daniel Kirschten [Wed, 28 Aug 2019 16:26:03 +0000 (18:26 +0200)]
Implemented shift-via-MC instructions missing in the last commit

4 years agoImplemented GUIAm2904's logic. Missing: layout; testing
Daniel Kirschten [Wed, 28 Aug 2019 16:09:51 +0000 (18:09 +0200)]
Implemented GUIAm2904's logic. Missing: layout; testing

4 years agoGUIAm2904ShiftInstrDecode now outputs X for Don't Care instead of Z
Daniel Kirschten [Wed, 28 Aug 2019 16:09:36 +0000 (18:09 +0200)]
GUIAm2904ShiftInstrDecode now outputs X for Don't Care instead of Z

4 years agoFixed Editor duplication of deserialized components
Daniel Kirschten [Wed, 28 Aug 2019 16:08:24 +0000 (18:08 +0200)]
Fixed Editor duplication of deserialized components

4 years agoMnemonics now exist only as part of a MnemonicFamily
Fabian Stemmler [Wed, 28 Aug 2019 12:35:26 +0000 (14:35 +0200)]
Mnemonics now exist only as part of a MnemonicFamily

Mnemonics and MnemonicFamilies are now unique.
equals() in Mnemonics and MnemonicFamilies now only tests for equal
references.
Mnemonics have an ordinal to identify them within their family.

4 years agoMerge branch 'development' of https://gitlab.lrz.de/lrr-tum/students/eragp-misim...
Fabian Stemmler [Wed, 28 Aug 2019 09:05:04 +0000 (11:05 +0200)]
Merge branch 'development' of https://gitlab.lrz.de/lrr-tum/students/eragp-misim-2019.git into development

4 years agoModified SaveLoadManager to use standard IDs
Daniel Kirschten [Wed, 28 Aug 2019 08:52:33 +0000 (10:52 +0200)]
Modified SaveLoadManager to use standard IDs

4 years agoReplaced verbose component IDs with default component IDs
Daniel Kirschten [Wed, 28 Aug 2019 08:27:06 +0000 (10:27 +0200)]
Replaced verbose component IDs with default component IDs

4 years agoAdded new GUIAm2904.json to editor's component folder
Daniel Kirschten [Wed, 28 Aug 2019 08:24:31 +0000 (10:24 +0200)]
Added new GUIAm2904.json to editor's component folder