add test 3006
authorAdam Megacz <adam.megacz@sun.com>
Mon, 17 Nov 2008 18:40:46 +0000 (18:40 +0000)
committerAdam Megacz <adam.megacz@sun.com>
Mon, 17 Nov 2008 18:40:46 +0000 (18:40 +0000)
testCode/com/sun/vlsi/chips/marina/test/MarinaTest.java

index cdb7148..94a88d1 100644 (file)
@@ -403,6 +403,42 @@ public class MarinaTest {
        prln("End sendToken");
     }
 
+    private void sendData(Marina marina) {
+       prln("Begin sendToken");
+       adjustIndent(2);
+       
+       prln("ILC=1");
+       marina.instrIn.fill(
+               new Instruction.Set(DOCK,false,Predicate.IgnoreOLC,SetDest.InnerLoopCounter, 1));
+
+       getCtrsFlags(marina);
+       
+       prln("send data");
+        marina.instrIn.fill(
+            new Instruction.Move(DOCK,
+                                 false,                 /* requeueing  */
+                                 Predicate.IgnoreOLC,   /* predicate   */
+                                 false,                 /* torpedoable */
+                                 null,                  /* path        */
+                                 false,                 /* tokenIn     */
+                                 false,                 /* dataIn      */
+                                 false,                 /* latchData   */
+                                 false,                 /* latchPath   */
+                                 true,                  /* dataOut     */
+                                 false                  /* tokenOut    */
+                                 ));
+        
+        getCtrsFlags(marina);
+        
+        List<BitVector> dataItems = marina.data.drainMany();
+        fatal(dataItems.size()!=1, "Expected one token to emerge but got: "+dataItems.size()+" tokens");
+        
+        prln("Datum="+MarinaUtils.formatDataTokAddr(dataItems.get(0)));
+
+       adjustIndent(-2);
+       prln("End sendData");
+    }
+
     private void testFlagZ(Marina marina) {
        prln("Begin testFlagZ");
        adjustIndent(2);
@@ -811,6 +847,7 @@ public class MarinaTest {
                case 3003: testRequeueStage0to1(marina); break;
                case 3004: testFlagZ(marina); break;
                case 3005: testPredicationOnAB(marina); break;
+                case 3006: sendData(marina); break;
 
                default:
                        fatal(true, "Test number: "+testNum+" doesn't exist.");