move marina/testCode/com to src/com
[fleet.git] / src / com / sun / vlsi / chips / marina / test / CmdArgs.java
1 package com.sun.vlsi.chips.marina.test;
2 import com.sun.async.test.BitVector;
3 import com.sun.async.test.Infrastructure;
4
5 import java.util.List;
6 import java.util.Random;
7 import java.util.ArrayList;
8
9 public class CmdArgs {
10     public enum Mode {
11         //ISOLATED_IN_DOCK,
12         //ISOLATED_OUT_DOCK,
13         WHOLE_CHIP_SCHEMATIC_PARASITICS,
14             WHOLE_CHIP_LAYOUT_PARASITICS,
15             TEST_SILICON
16             };
17     public Mode mode = Mode.WHOLE_CHIP_SCHEMATIC_PARASITICS;
18     public int testNum, ringNum, numTokensOther, chipNum=-1;
19     public boolean jtagShift = false;
20     public boolean testChains = false;
21     public boolean useVerilog = false;
22     public boolean useHsim = false;
23     public Station station=Station.ONE;
24     public float vdd, temp;
25     public boolean init;
26
27     public boolean wholeChipNetlist() {return mode==Mode.WHOLE_CHIP_SCHEMATIC_PARASITICS ||
28             mode==Mode.WHOLE_CHIP_LAYOUT_PARASITICS ||
29             mode==Mode.TEST_SILICON;}
30     private static void usage() {
31         System.out.println("Options: -testNum <int>            select which test to run");
32         System.out.println("         -verilog                  use Verilog-XL simulator rather than NanoSim");
33         System.out.println("         -hsim                     use Hsim simulator rather than NanoSim");
34         System.out.println("         -testChains               invoke testAllChains() on startup");
35         System.out.println("         -vdd <float>");
36         System.out.println("         -temp <float>");
37         System.out.println("         -chipSch                  simulate netlist of entire chip, parasitics from schematic");
38         System.out.println("         -chipLay                  simulate netlist of entire chip, parasitics from layout");
39         System.out.println("         -jtagShift                simulate shifting of JTAG chains");
40         System.out.println("         -silicon                  test the silicon");
41         System.out.println("         -chipNum <int>            store test results according to chip number");
42         System.out.println("         -station <int>            select test station");
43         System.exit(-1);
44     }
45
46     public CmdArgs(String[] args) {
47         int nbArgs = args.length;
48         for (int i=0; i<nbArgs; i++) {
49             if (args[i].equals("-testNum")) {
50                 i++;
51                 if (i>=nbArgs) usage();
52                 testNum = Integer.parseInt(args[i]);
53             } else if (args[i].equals("-vdd")) {
54                 i++;
55                 if (i>=nbArgs) usage();
56                 vdd = Float.parseFloat(args[i]);
57             } else if (args[i].equals("-init")) {
58                 i++;
59                 if (i>=nbArgs) usage();
60                 init = Boolean.parseBoolean(args[i]);
61             } else if (args[i].equals("-temp")) {
62                 i++;
63                 if (i>=nbArgs) usage();
64                 temp = Float.parseFloat(args[i]);
65             } else if (args[i].equals("-chipNum")) {
66                 i++;
67                 if (i>=nbArgs) usage();
68                 chipNum = Integer.parseInt(args[i]); 
69             } else if (args[i].equals("-station")) {
70                 i++;
71                 if (i>=nbArgs) usage();
72                 switch (Integer.parseInt(args[i])) {
73                     case 1: station = Station.ONE; break; 
74                     case 2: station = Station.TWO; break;
75                     default: System.out.println("Bad station: "+args[i]); usage();
76                 }
77             } else if (args[i].equals("-chipSch")) {
78                 mode = CmdArgs.Mode.WHOLE_CHIP_SCHEMATIC_PARASITICS;
79             } else if (args[i].equals("-chipLay")) {
80                 mode = CmdArgs.Mode.WHOLE_CHIP_LAYOUT_PARASITICS;
81             } else if (args[i].equals("-silicon")) {
82                 mode = CmdArgs.Mode.TEST_SILICON;
83             } else if (args[i].equals("-jtagShift")) {
84                 jtagShift = true;
85             } else if (args[i].equals("-testChains")) {
86                 testChains = true;
87             } else if (args[i].equals("-verilog")) {
88                 useVerilog = true;
89             } else if (args[i].equals("-hsim")) {
90                 useHsim = true;
91             } else {
92                 System.out.println("Bad argument: "+args[i]);
93                 usage();
94             }
95         }
96     }
97 }