3 import com.sun.electric.plugins.menus.ScanChainXML;
6 * Create a ScanChainXML object
9 ScanChainXML gen = new ScanChainXML();
11 // Add all the scan chain elements: name, access, clears,
12 // scan in port name, scan out port name,
13 // (optional:) data out port name (may be "" or null),
14 // data out bar port name (may be "" or null).
15 // Both data out and data out bar must be specified or left out.
17 gen.addScanChainElement("scanK", "scanCellKh", "R", "-", "sin", "sout", "din[1](R)", "");
18 gen.addScanChainElement("countersL", "cntScnOne", "RW", "-", "sin", "out", "out(R)", "latch2in@0.dataBar(WI)");
20 gen.addScanChainElement("scanM", "scanCellE", "RW", "-", "sin", "sout", "dIn[1](R)", "latch2in@0.dataBar(WI)");
21 gen.addScanChainElement("scanM", "scanCellF", "RW", "L", "sin", "sout", "dout[1](R)", "latch2in@1.dataBar(WI)");
22 gen.addScanChainElement("scanM", "scanCellFtaller", "RW", "L", "sin", "sout", "dout[1](R)", "latch2in@1.dataBar(WI)");
24 // Add all the pass through elements: these pass scan data through,
25 // like inverters or buffers
27 gen.addPassThroughCell("scanM", "scanAmp", "in[1]", "out[1]");
29 // Define the jtag controller by it's library, cell name,
30 // and the number of instruction register bits
32 gen.setJtagController("jtagController", "jtagCentral{sch}", 8);
34 // Chip-specific configuration
36 gen.setChipName("marina");
38 // gen.addJtagPort(1, "leaf0[1]", "leaf0[8]", "jtag_lvds");
39 // gen.addJtagPort(1, "leaf1[1]", "leaf1[8]", "jtag_noise");
40 // gen.addJtagPort(2, "leaf2[1]", "leaf2[8]", "jtag_exp");
42 // Generate xml for isolatedInDock only. This is for simulations that include only
44 gen.setOutput("marina.xml");
45 gen.startFromExport("sir[1]", "marina_report");
46 gen.startFromExport("sic[1]", "marina_control");
47 gen.startFromExport("sid[1]", "marina_data");
48 gen.start("aMarinaM","marinaOutDock{sch}");