X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.core%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fcore%2Fcomponents%2FCoreTriStateBuffer.java;h=4b7a339f299a7e48bb492eaef6426982bf162804;hb=9bb76ff610ab0fcc07a9049e4a572053339593c9;hp=6568d1bfe13c897e6345ea8a9da1ec94540d1fcf;hpb=b32414f8406634aca730d724a011023c0da8bf22;p=Mograsim.git diff --git a/net.mograsim.logic.core/src/net/mograsim/logic/core/components/CoreTriStateBuffer.java b/net.mograsim.logic.core/src/net/mograsim/logic/core/components/CoreTriStateBuffer.java index 6568d1bf..4b7a339f 100644 --- a/net.mograsim.logic.core/src/net/mograsim/logic/core/components/CoreTriStateBuffer.java +++ b/net.mograsim.logic.core/src/net/mograsim/logic/core/components/CoreTriStateBuffer.java @@ -3,7 +3,9 @@ package net.mograsim.logic.core.components; import java.util.List; import net.mograsim.logic.core.timeline.Timeline; +import net.mograsim.logic.core.timeline.TimelineEventHandler; import net.mograsim.logic.core.types.Bit; +import net.mograsim.logic.core.types.BitVector; import net.mograsim.logic.core.wires.CoreWire.ReadEnd; import net.mograsim.logic.core.wires.CoreWire.ReadWriteEnd; @@ -28,12 +30,14 @@ public class CoreTriStateBuffer extends BasicCoreComponent } @Override - protected void compute() + protected TimelineEventHandler compute() { if (enable.getValue() == Bit.ONE) - out.feedSignals(in.getValues()); - else - out.clearSignals(); + { + BitVector inValues = in.getValues(); + return e -> out.feedSignals(inValues); + } + return e -> out.clearSignals(); } @Override