Mograsim.git
4 years agoReworked some parts of the MachineContext to make its status clear.
Christian Femers [Thu, 26 Sep 2019 05:08:37 +0000 (07:08 +0200)]
Reworked some parts of the MachineContext to make its status clear.

While this is much better at tracking the status, Eclipse is still
"greedy" about the information that can be tracked concerning projects.
The current handling allows for more detailed listening to the machine
context status, and detects deleted or closed projects and "deactivates"
their machines. In addition to that, the machines get initialized in a
lazy way, as they are needed. This is currently done be requesting an
active machine, as putting it into getActiveMachine() caused troubles
with the SimulationViewEditor's recreate being called double (once
during get, and then as listener). This is not near an optimal solution
right now, but works reasonably well.

4 years agoFixed the MograsimBuilder a bit, but it will likely get removed
Christian Femers [Thu, 26 Sep 2019 04:57:08 +0000 (06:57 +0200)]
Fixed the MograsimBuilder a bit, but it will likely get removed

4 years agoDocumented the ProjectMachineContext
Christian Femers [Thu, 26 Sep 2019 04:56:01 +0000 (06:56 +0200)]
Documented the ProjectMachineContext

4 years agoReordered the disposal of the old resources, because of errors
Christian Femers [Thu, 26 Sep 2019 04:53:59 +0000 (06:53 +0200)]
Reordered the disposal of the old resources, because of errors

Apparently this was able to lead to "widget disposed" exceptions, and
for some reason the old canvas sill stays at it's place, causing two
canvases side by side.

4 years agoAdded comment on MachineRegistry
Christian Femers [Thu, 26 Sep 2019 04:50:17 +0000 (06:50 +0200)]
Added comment on MachineRegistry

4 years agoModified README.md a bit; deleted build_from_source.txt
Daniel Kirschten [Wed, 25 Sep 2019 19:41:27 +0000 (21:41 +0200)]
Modified README.md a bit; deleted build_from_source.txt

4 years agoRemoved the clock ManualSwitches and made the clock slower
Daniel Kirschten [Wed, 25 Sep 2019 18:45:11 +0000 (20:45 +0200)]
Removed the clock ManualSwitches and made the clock slower

4 years agoBZ/PC and IR now get written at the rising clock edge
Daniel Kirschten [Wed, 25 Sep 2019 18:43:11 +0000 (20:43 +0200)]
BZ/PC and IR now get written at the rising clock edge

to make timing requirements less strict

4 years agoReserialized components
Daniel Kirschten [Wed, 25 Sep 2019 18:27:23 +0000 (20:27 +0200)]
Reserialized components

4 years agoMade Am2900 memory reads work if Am2901Dest=QREG ...
Daniel Kirschten [Wed, 25 Sep 2019 18:00:57 +0000 (20:00 +0200)]
Made Am2900 memory reads work if Am2901Dest=QREG ...

at the expense of U forming shortly in the D bus when the second cycle
of a read starts, if the D bus is used in the first cycle; due to the
memory controller's TriStateBuffers being en- and disabled earlier than
the other TriStateBuffers writing to the buses.
U also forms in the D bus when the cycle after the second one of a read
starts, but this is due to the RAM chip shortly outputting U due to the
address changing to X, because the A bus holds Z in the second cycle of
a read.
Writes don't have these kind of problems since the memory controller
obviously doesn't output anything on the D bus when writing.

4 years agoFixed two small bugs in the two Delegating...Handlers:
Daniel Kirschten [Wed, 25 Sep 2019 16:42:18 +0000 (18:42 +0200)]
Fixed two small bugs in the two Delegating...Handlers:

1. DelegatingSubcomponentHighLevelStateHandler#getParamsForSerializing
now throws a meaningful exception when the delegate target was destroyed
2. Both now support serializing delegating to the parent

4 years agoHLSShell now closes when the according LogicUICanvas is disposed
Daniel Kirschten [Wed, 25 Sep 2019 16:33:27 +0000 (18:33 +0200)]
HLSShell now closes when the according LogicUICanvas is disposed

4 years agoAdjusted default HLS debug shell depth
Daniel Kirschten [Wed, 25 Sep 2019 16:33:07 +0000 (18:33 +0200)]
Adjusted default HLS debug shell depth

4 years agoRemoved model.am2900 from plugin.core's required bundles
Daniel Kirschten [Wed, 25 Sep 2019 16:10:27 +0000 (18:10 +0200)]
Removed model.am2900 from plugin.core's required bundles

4 years agoIndirectModelComponentCreator now supports clearing the component cache
Daniel Kirschten [Wed, 25 Sep 2019 16:10:02 +0000 (18:10 +0200)]
IndirectModelComponentCreator now supports clearing the component cache

