From: Adam Megacz Date: Sun, 23 Nov 2008 22:14:37 +0000 (+0000) Subject: add test 3017 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=4945eb04e81fde5b46eb358dc5462ea40a843dc5;p=fleet.git add test 3017 --- diff --git a/testCode/com/sun/vlsi/chips/marina/test/MarinaTest.java b/testCode/com/sun/vlsi/chips/marina/test/MarinaTest.java index d0ab151..eeb93d4 100644 --- a/testCode/com/sun/vlsi/chips/marina/test/MarinaTest.java +++ b/testCode/com/sun/vlsi/chips/marina/test/MarinaTest.java @@ -777,6 +777,20 @@ public class MarinaTest { false /* tokenOut */ ); + private static final Instruction RECV_DATA = + new Instruction.Move(DOCK, + false, /* requeueing */ + Predicate.IgnoreOLC, /* predicate */ + false, /* torpedoable */ + null, /* path */ + false, /* tokenIn */ + true, /* dataIn */ + true, /* latchData */ + false, /* latchPath */ + false, /* dataOut */ + false /* tokenOut */ + ); + private static final Instruction SEND_TOKEN = new Instruction.Move(DOCK, false, /* requeueing */ @@ -1121,7 +1135,6 @@ public class MarinaTest { * through 216 iterations. */ private void testFlagTruthTable(Marina marina) { - /* prln("Begin testFlagTruthTable"); adjustIndent(2); @@ -1134,50 +1147,50 @@ public class MarinaTest { for(boolean a_state : new boolean[] { false, true }) for(boolean b_state : new boolean[] { false, true }) for(boolean c_state : new boolean[] { false, true }) { - - // set A,B flags to a_state and b_state - marina.instrIn.fill(new - Instruction.Set(DOCK,false,Predicate.IgnoreOLC, - a_state ? one : zero, - b_state ? one : zero - )); - - // set C flag to c_state - // FIXME: implement this once we get the c-flag working - if (c_state) continue; - - marina.instrIn.fill(new - Instruction.Set(DOCK,false,Predicate.IgnoreOLC, - , - b_state - )); - - - + for(boolean which : new boolean[] { false, true }) { + + prln("before instruction: a="+a_state+", b="+b_state+", c="+c_state); + + // set A,B flags to a_state and b_state + marina.instrIn.fill(new + Instruction.Set(DOCK,false,Predicate.IgnoreOLC, + a_state ? one : zero, + b_state ? one : zero + )); + + // set C flag to c_state + BitVector data = new BitVector(37, "empty"); + BitVector addr = new BitVector(14, "empty"); + for(int i=0; i1 and 1->0 transitions - for(boolean b : new boolean[] { false, true, false }) { - prln((b?"Setting":"Clearing")+" flags"); - - fatal(marina.getFlagA()!=b, "after "+(b?"setting":"clearing")+" FlagA, it was still "+(b?"clear":"set")); - fatal(marina.getFlagB()!=b, "after "+(b?"setting":"clearing")+" FlagB, it was still "+(b?"clear":"set")); - } - adjustIndent(-2); prln("End testFlagTruthTable"); - */ } private void recvData(Marina marina) { @@ -1608,6 +1621,7 @@ public class MarinaTest { case 3014: testShiftedLiteral(marina); break; case 3015: testSendAndRecvToken(marina); break; case 3016: sendDataIlcInfinite(marina); break; + case 3017: testFlagTruthTable(marina); break; default: fatal(true, "Test number: "+testNum+" doesn't exist.");