Unified the status order Z-C-N-OVR everywhere in the Am2904 tests
authorChristian Femers <femers@in.tum.de>
Mon, 2 Sep 2019 22:39:42 +0000 (00:39 +0200)
committerChristian Femers <femers@in.tum.de>
Mon, 2 Sep 2019 22:39:42 +0000 (00:39 +0200)
net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/am2904/TestableAm2904.java
net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/am2904/TestableAm2904Impl.java

index db58d56..9f4cbf1 100644 (file)
@@ -19,7 +19,7 @@ public interface TestableAm2904 extends TestableCircuit
 
        void setCX(String val_1_bit);
 
-       void setY(String ovr_n_c_z);
+       void setY(String z_c_n_ovr);
 
        void setIZ(String val_1_bit);
 
index e36ca6d..2e84000 100644 (file)
@@ -88,14 +88,14 @@ public class TestableAm2904Impl implements TestableAm2904
        }
 
        @Override
-       public void setY(String ovr_n_c_z)
+       public void setY(String z_c_n_ovr)
        {
-               var bv = BitVector.parse(ovr_n_c_z);
-               // correct order apparently unknown :/
-               YOVR.setState(bv.getLSBit(3).toVector());
-               YN.setState(bv.getLSBit(2).toVector());
-               YC.setState(bv.getLSBit(1).toVector());
-               YZ.setState(bv.getLSBit(0).toVector());
+               var bv = BitVector.parse(z_c_n_ovr);
+               // correct order apparently unknown, most likely Z-C-N-OVR
+               YZ.setState(bv.getLSBit(3).toVector());
+               YC.setState(bv.getLSBit(2).toVector());
+               YN.setState(bv.getLSBit(1).toVector());
+               YOVR.setState(bv.getLSBit(0).toVector());
        }
 
        @Override
@@ -204,7 +204,7 @@ public class TestableAm2904Impl implements TestableAm2904
        public void setDirectly(Register r, String val_1_bit)
        {
                var bv = (BitVector) am2904.getHighLevelState(regToStateID(r));
-               bv = bv.withBitChanged(3 - r.ordinal() % 4, b -> Bit.parse(val_1_bit));
+               bv = bv.withBitChanged(r.ordinal() % 4, b -> Bit.parse(val_1_bit));
                am2904.setHighLevelState(regToStateID(r), bv);
        }
 
@@ -223,11 +223,11 @@ public class TestableAm2904Impl implements TestableAm2904
        @Override
        public String getY()
        {
-               // correct order apparently unknown :/
-               var y3 = YOVR.getDisplayedValue();
-               var y2 = YN.getDisplayedValue();
-               var y1 = YC.getDisplayedValue();
-               var y0 = YZ.getDisplayedValue();
+               // correct order apparently unknown, most likely Z-C-N-OVR
+               var y3 = YZ.getDisplayedValue();
+               var y2 = YC.getDisplayedValue();
+               var y1 = YN.getDisplayedValue();
+               var y0 = YOVR.getDisplayedValue();
                return y3.concat(y2).concat(y1).concat(y0).toString();
        }
 
@@ -259,7 +259,7 @@ public class TestableAm2904Impl implements TestableAm2904
        public String getDirectly(Register r)
        {
                var bv = (BitVector) am2904.getHighLevelState(regToStateID(r));
-               return bv.getLSBit(r.ordinal() % 4).getSymbol();
+               return bv.getMSBit(r.ordinal() % 4).getSymbol();
        }
 
        private static String regToStateID(Register r)