X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=plugins%2Fnet.mograsim.logic.model.am2900%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Fam2900%2Fmachine%2FAm2900Machine.java;h=352ce123d7d0bab0f34c894a437933b656593403;hb=2d1f3e4780616f3b638133a243fcdb7a6738baf9;hp=3d6db31c4b2146c2a5ac616d254b4d67204c3cf8;hpb=c59feb481f39dc2af89475a1ea53c1b234913cb7;p=Mograsim.git 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 3d6db31c..352ce123 100644 --- 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.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; @@ -32,7 +33,7 @@ import net.mograsim.machine.standard.memory.WordAddressableMemory; public class Am2900Machine implements Machine { - private Am2900MachineDefinition machineDefinition; + private AbstractAm2900MachineDefinition machineDefinition; private LogicModelModifiable logicModel; private ModelComponent am2900; private Timeline timeline; @@ -44,7 +45,7 @@ public class Am2900Machine implements Machine private final Set amicListeners; private final Map, Consumer>> modelListenersPerRegisterListenerPerRegister; - public Am2900Machine(LogicModelModifiable model, Am2900MachineDefinition am2900MachineDefinition) + public Am2900Machine(LogicModelModifiable model, AbstractAm2900MachineDefinition am2900MachineDefinition) { 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()); + if (!machineDefinition.strict) + { + for (Register r : machineDefinition.getRegisters()) + setRegister(r, BitVector.of(Bit.ZERO, r.getWidth())); + // TODO reset latches? + } } @Override