projects
/
Mograsim.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
c97e7e6
)
Added methods to set and get the complete micro-/makro-status
author
Christian Femers
<femers@in.tum.de>
Mon, 2 Sep 2019 22:43:35 +0000
(
00:43
+0200)
committer
Christian Femers
<femers@in.tum.de>
Mon, 2 Sep 2019 22:43:35 +0000
(
00:43
+0200)
net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/am2904/TestableAm2904.java
patch
|
blob
|
history
net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/am2904/TestableAm2904Impl.java
patch
|
blob
|
history
diff --git
a/net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/am2904/TestableAm2904.java
b/net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/am2904/TestableAm2904.java
index
9f4cbf1
..
e41e3fe
100644
(file)
--- a/
net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/am2904/TestableAm2904.java
+++ b/
net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/am2904/TestableAm2904.java
@@
-73,6
+73,8
@@
public interface TestableAm2904 extends TestableCircuit
void setDirectly(Register r, String val_1_bit);
void setDirectly(Register r, String val_1_bit);
+ void setDirectly(CompleteStatus r, String z_c_n_ovr);
+
String getC0();
String getCT();
String getC0();
String getCT();
@@
-89,6
+91,8
@@
public interface TestableAm2904 extends TestableCircuit
String getDirectly(Register r);
String getDirectly(Register r);
+ String getDirectly(CompleteStatus r);
+
enum Am2904_ShiftDir
{
RIGHT, LEFT;
enum Am2904_ShiftDir
{
RIGHT, LEFT;
@@
-223,4
+227,10
@@
public interface TestableAm2904 extends TestableCircuit
{
µZ, µC, µN, µOVR, MZ, MC, MN, MOVR;
}
{
µZ, µC, µN, µOVR, MZ, MC, MN, MOVR;
}
+
+ enum CompleteStatus
+ {
+ micro, MAKRO;
+ }
+
}
}
diff --git
a/net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/am2904/TestableAm2904Impl.java
b/net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/am2904/TestableAm2904Impl.java
index
2e84000
..
03e9d5b
100644
(file)
--- a/
net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/am2904/TestableAm2904Impl.java
+++ b/
net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/am2904/TestableAm2904Impl.java
@@
-208,6
+208,12
@@
public class TestableAm2904Impl implements TestableAm2904
am2904.setHighLevelState(regToStateID(r), bv);
}
am2904.setHighLevelState(regToStateID(r), bv);
}
+ @Override
+ public void setDirectly(CompleteStatus r, String z_c_n_ovr)
+ {
+ am2904.setHighLevelState(regToStateID(r), BitVector.parse(z_c_n_ovr));
+ }
+
@Override
public String getC0()
{
@Override
public String getC0()
{
@@
-262,11
+268,25
@@
public class TestableAm2904Impl implements TestableAm2904
return bv.getMSBit(r.ordinal() % 4).getSymbol();
}
return bv.getMSBit(r.ordinal() % 4).getSymbol();
}
+ @Override
+ public String getDirectly(CompleteStatus r)
+ {
+ var bv = (BitVector) am2904.getHighLevelState(regToStateID(r));
+ return bv.toString();
+ }
+
private static String regToStateID(Register r)
{
private static String regToStateID(Register r)
{
- if (r.ordinal() > 3)
- return "msr.q";
- return "musr.q";
+ if (r.ordinal() < 4)
+ return "musr.q";
+ return "msr.q";
+ }
+
+ private static String regToStateID(CompleteStatus r)
+ {
+ if (r == CompleteStatus.micro)
+ return "musr.q";
+ return "msr.q";
}
@Override
}
@Override