From 427383025056d2a683cbf2d8b6bd02f1e21a08ea Mon Sep 17 00:00:00 2001 From: Adam Megacz Date: Fri, 29 May 2009 06:32:06 +0000 Subject: [PATCH] test updates for kessels counter --- .../com/sun/vlsi/chips/marina/test/MarinaTest.java | 104 ++++++++++++++------ 1 file changed, 76 insertions(+), 28 deletions(-) diff --git a/testCode/com/sun/vlsi/chips/marina/test/MarinaTest.java b/testCode/com/sun/vlsi/chips/marina/test/MarinaTest.java index 0a58ba3..9e14e73 100644 --- a/testCode/com/sun/vlsi/chips/marina/test/MarinaTest.java +++ b/testCode/com/sun/vlsi/chips/marina/test/MarinaTest.java @@ -683,10 +683,21 @@ public class MarinaTest { private void walkOneOLC(Marina marina) { prln("Begin walkOneOLC"); adjustIndent(2); - for (int i=5; i>=0; i--) { - int inOlc = 1<=olc ? 0 : 1; dataItems = marina.data.drainMany(2); fatal(dataItems.size()!=expected, "Expected "+expected+" item to emerge but got: "+dataItems.size()+" data items"); - for(int i=0; i> i; + + if (marina.kesselsCounter) { + // master clear on each iteration; otherwise we'd need to "run down" the olc + marina.masterClear(); + marina.enableInstructionSend(true); + } + + int outOlc; prln("Set OLC=0"); prln("Then immediately set OLC="+notZero); marina.fillSouthProperStopper(new Instruction[] { @@ -1956,20 +1997,22 @@ public class MarinaTest { model.waitNS(64 * CYCLE_TIME_NS); prln("Verify OLC count using scan chain"); - int outOlc = marina.getOLC(); + outOlc = marina.getOLC(); fatal(outOlc!=notZero, "bad OLC count: "+outOlc+" expected: "+notZero); - prln("Set OLC="+notZero); - prln("Then immediately set OLC=0"); - marina.fillSouthProperStopper(new Instruction[] { - new Instruction.Set(dock,Predicate.IgnoreFlagD,SetDest.OuterLoopCounter, notZero), - new Instruction.Set(dock,Predicate.IgnoreFlagD,SetDest.OuterLoopCounter, 0), - }); - - model.waitNS(64 * CYCLE_TIME_NS); - prln("Verify OLC count using scan chain"); - outOlc = marina.getOLC(); - fatal(outOlc!=0, "bad OLC count: "+outOlc+" expected: 0"); + if (!marina.kesselsCounter) { + prln("Set OLC="+notZero); + prln("Then immediately set OLC=0"); + marina.fillSouthProperStopper(new Instruction[] { + new Instruction.Set(dock,Predicate.IgnoreFlagD,SetDest.OuterLoopCounter, notZero), + new Instruction.Set(dock,Predicate.IgnoreFlagD,SetDest.OuterLoopCounter, 0), + }); + + model.waitNS(64 * CYCLE_TIME_NS); + prln("Verify OLC count using scan chain"); + outOlc = marina.getOLC(); + fatal(outOlc!=0, "bad OLC count: "+outOlc+" expected: 0"); + } } adjustIndent(-2); @@ -2032,6 +2075,7 @@ public class MarinaTest { case 0: { // these tests run fairly quickly + doOneTest(1); // passes extracted parasitics doOneTest(2); // passes extracted parasitics doOneTest(3); // passes extracted parasitics @@ -2049,14 +2093,14 @@ public class MarinaTest { doOneTest(3006); // passes extracted parasitics doOneTest(3007); // passes extracted parasitics doOneTest(3008); // passes extracted parasitics - doOneTest(3009); // fails extracted parasitics + doOneTest(3009); // passes extracted parasitics doOneTest(3010); // passes extracted parasitics doOneTest(3011); // passes extracted parasitics doOneTest(3012); // passes extracted parasitics doOneTest(3013); // passes extracted parasitics doOneTest(3014); // passes extracted parasitics - doOneTest(3015); // fails extracted parasitics - doOneTest(3019); // fails extracted parasitics + doOneTest(3015); // passes extracted parasitics + doOneTest(3019); // passes extracted parasitics doOneTest(3020); // passes extracted parasitics doOneTest(3022); // passes extracted parasitics doOneTest(3023); // passes extracted parasitics @@ -2064,7 +2108,7 @@ public class MarinaTest { doOneTest(3027); // passes extracted parasitics doOneTest(3028); // passes extracted parasitics - // these tests take a while and usually pass + // these tests take a while and usually pass doOneTest(1002); doOneTest(1004); doOneTest(1005); @@ -2143,6 +2187,10 @@ public class MarinaTest { printTestTime(); //Infrastructure.exit(0); } catch (MarinaUtils.FailureException fe) { + System.out.println("******************************************************************************"); + System.out.println("******************************************************************************"); + System.out.println("******************************************************************************"); + System.out.println("******************************************************************************"); fe.printStackTrace(); } } -- 1.7.10.4