projects
/
Mograsim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch threads into development
[Mograsim.git]
/
plugins
/
net.mograsim.logic.model.am2900
/
src
/
net
/
mograsim
/
logic
/
model
/
am2900
/
machine
/
Am2900Machine.java
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
3d6db31
..
352ce12
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
@@
-8,6
+8,7
@@
import java.util.function.Consumer;
import net.mograsim.logic.core.components.CoreClock;
import net.mograsim.logic.core.timeline.Timeline;
import net.mograsim.logic.core.components.CoreClock;
import net.mograsim.logic.core.timeline.Timeline;
+import net.mograsim.logic.core.types.Bit;
import net.mograsim.logic.core.types.BitVector;
import net.mograsim.logic.model.am2900.machine.registers.NumberedRegister;
import net.mograsim.logic.model.am2900.machine.registers.QRegister;
import net.mograsim.logic.core.types.BitVector;
import net.mograsim.logic.model.am2900.machine.registers.NumberedRegister;
import net.mograsim.logic.model.am2900.machine.registers.QRegister;
@@
-32,7
+33,7
@@
import net.mograsim.machine.standard.memory.WordAddressableMemory;
public class Am2900Machine implements Machine
{
public class Am2900Machine implements Machine
{
- private Am2900MachineDefinition machineDefinition;
+ private A
bstractA
m2900MachineDefinition machineDefinition;
private LogicModelModifiable logicModel;
private ModelComponent am2900;
private Timeline timeline;
private LogicModelModifiable logicModel;
private ModelComponent am2900;
private Timeline timeline;
@@
-44,7
+45,7
@@
public class Am2900Machine implements Machine
private final Set<ActiveMicroInstructionChangedListener> amicListeners;
private final Map<Register, Map<Consumer<BitVector>, Consumer<Object>>> modelListenersPerRegisterListenerPerRegister;
private final Set<ActiveMicroInstructionChangedListener> amicListeners;
private final Map<Register, Map<Consumer<BitVector>, Consumer<Object>>> modelListenersPerRegisterListenerPerRegister;
- public Am2900Machine(LogicModelModifiable model, Am2900MachineDefinition am2900MachineDefinition)
+ public Am2900Machine(LogicModelModifiable model, A
bstractA
m2900MachineDefinition am2900MachineDefinition)
{
this.machineDefinition = am2900MachineDefinition;
this.logicModel = model;
{
this.machineDefinition = am2900MachineDefinition;
this.logicModel = model;
@@
-89,6
+90,12
@@
public class Am2900Machine implements Machine
defaultParams[19] = paramClassifications[19].parse("JZ");
MicroInstruction jzMI = MicroInstruction.create(defaultParams);
am2900.setHighLevelState("muir_2.q", jzMI.toBitVector());
defaultParams[19] = paramClassifications[19].parse("JZ");
MicroInstruction jzMI = MicroInstruction.create(defaultParams);
am2900.setHighLevelState("muir_2.q", jzMI.toBitVector());
+ if (!machineDefinition.strict)
+ {
+ for (Register r : machineDefinition.getRegisters())
+ setRegister(r, BitVector.of(Bit.ZERO, r.getWidth()));
+ // TODO reset latches?
+ }
}
@Override
}
@Override