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.
Christian Femers [Thu, 26 Sep 2019 04:57:08 +0000 (06:57 +0200)]
Fixed the MograsimBuilder a bit, but it will likely get removed
Christian Femers [Thu, 26 Sep 2019 04:56:01 +0000 (06:56 +0200)]
Documented the ProjectMachineContext
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.
Christian Femers [Thu, 26 Sep 2019 04:50:17 +0000 (06:50 +0200)]
Added comment on MachineRegistry
Daniel Kirschten [Wed, 25 Sep 2019 19:41:27 +0000 (21:41 +0200)]
Modified README.md a bit; deleted build_from_source.txt
Daniel Kirschten [Wed, 25 Sep 2019 18:45:11 +0000 (20:45 +0200)]
Removed the clock ManualSwitches and made the clock slower
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
Daniel Kirschten [Wed, 25 Sep 2019 18:27:23 +0000 (20:27 +0200)]
Reserialized components
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.
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
Daniel Kirschten [Wed, 25 Sep 2019 16:33:27 +0000 (18:33 +0200)]
HLSShell now closes when the according LogicUICanvas is disposed
Daniel Kirschten [Wed, 25 Sep 2019 16:33:07 +0000 (18:33 +0200)]
Adjusted default HLS debug shell depth
Daniel Kirschten [Wed, 25 Sep 2019 16:10:27 +0000 (18:10 +0200)]
Removed model.am2900 from plugin.core's required bundles
Daniel Kirschten [Wed, 25 Sep 2019 16:10:02 +0000 (18:10 +0200)]
IndirectModelComponentCreator now supports clearing the component cache
Daniel Kirschten [Wed, 25 Sep 2019 16:09:12 +0000 (18:09 +0200)]
SimulationViewEditor now reacts better to machine changes
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
Daniel Kirschten [Wed, 25 Sep 2019 13:26:43 +0000 (15:26 +0200)]
Made clock overridable by a ManualSwitch
Daniel Kirschten [Wed, 25 Sep 2019 10:44:00 +0000 (12:44 +0200)]
Reserialized components
Daniel Kirschten [Wed, 25 Sep 2019 10:42:07 +0000 (12:42 +0200)]
SVE now supports context changes better (untested)
Daniel Kirschten [Wed, 25 Sep 2019 10:40:28 +0000 (12:40 +0200)]
Re-added instruction preview to SimulationViewEditor
Daniel Kirschten [Wed, 25 Sep 2019 10:06:27 +0000 (12:06 +0200)]
Fixed an exception being thrown when the application exits
Daniel Kirschten [Wed, 25 Sep 2019 09:58:17 +0000 (11:58 +0200)]
SimulationViewEditor now supports machine context changes (untested)
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
Fabian Stemmler [Wed, 25 Sep 2019 08:40:35 +0000 (10:40 +0200)]
Switched BooleanEditingSupport back to ´CheckBoxCellEditor
Fabian Stemmler [Tue, 24 Sep 2019 18:18:19 +0000 (20:18 +0200)]
Numbers in MemoryView and mpm editor now have leading zeros
Daniel Kirschten [Tue, 24 Sep 2019 14:51:00 +0000 (16:51 +0200)]
Made simulation view / LogicUIPart to an Editor
Daniel Kirschten [Tue, 24 Sep 2019 14:50:05 +0000 (16:50 +0200)]
Made infinite depth for HLS combo selectable in Eclipse preferences
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
Daniel Kirschten [Tue, 24 Sep 2019 14:21:37 +0000 (16:21 +0200)]
Made HLSShell component combo box shorter
Fabian Stemmler [Tue, 24 Sep 2019 14:17:47 +0000 (16:17 +0200)]
Added Step by step execution to LogicUIPart
Fabian Stemmler [Tue, 24 Sep 2019 14:17:29 +0000 (16:17 +0200)]
Added clock to Am2900
Fabian Stemmler [Tue, 24 Sep 2019 11:46:07 +0000 (13:46 +0200)]
Improved error handling when opening and saving .mpm files
Daniel Kirschten [Tue, 24 Sep 2019 09:26:59 +0000 (11:26 +0200)]
Merge remote-tracking branch 'origin/development' into development
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.
Christian Femers [Tue, 24 Sep 2019 04:26:39 +0000 (06:26 +0200)]
Tool class for creating Combos that allow to select machines/projects
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.
Christian Femers [Tue, 24 Sep 2019 04:19:43 +0000 (06:19 +0200)]
Marked old MachineContext deprecated
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)
Christian Femers [Tue, 24 Sep 2019 03:18:06 +0000 (05:18 +0200)]
Added listener and event structure to ProjectMachineContexts
Christian Femers [Tue, 24 Sep 2019 03:13:46 +0000 (05:13 +0200)]
Allow to listen for changes in the MachineRegistry
Christian Femers [Tue, 24 Sep 2019 03:12:39 +0000 (05:12 +0200)]
Renamed method to its actual function
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
Daniel Kirschten [Mon, 23 Sep 2019 15:43:48 +0000 (17:43 +0200)]
Made InstructionTable a bit easier to use
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.
Daniel Kirschten [Mon, 23 Sep 2019 12:06:07 +0000 (14:06 +0200)]
Added missing call to super.dispose()
Daniel Kirschten [Mon, 23 Sep 2019 12:04:37 +0000 (14:04 +0200)]
Updated to new SWTHelper version
Fabian Stemmler [Sun, 22 Sep 2019 18:13:22 +0000 (20:13 +0200)]
Project now correctly identified from file
Fabian Stemmler [Sun, 22 Sep 2019 17:32:52 +0000 (19:32 +0200)]
Switched Instruction View to project associated MachineContext
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
Christian Femers [Sat, 21 Sep 2019 21:22:02 +0000 (23:22 +0200)]
Added logo resources to the core plugin
Fabian Stemmler [Sat, 21 Sep 2019 11:34:42 +0000 (13:34 +0200)]
Added NewWizard for mpm files and fixed mpm content binding
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
Fabian Stemmler [Fri, 20 Sep 2019 16:00:31 +0000 (18:00 +0200)]
Machine name is no in mpm files
Fabian Stemmler [Fri, 20 Sep 2019 14:53:09 +0000 (16:53 +0200)]
Simulation can now be slowed and paused
Daniel Kirschten [Thu, 19 Sep 2019 19:39:33 +0000 (21:39 +0200)]
Fixed a very stupid bug in InstructionView#highlight
Daniel Kirschten [Thu, 19 Sep 2019 19:21:07 +0000 (21:21 +0200)]
Fixed & extended JavaJsonLineCounter
Daniel Kirschten [Thu, 19 Sep 2019 16:41:21 +0000 (18:41 +0200)]
Fixed crashbug on Gtk
Christian Femers [Thu, 19 Sep 2019 16:11:15 +0000 (18:11 +0200)]
Added a listener system to project specific machine context
Christian Femers [Thu, 19 Sep 2019 16:09:12 +0000 (18:09 +0200)]
Remove empty single line comment in A.M.NatureHandler
Daniel Kirschten [Thu, 19 Sep 2019 15:44:26 +0000 (17:44 +0200)]
Modified InstructionView#highlight
Daniel Kirschten [Thu, 19 Sep 2019 15:24:58 +0000 (17:24 +0200)]
Added javax.inject to plugin.core's MANIFEST
Christian Femers [Thu, 19 Sep 2019 14:56:37 +0000 (16:56 +0200)]
Restructured Mograsim project nature and introduced project context
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
Fabian Stemmler [Wed, 18 Sep 2019 20:15:02 +0000 (22:15 +0200)]
Added active instruction preview to LogicUIPart
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
Christian Femers [Wed, 18 Sep 2019 17:54:05 +0000 (19:54 +0200)]
Updated the description to the final project structure
Daniel Kirschten [Wed, 18 Sep 2019 09:50:18 +0000 (11:50 +0200)]
Removed some more warnings and cleaned more SWT listeners
Daniel Kirschten [Wed, 18 Sep 2019 09:46:23 +0000 (11:46 +0200)]
Cleaned up Editor: removed warnings; cleaned listener system
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.
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
Fabian Stemmler [Tue, 17 Sep 2019 23:19:07 +0000 (01:19 +0200)]
Adapted WordAddressableMemoryTest to work with binary vectors only
Daniel Kirschten [Tue, 17 Sep 2019 21:14:21 +0000 (23:14 +0200)]
Cleaned up memory stuff
Daniel Kirschten [Tue, 17 Sep 2019 21:13:20 +0000 (23:13 +0200)]
Fixed the "Set active" button in InstructionView
Fabian Stemmler [Tue, 17 Sep 2019 20:57:40 +0000 (22:57 +0200)]
WordAddressableMemory will now ignore non-binary BitVectors
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
Fabian Stemmler [Tue, 17 Sep 2019 19:40:57 +0000 (21:40 +0200)]
MicroInstructionMemory editor can now open and save to files
Daniel Kirschten [Tue, 17 Sep 2019 16:02:40 +0000 (18:02 +0200)]
Corrected RAM control signal timing
Daniel Kirschten [Tue, 17 Sep 2019 12:31:40 +0000 (14:31 +0200)]
Made Am2900 work again in ModelComponentTestbench
Daniel Kirschten [Tue, 17 Sep 2019 12:25:03 +0000 (14:25 +0200)]
Reserialized components
Fabian Stemmler [Mon, 16 Sep 2019 18:28:24 +0000 (20:28 +0200)]
Removed InstructionView as View
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
Daniel Kirschten [Mon, 16 Sep 2019 15:52:20 +0000 (17:52 +0200)]
Removed legacy code from ModelSplitter
Daniel Kirschten [Mon, 16 Sep 2019 15:51:29 +0000 (17:51 +0200)]
Removed legacy ModelMerger
Daniel Kirschten [Mon, 16 Sep 2019 15:49:55 +0000 (17:49 +0200)]
Reserialized TestableAm2904
Daniel Kirschten [Mon, 16 Sep 2019 15:48:33 +0000 (17:48 +0200)]
Fixed a javadoc comment in SubmodelComponentSerializer
Daniel Kirschten [Mon, 16 Sep 2019 15:48:16 +0000 (17:48 +0200)]
Removed legacy version line handling from JsonHandler for speedup
Daniel Kirschten [Mon, 16 Sep 2019 15:47:54 +0000 (17:47 +0200)]
Made IndirectModelComponentCreator a bit faster
Daniel Kirschten [Mon, 16 Sep 2019 15:47:47 +0000 (17:47 +0200)]
Removed LegacySubmCompSerializer
Daniel Kirschten [Mon, 16 Sep 2019 15:46:01 +0000 (17:46 +0200)]
Removed overkill version attribute from standardComponentIDMapping
Fabian Stemmler [Mon, 16 Sep 2019 15:44:17 +0000 (17:44 +0200)]
Changed InstructionView into an Editor
Fabian Stemmler [Mon, 16 Sep 2019 15:35:27 +0000 (17:35 +0200)]
Made MicroInstructions immutable
Daniel Kirschten [Mon, 16 Sep 2019 15:23:40 +0000 (17:23 +0200)]
Am2900 now has HighLevelStates
Daniel Kirschten [Mon, 16 Sep 2019 15:23:29 +0000 (17:23 +0200)]
JsonHandler preserves line numbers
Daniel Kirschten [Mon, 16 Sep 2019 14:28:31 +0000 (16:28 +0200)]
Improved preference handling in plugin.core
Daniel Kirschten [Mon, 16 Sep 2019 12:46:02 +0000 (14:46 +0200)]
Introduced some preferences
Daniel Kirschten [Mon, 16 Sep 2019 12:28:58 +0000 (14:28 +0200)]
Renamed net.mograsim.logic.tests to net.mograsim.logic.core.tests
Daniel Kirschten [Mon, 16 Sep 2019 12:23:45 +0000 (14:23 +0200)]
Fixed Clock polarities to values where the Am2900 works
Daniel Kirschten [Mon, 16 Sep 2019 11:49:13 +0000 (13:49 +0200)]
InstructionView now guesses the width of columns better
Daniel Kirschten [Mon, 16 Sep 2019 11:48:51 +0000 (13:48 +0200)]
Fixed Am2900MicroInstructionMemoryDefinition's maximal address