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

4 years agoFixed X/U/Z handling in GUIAm2904RegCTInstrDecode/ShiftInstrDecode
Daniel Kirschten [Mon, 19 Aug 2019 08:45:35 +0000 (10:45 +0200)]
Fixed X/U/Z handling in GUIAm2904RegCTInstrDecode/ShiftInstrDecode

4 years agoImproved rendering of GUIMerger and GUISplitter
Daniel Kirschten [Mon, 19 Aug 2019 08:35:11 +0000 (10:35 +0200)]
Improved rendering of GUIMerger and GUISplitter

4 years agoMade GUIMerger and GUISplitter symmetrical
Daniel Kirschten [Mon, 19 Aug 2019 08:04:55 +0000 (10:04 +0200)]
Made GUIMerger and GUISplitter symmetrical

4 years agoUndid enabling HighLevelStateDebugShell a few commits ago
Daniel Kirschten [Sun, 18 Aug 2019 19:40:59 +0000 (21:40 +0200)]
Undid enabling HighLevelStateDebugShell a few commits ago

4 years agoStarted working on modeling the GUIAm2904
Daniel Kirschten [Sun, 18 Aug 2019 19:40:19 +0000 (21:40 +0200)]
Started working on modeling the GUIAm2904

4 years agoGUIMerger/Splitter don't crash without logic bindings; made them thinner
Daniel Kirschten [Sun, 18 Aug 2019 19:39:00 +0000 (21:39 +0200)]
GUIMerger/Splitter don't crash without logic bindings; made them thinner

4 years agoMoved pins in GUIdff4_finewe; made it a standard component
Daniel Kirschten [Sun, 18 Aug 2019 19:22:18 +0000 (21:22 +0200)]
Moved pins in GUIdff4_finewe; made it a standard component

4 years agoFixed GUIAm2910 (broke when renaming GUImux4_12 to GUIsel4_12)
Daniel Kirschten [Sun, 18 Aug 2019 19:18:29 +0000 (21:18 +0200)]
Fixed GUIAm2910 (broke when renaming GUImux4_12 to GUIsel4_12)

4 years agoEditor's add list is now sorted alphabetically
Daniel Kirschten [Sun, 18 Aug 2019 19:17:56 +0000 (21:17 +0200)]
Editor's add list is now sorted alphabetically

4 years agoImplemented GUIAm2904ShiftInstrDecode
Daniel Kirschten [Sun, 18 Aug 2019 19:02:13 +0000 (21:02 +0200)]
Implemented GUIAm2904ShiftInstrDecode

4 years agoRenamed GUIAm2904RegCTInstrDecode and added it to standardCompIDMapping
Daniel Kirschten [Sun, 18 Aug 2019 19:01:34 +0000 (21:01 +0200)]
Renamed GUIAm2904RegCTInstrDecode and added it to standardCompIDMapping

4 years agoMoved pins of RegCTInstrDecode to useful locations
Daniel Kirschten [Sun, 18 Aug 2019 16:58:01 +0000 (18:58 +0200)]
Moved pins of RegCTInstrDecode to useful locations

4 years agoMerge remote-tracking branch 'origin/development' into development
Daniel Kirschten [Sun, 18 Aug 2019 16:36:36 +0000 (18:36 +0200)]
Merge remote-tracking branch 'origin/development' into development

4 years agoRemoved _WE pin from GUIdff4_finewe
Daniel Kirschten [Sun, 18 Aug 2019 16:35:55 +0000 (18:35 +0200)]
Removed _WE pin from GUIdff4_finewe

4 years agoImplemented RegCTInstrDecode
Daniel Kirschten [Sun, 18 Aug 2019 16:35:43 +0000 (18:35 +0200)]
Implemented RegCTInstrDecode

4 years agoMade GUIMerger and GUISplitter serializable
Daniel Kirschten [Sun, 18 Aug 2019 12:44:55 +0000 (14:44 +0200)]
Made GUIMerger and GUISplitter serializable

4 years agoAdded machine plugin project to repository
Christian Femers [Sun, 18 Aug 2019 12:33:12 +0000 (14:33 +0200)]
Added machine plugin project to repository

4 years agoRenamed GUImux4_12 to GUIsel4_12 for consistency
Daniel Kirschten [Sun, 18 Aug 2019 10:06:43 +0000 (12:06 +0200)]
Renamed GUImux4_12 to GUIsel4_12 for consistency

4 years agoAdded GUIMerger + GUISplitter to standardComponentIDMapping
Daniel Kirschten [Sat, 17 Aug 2019 22:10:17 +0000 (00:10 +0200)]
Added GUIMerger + GUISplitter to standardComponentIDMapping

4 years agoImplemented GUIMerger + GUISplitter
Daniel Kirschten [Sat, 17 Aug 2019 22:04:51 +0000 (00:04 +0200)]
Implemented GUIMerger + GUISplitter

4 years agoRemoved Util because it is not used anymore (for a long time)
Christian Femers [Tue, 13 Aug 2019 08:31:27 +0000 (10:31 +0200)]
Removed Util because it is not used anymore (for a long time)

4 years agoCommented unnecessary println and debug code
Christian Femers [Tue, 13 Aug 2019 08:30:45 +0000 (10:30 +0200)]
Commented unnecessary println and debug code

4 years agoImplemented GUIdff4_finewe
Daniel Kirschten [Sun, 11 Aug 2019 14:48:52 +0000 (16:48 +0200)]
Implemented GUIdff4_finewe

4 years agoCreated GUIdff4_invwe
Daniel Kirschten [Sun, 11 Aug 2019 14:20:20 +0000 (16:20 +0200)]
Created GUIdff4_invwe

4 years agoRenamed GUIAm2901QReg to GUIdff4
Daniel Kirschten [Sun, 11 Aug 2019 14:20:12 +0000 (16:20 +0200)]
Renamed GUIAm2901QReg to GUIdff4

4 years agoAdded net.mograsim.logic.model.am2900 to list of exported packages
Daniel Kirschten [Sun, 11 Aug 2019 13:55:35 +0000 (15:55 +0200)]
Added net.mograsim.logic.model.am2900 to list of exported packages

4 years agoImproved addition loops in GUIAm2910RegCntr and GUIinc12
Daniel Kirschten [Sun, 11 Aug 2019 08:13:11 +0000 (10:13 +0200)]
Improved addition loops in GUIAm2910RegCntr and GUIinc12