Mograsim.git
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 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 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

4 years agoRemoved old JSONs
Daniel Kirschten [Wed, 28 Aug 2019 08:10:41 +0000 (10:10 +0200)]
Removed old JSONs

4 years agoMemoryView is now updated when the memory is modified
Fabian Stemmler [Tue, 27 Aug 2019 21:09:29 +0000 (23:09 +0200)]
MemoryView is now updated when the memory is modified

4 years agoImplemented C0 logic (but didn't test it yet)
Daniel Kirschten [Tue, 27 Aug 2019 19:57:05 +0000 (21:57 +0200)]
Implemented C0 logic (but didn't test it yet)

4 years agoFixed SimpleRectangularHardcodedGUIComponent's unpredictable output
Daniel Kirschten [Tue, 27 Aug 2019 19:56:38 +0000 (21:56 +0200)]
Fixed SimpleRectangularHardcodedGUIComponent's unpredictable output

4 years agoFixed BitVector#getUnsignedValue();It no longer returns negative numbers
Fabian Stemmler [Tue, 27 Aug 2019 19:09:04 +0000 (21:09 +0200)]
Fixed BitVector#getUnsignedValue();It no longer returns negative numbers

4 years agoMerge branch 'development' of
Fabian Stemmler [Tue, 27 Aug 2019 13:55:03 +0000 (15:55 +0200)]
Merge branch 'development' of
https://gitlab.lrz.de/lrr-tum/students/eragp-misim-2019.git into
development

Conflicts:
net.mograsim.machine/src/net/mograsim/machine/mi/parameters/MnemonicFamily.java

4 years agoGeneralized common functionality of different Memories to new interface
Fabian Stemmler [Tue, 27 Aug 2019 13:47:32 +0000 (15:47 +0200)]
Generalized common functionality of different Memories to new interface

4 years agoReworked Parameter Classifications
Fabian Stemmler [Tue, 27 Aug 2019 13:46:24 +0000 (15:46 +0200)]
Reworked Parameter Classifications

4 years agoUndo renaming of BitVector's length to width
Daniel Kirschten [Tue, 27 Aug 2019 08:35:48 +0000 (10:35 +0200)]
Undo renaming of BitVector's length to width

4 years agoRefined MicroInstructionDefinition and associated classes
Fabian Stemmler [Mon, 26 Aug 2019 17:09:04 +0000 (19:09 +0200)]
Refined MicroInstructionDefinition and associated classes

4 years agoDefined Interfaces regarding MicroInstructions
Fabian Stemmler [Mon, 26 Aug 2019 14:04:20 +0000 (16:04 +0200)]
Defined Interfaces regarding MicroInstructions

Added Mnemonic and MnemonicFamily;
MicroInstructionDefinition now defines structure of MicroInstructions;
Defined MicroInstruction and MicroprogramMemory;

4 years agoMerge branch 'development' of https://gitlab.lrz.de/lrr-tum/students/eragp-misim...
Fabian Stemmler [Mon, 26 Aug 2019 11:14:36 +0000 (13:14 +0200)]
Merge branch 'development' of https://gitlab.lrz.de/lrr-tum/students/eragp-misim-2019 into development

4 years agoSwitched MemoryView Content Provider to allow for a bigger table
Fabian Stemmler [Mon, 26 Aug 2019 11:10:53 +0000 (13:10 +0200)]
Switched MemoryView Content Provider to allow for a bigger table

4 years agoAdded size() in MainMemoryDefinition
Fabian Stemmler [Mon, 26 Aug 2019 11:09:58 +0000 (13:09 +0200)]
Added size() in MainMemoryDefinition

4 years agoFurther renaming of length to width
Daniel Kirschten [Mon, 26 Aug 2019 09:06:02 +0000 (11:06 +0200)]
Further renaming of length to width

4 years agoUndo 38eb28ebb36212417a639157d554b87c8fe0ee5b to make Editor work again
Daniel Kirschten [Mon, 26 Aug 2019 08:43:39 +0000 (10:43 +0200)]
Undo 38eb28ebb36212417a639157d554b87c8fe0ee5b to make Editor work again

4 years agoMy proposal for resolving add92039f433cd315f2087da9c1a0de899927d96
Christian Femers [Mon, 26 Aug 2019 01:28:58 +0000 (03:28 +0200)]
My proposal for resolving add92039f433cd315f2087da9c1a0de899927d96

The choice was made based on functionality (and a bit performance) and
mostly readability.

4 years agoRefactored Wire and finally renamed length to width
Christian Femers [Mon, 26 Aug 2019 01:03:45 +0000 (03:03 +0200)]
Refactored Wire and finally renamed length to width

Note: since this change was prolonged for some time, so it needed to be changed in a lot of places. The reason for the renaming is the confusability with the length of a (e.g. physical) wire. But it is more precise to call it (bit-) width, since the length of a BitVector passing through the wire becomes its width. (This seems to be similar named in Verilog)

4 years agoRemoved legacy editor json-resources
Christian Femers [Mon, 26 Aug 2019 00:48:30 +0000 (02:48 +0200)]
Removed legacy editor json-resources

4 years agoRefactored BitVector and added test cases
Christian Femers [Mon, 26 Aug 2019 00:47:50 +0000 (02:47 +0200)]
Refactored BitVector and added test cases

The is duplication of methods that were developed independently. This
will be resolved in a future commit.

4 years agoFixed editor MANIFEST exported packages
Daniel Kirschten [Sun, 25 Aug 2019 20:36:17 +0000 (22:36 +0200)]
Fixed editor MANIFEST exported packages

4 years agoImplemented most of the Am2904. Missing: shifts, C0, component layout
Daniel Kirschten [Sun, 25 Aug 2019 20:35:51 +0000 (22:35 +0200)]
Implemented most of the Am2904. Missing: shifts, C0, component layout

4 years agoAdded default highLevelStateHandler to standardSnippetIDMapping
Daniel Kirschten [Sun, 25 Aug 2019 20:34:17 +0000 (22:34 +0200)]
Added default highLevelStateHandler to standardSnippetIDMapping

4 years agoMade submodel / symbol rendering transition faster in SubmodelComponent
Daniel Kirschten [Sun, 25 Aug 2019 20:33:37 +0000 (22:33 +0200)]
Made submodel / symbol rendering transition faster in SubmodelComponent

4 years agoFixed WordAddressableMemoryTest
Fabian Stemmler [Sun, 25 Aug 2019 15:31:13 +0000 (17:31 +0200)]
Fixed WordAddressableMemoryTest

Adjusted for new WordAddressableMemoryComponent constructor, which
expects a MainMemoryDefinition

4 years agoAdded Memory View to the plugin
Fabian Stemmler [Sun, 25 Aug 2019 15:30:07 +0000 (17:30 +0200)]
Added Memory View to the plugin

4 years agoMainMemory now supports cells being accessed as BigIntegers
Fabian Stemmler [Sun, 25 Aug 2019 15:21:55 +0000 (17:21 +0200)]
MainMemory now supports cells being accessed as BigIntegers

4 years agoAdded functionality to AsmNumberUtil
Fabian Stemmler [Sun, 25 Aug 2019 15:20:10 +0000 (17:20 +0200)]
Added functionality to AsmNumberUtil

BigIntegers can now be formatted as any of the NumberTypes
A String can now be parsed as a BigInteger of a given NumberType
It can now be checked, if a String is a prefix of a valid number

4 years agoAdded methods for conversion between BitVector and BigInteger
Fabian Stemmler [Sun, 25 Aug 2019 14:53:21 +0000 (16:53 +0200)]
Added methods for conversion between BitVector and BigInteger

4 years agoAdded valueOf(...) method to AsmNumberUtil to parse the number formats
Fabian Stemmler [Sat, 24 Aug 2019 16:15:48 +0000 (18:15 +0200)]
Added valueOf(...) method to AsmNumberUtil to parse the number formats

4 years agoAdded MachineException and MemoryException
Fabian Stemmler [Sat, 24 Aug 2019 16:13:52 +0000 (18:13 +0200)]
Added MachineException and MemoryException

4 years agoUpdated MainMemory interface
Fabian Stemmler [Sat, 24 Aug 2019 11:12:18 +0000 (13:12 +0200)]
Updated MainMemory interface

added getDefinition() to access MainMemoryDefinition
updated the existing memory components to be initialized with a
MainMemoryDefinition

4 years agoImproved Json style
Christian Femers [Fri, 23 Aug 2019 15:06:18 +0000 (17:06 +0200)]
Improved Json style

4 years agoAdded binary check method
Christian Femers [Fri, 23 Aug 2019 14:56:12 +0000 (16:56 +0200)]
Added binary check method

4 years agoMoved main memory to machine module
Christian Femers [Fri, 23 Aug 2019 02:42:13 +0000 (04:42 +0200)]
Moved main memory to machine module

Maybe there is some better structure possible?

4 years agoAdded first test structures for Am2904 and Am2910
Christian Femers [Fri, 23 Aug 2019 02:39:21 +0000 (04:39 +0200)]
Added first test structures for Am2904 and Am2910

4 years agoRestructured test classes and improved readability
Christian Femers [Fri, 23 Aug 2019 02:38:40 +0000 (04:38 +0200)]
Restructured test classes and improved readability

4 years agoAdapt Testbench to new Input (_OE)
Christian Femers [Fri, 23 Aug 2019 02:37:33 +0000 (04:37 +0200)]
Adapt Testbench to new Input (_OE)

4 years agoIncorporated TriStateBuffer into Am2910
Christian Femers [Fri, 23 Aug 2019 02:36:26 +0000 (04:36 +0200)]
Incorporated TriStateBuffer into Am2910

4 years agoAdded GUI component for TriStateBuffer
Christian Femers [Fri, 23 Aug 2019 02:34:58 +0000 (04:34 +0200)]
Added GUI component for TriStateBuffer

4 years agoFixed InterfacePinHandle snapping
Christian Femers [Fri, 23 Aug 2019 02:33:36 +0000 (04:33 +0200)]
Fixed InterfacePinHandle snapping

4 years agoAdded factory methods for integers
Christian Femers [Fri, 23 Aug 2019 02:31:16 +0000 (04:31 +0200)]
Added factory methods for integers

4 years agoAdded memory in logic.core to exported packages
Fabian Stemmler [Thu, 22 Aug 2019 11:05:05 +0000 (13:05 +0200)]
Added memory in logic.core to exported packages

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

4 years agoAdded GUIComponent for Word Addressable Memory
Fabian Stemmler [Wed, 21 Aug 2019 14:40:03 +0000 (16:40 +0200)]
Added GUIComponent for Word Addressable Memory

Added GUIMemoryWA

4 years agoImplemented GUIAm2904TestLogic
Daniel Kirschten [Wed, 21 Aug 2019 08:47:28 +0000 (10:47 +0200)]
Implemented GUIAm2904TestLogic

4 years agoImplemented GUIAm2904muSR
Daniel Kirschten [Tue, 20 Aug 2019 21:08:37 +0000 (23:08 +0200)]
Implemented GUIAm2904muSR

4 years agoAdded MC override functionality for shift logic in GUIAm2904MSR
Daniel Kirschten [Tue, 20 Aug 2019 20:28:56 +0000 (22:28 +0200)]
Added MC override functionality for shift logic in GUIAm2904MSR

4 years agoMerge remote-tracking branch 'origin/development' into development
Daniel Kirschten [Tue, 20 Aug 2019 20:08:56 +0000 (22:08 +0200)]
Merge remote-tracking branch 'origin/development' into development

4 years agoFixed crash when components change after HighLevelStateShell is closed
Daniel Kirschten [Tue, 20 Aug 2019 20:08:27 +0000 (22:08 +0200)]
Fixed crash when components change after HighLevelStateShell is closed

4 years agoImplemented GUIAm2904MSR
Daniel Kirschten [Tue, 20 Aug 2019 20:07:51 +0000 (22:07 +0200)]
Implemented GUIAm2904MSR

4 years agoAdded default renderers to standardSnippetIDMapping
Daniel Kirschten [Tue, 20 Aug 2019 20:07:28 +0000 (22:07 +0200)]
Added default renderers to standardSnippetIDMapping

4 years agoMoved WordAddressableMemoryComponent to new package
Fabian Stemmler [Tue, 20 Aug 2019 12:24:06 +0000 (14:24 +0200)]
Moved WordAddressableMemoryComponent to new package

4 years agoAdded handle priorities
Fabian Stemmler [Mon, 19 Aug 2019 20:13:57 +0000 (22:13 +0200)]
Added handle priorities

Handle click events are now processed in order of handle priority

4 years agoAdded prototype component for main memory
Fabian Stemmler [Mon, 19 Aug 2019 20:11:01 +0000 (22:11 +0200)]
Added prototype component for main memory

Added WordAddressableMemoryComponent

4 years agoFixed GUIMerger / GUISplitter bit order
Daniel Kirschten [Mon, 19 Aug 2019 08:51:39 +0000 (10:51 +0200)]
Fixed GUIMerger / GUISplitter bit order