Mograsim.git
4 years agoFixed Am2904 tests; updated to new SWTHelper version
Daniel Kirschten [Sun, 8 Sep 2019 11:37:45 +0000 (13:37 +0200)]
Fixed Am2904 tests; updated to new SWTHelper version

4 years agoRedo reserializing components since the problem doesn't lie there
Daniel Kirschten [Sun, 8 Sep 2019 10:07:56 +0000 (12:07 +0200)]
Redo reserializing components since the problem doesn't lie there

4 years agoAdded address column to instruction editor
Fabian Stemmler [Sat, 7 Sep 2019 14:06:16 +0000 (16:06 +0200)]
Added address column to instruction editor

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

Conflicts:
net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/Am2900Machine.java
net.mograsim.machine/src/net/mograsim/machine/Machine.java

4 years agoUpdated Am2900Machine and -Definition; Added MachineContext
Fabian Stemmler [Fri, 6 Sep 2019 19:04:07 +0000 (21:04 +0200)]
Updated Am2900Machine and -Definition; Added MachineContext

MemoryView and InstructionView were updated to depend on the
MachineContext

4 years agoUndo reserializing components since something broke
Daniel Kirschten [Fri, 6 Sep 2019 08:41:30 +0000 (10:41 +0200)]
Undo reserializing components since something broke

4 years agoFixed a performance issue in CoreWire introduced when fixing Fusions
Daniel Kirschten [Fri, 6 Sep 2019 07:50:22 +0000 (09:50 +0200)]
Fixed a performance issue in CoreWire introduced when fixing Fusions

4 years agoReserialized components with default names
Daniel Kirschten [Thu, 5 Sep 2019 22:44:28 +0000 (00:44 +0200)]
Reserialized components with default names

4 years agoCleaned up ID overriding in DeserializedSubmodelComponent
Daniel Kirschten [Thu, 5 Sep 2019 22:43:49 +0000 (00:43 +0200)]
Cleaned up ID overriding in DeserializedSubmodelComponent

4 years agoReserialized JSONs (changed component order due to new IDs)
Daniel Kirschten [Thu, 5 Sep 2019 22:05:30 +0000 (00:05 +0200)]
Reserialized JSONs (changed component order due to new IDs)

4 years agoCleaned LogicModelModifiable.getDefaultComponentName
Daniel Kirschten [Thu, 5 Sep 2019 22:03:32 +0000 (00:03 +0200)]
Cleaned LogicModelModifiable.getDefaultComponentName

4 years agoRepaired Am2904Testbench
Daniel Kirschten [Thu, 5 Sep 2019 22:03:16 +0000 (00:03 +0200)]
Repaired Am2904Testbench

4 years agoCleaned up initializing of ModelComponents (also improved HLSDebugShell)
Daniel Kirschten [Thu, 5 Sep 2019 20:47:50 +0000 (22:47 +0200)]
Cleaned up initializing of ModelComponents (also improved HLSDebugShell)

4 years agoWires connected to a component now get deleted with the component
Daniel Kirschten [Thu, 5 Sep 2019 18:33:46 +0000 (20:33 +0200)]
Wires connected to a component now get deleted with the component

4 years agoRenamed ViewModel to LogicModel
Daniel Kirschten [Thu, 5 Sep 2019 18:17:16 +0000 (20:17 +0200)]
Renamed ViewModel to LogicModel

4 years agoRenamed logic to core where appropiate
Daniel Kirschten [Thu, 5 Sep 2019 16:35:53 +0000 (18:35 +0200)]
Renamed logic to core where appropiate

4 years agoFixed ModelMemoryWA
Daniel Kirschten [Thu, 5 Sep 2019 16:15:26 +0000 (18:15 +0200)]
Fixed ModelMemoryWA

4 years agoRefactored MicroprogramMemory to MicroInstructionMemory
Fabian Stemmler [Thu, 5 Sep 2019 15:53:29 +0000 (17:53 +0200)]
Refactored MicroprogramMemory to MicroInstructionMemory

