Inheritance diagram for oaScanChain:
Public Methods | |
void | destroy () |
void | getName (oaString &name) const |
void | getPartitionName (oaString &name) const |
oaUInt4 | getMaxBits () const |
oaDesignObject * | getStartObject () const |
oaDesignObject * | getStopObject () const |
void | setName (const oaString &name) |
void | setPartitionName (const oaString &name) |
void | setStartObject (oaDesignObject *object) |
void | setStopObject (oaDesignObject *object) |
void | setMaxBits (oaUInt4 maxBits) |
oaCollection< oaScanChainSet, oaScanChain > | getScanChainSets (oaUInt4 flag=oacOrderedScanChainSetType) const |
Static Public Methods | |
oaScanChain * | create (oaBlock *block, const oaString &name, oaBlockObject *startObject=NULL, oaBlockObject *stopObject=NULL, oaString *partitionName=NULL, oaUInt4 maxBits=0) |
oaScanChain * | find (const oaBlock *block, const oaString &name) |
Public Types | |
enum | { dtIndex = oacScanChainDataType } |
Scan chains often get special treatment by place and route tools which can take advantage of the fact that their detailed order and partitioning into individual scan chains can be done late in the design flow.
OpenAccess will model scan chains at several stages of their specification. It can indicate which cells are scan latches and which instTerms on those cells are the scan-in and scan-out connections. This is represented with the oaScanChainInst class.
OpenAccess will model sets of scan latches that will belong to a given scan chain with the oaScanChainSet class. These sets can specify either that the order of the scan latches in the set is fixed or that they are unordered and can be moved.
Finally, OpenAccess will model the grouping of scan sets into whole scan chains with the oaScanChain class. Where the design wants to limit the length of each scan chain and have multiple scan chains instead of one long one, the scan chains can have a partition name. The scan chain sets within such a scan chain may be swapped with other scan chains with the same partition name.
OpenAccess does not store the complete connectivity of the scan chain, just the scan latches and scan in and scan out terminals.
The oaScanChain class can be observed by deriving from oaObserver<oaScanChain>.
|
This function creates a scan chain. The scan chain can specify the primary scan-in and scan-out points for this chain.
|
|
This function destroys this scan chain, removing it from the database. |
|
This function searches the specified block for a scan chain with the specified name. If the scan chain is found, it is returned. Otherwise, NULL is returned. |
|
This function returns the maximum number bits that can be stored in this scan chain. A value of zero is interpeted as an unlimited bit length value.
|
|
This function fills out name with the name of this scan chain. |
|
This function fills out name with the partition name of this scanChain. |
|
This function returns a collection of scan chain sets in this scanChain. |
|
This function returns the starting object in the scan chain. The returned object can be an oaBitTerm, oaInstTerm, or oaScanChainInst. |
|
This function returns the stopping object in the scan chain. The returned object can be an an oaBitTerm, oaInstTerm, or oaScanChainInst. |
|
This function changes the maximum number of bits allowed on this scan chain.
|
|
This function changes the name of this scan chain to the specified name.
|
|
This function changes the name of this scan chain partition to the specified name. |
|
This function sets or changes the starting object in the scan chain. The specified object can be either an oaBitTerm, oaInstTerm, or oaScanChainInst.
|
|
This function sets or changes the stopping object in the scan chain. This specified object can be an oaBitTerm, oaInstTerm, or oaScanChainInst.
|
|
|
Copyright © 2002 - 2010 Cadence Design Systems, Inc.
All Rights Reserved.