move marina directory into a subdirectory of chips
[fleet.git] / chips / marina / testCode / marina-xml2.bsh
1 import com.sun.electric.plugins.menus.ScanChainXML;
2
3 /*
4  * Create a ScanChainXML object
5  */
6
7 import com.sun.electric.tool.user.menus.FileMenu;
8 import com.sun.electric.tool.user.menus.FileMenu.ReadLibrary;
9 import com.sun.electric.tool.simulation.Simulation;
10 import com.sun.electric.tool.io.output.Output;
11 import com.sun.electric.tool.io.FileType;
12 import com.sun.electric.database.hierarchy.EDatabase;
13 import com.sun.electric.database.text.TextUtils;
14 import com.sun.electric.tool.Job;
15 import java.lang.Thread;
16 import java.net.URL;
17 import com.sun.electric.database.variable.EvalJavaBsh;
18 import com.sun.electric.database.hierarchy.View;
19
20 Simulation.setVerilogStopAtStandardCells(false);
21
22   ScanChainXML gen = new ScanChainXML();
23
24   // Add all the scan chain elements: name, access, clears, 
25   // scan in port name, scan out port name, 
26   // (optional:) data out port name (may be "" or null), 
27   // data out bar port name (may be "" or null).
28   // Both data out and data out bar must be specified or left out.
29
30   //gen.addScanChainElement("scanK", "scanCellKh", "R", "-", "sin", "sout", "din[1](R)", "");
31   gen.addScanChainElement("countersL", "cntScnOne", "RW", "-", "sin", "out", "out(R)", "latch2in@0.dataBar(WI)");
32
33   gen.addScanChainElement("scanM", "scanCellE", "RW", "-", "sin", "sout", "dIn[1](R)", "latch2in@0.dataBar(WI)");
34   gen.addScanChainElement("scanM", "scanCellF", "RW", "L", "sin", "sout", "dout[1](R)", "latch2in@1.dataBar(WI)");
35   gen.addScanChainElement("scanM", "scanCellFtaller", "RW", "L", "sin", "sout", "dout[1](R)", "latch2in@1.dataBar(WI)");
36
37   // Add all the pass through elements: these pass scan data through,
38   // like inverters or buffers
39
40   gen.addPassThroughCell("scanM", "scanAmp", "in[1]", "out[1]");
41
42   // Define the jtag controller by it's library, cell name,
43   // and the number of instruction register bits
44
45   gen.setJtagController("jtagController", "jtagCentral{sch}", 8, "TDI", "TDO");
46
47   // Chip-specific configuration
48
49   gen.setChipName("marina");
50
51    // Generate xml for isolatedInDock only. This is for simulations that include only
52    // one input dock.
53    gen.setOutput("marina.xml");
54    gen.addJtagPort(0,  "leaf0[1]", "leaf0[8]", "compare_report");
55    gen.addJtagPort(1,  "leaf1[1]", "leaf1[8]", "compare_control");
56    gen.addJtagPort(2,  "leaf2[1]", "leaf2[8]", "compare_data");
57    gen.addJtagPort(3,  "leaf3[1]", "leaf3[8]", "ivan_report");
58    gen.addJtagPort(4,  "leaf4[1]", "leaf4[8]", "ivan_data");
59    gen.addJtagPort(5,  "leaf5[1]", "leaf5[8]", "ivan_control");
60    gen.addJtagPort(6,  "leaf6[1]", "leaf6[8]", "marina_report");
61    gen.addJtagPort(7,  "leaf7[1]", "leaf7[8]", "marina_control");
62    gen.addJtagPort(8,  "leaf8[1]", "leaf8[8]", "marina_data");
63    gen.addJtagPort(12, "leaf12[1]", "leaf12[8]", "duke");
64
65    gen.start("aMarinaM","fakeMarinaPadframe{sch}");
66
67