/* infinity.bsh */ import com.sun.electric.plugins.menus.ScanChainXML; /* * Create a ScanChainXML object */ ScanChainXML gen = new ScanChainXML(); // Add all the scan chain elements: name, access, clears, // scan in port name, scan out port name, // (optional:) data out port name (may be "" or null), // data out bar port name (may be "" or null). // Both data out and data out bar must be specified or left out. gen.addScanChainElement("scanJ", "scanCellE", "RW", "-", "sin", "sout", "dIn[1](R)", "latch2in@0.dataBar(WI)"); gen.addScanChainElement("scanJ", "scanCellF", "RW", "L", "sin", "sout", "dout[1](R)", "latch2in@1.dataBar(WI)"); gen.addScanChainElement("scanK", "scanCellKh", "R", "-", "sin", "sout", "din[1](R)", ""); //gen.addScanChainElement("latchGroupsK", "latchWscan", "RW", "-", "sin", "sout", "scanCell@2.latch2in@0.dataBar(WI)", "out[1](R)"); //gen.addScanChainElement("latchGroupsK", "latchWscan", "RW", "-", "sin", "sout", "hi2inLat@1.dataBar(WI)", "out[1](R)"); //gen.addScanChainElement("scanF", "iScanShift", "R", "-", "sdin", "sdout", "rddata(RI)", ""); // Add all the pass through elements: these pass scan data through, // like inverters or buffers //gen.addPassThroughCell("scanF", "scanAmp", "in[1]", "out[1]"); // Define the jtag controller by it's library, cell name, // and the number of instruction register bits gen.setJtagController("jtagController", "jtagCentral{sch}", 8); // Chip-specific configuration gen.setChipName("marina"); // gen.addJtagPort(1, "leaf0[1]", "leaf0[8]", "jtag_lvds"); // gen.addJtagPort(1, "leaf1[1]", "leaf1[8]", "jtag_noise"); // gen.addJtagPort(2, "leaf2[1]", "leaf2[8]", "jtag_exp"); // Generate xml for isolatedInDock only. This is for simulations that include only // one input dock. gen.setOutput("isolatedInDock.xml"); gen.startFromExport("scanInR[1]", "isolatedInDock_report"); gen.startFromExport("scanInC[1]", "isolatedInDock_control"); gen.startFromExport("scanInD[1]", "isolatedInDock_data"); gen.start("marina","isolatedInDock{sch}");