X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=plugins%2Fnet.mograsim.logic.core%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fcore%2Fcomponents%2FCoreClock.java;h=84608b4d67049ad39a4779dd5fbb4929681063df;hb=f1933b06b5fe800902131e4dc34f002ac3fa17f0;hp=0cccdfdd5662f3e45fffd5604eaaa9b3c5dc3ea5;hpb=7d05144c25daa53e60fc9ed9fd503546a86567f8;p=Mograsim.git diff --git a/plugins/net.mograsim.logic.core/src/net/mograsim/logic/core/components/CoreClock.java b/plugins/net.mograsim.logic.core/src/net/mograsim/logic/core/components/CoreClock.java index 0cccdfdd..84608b4d 100644 --- a/plugins/net.mograsim.logic.core/src/net/mograsim/logic/core/components/CoreClock.java +++ b/plugins/net.mograsim.logic.core/src/net/mograsim/logic/core/components/CoreClock.java @@ -9,7 +9,7 @@ import net.mograsim.logic.core.LogicObserver; import net.mograsim.logic.core.timeline.Timeline; import net.mograsim.logic.core.timeline.TimelineEvent; 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; import net.mograsim.logic.core.wires.CoreWire.ReadEnd; import net.mograsim.logic.core.wires.CoreWire.ReadWriteEnd; @@ -17,7 +17,7 @@ import net.mograsim.logic.core.wires.CoreWire.ReadWriteEnd; public class CoreClock extends CoreComponent implements TimelineEventHandler, LogicObservable { private Collection observers; - private boolean toggle = false; + private boolean isOn = true;// first update switches to 0 private ReadWriteEnd out; private int delta; @@ -39,19 +39,19 @@ public class CoreClock extends CoreComponent implements TimelineEventHandler, Lo public void handle(TimelineEvent e) { addToTimeline(); - out.feedSignals(toggle ? Bit.ONE : Bit.ZERO); - toggle = !toggle; + isOn = !isOn; + out.feedSignals(getOutValues()); notifyObservers(); } - public ReadWriteEnd getOut() + public BitVector getOutValues() { - return out; + return isOn ? BitVector.SINGLE_1 : BitVector.SINGLE_0; } public boolean isOn() { - return !toggle; + return isOn; } private void addToTimeline()