4 years agoRenamed GUI to Model:
Daniel Kirschten [Thu, 5 Sep 2019 15:47:07 +0000 (17:47 +0200)]
Renamed GUI to Model:

-Renamed GUIComponents to have the common prefix Model instead of GUI.
-Renamed JSONs to have no prefix
-Rename IDs to have no prefix

4 years agoRenamed core components to have the common prefix Core
Daniel Kirschten [Thu, 5 Sep 2019 15:28:32 +0000 (17:28 +0200)]
Renamed core components to have the common prefix Core

4 years agoAdded PC to GUIAm2900
Daniel Kirschten [Thu, 5 Sep 2019 14:59:44 +0000 (16:59 +0200)]
Added PC to GUIAm2900

4 years agoImplemented GUIdff12_we
Daniel Kirschten [Thu, 5 Sep 2019 14:59:26 +0000 (16:59 +0200)]
Implemented GUIdff12_we

4 years agoImplemented GUIdff16_invwe
Daniel Kirschten [Thu, 5 Sep 2019 13:26:32 +0000 (15:26 +0200)]
Implemented GUIdff16_invwe

4 years agoEditor now creates a new component per default; re-added New option
Daniel Kirschten [Thu, 5 Sep 2019 13:26:13 +0000 (15:26 +0200)]
Editor now creates a new component per default; re-added New option

4 years agoFixed a bug in GUIAm2910
Daniel Kirschten [Wed, 4 Sep 2019 22:11:05 +0000 (00:11 +0200)]
Fixed a bug in GUIAm2910

4 years agoFurther additions in GUIAm2900
Daniel Kirschten [Wed, 4 Sep 2019 22:08:23 +0000 (00:08 +0200)]
Further additions in GUIAm2900

4 years agoAdded FixedOutputAdapter and cleaned some things up
Daniel Kirschten [Wed, 4 Sep 2019 22:00:13 +0000 (00:00 +0200)]
Added FixedOutputAdapter and cleaned some things up

4 years agoStarted wiring up Am2900.
Daniel Kirschten [Wed, 4 Sep 2019 21:32:14 +0000 (23:32 +0200)]
Started wiring up Am2900.

I don't layout yet, because the components probably will change a bit
(for example the Am2901 will use 4-bit wires instead of 4 1-bit ones)

4 years agoGUIAm2901's RAM/Qn/n+3 now are tristate pins (also updated SWTHelper)
Daniel Kirschten [Wed, 4 Sep 2019 21:06:22 +0000 (23:06 +0200)]
GUIAm2901's RAM/Qn/n+3 now are tristate pins (also updated SWTHelper)

4 years agoRepaired ReserializeJSONsSettingUsages
Daniel Kirschten [Wed, 4 Sep 2019 20:26:15 +0000 (22:26 +0200)]
Repaired ReserializeJSONsSettingUsages

4 years agoMade finding the ID of a JsonSerializable less ugly
Daniel Kirschten [Wed, 4 Sep 2019 20:26:09 +0000 (22:26 +0200)]
Made finding the ID of a JsonSerializable less ugly

4 years agoThe instruction editor can now display integers in bases 2, 8, 10 and 16
Fabian Stemmler [Wed, 4 Sep 2019 19:24:22 +0000 (21:24 +0200)]
The instruction editor can now display integers in bases 2, 8, 10 and 16

4 years agoMerge branch 'development' of
Fabian Stemmler [Tue, 3 Sep 2019 21:13:30 +0000 (23:13 +0200)]
Merge branch 'development' of
https://gitlab.lrz.de/lrr-tum/students/eragp-misim-2019 into development

4 years agoBooleans in a MicroInstruction are now Mnemonics
Fabian Stemmler [Tue, 3 Sep 2019 21:10:52 +0000 (23:10 +0200)]
Booleans in a MicroInstruction are now Mnemonics

Booleans are now expressed as members of a special MnemonicFamily that
only has two values. Booleans can now be named freely.

4 years agoCreated ReflectionHelper
Daniel Kirschten [Tue, 3 Sep 2019 12:06:16 +0000 (14:06 +0200)]
Created ReflectionHelper

