X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.ui.am2900%2Ftest%2Fnet%2Fmograsim%2Flogic%2Fui%2Fam2900%2FTestableAm2901Impl.java;h=0f0e25f71dfc23de21ad03a0d408a3ab8888f5c2;hb=e4a201cb63e74fb7780dae482e2fc953bee58fa5;hp=a6eb79107b9794a03b18648721b22146a0428f2f;hpb=74868b10728aee0e85e4ff8af4073516b7590268;p=Mograsim.git diff --git a/net.mograsim.logic.ui.am2900/test/net/mograsim/logic/ui/am2900/TestableAm2901Impl.java b/net.mograsim.logic.ui.am2900/test/net/mograsim/logic/ui/am2900/TestableAm2901Impl.java index a6eb7910..0f0e25f7 100644 --- a/net.mograsim.logic.ui.am2900/test/net/mograsim/logic/ui/am2900/TestableAm2901Impl.java +++ b/net.mograsim.logic.ui.am2900/test/net/mograsim/logic/ui/am2900/TestableAm2901Impl.java @@ -114,6 +114,7 @@ public class TestableAm2901Impl implements TestableAm2901 for (String id : am2901.getOutputPinNames()) { GUIBitDisplay bd = new GUIBitDisplay(viewModel); +// bd.addRedrawListener(() -> System.out.println(id + " " + bd.getBitDisplay().getDisplayedValue())); new GUIWire(viewModel, am2901.getPin(id), bd.getInputPin()); idDisplayMap.put(id, bd); } @@ -127,8 +128,6 @@ public class TestableAm2901Impl implements TestableAm2901 setField(entry.getKey().replaceAll("\\+|=", "_"), entry.getValue().getManualSwitch()); for (var entry : idDisplayMap.entrySet()) setField(entry.getKey().replaceAll("\\+|=", "_"), entry.getValue().getBitDisplay()); - // Switch Clock off first - C.switchOff(); // Debug code HashSet wiresIncludingSubmodels = new HashSet<>(); @@ -146,7 +145,6 @@ public class TestableAm2901Impl implements TestableAm2901 { if (debugWires) { - System.out.println(w); wireDebugChangeSet.add(w.toString()); } })); @@ -247,9 +245,9 @@ public class TestableAm2901Impl implements TestableAm2901 } @Override - public void toogleClock() + public void clockOn(boolean isClockOn) { - C.toggle(); + C.setState(isClockOn); } @Override @@ -347,4 +345,23 @@ public class TestableAm2901Impl implements TestableAm2901 } return mutator.toBitVector(); } + + @Override + public void setDirectly(Register r, String val_4_bit) + { + am2901.setHighLevelState(regToStateID(r), BitVector.parse(val_4_bit)); + } + + @Override + public String getDirectly(Register r) + { + return am2901.getHighLevelState(regToStateID(r)).toString(); + } + + private static String regToStateID(Register r) + { + if (r == Register.Q) + return "qreg.q"; + return "regs.c" + r.toBitString() + ".q"; + } }