Mograsim.git
5 years agoSimulation speed now can be edited via a text field
Daniel Kirschten [Thu, 26 Sep 2019 18:35:16 +0000 (20:35 +0200)]
Simulation speed now can be edited via a text field

5 years agoFixed a stupid bug causing LogicExecuter to eat your CPU
Daniel Kirschten [Thu, 26 Sep 2019 18:06:49 +0000 (20:06 +0200)]
Fixed a stupid bug causing LogicExecuter to eat your CPU

5 years agoSwitched default mouse buttons for action and drag.
Daniel Kirschten [Thu, 26 Sep 2019 17:35:26 +0000 (19:35 +0200)]
Switched default mouse buttons for action and drag.

This makes it easier to move the view using the touchpad of a laptop.
Also it reflects that the user will rarely want to interact with the
model (via clicking), but frequently want to look around.

5 years agoChanged simulation speed slider to a scale (not sure if this is better?)
Daniel Kirschten [Thu, 26 Sep 2019 17:30:02 +0000 (19:30 +0200)]
Changed simulation speed slider to a scale (not sure if this is better?)

5 years agoRemoved MemoryView from plugin.xml
Daniel Kirschten [Thu, 26 Sep 2019 17:28:53 +0000 (19:28 +0200)]
Removed MemoryView from plugin.xml

5 years agoMade preference page a bit easier to use
Daniel Kirschten [Thu, 26 Sep 2019 17:28:28 +0000 (19:28 +0200)]
Made preference page a bit easier to use

5 years agoAdded preferences for mouse button assignments
Daniel Kirschten [Thu, 26 Sep 2019 17:15:46 +0000 (19:15 +0200)]
Added preferences for mouse button assignments

5 years agoDeleted legacy MachineContext
Daniel Kirschten [Thu, 26 Sep 2019 16:17:26 +0000 (18:17 +0200)]
Deleted legacy MachineContext

5 years agoFixed typo in SimulationViewEditor
Daniel Kirschten [Thu, 26 Sep 2019 16:17:06 +0000 (18:17 +0200)]
Fixed typo in SimulationViewEditor

5 years agoMade MemoryView to an Editor
Daniel Kirschten [Thu, 26 Sep 2019 16:16:11 +0000 (18:16 +0200)]
Made MemoryView to an Editor

5 years agoSet reasonable default values for Am2900 MicroInstructions
Fabian Stemmler [Thu, 26 Sep 2019 15:11:51 +0000 (17:11 +0200)]
Set reasonable default values for Am2900 MicroInstructions

5 years agoCreated CyclingCellEditor for BooleanEditingSupport
Fabian Stemmler [Thu, 26 Sep 2019 14:43:53 +0000 (16:43 +0200)]
Created CyclingCellEditor for BooleanEditingSupport

5 years agoAdded MnemonicFamilyBuilder and set most Mnemonics to 'X' by default
Fabian Stemmler [Thu, 26 Sep 2019 13:03:34 +0000 (15:03 +0200)]
Added MnemonicFamilyBuilder and set most Mnemonics to 'X' by default

5 years agoFixed execution freezing when the next queued event has a long delta
Daniel Kirschten [Thu, 26 Sep 2019 12:56:22 +0000 (14:56 +0200)]
Fixed execution freezing when the next queued event has a long delta

5 years agoSped up logic core execution by 1000%
Daniel Kirschten [Thu, 26 Sep 2019 12:42:09 +0000 (14:42 +0200)]
Sped up logic core execution by 1000%

5 years agoPauseableTimeFunction now supports non-integral speed factors
Daniel Kirschten [Thu, 26 Sep 2019 12:41:34 +0000 (14:41 +0200)]
PauseableTimeFunction now supports non-integral speed factors

5 years agoAdded a reset button to SimulationViewEditor
Daniel Kirschten [Thu, 26 Sep 2019 11:31:20 +0000 (13:31 +0200)]
Added a reset button to SimulationViewEditor

5 years agoFixed Am2900Machine#reset (broke when deleting clock ManualSwitch)
Daniel Kirschten [Thu, 26 Sep 2019 11:30:21 +0000 (13:30 +0200)]
Fixed Am2900Machine#reset (broke when deleting clock ManualSwitch)

5 years agoInstructionView now reacts to memory reassignments and machine changes
Daniel Kirschten [Thu, 26 Sep 2019 09:29:06 +0000 (11:29 +0200)]
InstructionView now reacts to memory reassignments and machine changes

5 years agoMade sure listeners get removed when SimulationViewEditor gets disposed
Daniel Kirschten [Thu, 26 Sep 2019 09:26:48 +0000 (11:26 +0200)]
Made sure listeners get removed when SimulationViewEditor gets disposed

5 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.

5 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

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

5 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.

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

5 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

5 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

5 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

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

5 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.

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

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

5 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)

5 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

5 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

5 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)

5 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

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

5 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

5 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

5 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

5 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

5 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

5 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

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

5 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

5 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

5 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.

5 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

5 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.

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

5 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)

5 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

5 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

5 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

5 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

5 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

5 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.

5 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()

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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

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

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

5 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

5 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

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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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.

5 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

5 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

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

5 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

5 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

5 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

5 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

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

5 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

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