4 years agoSimulationViewEditor now reacts better to machine changes
Daniel Kirschten [Wed, 25 Sep 2019 16:09:12 +0000 (18:09 +0200)]
SimulationViewEditor now reacts better to machine changes

4 years agosetViewerInput now is much faster and doesn't cause text to flicker
Daniel Kirschten [Wed, 25 Sep 2019 15:57:43 +0000 (17:57 +0200)]
setViewerInput now is much faster and doesn't cause text to flicker

4 years agoMade clock overridable by a ManualSwitch
Daniel Kirschten [Wed, 25 Sep 2019 13:26:43 +0000 (15:26 +0200)]
Made clock overridable by a ManualSwitch

4 years agoReserialized components
Daniel Kirschten [Wed, 25 Sep 2019 10:44:00 +0000 (12:44 +0200)]
Reserialized components

4 years agoSVE now supports context changes better (untested)
Daniel Kirschten [Wed, 25 Sep 2019 10:42:07 +0000 (12:42 +0200)]
SVE now supports context changes better (untested)

4 years agoRe-added instruction preview to SimulationViewEditor
Daniel Kirschten [Wed, 25 Sep 2019 10:40:28 +0000 (12:40 +0200)]
Re-added instruction preview to SimulationViewEditor

4 years agoFixed an exception being thrown when the application exits
Daniel Kirschten [Wed, 25 Sep 2019 10:06:27 +0000 (12:06 +0200)]
Fixed an exception being thrown when the application exits

4 years agoSimulationViewEditor now supports machine context changes (untested)
Daniel Kirschten [Wed, 25 Sep 2019 09:58:17 +0000 (11:58 +0200)]
SimulationViewEditor now supports machine context changes (untested)

4 years agoMerge remote-tracking branch 'origin/development' into development
Daniel Kirschten [Wed, 25 Sep 2019 09:57:25 +0000 (11:57 +0200)]
Merge remote-tracking branch 'origin/development' into development

# Conflicts:
# plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/views/LogicUIPart.java

4 years agoSwitched BooleanEditingSupport back to ´CheckBoxCellEditor
Fabian Stemmler [Wed, 25 Sep 2019 08:40:35 +0000 (10:40 +0200)]
Switched BooleanEditingSupport back to ´CheckBoxCellEditor

4 years agoNumbers in MemoryView and mpm editor now have leading zeros
Fabian Stemmler [Tue, 24 Sep 2019 18:18:19 +0000 (20:18 +0200)]
Numbers in MemoryView and mpm editor now have leading zeros

4 years agoMade simulation view / LogicUIPart to an Editor
Daniel Kirschten [Tue, 24 Sep 2019 14:51:00 +0000 (16:51 +0200)]
Made simulation view / LogicUIPart to an Editor

4 years agoMade infinite depth for HLS combo selectable in Eclipse preferences
Daniel Kirschten [Tue, 24 Sep 2019 14:50:05 +0000 (16:50 +0200)]
Made infinite depth for HLS combo selectable in Eclipse preferences

4 years agoMerge branch 'development' of
Fabian Stemmler [Tue, 24 Sep 2019 14:29:34 +0000 (16:29 +0200)]
Merge branch 'development' of
https://gitlab.lrz.de/lrr-tum/students/eragp-misim-2019.git into
development

Conflicts:
plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/views/LogicUIPart.java

4 years agoMade HLSShell component combo box shorter
Daniel Kirschten [Tue, 24 Sep 2019 14:21:37 +0000 (16:21 +0200)]
Made HLSShell component combo box shorter

4 years agoAdded Step by step execution to LogicUIPart
Fabian Stemmler [Tue, 24 Sep 2019 14:17:47 +0000 (16:17 +0200)]
Added Step by step execution to LogicUIPart

4 years agoAdded clock to Am2900
Fabian Stemmler [Tue, 24 Sep 2019 14:17:29 +0000 (16:17 +0200)]
Added clock to Am2900

4 years agoImproved error handling when opening and saving .mpm files
Fabian Stemmler [Tue, 24 Sep 2019 11:46:07 +0000 (13:46 +0200)]
Improved error handling when opening and saving .mpm files

4 years agoMerge remote-tracking branch 'origin/development' into development
Daniel Kirschten [Tue, 24 Sep 2019 09:26:59 +0000 (11:26 +0200)]
Merge remote-tracking branch 'origin/development' into development

4 years agoAdded the two Combos mentioned in the prev. commit to test them.
Christian Femers [Tue, 24 Sep 2019 04:28:12 +0000 (06:28 +0200)]
Added the two Combos mentioned in the prev. commit to test them.

