From f595c35e84c6f798a93340a36c62e1125037ff97 Mon Sep 17 00:00:00 2001 From: Adam Megacz Date: Thu, 19 Nov 2009 20:11:37 -0800 Subject: [PATCH] remove unused code in Marina tests --- .../berkeley/fleet/marina/BitVectorGenerators.java | 308 -------------------- src/edu/berkeley/fleet/marina/CmdArgs.java | 10 - src/edu/berkeley/fleet/marina/Design.java | 7 - src/edu/berkeley/fleet/marina/MarinaTest.java | 5 +- src/edu/berkeley/fleet/marina/Station.java | 22 -- 5 files changed, 1 insertion(+), 351 deletions(-) delete mode 100644 src/edu/berkeley/fleet/marina/BitVectorGenerators.java delete mode 100644 src/edu/berkeley/fleet/marina/Design.java delete mode 100644 src/edu/berkeley/fleet/marina/Station.java diff --git a/src/edu/berkeley/fleet/marina/BitVectorGenerators.java b/src/edu/berkeley/fleet/marina/BitVectorGenerators.java deleted file mode 100644 index db26fd7..0000000 --- a/src/edu/berkeley/fleet/marina/BitVectorGenerators.java +++ /dev/null @@ -1,308 +0,0 @@ -package edu.berkeley.fleet.marina; -import com.sun.electric.tool.simulation.test.*; - -import java.util.List; -import java.util.Random; -import java.util.ArrayList; - -/** - * Miscellaneous routines to generate BitVectors as test inputs. - * Currently not used. - */ -public class BitVectorGenerators { - - private static void fatal(boolean pred, String msg) { MarinaUtils.fatal(pred, msg); } - - public static BitVector generateBits(int start, boolean alternate, int n) { - int temp = start; - String bits = Integer.toString(start); - if (alternate){ - for (int i = 2; i<= n; i++) { - temp = (temp+1)%2; - bits += Integer.toString (temp); - } - } - else { - for (int i = 2; i <= n; i++){ - bits += Integer.toString(start); - } - } - BitVector bv = new BitVector (n, bits); - bv.put(0,bits); - return bv; - } - - - public static String generateTokenContent(int i) { - BitVector data0 = generateBits(0, true, 37); // 37 bits, alternating - BitVector tag0 = generateBits(1, false, 1); - BitVector addr0 = generateBits(0, true, 14); // 14 bits, alternating - //BitVector addr0 = new BitVector ("00000001111111", "addr0"); // 14 bits, alternating - BitVector data1 = generateBits(1, true, 37); // 37 bits, alternating - BitVector tag1 = generateBits(1, false, 1); - //BitVector addr1 = generateBits(1, true, 14); // 14 bits, alternating - BitVector addr1 = new BitVector ("00101010101011", "addr1"); // 14 bits, alternating - if (i==0){ - return generateBits(0, false, 37).getState()+"1"+addr0.getState(); - } - else if (i%4 == 1){ - return data1.getState()+tag1.getState()+addr1.getState();// the addr data MAY enable cross: bit 0 (cross active high for Ring 1) and 13 (cross active low for Ring 2) - //return data1.getState()+tag1.getState()+addr0.getState();// - } - else if (i%4 == 2){ - return data0.getState()+tag1.getState()+addr0.getState(); - } - else if (i%4 == 3){ - return data1.getState()+tag0.getState()+addr1.getState(); - //return data1.getState()+tag0.getState()+addr0.getState(); - } - else { - return data0.getState()+tag0.getState()+addr0.getState(); - } - } - public static boolean compareTags(BitVector inputContent, BitVector exitContent){ - return inputContent.get(37) == exitContent.get(37); //bit 37 is the tag bit - } - - public static boolean compareData(BitVector inputContent, BitVector exitContent){ - return inputContent.get(0, 37).getState().equals(exitContent.get(0, 37).getState()); //bits 0:36 are the data bits - } - - public static boolean compareAddress(BitVector inputContent, BitVector exitContent){ - return inputContent.get(38, 14).getState().equals(exitContent.get(38, 14).getState()); //bits 38:38+14 are the data bits - } - - public static boolean insertedVsRemoved(BitVector [] insertedTokenContent, BitVector [] removedTokenContent, int numTokens){ - for (int i = 0; i < numTokens; i++) { - if (insertedTokenContent[i].get(37)){ //tag = 1 meaning data is valid - - if (!insertedTokenContent[i].getState().equals(removedTokenContent[i].getState())){ - System.out.println ("Inserted vs removed data, tag and address @ stage " + i + " does NOT match!"); - return false; - } - System.out.println ("Inserted vs removed data, tag and address @ stage " + i + " matches!"); - } - else {//if tag=0, just need to make sure tag bit is still the same as inserted but data and address are no longer important - if (!compareTags(insertedTokenContent[i], removedTokenContent[i])){ - System.out.println ("Inserted vs removed tag @ stage " + i + " does NOT match!"); - return false; - } - System.out.println ("Inserted vs removed tag @ stage " + i + " matches!"); - } - } - System.out.println("Inserted tokens match removed tokens...All is well!"); - return true; - - } - public static void checkRingData(String ringNm, List dIn, - List dOut) { - int sz = dIn.size(); - - fatal(dOut.size()!=sz, ringNm+ - " wrong number of items. Expected:"+sz+", got:"+dOut.size()); - - // find offset - BitVector first = dIn.get(0); - int offset=0; - for (; offset makeIncrDataRandAdr(int num, Random rand) { - List ans = new ArrayList(); - BitVector dHi = new BitVector(25, "dataHi"); - BitVector dLo = new BitVector(12, "dataLo"); - BitVector t = new BitVector("1", "token"); - BitVector a = new BitVector(14, "addr"); - dHi.setFromLong(0x00aaaaa); - for (int i=0; i makeIncrDataConstAdr(int num, int addr) { - List ans = new ArrayList(); - BitVector dHi = new BitVector(25, "dataHi"); - BitVector dLo = new BitVector(12, "dataLo"); - BitVector t = new BitVector("1", "token"); - BitVector a = new BitVector(14, "addr"); - dHi.setFromLong(0x00aaaaa); - a.setFromLong(addr); - for (int i=0; i makeIncrDataConstAdr(int num, String addr) { - List ans = new ArrayList(); - BitVector dHi = new BitVector(25, "dataHi"); - BitVector dLo = new BitVector(12, "dataLo"); - BitVector t = new BitVector("1", "token"); - BitVector a = new BitVector(addr, "addr"); - dHi.setFromLong(0x00aaaaa); - //a.setFromLong(addr); - for (int i=0; i makeConstDataConstAdr(int num, boolean dataValue, String addr) { - List ans = new ArrayList(); - BitVector d = new BitVector(37, "dataHi"); - BitVector t = new BitVector("1", "token"); - BitVector a = new BitVector(addr, "addr"); - Long dat = dataValue ? -1L : 0L; - d.setFromLong(dat); - for (int i=0; i make0TokenAdd(int num, int addrMsb, int addrLsb) { - List ans = new ArrayList(); - BitVector d = new BitVector(37, "data"); - BitVector t = new BitVector("0", "token"); - BitVector aHi = new BitVector(1, "addrHi"); - BitVector aLo = new BitVector(1, "addrLo"); - BitVector aMid = new BitVector(12, "addrMid"); - d.setFromLong(0x0000000000L); - aHi.setFromLong(addrMsb); - aLo.setFromLong(addrLsb); - aMid.setFromLong(0x000); - for (int i=0; i makeAltDataAdd(int num, Long longValue, int addrMsb, int addrLsb, boolean crosser) { - List ans = new ArrayList(); - BitVector d = new BitVector(37, "data"); - BitVector t = new BitVector("1", "token"); - BitVector aHi = new BitVector(1, "addrHi"); - BitVector aLo = new BitVector(1, "addrLo"); - BitVector aMid = new BitVector(12, "addrMid"); - BitVector aRing = new BitVector(14, "addrRing"); //address bits for ring, bit 0 and 13 do not need to be anything specific b/c there isn't a cross element in the ring - //d.setFromLong(0xaaaaaaaaaaL); - d.setFromLong(longValue); - aHi.setFromLong(addrMsb); - aLo.setFromLong(addrLsb); - aMid.setFromLong(0xaaa); - aRing.setFromLong(0xaaaa); - for (int i=0; i din, List dout) { - fatal(din.size()!=dout.size(), - "in count="+din.size()+" out count="+dout.size()); - for (int i=0; i din, List dout) { - int sz = din.size(); - fatal(dout.size()!=sz, "found "+dout.size()+" items, Expected: "+sz); - for (BitVector in : din) { - boolean found = false; - for (BitVector out : dout) { - if (in.equals(out)) { - found = true; - break; - } - } - fatal(!found, "Can't find vector in output: "+in.getState()); - } - } - public static void checkUnorderedJUSTDataTag(List din, List dout) { - int sz = din.size(); - fatal(dout.size()!=sz, "found "+dout.size()+" items, Expected: "+sz); - for (BitVector in : din) { - boolean found = false; - for (BitVector out : dout) { - if (in.get(0,37).equals(out.get(0,37))) { - found = true; - break; - } - } - fatal(!found, "Can't find vector in output: "+in.getState()); - } - } - - public static void checkToken0Add(List din, List dout) { - int sz = din.size(); - fatal(dout.size()!=sz, "found "+dout.size()+" items, Expected: "+sz); - for (BitVector in : din) { - boolean found = false; - for (BitVector out : dout) { - if (in.get(38,14).equals(out.get(38,14))) { - found = true; - break; - } - } - fatal(!found, "Can't find vector in output: "+in.getState()); - } - } - - public static int findBitVectorIndex(List din, BitVector findThis) { - int sz = din.size(); - boolean found=false; - int i=0; - for (BitVector in : din) { - if (in.equals(findThis)) { - found = true; - break; - } else {i++;} - } - fatal(!found, "Can't find vector in output: "+findThis.getState()); - return i; - - } - -} diff --git a/src/edu/berkeley/fleet/marina/CmdArgs.java b/src/edu/berkeley/fleet/marina/CmdArgs.java index 873abfc..5b4bc33 100644 --- a/src/edu/berkeley/fleet/marina/CmdArgs.java +++ b/src/edu/berkeley/fleet/marina/CmdArgs.java @@ -20,7 +20,6 @@ public class CmdArgs { public boolean useVerilog = false; public boolean useHsim = false; public boolean silicon = false; - public Station station=Station.ONE; public float vdd, temp; public boolean init; @@ -40,7 +39,6 @@ public class CmdArgs { System.out.println(" -jtagShift simulate shifting of JTAG chains"); System.out.println(" -silicon test the silicon"); System.out.println(" -chipNum store test results according to chip number"); - System.out.println(" -station select test station"); System.exit(-1); } @@ -67,14 +65,6 @@ public class CmdArgs { i++; if (i>=nbArgs) usage(); chipNum = Integer.parseInt(args[i]); - } else if (args[i].equals("-station")) { - i++; - if (i>=nbArgs) usage(); - switch (Integer.parseInt(args[i])) { - case 1: station = Station.ONE; break; - case 2: station = Station.TWO; break; - default: System.out.println("Bad station: "+args[i]); usage(); - } } else if (args[i].equals("-chipSch")) { mode = CmdArgs.Mode.WHOLE_CHIP_SCHEMATIC_PARASITICS; } else if (args[i].equals("-chipLay")) { diff --git a/src/edu/berkeley/fleet/marina/Design.java b/src/edu/berkeley/fleet/marina/Design.java deleted file mode 100644 index e49d954..0000000 --- a/src/edu/berkeley/fleet/marina/Design.java +++ /dev/null @@ -1,7 +0,0 @@ -package edu.berkeley.fleet.marina; - -import com.sun.electric.tool.simulation.test.*; - -public interface Design { - public void masterClear(JtagTester tester); -} diff --git a/src/edu/berkeley/fleet/marina/MarinaTest.java b/src/edu/berkeley/fleet/marina/MarinaTest.java index cfca42c..44587df 100644 --- a/src/edu/berkeley/fleet/marina/MarinaTest.java +++ b/src/edu/berkeley/fleet/marina/MarinaTest.java @@ -332,10 +332,7 @@ public class MarinaTest { model.waitNS(4*COLUMN_LATENCY); } - private double readCurrent() { - return voltmeterForCurrent.readVoltage() / cmdArgs.station.ammeterShuntResistance; - } - + /** Generate List of BitVectors where Token=true, high 25 data bits * are alternating ones and zeros, low 12 data bits increment from * zero, and address is given by addr. */ diff --git a/src/edu/berkeley/fleet/marina/Station.java b/src/edu/berkeley/fleet/marina/Station.java deleted file mode 100644 index 0d64fe9..0000000 --- a/src/edu/berkeley/fleet/marina/Station.java +++ /dev/null @@ -1,22 +0,0 @@ -package edu.berkeley.fleet.marina; -import com.sun.electric.tool.simulation.test.*; - -import java.util.List; -import java.util.Random; -import java.util.ArrayList; - -public enum Station { - ONE("152.70.25.42", 1, "H34401C", "H34401A", 24.98e-3), - TWO("152.70.25.27", 2, "H34401B", "H34401D", 26.47e-3); - public final String ipAddr, coreVoltmeter, currentVoltmenter; - public final int jtagChannel; - public final double ammeterShuntResistance; - private Station(String ip, int jtagChannel, String coreVoltmeter, - String currentVoltmeter, double ammeterShuntResistance) { - this.ipAddr = ip; - this.jtagChannel = jtagChannel; - this.coreVoltmeter = coreVoltmeter; - this.currentVoltmenter = currentVoltmeter; - this.ammeterShuntResistance = ammeterShuntResistance; - } -}; -- 1.7.10.4