MarinaTest: update list of tests to run
[fleet.git] / marina / testCode / com / sun / vlsi / chips / marina / test / MarinaTest.java
index 25a58fb..82dc074 100644 (file)
@@ -817,6 +817,41 @@ public class MarinaTest {
         adjustIndent(-2);
         prln("End countOlc");
     }
+    private void loadEveryValueOLC(Marina marina) {
+        adjustIndent(2);
+        for (int i=0; i<(1<<6); i++) {
+
+            if (marina.kesselsCounter) {
+                System.out.println("master-clearing...");
+                // master clear on each iteration; otherwise we'd need to "run down" the olc
+                marina.masterClear();
+                marina.enableInstructionSend(true);
+            }
+
+            int inOlc = i;
+            marina.fillSouthProperStopper(new Instruction[] {
+
+                    // to ensure that instruction is bubble-limited
+                    RECV_DATA,
+
+                    // the Set-OLC instruction
+                    new Instruction.Set(dock,Predicate.IgnoreFlagD,SetDest.OuterLoopCounter, inOlc),
+
+                    // put a Set-ILC instruction right behind it with inverted bits to be sure we're
+                    // not capturing the instruction-latch value too late in the cycle
+                    new Instruction.Set(dock,Predicate.IgnoreFlagD,SetDest.InnerLoopCounter, (inOlc ^ (~(-1<<6)))),
+                    
+                });
+
+            model.waitNS(128 * CYCLE_TIME_NS);
+            marina.fillNorthProperStopper();
+            model.waitNS(128 * CYCLE_TIME_NS);
+
+            expectOlc(inOlc);
+            prln("loadEveryValueOLC: "+inOlc+" checks out");
+        }
+        adjustIndent(-2);
+    }
 
     private void saturateInstructionFifo(Marina marina, Instruction instruction, int quantity, boolean expect_it_to_jam_up) {
         prln("Inserting "+quantity+" copies of \"" + instruction + "\"");
@@ -2177,23 +2212,17 @@ public class MarinaTest {
             switch (testNum) {
                 case 0: {
 
-                    // these tests run fairly quickly
-
-
                     doOneTest(1);       // passes extracted parasitics
                     doOneTest(2);       // passes extracted parasitics
                     doOneTest(3);       // passes extracted parasitics
                     doOneTest(4);       // passes extracted parasitics
                     doOneTest(5);       // passes extracted parasitics
                     doOneTest(6);
-                    doOneTest(1002);
-                    doOneTest(1005);
-                    doOneTest(3019);
-                    doOneTest(3025);
 
                     doOneTest(1000);    // passes extracted parasitics
                     doOneTest(1001);    // passes extracted parasitics
                     doOneTest(1003);    // passes extracted parasitics
+                    doOneTest(1005);
                     doOneTest(3000);    // passes extracted parasitics
                     doOneTest(3001);    // passes extracted parasitics
                     doOneTest(3003);    // passes extracted parasitics
@@ -2213,9 +2242,13 @@ public class MarinaTest {
                     doOneTest(3020);    // passes extracted parasitics
                     doOneTest(3022);    // passes extracted parasitics
                     doOneTest(3023);    // passes extracted parasitics
+                    doOneTest(3025);    // passes extracted parasitics
                     doOneTest(3026);    // passes extracted parasitics
                     doOneTest(3027);    // passes extracted parasitics
                     doOneTest(3028);    // passes extracted parasitics
+                    doOneTest(3029);    // passes extracted parasitics
+                    doOneTest(3030);    // passes extracted parasitics
+                    doOneTest(3031);    // passes extracted parasitics
                     
                     // these tests take a while and usually pass
                     doOneTest(1002);
@@ -2227,6 +2260,7 @@ public class MarinaTest {
                     doOneTest(3021);
                     doOneTest(3024);
                     doOneTest(3025);
+                    doOneTest(3040);
                     
                     // this takes an insanely long time
                     doOneTest(3017);
@@ -2286,6 +2320,11 @@ public class MarinaTest {
                 case 3026: testNonTorpedoableMoveDoesNotResetDFlag(marina);        break; //         23-Apr (+verilog)
                 case 3027: testILCZero(marina);                    break;
                 case 3028: testAbortOutsideOfLoop(marina); break;
+                case 3029: testDFlagWhenTorpedoLyingInWait(marina); break;
+                case 3030: testSetOlcFollowedByDPredicated(marina); break;
+                case 3031: testOverfillTokens(marina); break;
+
+                case 3040: loadEveryValueOLC(marina); break;
 
                 default:
                     fatal(true, "Test number: "+testNum+" doesn't exist.");