public class ScanChainXML extends HierarchyEnumerator.Visitor
Modifier and Type | Class and Description |
---|---|
static class |
ScanChainXML.StarterByOpcodeCompare |
Constructor and Description |
---|
ScanChainXML() |
Modifier and Type | Method and Description |
---|---|
void |
addCellToFlatten(java.lang.String libName,
java.lang.String cellName)
Specify a cell to flatten.
|
void |
addJtagPort(int opcode,
java.lang.String soutPortName,
java.lang.String sinPortName,
java.lang.String chainName)
Add a port to the JTAG Controller that serves as a starting point for a scan chain.
|
void |
addPassThroughCell(java.lang.String libName,
java.lang.String cellName,
java.lang.String inport,
java.lang.String outport)
Specify a pass through element.
|
void |
addPassThroughCell(java.lang.String libName,
java.lang.String cellName,
java.lang.String inport,
java.lang.String outport,
java.lang.String instanceName)
Specify a pass through element.
|
void |
addScanChainElement(java.lang.String libName,
java.lang.String cellName,
java.lang.String access,
java.lang.String clears,
java.lang.String inport,
java.lang.String outport)
Specify a scan chain element.
|
void |
addScanChainElement(java.lang.String libName,
java.lang.String cellName,
java.lang.String access,
java.lang.String clears,
java.lang.String inport,
java.lang.String outport,
java.lang.String dataport,
java.lang.String dataport2)
Specify a scan chain element.
|
void |
debugTracing()
Call this method to print out tracing debug information
|
boolean |
enterCell(HierarchyEnumerator.CellInfo info)
The HierarchyEnumerator is about to begin enumerating the
contents of a new Cell instance.
|
void |
exitCell(HierarchyEnumerator.CellInfo info)
The HierarchyEnumerator has finished enumerating the
contents of the current Cell instance.
|
void |
generateScanDataNets(boolean generate)
Set true to generate scan data nets in the output file, false not to.
|
void |
setChipName(java.lang.String name)
Specify the name of the chip.
|
void |
setChipTDI(java.lang.String TDIport)
Set the port name for the chip TDI signal.
|
void |
setChipTDO(java.lang.String TDOport)
Set the port name for the chip TDO signal.
|
void |
setJtagController(java.lang.String jtagLib,
java.lang.String jtagCellName,
int lengthIR)
Specify the JTAG Controller.
|
void |
setJtagController(java.lang.String jtagLib,
java.lang.String jtagCellName,
int lengthIR,
java.lang.String inport,
java.lang.String outport)
Specify the JTAG Controller.
|
void |
setOutput(java.lang.String file)
Set the output file.
|
void |
setPrintIgnoredInstances(boolean print)
Set true to print any ignored instances, such as instances with grounded scan-in,
or false to not print out any info messages.
|
void |
setUniqueEntityNames(boolean unique)
Method to say whether entity names must be unique.
|
void |
start(java.lang.String libName,
java.lang.String cellName)
Start tracing all the scan chains from the any instances of specified
jtag controller
|
void |
startFromExport(java.lang.String exportName,
java.lang.String chainName)
Start tracing a chain from the specified export in the start cell.
|
boolean |
visitNodeInst(Nodable ni,
HierarchyEnumerator.CellInfo info)
The HierarchyEnumerator is visiting Nodable ni.
|
newCellInfo, visitIcons
public void start(java.lang.String libName, java.lang.String cellName)
public void addScanChainElement(java.lang.String libName, java.lang.String cellName, java.lang.String access, java.lang.String clears, java.lang.String inport, java.lang.String outport)
libName
- name of the library containing the cellcellName
- name of the cell to be defined as a scan chain element.access
- what can be done with the data. A combination of "R" for read,
"W" for write, and "S" for shadow. For example: "RW".clears
- the state set after master clear, "H" for high, "L" for low, "-" for unused.inport
- the name of input data port, typically "sin".
May contain index info, such as "s[1]"outport
- the name of the output data port, typically "sout".
May contain index info, such as "ss[1]"public void addScanChainElement(java.lang.String libName, java.lang.String cellName, java.lang.String access, java.lang.String clears, java.lang.String inport, java.lang.String outport, java.lang.String dataport, java.lang.String dataport2)
libName
- name of the library containing the cellcellName
- name of the cell to be defined as a scan chain element.access
- what can be done with the data. A combination of "R" for read,
"W" for write, and "S" for shadow. For example: "RW".clears
- the state set after master clear, "H" for high, "L" for low, "-" for unused.inport
- the name of input data port, typically "sin".
May contain index info, such as "s[1]"outport
- the name of the output data port, typically "sout".
May contain index info, such as "ss[1]"dataport
- the name of the port the scan data is read from and written to. May include options
R, W, or I for (Readable,Writable,Inverted) in parenthesis at the end. Ex: dout(RW)dataport2
- another port for data like dataport, with the same format.public void addPassThroughCell(java.lang.String libName, java.lang.String cellName, java.lang.String inport, java.lang.String outport)
libName
- name of the library containing the cellcellName
- name of the cell to be defined as a pass through elementinport
- the name of the input port that passes data through
May contain index info, such as "s[1]"outport
- the name of the output port that passes data through
May contain index info, such as "ss[1]"public void addPassThroughCell(java.lang.String libName, java.lang.String cellName, java.lang.String inport, java.lang.String outport, java.lang.String instanceName)
libName
- name of the library containing the cellcellName
- name of the cell to be defined as a pass through elementinport
- the name of the input port that passes data through
May contain index info, such as "s[1]"outport
- the name of the output port that passes data through
May contain index info, such as "ss[1]"instanceName
- limit to the particular instance name.public void addCellToFlatten(java.lang.String libName, java.lang.String cellName)
libName
- the library that contains the cellcellName
- the name of the cellpublic void setJtagController(java.lang.String jtagLib, java.lang.String jtagCellName, int lengthIR)
jtagLib
- the name of the library that holds the jtag controller celljtagCellName
- the name of the cell that is the jtag controllerlengthIR
- the number of instruction register bits in the jtag controller.public void setJtagController(java.lang.String jtagLib, java.lang.String jtagCellName, int lengthIR, java.lang.String inport, java.lang.String outport)
jtagLib
- the name of the library that holds the jtag controller celljtagCellName
- the name of the cell that is the jtag controllerlengthIR
- the number of instruction register bits in the jtag controller.public void setChipTDI(java.lang.String TDIport)
TDIport
- public void setChipTDO(java.lang.String TDOport)
TDOport
- public void addJtagPort(int opcode, java.lang.String soutPortName, java.lang.String sinPortName, java.lang.String chainName) throws JobException
opcode
- the opcode for this scan chainsoutPortName
- the port name that outputs data for the scan chain.
May contain index info, such as "leaf1[1]"sinPortName
- the port name that scan data returns to.
May contain index info, such as "leaf1[8]"chainName
- the name given to this scan chainjava.lang.IllegalStateException
- if current Jtag Controller is undefinedJobException
public void startFromExport(java.lang.String exportName, java.lang.String chainName)
exportName
- the export that starts the chainchainName
- the name for the chainpublic void setChipName(java.lang.String name)
name
- the chip namepublic void setUniqueEntityNames(boolean unique)
unique
- true if entity names must be unique.public void generateScanDataNets(boolean generate)
generate
- whether or not to generate the scan data nets in the output file.public void setPrintIgnoredInstances(boolean print)
print
- true to print, false to not print. True by default.public void setOutput(java.lang.String file)
file
- the name of the file.public void debugTracing()
public boolean enterCell(HierarchyEnumerator.CellInfo info)
HierarchyEnumerator.Visitor
enterCell
in class HierarchyEnumerator.Visitor
info
- information about the Cell instance being
enumeratedpublic void exitCell(HierarchyEnumerator.CellInfo info)
HierarchyEnumerator.Visitor
exitCell
in class HierarchyEnumerator.Visitor
info
- information about the Cell instance being
enumeratedpublic boolean visitNodeInst(Nodable ni, HierarchyEnumerator.CellInfo info)
HierarchyEnumerator.Visitor
visitNodeInst
in class HierarchyEnumerator.Visitor
ni
- the Nodable that HierarchyEnumerator is visiting.