public class SubchainNode extends MyTreeNode
By convention, the first bit in a BitVector or in a string always represents the last bit scanned into or out of the chip. Thus 1) the bit and character indices match the position of the corresponding scan chain element along the s_in chain, 2) the strings match the left-to-right order in which scan chain elements appear in most schematics, and 3) the order is consistent with the order of scan chain nodes in the XML file.
Modifier and Type | Class and Description |
---|---|
static class |
SubchainNode.DataNet |
MyTreeNode.ChildEnumerator
Modifier and Type | Field and Description |
---|---|
static int |
CLEARS_HI
clearBehavior value for scan chain elements which clear low
|
static int |
CLEARS_LO
clearBehavior value for scan chain elements which clear high
|
static int |
CLEARS_NOT
clearBehavior value for scan chain elements which do not clear
|
static java.lang.String[] |
CLEARS_STRINGS
String representation of the values
CLEARS_NOT ,
CLEARS_LO , etc. |
static int |
CLEARS_UNKNOWN
clearBehavior value for scan chain elements with unknown clearing
|
java.lang.String |
pin
Optional: name of I/O pad associated with this node.
|
Constructor and Description |
---|
SubchainNode(java.lang.String name,
int length,
java.lang.String comment)
Default constructor.
|
SubchainNode(java.lang.String name,
int length,
java.lang.String pin,
java.lang.String comment,
java.lang.String dataNet,
java.lang.String dataNet2)
Default constructor.
|
Modifier and Type | Method and Description |
---|---|
protected void |
computeLength()
Recompute the length of the current node, by adding up the contributions
from all of its children
|
int |
getBitIndex()
Return index along the scan chain of the first element of the node.
|
int |
getClearBehavior() |
SubchainNode.DataNet |
getDataNet() |
SubchainNode.DataNet |
getDataNet2() |
protected BitVector |
getInBitsIndiscriminate()
This is only used for ChainG display
|
protected BitVector |
getOutBitsIndiscriminate()
This is only used for ChainG display
|
ChainNode |
getParentChain()
Return the chainRoot node that this node is a descendent of
|
java.lang.String |
getPathString()
Return path from chainRoot to this node.
|
boolean |
isReadable() |
boolean |
isUnpredictable() |
boolean |
isWriteable() |
static void |
main(java.lang.String[] args)
Unit test.
|
protected void |
setLength(int length)
Return number of scan chain elements in or below this node
|
void |
setUsesShadow(boolean usesShadow) |
java.lang.String |
toString()
Get long version of node name.
|
boolean |
usesDualPortedShadow() |
boolean |
usesShadow() |
children, getAllowsChildren, getChildAt, getChildCount, getDescendents, getHierarchy, getIndex, getName, getNode, getParent, getPathString, isLeaf, setName
public java.lang.String pin
SamplerControl
to provide non-conflicting access to sampler
output pins.public static final int CLEARS_NOT
public static final int CLEARS_LO
public static final int CLEARS_HI
public static final int CLEARS_UNKNOWN
public static final java.lang.String[] CLEARS_STRINGS
CLEARS_NOT
,
CLEARS_LO
, etc.public SubchainNode(java.lang.String name, int length, java.lang.String comment)
name
- name identifying the nodelength
- number of scan chain elements in nodecomment
- comment attached to this node, if anypublic SubchainNode(java.lang.String name, int length, java.lang.String pin, java.lang.String comment, java.lang.String dataNet, java.lang.String dataNet2)
name
- name identifying the nodelength
- number of scan chain elements in nodepin
- name of I/O pad associated with this nodecomment
- comment attached to this node, if anydataNet
- net (may be bus) name that data is written and read to.
May contains options (RWI). ex: net1(RW).dataNet2
- net (may be bus) name that data is written and read to.
May contains options (RWI). ex: net1(RW).public java.lang.String toString()
MyTreeNode
protected void setLength(int length)
public SubchainNode.DataNet getDataNet()
public SubchainNode.DataNet getDataNet2()
protected void computeLength()
protected BitVector getOutBitsIndiscriminate()
protected BitVector getInBitsIndiscriminate()
public int getBitIndex()
public ChainNode getParentChain()
public java.lang.String getPathString()
public static void main(java.lang.String[] args)
public int getClearBehavior()
public boolean isUnpredictable()
public boolean isReadable()
public boolean isWriteable()
public boolean usesShadow()
public boolean usesDualPortedShadow()
public void setUsesShadow(boolean usesShadow)
usesShadow
- whether chain elements within node have predictable shadow
registers