While one is only there for experiments, the other can later be used to
switch active projects.

4 years agoTool class for creating Combos that allow to select machines/projects
Christian Femers [Tue, 24 Sep 2019 04:26:39 +0000 (06:26 +0200)]
Tool class for creating Combos that allow to select machines/projects

4 years agoFixed detection problems with ProjectMachineContext
Christian Femers [Tue, 24 Sep 2019 04:24:18 +0000 (06:24 +0200)]
Fixed detection problems with ProjectMachineContext

Other problems still remain; e.g. PRE-CLOSE et al. makes the listeners
unable to detect a closed project, because it was not yet marked as
such. There should also be a register of open, but currently unused
projects.

4 years agoMarked old MachineContext deprecated
Christian Femers [Tue, 24 Sep 2019 04:19:43 +0000 (06:19 +0200)]
Marked old MachineContext deprecated

4 years agoRenamed the simulation view in the plugin.xml (had a "view1" id)
Christian Femers [Tue, 24 Sep 2019 03:19:36 +0000 (05:19 +0200)]
Renamed the simulation view in the plugin.xml (had a "view1" id)

4 years agoAdded listener and event structure to ProjectMachineContexts
Christian Femers [Tue, 24 Sep 2019 03:18:06 +0000 (05:18 +0200)]
Added listener and event structure to ProjectMachineContexts

4 years agoAllow to listen for changes in the MachineRegistry
Christian Femers [Tue, 24 Sep 2019 03:13:46 +0000 (05:13 +0200)]
Allow to listen for changes in the MachineRegistry

4 years agoRenamed method to its actual function
Christian Femers [Tue, 24 Sep 2019 03:12:39 +0000 (05:12 +0200)]
Renamed method to its actual function

4 years agoAdded id to machine definition (was only set in the extension point)
Christian Femers [Tue, 24 Sep 2019 03:11:56 +0000 (05:11 +0200)]
Added id to machine definition (was only set in the extension point)

MachineRegistry will check for consistency

4 years agoMade InstructionTable a bit easier to use
Daniel Kirschten [Mon, 23 Sep 2019 15:43:48 +0000 (17:43 +0200)]
Made InstructionTable a bit easier to use

4 years agoCreate a new machine when a MachineContext is used and has a definition.
Christian Femers [Mon, 23 Sep 2019 14:53:05 +0000 (16:53 +0200)]
Create a new machine when a MachineContext is used and has a definition.

This might be refined in future to a somewhat more lazy creation, but
for now it fixes the bug that a machine context has no machine at the
start, and it is not clear, when else it should be created.

4 years agoAdded missing call to super.dispose()
Daniel Kirschten [Mon, 23 Sep 2019 12:06:07 +0000 (14:06 +0200)]
Added missing call to super.dispose()

4 years agoUpdated to new SWTHelper version
Daniel Kirschten [Mon, 23 Sep 2019 12:04:37 +0000 (14:04 +0200)]
Updated to new SWTHelper version

4 years agoProject now correctly identified from file
Fabian Stemmler [Sun, 22 Sep 2019 18:13:22 +0000 (20:13 +0200)]
Project now correctly identified from file

4 years agoSwitched Instruction View to project associated MachineContext
Fabian Stemmler [Sun, 22 Sep 2019 17:32:52 +0000 (19:32 +0200)]
Switched Instruction View to project associated MachineContext

4 years agoAdded hover text to make clear that pressing running will pause the sim.
Christian Femers [Sat, 21 Sep 2019 21:25:51 +0000 (23:25 +0200)]
Added hover text to make clear that pressing running will pause the sim.

This might still need a better solution from an UX perspective

4 years agoAdded logo resources to the core plugin
Christian Femers [Sat, 21 Sep 2019 21:22:02 +0000 (23:22 +0200)]
Added logo resources to the core plugin

4 years agoAdded NewWizard for mpm files and fixed mpm content binding
Fabian Stemmler [Sat, 21 Sep 2019 11:34:42 +0000 (13:34 +0200)]
Added NewWizard for mpm files and fixed mpm content binding

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

Conflicts:
plugins/net.mograsim.machine/src/net/mograsim/machine/mi/MicroInstructionMemoryParser.java
plugins/net.mograsim.plugin.core/META-INF/MANIFEST.MF

4 years agoMachine name is no in mpm files
Fabian Stemmler [Fri, 20 Sep 2019 16:00:31 +0000 (18:00 +0200)]
Machine name is no in mpm files

