From fc5d2fbd1251cd3977976164390803b449e2342f Mon Sep 17 00:00:00 2001 From: Daniel Kirschten Date: Mon, 19 Aug 2019 10:45:35 +0200 Subject: [PATCH] Fixed X/U/Z handling in GUIAm2904RegCTInstrDecode/ShiftInstrDecode --- .../am2904/GUIAm2904RegCTInstrDecode.java | 5 +++-- .../am2904/GUIAm2904ShiftInstrDecode.java | 20 +++++++++---------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/am2904/GUIAm2904RegCTInstrDecode.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/am2904/GUIAm2904RegCTInstrDecode.java index d010b302..b9e7b2b8 100644 --- a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/am2904/GUIAm2904RegCTInstrDecode.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/am2904/GUIAm2904RegCTInstrDecode.java @@ -8,6 +8,7 @@ import static net.mograsim.logic.core.types.Bit.ZERO; import java.util.Map; import net.mograsim.logic.core.types.Bit; +import net.mograsim.logic.core.types.BitVector; import net.mograsim.logic.core.wires.Wire.ReadEnd; import net.mograsim.logic.core.wires.Wire.ReadWriteEnd; import net.mograsim.logic.model.model.ViewModelModifiable; @@ -71,12 +72,12 @@ public class GUIAm2904RegCTInstrDecode extends SimpleRectangularHardcodedGUIComp break; case U: for (ReadWriteEnd e : readWriteEnds.values()) - e.feedSignals(U); + e.feedSignals(BitVector.of(U, e.length())); return null; case X: case Z: for (ReadWriteEnd e : readWriteEnds.values()) - e.feedSignals(X); + e.feedSignals(BitVector.of(X, e.length())); return null; case ZERO: break; diff --git a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/am2904/GUIAm2904ShiftInstrDecode.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/am2904/GUIAm2904ShiftInstrDecode.java index 64935e86..dda3e925 100644 --- a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/am2904/GUIAm2904ShiftInstrDecode.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/am2904/GUIAm2904ShiftInstrDecode.java @@ -77,20 +77,20 @@ public class GUIAm2904ShiftInstrDecode extends SimpleRectangularHardcodedGUIComp IAsInt |= 1 << i; break; case U: - readWriteEnds.get("SIO0_MUX").feedSignals(U); - readWriteEnds.get("SIOn_MUX").feedSignals(U); - readWriteEnds.get("QIO0_MUX").feedSignals(U); - readWriteEnds.get("QIOn_MUX").feedSignals(U); - readWriteEnds.get("MC_MUX").feedSignals(U); + readWriteEnds.get("SIO0_MUX").feedSignals(U, U, U); + readWriteEnds.get("SIOn_MUX").feedSignals(U, U, U); + readWriteEnds.get("QIO0_MUX").feedSignals(U, U, U); + readWriteEnds.get("QIOn_MUX").feedSignals(U, U, U); + readWriteEnds.get("MC_MUX").feedSignals(U, U); readWriteEnds.get("MC_EN").feedSignals(U); return null; case X: case Z: - readWriteEnds.get("SIO0_MUX").feedSignals(X); - readWriteEnds.get("SIOn_MUX").feedSignals(X); - readWriteEnds.get("QIO0_MUX").feedSignals(X); - readWriteEnds.get("QIOn_MUX").feedSignals(X); - readWriteEnds.get("MC_MUX").feedSignals(X); + readWriteEnds.get("SIO0_MUX").feedSignals(X, X, X); + readWriteEnds.get("SIOn_MUX").feedSignals(X, X, X); + readWriteEnds.get("QIO0_MUX").feedSignals(X, X, X); + readWriteEnds.get("QIOn_MUX").feedSignals(X, X, X); + readWriteEnds.get("MC_MUX").feedSignals(X, X); readWriteEnds.get("MC_EN").feedSignals(X); return null; case ZERO: -- 2.17.1