projects
/
Mograsim.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
c2cee79
)
Made hardcoded components slower to fix a timing bug in the Am2900
author
Daniel Kirschten
<daniel.kirschten@gmx.de>
Wed, 30 Oct 2019 18:17:21 +0000
(19:17 +0100)
committer
Daniel Kirschten
<daniel.kirschten@gmx.de>
Wed, 30 Oct 2019 18:17:21 +0000
(19:17 +0100)
plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/Am2900Machine.java
patch
|
blob
|
history
plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/SimpleLogicUIStandalone.java
patch
|
blob
|
history
plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/CoreModelParameters.java
patch
|
blob
|
history
plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/SimpleRectangularHardcodedModelComponentAdapter.java
patch
|
blob
|
history
plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/SimulationPreview.java
patch
|
blob
|
history
tests/net.mograsim.logic.model.am2900.tests/src/net/mograsim/logic/model/am2900/util/TestEnvironmentHelper.java
patch
|
blob
|
history
diff --git
a/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/Am2900Machine.java
b/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/Am2900Machine.java
index
cb57ab8
..
33c29f0
100644
(file)
--- a/
plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/Am2900Machine.java
+++ b/
plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/Am2900Machine.java
@@
-54,6
+54,7
@@
public class Am2900Machine implements Machine
CoreModelParameters params = new CoreModelParameters();
params.gateProcessTime = 50;
CoreModelParameters params = new CoreModelParameters();
params.gateProcessTime = 50;
+ params.hardcodedComponentProcessTime = params.gateProcessTime * 5;
params.wireTravelTime = 10;
mainMemory = new AssignableMainMemory(new WordAddressableMemory(am2900MachineDefinition.getMainMemoryDefinition()));
instMemory = new AssignableMicroInstructionMemory(
params.wireTravelTime = 10;
mainMemory = new AssignableMainMemory(new WordAddressableMemory(am2900MachineDefinition.getMainMemoryDefinition()));
instMemory = new AssignableMicroInstructionMemory(
diff --git
a/plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/SimpleLogicUIStandalone.java
b/plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/SimpleLogicUIStandalone.java
index
03d0335
..
48f5cf5
100644
(file)
--- a/
plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/SimpleLogicUIStandalone.java
+++ b/
plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/SimpleLogicUIStandalone.java
@@
-18,6
+18,7
@@
public class SimpleLogicUIStandalone
{
CoreModelParameters params = new CoreModelParameters();
params.gateProcessTime = 50;
{
CoreModelParameters params = new CoreModelParameters();
params.gateProcessTime = 50;
+ params.hardcodedComponentProcessTime = params.gateProcessTime * 5;
params.wireTravelTime = 10;
executeVisualisation(setupLogicModel, params, beforeRun);
}
params.wireTravelTime = 10;
executeVisualisation(setupLogicModel, params, beforeRun);
}
diff --git
a/plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/CoreModelParameters.java
b/plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/CoreModelParameters.java
index
db3b5ac
..
96be5c2
100644
(file)
--- a/
plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/CoreModelParameters.java
+++ b/
plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/CoreModelParameters.java
@@
-4,4
+4,5
@@
public class CoreModelParameters
{
public int wireTravelTime;
public int gateProcessTime;
{
public int wireTravelTime;
public int gateProcessTime;
+ public int hardcodedComponentProcessTime;
}
\ No newline at end of file
}
\ No newline at end of file
diff --git
a/plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/SimpleRectangularHardcodedModelComponentAdapter.java
b/plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/SimpleRectangularHardcodedModelComponentAdapter.java
index
716c306
..
57effc3
100644
(file)
--- a/
plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/SimpleRectangularHardcodedModelComponentAdapter.java
+++ b/
plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/SimpleRectangularHardcodedModelComponentAdapter.java
@@
-43,7
+43,7
@@
public class SimpleRectangularHardcodedModelComponentAdapter implements Componen
if (pin.usage != PinUsage.INPUT)
{
// TODO do this prettier
if (pin.usage != PinUsage.INPUT)
{
// TODO do this prettier
- CoreWire pseudoWire = new CoreWire(timeline, wire.width, params.
gate
ProcessTime);
+ CoreWire pseudoWire = new CoreWire(timeline, wire.width, params.
hardcodedComponent
ProcessTime);
CoreWire.fuse(wire, pseudoWire);
readWriteEnds.put(pin.name, pseudoWire.createReadWriteEnd());
}
CoreWire.fuse(wire, pseudoWire);
readWriteEnds.put(pin.name, pseudoWire.createReadWriteEnd());
}
diff --git
a/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/SimulationPreview.java
b/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/SimulationPreview.java
index
92d45a5
..
746433b
100644
(file)
--- a/
plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/SimulationPreview.java
+++ b/
plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/SimulationPreview.java
@@
-39,6
+39,7
@@
public class SimulationPreview implements IThemePreview
LogicModelModifiable model = new LogicModelModifiable();
CoreModelParameters params = new CoreModelParameters();
params.gateProcessTime = 50;
LogicModelModifiable model = new LogicModelModifiable();
CoreModelParameters params = new CoreModelParameters();
params.gateProcessTime = 50;
+ params.hardcodedComponentProcessTime = params.gateProcessTime * 5;
params.wireTravelTime = 10;
ModelManualSwitch rIn = new ModelManualSwitch(model, 1);
params.wireTravelTime = 10;
ModelManualSwitch rIn = new ModelManualSwitch(model, 1);
diff --git
a/tests/net.mograsim.logic.model.am2900.tests/src/net/mograsim/logic/model/am2900/util/TestEnvironmentHelper.java
b/tests/net.mograsim.logic.model.am2900.tests/src/net/mograsim/logic/model/am2900/util/TestEnvironmentHelper.java
index
4bae8ec
..
51833be
100644
(file)
--- a/
tests/net.mograsim.logic.model.am2900.tests/src/net/mograsim/logic/model/am2900/util/TestEnvironmentHelper.java
+++ b/
tests/net.mograsim.logic.model.am2900.tests/src/net/mograsim/logic/model/am2900/util/TestEnvironmentHelper.java
@@
-90,6
+90,7
@@
public class TestEnvironmentHelper
// Create core model
CoreModelParameters params = new CoreModelParameters();
params.gateProcessTime = 50;
// Create core model
CoreModelParameters params = new CoreModelParameters();
params.gateProcessTime = 50;
+ params.hardcodedComponentProcessTime = params.gateProcessTime * 5;
params.wireTravelTime = 10;
timeline = LogicCoreAdapter.convert(logicModel, params);
timelineField.ifPresent(f -> setField(f, timeline));
params.wireTravelTime = 10;
timeline = LogicCoreAdapter.convert(logicModel, params);
timelineField.ifPresent(f -> setField(f, timeline));