4 years agoSimulation can now be slowed and paused
Fabian Stemmler [Fri, 20 Sep 2019 14:53:09 +0000 (16:53 +0200)]
Simulation can now be slowed and paused

4 years agoFixed a very stupid bug in InstructionView#highlight
Daniel Kirschten [Thu, 19 Sep 2019 19:39:33 +0000 (21:39 +0200)]
Fixed a very stupid bug in InstructionView#highlight

4 years agoFixed & extended JavaJsonLineCounter
Daniel Kirschten [Thu, 19 Sep 2019 19:21:07 +0000 (21:21 +0200)]
Fixed & extended JavaJsonLineCounter

4 years agoFixed crashbug on Gtk
Daniel Kirschten [Thu, 19 Sep 2019 16:41:21 +0000 (18:41 +0200)]
Fixed crashbug on Gtk

4 years agoAdded a listener system to project specific machine context
Christian Femers [Thu, 19 Sep 2019 16:11:15 +0000 (18:11 +0200)]
Added a listener system to project specific machine context

4 years agoRemove empty single line comment in A.M.NatureHandler
Christian Femers [Thu, 19 Sep 2019 16:09:12 +0000 (18:09 +0200)]
Remove empty single line comment in A.M.NatureHandler

4 years agoModified InstructionView#highlight
Daniel Kirschten [Thu, 19 Sep 2019 15:44:26 +0000 (17:44 +0200)]
Modified InstructionView#highlight

4 years agoAdded javax.inject to plugin.core's MANIFEST
Daniel Kirschten [Thu, 19 Sep 2019 15:24:58 +0000 (17:24 +0200)]
Added javax.inject to plugin.core's MANIFEST

4 years agoRestructured Mograsim project nature and introduced project context
Christian Femers [Thu, 19 Sep 2019 14:56:37 +0000 (16:56 +0200)]
Restructured Mograsim project nature and introduced project context

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

4 years agoAdded active instruction preview to LogicUIPart
Fabian Stemmler [Wed, 18 Sep 2019 20:15:02 +0000 (22:15 +0200)]
Added active instruction preview to LogicUIPart

4 years agoTransferred the simple build instructions into the README
Christian Femers [Wed, 18 Sep 2019 18:48:02 +0000 (20:48 +0200)]
Transferred the simple build instructions into the README

And added a brief description of Mograsim

4 years agoUpdated the description to the final project structure
Christian Femers [Wed, 18 Sep 2019 17:54:05 +0000 (19:54 +0200)]
Updated the description to the final project structure

4 years agoRemoved some more warnings and cleaned more SWT listeners
Daniel Kirschten [Wed, 18 Sep 2019 09:50:18 +0000 (11:50 +0200)]
Removed some more warnings and cleaned more SWT listeners

4 years agoCleaned up Editor: removed warnings; cleaned listener system
Daniel Kirschten [Wed, 18 Sep 2019 09:46:23 +0000 (11:46 +0200)]
Cleaned up Editor: removed warnings; cleaned listener system

4 years agoRAM reads no longer cause X on the data bus:
Daniel Kirschten [Wed, 18 Sep 2019 07:41:49 +0000 (09:41 +0200)]
RAM reads no longer cause X on the data bus:

When a read was triggered (for example setting _ABUS to AB) in the same
cycle as the data bus has a (non-tristate) value, in the next half-cycle
(when C=1), the TriStateBuffer forwarding data from the RAM to the data
bus would already be active, while the data bus still is pulled to the
"old" value, causing X's to occur.

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

4 years agoAdapted WordAddressableMemoryTest to work with binary vectors only
Fabian Stemmler [Tue, 17 Sep 2019 23:19:07 +0000 (01:19 +0200)]
Adapted WordAddressableMemoryTest to work with binary vectors only

4 years agoCleaned up memory stuff
Daniel Kirschten [Tue, 17 Sep 2019 21:14:21 +0000 (23:14 +0200)]
Cleaned up memory stuff

4 years agoFixed the "Set active" button in InstructionView
Daniel Kirschten [Tue, 17 Sep 2019 21:13:20 +0000 (23:13 +0200)]
Fixed the "Set active" button in InstructionView

4 years agoWordAddressableMemory will now ignore non-binary BitVectors
Fabian Stemmler [Tue, 17 Sep 2019 20:57:40 +0000 (22:57 +0200)]
WordAddressableMemory will now ignore non-binary BitVectors

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

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

4 years agoMicroInstructionMemory editor can now open and save to files
Fabian Stemmler [Tue, 17 Sep 2019 19:40:57 +0000 (21:40 +0200)]
MicroInstructionMemory editor can now open and save to files

