X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=era.mi%2Fsrc%2Fera%2Fmi%2Flogic%2Fcomponents%2FDemux.java;h=218259610bc489c4694e652efe9bf394b5be1dca;hb=b7ce41467a2cbd9f45554982730741810e99feaa;hp=147dd7fe27df8837ee69d7fa124310b3b42514e8;hpb=cc5749d29d0a2e37262ec10925676c812a2fa734;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..21825961 100644 --- a/era.mi/src/era/mi/logic/components/Demux.java +++ b/era.mi/src/era/mi/logic/components/Demux.java @@ -3,7 +3,8 @@ package era.mi.logic.components; import java.util.List; 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 +15,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,7 +27,7 @@ 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(int processTime, ReadEnd in, ReadEnd select, ReadWriteEnd... outputs) { super(processTime); outputSize = in.length(); @@ -67,13 +68,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); }