X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.core%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fcore%2Fwires%2FCoreWire.java;h=f130cd4c50be01fabb3dca477346c61311d86a24;hb=5a3821c8742bf185db943a1d30aeb0318a646e8a;hp=7d81f6dde13a48f086e677a3d2fdba910d7c364a;hpb=c21f316bb80da02c436da6badbc38c7a106decfb;p=Mograsim.git diff --git a/net.mograsim.logic.core/src/net/mograsim/logic/core/wires/CoreWire.java b/net.mograsim.logic.core/src/net/mograsim/logic/core/wires/CoreWire.java index 7d81f6dd..f130cd4c 100644 --- a/net.mograsim.logic.core/src/net/mograsim/logic/core/wires/CoreWire.java +++ b/net.mograsim.logic.core/src/net/mograsim/logic/core/wires/CoreWire.java @@ -124,7 +124,9 @@ public class CoreWire */ public void forceValues(BitVector values) { - setNewValues(values); + bitsWithoutFusions = values.getBits(); + invalidateCachedValuesForAllFusedWires(); + notifyObservers(); } /** @@ -445,6 +447,7 @@ public class CoreWire feedSignals(BitVector.of(newValues)); } + // TODO what if this is called multiple times at the same simulation time? (happens in component unit tests) public void feedSignals(BitVector newValues) { if (newValues.length() != width)