4 years agoMoved Am2900 components
Daniel Kirschten [Tue, 3 Sep 2019 11:54:15 +0000 (13:54 +0200)]
Moved Am2900 components

4 years agoSmall improvements in IndirectGUIComponentCreator
Daniel Kirschten [Tue, 3 Sep 2019 11:51:43 +0000 (13:51 +0200)]
Small improvements in IndirectGUIComponentCreator

4 years agoMake Activator lazy (load when classes used)
Christian Femers [Tue, 3 Sep 2019 07:22:03 +0000 (09:22 +0200)]
Make Activator lazy (load when classes used)

4 years agoAdded activator to scan for machines, everything works now.
Christian Femers [Tue, 3 Sep 2019 07:20:36 +0000 (09:20 +0200)]
Added activator to scan for machines, everything works now.

4 years agoMake MachineRegistry actually work
Christian Femers [Tue, 3 Sep 2019 07:20:24 +0000 (09:20 +0200)]
Make MachineRegistry actually work

4 years agoReworked extension point because it behaved unnecessarily strange.
Christian Femers [Tue, 3 Sep 2019 07:16:42 +0000 (09:16 +0200)]
Reworked extension point because it behaved unnecessarily strange.

Works now.

4 years agoFixed rough machine implementation
Christian Femers [Tue, 3 Sep 2019 07:13:41 +0000 (09:13 +0200)]
Fixed rough machine implementation

4 years agoMerge branch 'development' into json-fix-extended
Christian Femers [Tue, 3 Sep 2019 06:12:38 +0000 (08:12 +0200)]
Merge branch 'development' into json-fix-extended

Conflicts:
net.mograsim.logic.model.am2900/META-INF/MANIFEST.MF
net.mograsim.machine/META-INF/MANIFEST.MF

4 years agoMerge branch 'better-json-fix' into json-fix-extended
Christian Femers [Tue, 3 Sep 2019 05:47:55 +0000 (07:47 +0200)]
Merge branch 'better-json-fix' into json-fix-extended

4 years agoSmall performance optimisations
Christian Femers [Tue, 3 Sep 2019 05:44:05 +0000 (07:44 +0200)]
Small performance optimisations

4 years agoFixed small structural problems
Christian Femers [Tue, 3 Sep 2019 05:36:44 +0000 (07:36 +0200)]
Fixed small structural problems

4 years agoExperimental approach to register machines via extension point
Christian Femers [Tue, 3 Sep 2019 05:12:26 +0000 (07:12 +0200)]
Experimental approach to register machines via extension point

Note: this does not work currently. Most likely, because the @Execute tagged method is not executed. How ironic. Need to look into that and how this works (it should work like that somehow)

4 years agoRough machine extension point implementation
Christian Femers [Tue, 3 Sep 2019 05:08:49 +0000 (07:08 +0200)]
Rough machine extension point implementation

Attention: some parts are only experimental

4 years agoThis is how it might look later
Christian Femers [Tue, 3 Sep 2019 05:02:29 +0000 (07:02 +0200)]
This is how it might look later

4 years agofixed old class name
Christian Femers [Tue, 3 Sep 2019 04:57:57 +0000 (06:57 +0200)]
fixed old class name

4 years agoremoved small mistake
Christian Femers [Tue, 3 Sep 2019 04:56:31 +0000 (06:56 +0200)]
removed small mistake

4 years agoMake plugin work (in an inelegant way, need to figure out extensions
Christian Femers [Tue, 3 Sep 2019 04:55:04 +0000 (06:55 +0200)]
Make plugin work (in an inelegant way, need to figure out extensions

4 years agoMake Tests compatible again
Christian Femers [Tue, 3 Sep 2019 04:54:02 +0000 (06:54 +0200)]
Make Tests compatible again

4 years agoAdapted Am2900 to that
Christian Femers [Tue, 3 Sep 2019 04:51:57 +0000 (06:51 +0200)]
Adapted Am2900 to that

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