X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=era.mi%2Fsrc%2Fera%2Fmi%2Flogic%2Fcomponents%2FDemux.java;h=3b267dfef61843b5d5f6e0e4b9216c0e8b921d12;hb=6c67a9ff8361cd9fc082f40e2676f2c8b5911fe4;hp=147dd7fe27df8837ee69d7fa124310b3b42514e8;hpb=5606ceefa2c360772194c85ed884e5f8f06f36aa;p=Mograsim.git diff --git a/era.mi/src/era/mi/logic/components/Demux.java b/era.mi/src/era/mi/logic/components/Demux.java index 147dd7fe..3b267dfe 100644 --- a/era.mi/src/era/mi/logic/components/Demux.java +++ b/era.mi/src/era/mi/logic/components/Demux.java @@ -2,8 +2,10 @@ package era.mi.logic.components; import java.util.List; +import era.mi.logic.timeline.Timeline; import era.mi.logic.wires.Wire; -import era.mi.logic.wires.Wire.WireEnd; +import era.mi.logic.wires.Wire.ReadEnd; +import era.mi.logic.wires.Wire.ReadWriteEnd; /** * Models a multiplexer. Takes an arbitrary amount of input {@link Wire}s, one of which, as determined by select, is put through to the @@ -14,8 +16,8 @@ import era.mi.logic.wires.Wire.WireEnd; */ public class Demux extends BasicComponent { - private final WireEnd select, in; - private final WireEnd[] outputs; + private final ReadEnd select, in; + private final ReadWriteEnd[] outputs; private final int outputSize; private int selected = -1; @@ -26,9 +28,9 @@ public class Demux extends BasicComponent * @param select Indexes the output array to which the input is mapped. Must have enough bits to index all outputs. * @param outputs One of these outputs receives the input signal, depending on the select bits */ - public Demux(int processTime, WireEnd in, WireEnd select, WireEnd... outputs) + public Demux(Timeline timeline, int processTime, ReadEnd in, ReadEnd select, ReadWriteEnd... outputs) { - super(processTime); + super(timeline, processTime); outputSize = in.length(); this.in = in; @@ -67,13 +69,13 @@ public class Demux extends BasicComponent } @Override - public List getAllInputs() + public List getAllInputs() { return List.of(in, select); } @Override - public List getAllOutputs() + public List getAllOutputs() { return List.of(outputs); }