back out bad commit
authorAdam Megacz <adam.megacz@sun.com>
Tue, 10 Mar 2009 19:00:40 +0000 (19:00 +0000)
committerAdam Megacz <adam.megacz@sun.com>
Tue, 10 Mar 2009 19:00:40 +0000 (19:00 +0000)
testCode/com/sun/vlsi/chips/marina/test/ChainControls.java
testCode/com/sun/vlsi/chips/marina/test/InstructionStopper.java
testCode/com/sun/vlsi/chips/marina/test/Marina.java
testCode/com/sun/vlsi/chips/marina/test/MarinaTest.java
testCode/com/sun/vlsi/chips/marina/test/ProperStopper.java

index 1739500..cb366d3 100644 (file)
@@ -21,7 +21,7 @@ public class ChainControls {
        /** The path has the form:
         *  chipName.chainName.instanceName1.instanceName2 ...
         */
-    public ChainControl getChainControlFromPath(String path) {
+       private ChainControl getChainControlFromPath(String path) {
                for (String chainName : chainToControl.keySet()) {
                        if (path.startsWith(chainName)) return chainToControl.get(chainName);
                }
index b9103c3..689ee9b 100644 (file)
@@ -23,7 +23,7 @@ public class InstructionStopper extends ProperStopper {
                BitVector d = new BitVector(37, "token");  d.setFromLong(0);
        BitVector t = new BitVector(1, "token");   t.setFromLong(0);
        BitVector a = new BitVector(14, "addr");   a.setFromLong(0);
-        TORPEDO = t.cat(a).cat(d); 
+               TORPEDO = d.cat(t).cat(a); 
     }
        // Convert a Berkeley BitVector into a Sun BitVector
        private BitVector berkToSun(edu.berkeley.fleet.api.BitVector berkBits) {
@@ -66,8 +66,7 @@ public class InstructionStopper extends ProperStopper {
                }
        BitVector t = new BitVector(1, "token");   t.setFromLong(1);
        BitVector a = new BitVector(14, "addr");   a.setFromLong(0);
-       //super.fill(instr.cat(t).cat(a));
-       super.fill(t.cat(a).cat(instr));
+       super.fill(instr.cat(t).cat(a));
     }
        @Override 
        public BitVector drain() {
index 8cf3e35..ee48a9c 100644 (file)
@@ -76,7 +76,7 @@ public class Marina {
 
        // The name of the scan chain
        // The instance path, from the top cell of the netlist, of the instance of infinityWithCover 
-    public final ChainControls cc;           // specifies the scan chain
+    private final ChainControls cc;           // specifies the scan chain
     private final ChipModel model;
     public final ProperStopper data;
     public final InstructionStopper instrIn;
index 930f2e7..320ef71 100644 (file)
@@ -244,11 +244,9 @@ public class MarinaTest {
         
         ((SimulationModel)model).start("nanosim -c cfg", netListName, 0, !cmdArgs.jtagShift);
         
-        /*
         ctD.testAllChains("marina", Infrastructure.SEVERITY_WARNING);
         ctR.testAllChains("marina", Infrastructure.SEVERITY_WARNING);
         ctC.testAllChains("marina", Infrastructure.SEVERITY_WARNING);
-        */        
 
         ccs.addChain(Marina.DATA_CHAIN, ccD);
         ccs.addChain(Marina.REPORT_CHAIN, ccR);
@@ -256,11 +254,9 @@ public class MarinaTest {
                
         marina = new Marina(ccs, model, !cmdArgs.jtagShift, indenter);
 
-        /*
-        System.out.println("launching");
-        ChainG.createAndShowGUI(marina.cc.getChainControlFromPath(Marina.REPORT_CHAIN));
-        System.out.println("  launched.");
-        */
+        //System.out.println("launching");
+        //ChainG.createAndShowGUI(marina.cc.getChainControlFromPath(Marina.REPORT_CHAIN));
+        //System.out.println("  launched.");
 
         doOneTest(cmdArgs.testNum);
         
@@ -1985,31 +1981,24 @@ public class MarinaTest {
        prln("Begin testSouthRecirculate");
        adjustIndent(2);
 
-        //int AMOUNT = Marina.SOUTH_RING_CAPACITY;
-        int AMOUNT = 1;
-
        marina.enableInstructionSend(false);
        marina.enableInstructionRecirculate(true);
        
        prln("Completely fill south ring");
-       for (int i=0; i<AMOUNT; i++) {
+       for (int i=0; i<Marina.SOUTH_RING_CAPACITY; i++) {
                BitVector instr = new BitVector(36, "Instr"+i);
-               instr.setFromLong(0);
+               instr.setFromLong(i);
                marina.instrIn.fill(instr);
        }
-
-        //if (1==1) while(true) try { Thread.sleep(1000); } catch (Exception e) { }
-        
        prln("Drain south ring and check contents");
        List<BitVector> out = marina.instrIn.drainMany();
-       for (int i=0; i<AMOUNT; i++) {
+       for (int i=0; i<Marina.SOUTH_RING_CAPACITY; i++) {
                int expect = (i+Marina.SOUTH_RING_CAPACITY-1) % Marina.SOUTH_RING_CAPACITY;
                long got = out.get(i).toLong();
                fatal(got!=expect, "bad instruction: "+got+" expected: "+expect);
        }
        
        for (int i=0; i<5; i++) {}
-        
        
        adjustIndent(-2);
        prln("End testSouthRecirculate");
index bc08c7e..032000a 100644 (file)
@@ -25,11 +25,11 @@ public class ProperStopper {
        private static final int STOPPED_IN_NDX = 3;
        
        private final String name;
-    private final String captureClockRelPath = "fillStag@1.gaspFill@0.fillScan@1";
+    private final String captureClockRelPath = "fillStag@0.all1in52@1.data1in3@0";
     // test library direct write mode doesn't understand per register write 
     // enables. We get simulation to work by toggling write clock.
     private final boolean clockHack;
-    private final String captureClockName = "si[4]";
+    private final String captureClockName = "wrr";
 
     private boolean traceFill = true;
        private boolean traceDrain = true;
@@ -73,8 +73,6 @@ public class ProperStopper {
     private void shiftData(boolean readEnable, boolean writeEnable) {
        cc.shift(dataChain, readEnable, writeEnable);
        if (writeEnable) {
-            System.out.println("shiftData(): clockHack="+(clockHack)+
-                               ", (model instanceof NanosimModel)="+(model instanceof NanosimModel));
                if (clockHack && model instanceof NanosimModel) {
                        NanosimModel nanoModel = (NanosimModel) model;
                        nanoModel.setNodeState(captureClock, 1);
@@ -260,22 +258,8 @@ public class ProperStopper {
 
        BitVector wrEn = new BitVector(2, "write enable");
        wrEn.setFromLong(3);
-        BitVector bv1 = wrEn.cat(dta);
-       cc.setInBits(dataPath, bv1);
-        prln("first shift");
+       cc.setInBits(dataPath, wrEn.cat(dta));
        shiftData(false, true);
-
-        BitVector bv0 = new BitVector(bv1.getNumBits(), "");
-        for(int i=0; i<bv0.getNumBits(); i++) bv0.set(i, false);
-       cc.setInBits(dataPath, bv0);
-        prln("second shift");
-       shiftData(false, false);
-
-        prln("third shift");
-       shiftData(true, false);
-       BitVector bv2 = cc.getOutBits(dataPath);
-        System.out.println("bv1 = " + bv1);
-        System.out.println("bv2 = " + bv2);
        
        fill();                                 // fill = 1
        idle();                                 // fill = 0