4 years agoCorrected RAM control signal timing
Daniel Kirschten [Tue, 17 Sep 2019 16:02:40 +0000 (18:02 +0200)]
Corrected RAM control signal timing

4 years agoMade Am2900 work again in ModelComponentTestbench
Daniel Kirschten [Tue, 17 Sep 2019 12:31:40 +0000 (14:31 +0200)]
Made Am2900 work again in ModelComponentTestbench

4 years agoReserialized components
Daniel Kirschten [Tue, 17 Sep 2019 12:25:03 +0000 (14:25 +0200)]
Reserialized components

4 years agoRemoved InstructionView as View
Fabian Stemmler [Mon, 16 Sep 2019 18:28:24 +0000 (20:28 +0200)]
Removed InstructionView as View

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

4 years agoRemoved legacy code from ModelSplitter
Daniel Kirschten [Mon, 16 Sep 2019 15:52:20 +0000 (17:52 +0200)]
Removed legacy code from ModelSplitter

4 years agoRemoved legacy ModelMerger
Daniel Kirschten [Mon, 16 Sep 2019 15:51:29 +0000 (17:51 +0200)]
Removed legacy ModelMerger

4 years agoReserialized TestableAm2904
Daniel Kirschten [Mon, 16 Sep 2019 15:49:55 +0000 (17:49 +0200)]
Reserialized TestableAm2904

4 years agoFixed a javadoc comment in SubmodelComponentSerializer
Daniel Kirschten [Mon, 16 Sep 2019 15:48:33 +0000 (17:48 +0200)]
Fixed a javadoc comment in SubmodelComponentSerializer

4 years agoRemoved legacy version line handling from JsonHandler for speedup
Daniel Kirschten [Mon, 16 Sep 2019 15:48:16 +0000 (17:48 +0200)]
Removed legacy version line handling from JsonHandler for speedup

4 years agoMade IndirectModelComponentCreator a bit faster
Daniel Kirschten [Mon, 16 Sep 2019 15:47:54 +0000 (17:47 +0200)]
Made IndirectModelComponentCreator a bit faster

4 years agoRemoved LegacySubmCompSerializer
Daniel Kirschten [Mon, 16 Sep 2019 15:47:47 +0000 (17:47 +0200)]
Removed LegacySubmCompSerializer

4 years agoRemoved overkill version attribute from standardComponentIDMapping
Daniel Kirschten [Mon, 16 Sep 2019 15:46:01 +0000 (17:46 +0200)]
Removed overkill version attribute from standardComponentIDMapping

4 years agoChanged InstructionView into an Editor
Fabian Stemmler [Mon, 16 Sep 2019 15:44:17 +0000 (17:44 +0200)]
Changed InstructionView into an Editor

4 years agoMade MicroInstructions immutable
Fabian Stemmler [Mon, 16 Sep 2019 15:35:27 +0000 (17:35 +0200)]
Made MicroInstructions immutable

4 years agoAm2900 now has HighLevelStates
Daniel Kirschten [Mon, 16 Sep 2019 15:23:40 +0000 (17:23 +0200)]
Am2900 now has HighLevelStates

4 years agoJsonHandler preserves line numbers
Daniel Kirschten [Mon, 16 Sep 2019 15:23:29 +0000 (17:23 +0200)]
JsonHandler preserves line numbers

4 years agoImproved preference handling in plugin.core
Daniel Kirschten [Mon, 16 Sep 2019 14:28:31 +0000 (16:28 +0200)]
Improved preference handling in plugin.core

4 years agoIntroduced some preferences
Daniel Kirschten [Mon, 16 Sep 2019 12:46:02 +0000 (14:46 +0200)]
Introduced some preferences

4 years agoRenamed net.mograsim.logic.tests to net.mograsim.logic.core.tests
Daniel Kirschten [Mon, 16 Sep 2019 12:28:58 +0000 (14:28 +0200)]
Renamed net.mograsim.logic.tests to net.mograsim.logic.core.tests

4 years agoFixed Clock polarities to values where the Am2900 works
Daniel Kirschten [Mon, 16 Sep 2019 12:23:45 +0000 (14:23 +0200)]
Fixed Clock polarities to values where the Am2900 works

4 years agoInstructionView now guesses the width of columns better
Daniel Kirschten [Mon, 16 Sep 2019 11:49:13 +0000 (13:49 +0200)]
InstructionView now guesses the width of columns better

4 years agoFixed Am2900MicroInstructionMemoryDefinition's maximal address
Daniel Kirschten [Mon, 16 Sep 2019 11:48:51 +0000 (13:48 +0200)]
Fixed Am2900MicroInstructionMemoryDefinition's maximal address