|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectbyucc.edif.NamedPropertyObject
byucc.edif.EdifCell
Represents an EDIF cell definition. This class is not tied to any target langauge or implementation (i.e. VHDL, JHDL, etc).
This implementation of EdifCell contains Lists of all EdifCellInstance, EdifNet, and EdifPort objects
associated with this EdifCell object. Additionally, this class
contains a reference to the EdifLibrary object which owns
the EdifCell object.
This class may allocate a large amount of memory to represent a
given cell. To help control the memory allocation, this class
implements the Trimable interface for trimming unneeded
memory.
Sample EDIF code for an EdifCell:
(cell graycount (cellType GENERIC)
(view netlist (viewType NETLIST)
(interface
(port G_5322 (direction INPUT))
...
)
(contents
(instance (rename count_0 "count[0]") (viewRef PRIM (cellRef FDCE (libraryRef UNILIB)))
...
(net (rename write_addrgray_pre_0 "WRITE_ADDRGRAY_PRE(0)") (joined
(portRef (member write_addrgray_pre 3))
(portRef Q (instanceRef count_gray_0))
))
...
)
)
)
)
Definitions
There are a number of terms that are used to describe the various components of an EdifCell. This list serves as the definition of these terms to insure consistent and understandable usage.
To Do:
removeEdifCellInstance? - added a flag to
remove references in EdifNets to the deleted EdifCellInstance
EdifPort,
EdifCellInstance,
EdifNet,
EdifLibrary,
Serialized Form| Field Summary | |
private HashMapNameSpaceResolver |
_cellInstanceList
This List is used to hold all of the instanced children within the cell (EdifCellInstance). |
private EdifCellInterface |
_interface
The port interface of this EdifCell. |
private boolean |
_isPrimitive
This flag indicates that the given EdifCell is a library "primitive" and does not contain any internal heirarchy (i.e. cell instances or nets). |
private EdifLibrary |
_library
The EdifCell is defined within an Edif_Libraryrary. |
private HashMapNameSpaceResolver |
_netList
This List is used to hold all the internal nets in this cell (EdifNet). |
| Fields inherited from class byucc.edif.NamedPropertyObject |
|
| Constructor Summary | |
EdifCell(EdifCell cell)
Constructs an identical copy of cell. |
|
EdifCell(EdifNameable name)
Constructs an empty, named EdifCell object. |
|
EdifCell(EdifNameable name,
boolean isPrimitive)
Constructs an empty, named EdifCell object. |
|
EdifCell(java.lang.String name)
Constructs an empty, named EdifCell object. |
|
EdifCell(java.lang.String name,
boolean isPrimitive)
Constructs an empty, named EdifCell object. |
|
EdifCell(java.lang.String name,
EdifCellInterface iface)
Constructs an empty, named EdifCell object. |
|
| Method Summary | |
boolean |
addNet(EdifNet net)
Add an EdifNet object to the EdifCell. |
EdifPort |
addPort(EdifNameable name,
int width,
int direction)
Adds a new port to the EdifCellInterface. |
EdifPort |
addPort(java.lang.String name,
int width,
int direction)
Adds a new port to the EdifCellInterface. |
boolean |
addSubCell(EdifCellInstance cellInstance)
Add an EdifCellInstance object to the EdifCell. |
boolean |
busMatch(EdifCell cell)
Returns true if the interfaces match, allowing to compare for a possible bus. |
java.util.Iterator |
cellInstanceIterator()
Returns an Iterator of this cell's cellInstances. |
boolean |
contains(EdifCellInstance contain)
Checks to see if the passed-in EdifCellInstance is already contained within this EdifCell. |
boolean |
contains(EdifNet contain)
Checks to see if the passed-in EdifNet is already contained within this EdifCell. |
boolean |
contains(EdifPort contain)
Checks to see if the passed-in EdifPort is already contained within this EdifCell. |
EdifPort |
contractPorts(java.util.Collection ports)
Contracts the EdifPorts in the passed-in Collection to a single EdifPort Object, if canContractPorts returns true, then it updates all references from the old EdifPort objects to the new one, and then deletes all the old EdifPort Objects. |
EdifCell |
copy()
Returns a deep copy of this EdifCell Object, copying all sub-objects using the 'new' statement except String Objects, having all new objects using the new EdifCell as parent. |
boolean |
deleteNet(EdifNet delete)
Deletes the given net from this EdifCell. |
void |
deletePort(EdifPort delete)
Deletes the given port from this EdifCell. |
boolean |
deleteSubCell(EdifCellInstance cellInstance)
|
boolean |
deleteSubCell(EdifCellInstance cellInstance,
boolean removeRefsInNets)
Removes an EdifCellInstance object from the current EdifCell object. |
void |
equalizeInterfaces(EdifCell cell)
Overloaded method that defaults to contracting ports to busses. |
void |
equalizeInterfaces(EdifCell cell,
boolean contract)
Overloaded method that defaults to not making expanded port directions equal to the left alone port directions. |
void |
equalizeInterfaces(EdifCell cell,
boolean contract,
boolean makeExpandedDirectionsEqualOther)
Overloaded method that defaults to making it ok to modify the given EdifCell Object's interface. |
void |
equalizeInterfaces(EdifCell cell,
boolean contract,
boolean makeExpandedDirectionsEqualOther,
boolean dontModifyGivenCell)
Equalizes the interface of this EdifCell to the interface of the passed-in EdifCell. |
boolean |
equals(EdifCell cell)
Overloaded method that defaults to not comparing for structure, and not comparing by interface only. |
boolean |
equals(EdifCell cell,
boolean equalsStructure,
boolean equalsInterfaceOnly)
Overloaded method that defaults to not comparing possible busses. |
boolean |
equals(EdifCell cell,
boolean equalsStructure,
boolean equalsInterfaceOnly,
boolean comparePossibleBus)
Overloaded method that defaults to not comparing the property list of each cell. |
boolean |
equals(EdifCell cell,
boolean equalsStructure,
boolean equalsInterfaceOnly,
boolean comparePossibleBus,
boolean equalsProperties)
Overloaded method that defaults to ignoring individual port directions when comparing against a bus. |
boolean |
equals(EdifCell cell,
boolean equalsStructure,
boolean equalsInterfaceOnly,
boolean comparePossibleBus,
boolean equalsProperties,
boolean ignoreBusDirection)
Checks the equality of two EdifCell objects. |
boolean |
equalsInterface(EdifCell cell)
Overloaded method that defaults to not comparing by possible bus. |
boolean |
equalsInterface(EdifCell cell,
boolean comparePossibleBus)
Overloaded method that defaults to ignoring individual port directions when comparing against a bus. |
boolean |
equalsInterface(EdifCell cell,
boolean comparePossibleBus,
boolean ignoreBusDirection)
Determines whether the given EdifCell object matches the interface of the current EdifCell object. |
private boolean |
equalsStructure(EdifCell cell)
This method will determine if the structure of the EdifCell parameter is the same as the structure of this EdifCell. |
java.util.Collection |
expandPort(EdifPort port)
Expands the passed-in EdifPort, if canExpandPort returns true, then all references to it point to the new EdifPorts, and the old one is deleted. |
java.util.Collection |
findCellInstancesOf(EdifCell type)
This function returns all EdifCellInstances within this EdifCell object that reference a given cell in this library (i.e. the same type as the given cell). |
java.util.Collection |
findSinglePortsWithMatchingBaseName(java.lang.String baseName)
Returns all ports whose baseName matches the passed-in String. |
static EdifCell |
flatten(EdifCell origCell)
Create a flattened copy of the given EdifCell. |
EdifCellInstance |
getCellInstance(java.lang.String name)
Returns the EdifCellInstance contained within this EdifCell Object that matches the passed-in name. |
java.util.Collection |
getDanglingNets()
Dangling net is not connected to any outputs. |
java.util.Collection |
getDanglingNets(boolean inputNoOutput,
boolean outputsOnly)
Dangling net is not connected to any outputs. |
java.util.Collection |
getHierarchicalPrimitiveList()
Returns a Collection of List objects for each primitive instance within the hierarchy of this cell. |
java.util.Collection |
getInnerCells()
Returns a Collection of all EdifCells instanced by the EdifCellInstances contained within this EdifCell Object. |
java.util.Collection |
getInputPorts()
Returns a Collection Object of the input ports |
EdifCellInstance |
getInstance(java.lang.String name)
Returns the EdifCellInstance Object that matches the passed-in name, or null if not found. |
EdifNet |
getInstancePortNet(EdifCellInstance instance,
EdifPort port)
This method will return the EdifNet that is connected to the given port on the given instance. |
java.util.Map |
getInstanceToMapOfPortsToPortRefArrayMapping(EdifCellInstance thisInst)
Instances to Mapping of Ports to portRef array |
EdifCellInterface |
getInterface()
Returns the EdifCellInterface of this EdifCell. |
java.util.Collection |
getLeafInstancesRecursively()
Returns all EdifCellInstances contained in the EdifCell hierarchy, starting at this EdifCell Object and below, that refer to leaf cells. |
EdifLibrary |
getLibrary()
Returns the EdifLibrary object to which the current
EdifCell object belongs. |
EdifPort |
getMatchingPort(EdifPort port)
Returns the EdifPort object which defines a port on the current EdifCell object and corresponds to the given name. |
EdifNet |
getNet(java.lang.String name)
Returns the net that maps to the given name. |
java.util.Collection |
getNetList()
Returns a List containing all of the EdifNet objects which this EdifCell object currently owns. |
java.util.Collection |
getOutputPorts()
Returns a Collection Object of the output ports |
EdifPort |
getPort(java.lang.String name)
Returns the EdifPort object which defines a port on the current EdifCell object and corresponds to the given name. |
java.util.Collection |
getPortList()
Returns a Collection containing all of the EdifPort objects currently associated with this EdifCell object. |
java.util.Collection |
getPortRefs()
Returns a collection of all EdifPortRef objects owned by this cell. |
java.util.Collection |
getSortedNetList()
Returns a sorted Collection containing all of the EdifNet objects currently by this EdifCell object. |
java.util.Collection |
getSortedPortList()
Returns a sorted Collection containing all of the EdifPort objects currently associated with this EdifCell object. |
java.util.TreeMap |
getSortedPropertyList()
Returns a TreeMap of all Property objects
corresponding to properties of the current EdifCell object. |
java.util.Collection |
getSortedSubCellList()
Returns a Collection of EdifCellInstance objects owned and instantiated by the current EdifCell object. |
java.util.Collection |
getSubCellList()
Returns a Collection of EdifCellInstance objects owned and instantiated by the current EdifCell object. |
java.util.Collection |
getUnconnectedInstances()
Returns a Collection of EdifCellInstance objects that are not connected to any EdifNet in the Cell. |
java.util.Map |
getUnconnectedPorts()
Returns a map whose key is an EdifCellInstance (EdifCell key refers to this cell), and whose value is a Collection of unconnected ports. |
boolean |
isLeafCell()
Returns true if the current EdifCell object has no
children in its EdifCellInstance list; otherwise, returns
false. |
boolean |
isPrimitive()
Returns whether or not this is a known primitive cell. |
(package private) void |
modifyBusToSinglePorts(EdifPort oldPort,
java.util.Collection newPorts)
Modifies any references from oldPort to the correct EdifPort in newPorts. |
void |
modifyCellType(EdifCell oldType,
EdifCell newType)
This method will search through the EdifCell and modify the "cell type" of each EdifCellInstance of type oldType and replace it with an EdifCell of type newType. |
(package private) void |
modifyCellType(EdifCell oldType,
EdifCell newType,
boolean check)
This method will search through the EdifCell and modify the "cell type" of each EdifCellInstance of type oldType and replace it with an EdifCell of type newType. |
(package private) void |
modifyCellType(EdifCellInstance oldTypeInst,
EdifCell newType,
boolean check)
This method will search through the EdifCell and modify the "cell type" of the given EdifCellInstance of type oldType and replace it with an EdifCell of type newType. |
void |
modifyCellType(java.util.Map modifyMap)
This method will use the modifyMap parameter to replace all EdifCellInstance types. |
(package private) void |
modifySinglePortsToBus(java.util.Collection oldPorts,
EdifPort newPort)
Modifies any references from oldPorts to newPort. |
java.util.Iterator |
netListIterator()
Returns an iterator of this cell's nets. |
protected void |
setLibrary(EdifLibrary library)
Sets the library for this EdifCell object if this EdifCell object is contained within the passed-in library. lib.addCell calls this method after adding the cell to the library. |
void |
setPrimitive()
Sets this cell to primitive. |
void |
tagAsPrimitive(EdifLibrary primitives)
Tags this cell as primitive if it matches a cell in the passed-in library. |
void |
toEdif(EdifPrintWriter epw)
Writes the EDIF representation of this EdifCell object to the EdifPrintWriter passed as a parameter. |
java.lang.String |
toString()
Returns a String representation of this object. |
void |
trimToSize()
This method will trim the size of all collections contained by this class. |
void |
uniqueify()
Makes unique, every instance in this cell, meaning that a new EdifCell will be copied and added to the same library for each instanced cell that this EdifCell contains that doesn't refer to a leaf cell. |
void |
uniqueify(EdifCellInstance instance,
boolean uniqueifyLeaves,
boolean recurse)
Makes a unique EdifCell object for the passed in EdifCellInstance. |
| Methods inherited from class byucc.edif.NamedPropertyObject |
addProperty, addProperty, equals, equalsProperties, getEdifNameable, getName, getProperty, getPropertyList, rename, rename |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
private HashMapNameSpaceResolver _cellInstanceList
private boolean _isPrimitive
isLeafCell(),
isPrimitive()private EdifLibrary _library
private HashMapNameSpaceResolver _netList
private EdifCellInterface _interface
| Constructor Detail |
public EdifCell(java.lang.String name)
name - The name of the EdifCell objectpublic EdifCell(EdifNameable name)
name - The name of the EdifCell object
public EdifCell(java.lang.String name,
EdifCellInterface iface)
name - The name of the EdifCell object
public EdifCell(java.lang.String name,
boolean isPrimitive)
name - The name of the EdifCell objectisPrimitive - Specifies the value of the _isPrimitive
field for this EdifCell Object
public EdifCell(EdifNameable name,
boolean isPrimitive)
name - The name of the EdifCell objectisPrimitive - Specifies the value of the _isPrimitive
field for this EdifCell Objectpublic EdifCell(EdifCell cell)
| Method Detail |
public boolean addNet(EdifNet net)
EdifNet object to the EdifCell. This sets the parent of
the EdifNet object to the current EdifCell object.
net - EdifNet object to add to the EdifCell
public EdifPort addPort(EdifNameable name,
int width,
int direction)
name - The name of the new port to addwidth - The width of the new port to adddirection - The direction of the new port to add
public EdifPort addPort(java.lang.String name,
int width,
int direction)
name - The name of the new port to addwidth - The width of the new port to adddirection - The direction of the new port to addpublic boolean addSubCell(EdifCellInstance cellInstance)
EdifCellInstance object to the EdifCell. The
parent of the EdifCellInstance is set to the current EdifCell
object.
TODO: we need to give the user the option of not allowing renaming.
TODO: create a method addSubCell (EdifCell, name) that creates
the edifcellinstance automatically for the user.
cellInstance - EdifCellInstance object to add to the EdifCellpublic boolean busMatch(EdifCell cell)
cell - The cell used for comparison
equals(EdifCell,boolean,boolean,boolean)public java.util.Iterator cellInstanceIterator()
public boolean contains(EdifCellInstance contain)
contain - The EdifCellInstance to compare against the
EdifCellInstance Objects contained within this EdifCell Object
to check to see if it already exists in this EdifCell
public boolean contains(EdifPort contain)
contain - The EdifPort to compare against the
EdifPort Objects contained within this EdifCell Object
to check to see if it already exists in this EdifCell
public boolean contains(EdifNet contain)
contain - The EdifNet to compare against the
EdifNet Objects contained within this EdifCell Object
to check to see if it already exists in this EdifCell
public EdifPort contractPorts(java.util.Collection ports)
ports - The Collection of EdifPort Objects to contract to
a single EdifPort Object
public EdifCell copy()
public java.util.Collection getDanglingNets(boolean inputNoOutput,
boolean outputsOnly)
Note: By default (false and false gets passed to this method) this method will only return nets with only inputs or nets with only outputs. Also, if inputNoOutput is true then the value of outputsOnly gets over-ridden.
inputNoOutput - Only returns nets with input(s) and no
outputs, if trueoutputsOnly - If true, this method will only return nets
with outputs and no inputs
public java.util.Collection getDanglingNets()
Note: By default this method will only return nets with only inputs or nets with only outputs.
getDanglingNets(boolean,boolean)public boolean deleteNet(EdifNet delete)
delete - The EdifNet to delete
public void deletePort(EdifPort delete)
delete - The EdifPort to delete
public boolean deleteSubCell(EdifCellInstance cellInstance,
boolean removeRefsInNets)
true if the instance was found
and successfully removed, otherwise false.
cellInstance - EdifCellInstance object to remove from
the current EdifCell object.removeRefsInNets - Deletes all references to this instance
in all the nets within this EdifCell, if true
public boolean deleteSubCell(EdifCellInstance cellInstance)
public boolean equals(EdifCell cell,
boolean equalsStructure,
boolean equalsInterfaceOnly,
boolean comparePossibleBus,
boolean equalsProperties,
boolean ignoreBusDirection)
cell - EdifCell object to compare against the current
EdifCell objectequalsStructure - If this parameter is true, check the
structure of the two EdifCell objects as part of the equality
condition.equalsInterfaceOnly - If true, the equality comparison
will be made by interface only, excluding name and structurecomparePossibleBus - If true, the equalsInterface will
look for a possible bus match, meaning if one interface has 32
ports with the same base name that correspond to a bus and the
interface has one port with 32 members that has the same name
as the 32 port's base names and they all have the same
direction, etc then this will count as a matchequalsProperties - If true, the two cells property lists
will also be compared for equalityignoreBusDirection - If true, the matching algorithm will
ignore the direction of the passed-in ports
public boolean equals(EdifCell cell,
boolean equalsStructure,
boolean equalsInterfaceOnly,
boolean comparePossibleBus,
boolean equalsProperties)
cell - The cell used for comparisonequalsStructure - If true, the equality comparison will be
made taking structure into accountequalsInterfaceOnly - If true, the equality comparison
will be made by interface only, excluding name and structurecomparePossibleBus - If true, the equalsInterface will
look for a possible bus match, meaning if one interface has 32
ports with the same base name that correspond to a bus and the
interface has one port with 32 members that has the same name
as the 32 port's base names and they all have the same
direction, etc then this will count as a matchequalsProperties - If true, the two cells property lists
will also be compared for equality
equals(EdifCell,boolean,boolean,boolean,boolean,boolean)
public boolean equals(EdifCell cell,
boolean equalsStructure,
boolean equalsInterfaceOnly,
boolean comparePossibleBus)
cell - The cell used for comparisonequalsStructure - If true, the equality comparison will be
made taking structure into accountequalsInterfaceOnly - If true, the equality comparison
will be made by interface only, excluding name and structurecomparePossibleBus - If true, the equalsInterface will
look for a possible bus match, meaning if one interface has 32
ports with the same base name that correspond to a bus and the
interface has one port with 32 members that has the same name
as the 32 port's base names and they all have the same
direction, etc then this will count as a match
equals(EdifCell,boolean,boolean,boolean,boolean,boolean)
public boolean equals(EdifCell cell,
boolean equalsStructure,
boolean equalsInterfaceOnly)
cell - The cell used for comparisonequalsStructure - If true, the equality comparison will be
made taking structure into accountequalsInterfaceOnly - If true, the equality comparison
will be made by interface only, excluding name and structure
equals(EdifCell,boolean,boolean,boolean)public boolean equals(EdifCell cell)
cell - The cell used for comparison
equals(EdifCell,boolean,boolean)
public boolean equalsInterface(EdifCell cell,
boolean comparePossibleBus,
boolean ignoreBusDirection)
EdifPort.equals(byucc.edif.EdifPort)).
cell - EdifCell object to compare against the current
EdifCell objectcomparePossibleBus - If true, the equalsInterface will
look for a possible bus match, meaning if one interface has 32
ports with the same base name that correspond to a bus and the
interface has one port with 32 members that has the same name
as the 32 port's base names and they all have the same
direction, etc then this will count as a matchignoreBusDirection - If true, the matching algorithm will
ignore the direction of the passed-in ports
equals(byucc.edif.EdifCell, boolean, boolean, boolean, boolean, boolean),
EdifCellInterface.equals(EdifCellInterface,boolean)
public boolean equalsInterface(EdifCell cell,
boolean comparePossibleBus)
cell - The cell used for the inteface comparison
equalsInterface(EdifCell,boolean)public boolean equalsInterface(EdifCell cell)
cell - The cell used for the inteface comparison
equalsInterface(EdifCell,boolean)
public void equalizeInterfaces(EdifCell cell,
boolean contract,
boolean makeExpandedDirectionsEqualOther,
boolean dontModifyGivenCell)
cell - The cell whose interface will be equalized with
this onecontract - Specifies whether to contract ports or to
expand bussesmakeExpandedDirectionsEqualOther - If true, and if
contract is false by inference, when the port is expanded, the
ports of one interface will be set to the same direction as the
corresponding port in the other interfacedontModifyGivenCell - If true, the passed-in
EdifCellInterface will not be modified, and the passed-in
contract flag will be ignoredequalizeInterfaces(EdifCell),
equalizeInterfaces(EdifCell,boolean),
equalizeInterfaces(EdifCell,boolean,boolean)
public void equalizeInterfaces(EdifCell cell,
boolean contract,
boolean makeExpandedDirectionsEqualOther)
cell - The cell whose interface will be equalized with
this onecontract - Specifies whether to contract ports or to
expand bussesmakeExpandedDirectionsEqualOther - If true, and if
contract is false by inference, when the port is expanded, the
ports of one interface will be set to the same direction as the
corresponding port in the other interfaceequalizeInterfaces(EdifCell,boolean,boolean,boolean)
public void equalizeInterfaces(EdifCell cell,
boolean contract)
cell - The interface to match with this onecontract - Specifies whether to contract ports or to
expand bussesequalizeInterfaces(EdifCell,boolean,
boolean)public void equalizeInterfaces(EdifCell cell)
cell - The interface to match with this oneequalizeInterfaces(EdifCell,boolean)private boolean equalsStructure(EdifCell cell)
cell - The cell to check equality with this cell
equals(byucc.edif.EdifCell, boolean, boolean, boolean, boolean, boolean)public java.util.Collection expandPort(EdifPort port)
port - The EdifPort Object to be expanded
public java.util.Collection findCellInstancesOf(EdifCell type)
type - The EdifCell Object to find references to within
this EdifCell
public java.util.Collection findSinglePortsWithMatchingBaseName(java.lang.String baseName)
baseName - The base name of the ports to return
EdifCellInterface.findSinglePortsWithMatchingBaseName(java.lang.String)public EdifCellInstance getCellInstance(java.lang.String name)
name - The String used to match the returned
EdifCellInstance
public EdifNet getInstancePortNet(EdifCellInstance instance,
EdifPort port)
instance - The EdifCellInstance Object that one of the
returned EdifNet Object's EdifPortRef Objects connects toport - The EdifPort Object that one of the returned
EdifNet Object's EdifPortRef Objects refers to
public EdifCellInterface getInterface()
public EdifNet getNet(java.lang.String name)
name - The key name of the EdifNet to retrieve
public EdifCellInstance getInstance(java.lang.String name)
name - The name of the EdifCellInstance to return
public java.util.Collection getHierarchicalPrimitiveList()
public EdifLibrary getLibrary()
EdifLibrary object to which the current
EdifCell object belongs.
public java.util.Collection getNetList()
public EdifPort getMatchingPort(EdifPort port)
port - The EdifPort to find a match for within this
EdifCellInterface
public EdifPort getPort(java.lang.String name)
name - A string indicating the name of the EdifPort
object desired to be found
public java.util.Map getInstanceToMapOfPortsToPortRefArrayMapping(EdifCellInstance thisInst)
public java.util.Collection getInputPorts()
public java.util.Collection getOutputPorts()
public java.util.Collection getPortList()
public java.util.Collection getSortedNetList()
public java.util.Collection getSortedPortList()
public java.util.TreeMap getSortedPropertyList()
Property objects
corresponding to properties of the current EdifCell object.
public java.util.Collection getSortedSubCellList()
public java.util.Collection getSubCellList()
public java.util.Collection getLeafInstancesRecursively()
public java.util.Collection getInnerCells()
public java.util.Collection getUnconnectedInstances()
public java.util.Collection getPortRefs()
public boolean isLeafCell()
true if the current EdifCell object has no
children in its EdifCellInstance list; otherwise, returns
false.
public boolean isPrimitive()
void modifySinglePortsToBus(java.util.Collection oldPorts,
EdifPort newPort)
oldPorts - A Collection of EdifPort Objects to updatenewPort - The EdifPort Object to have the old ones point tomodifySinglePortsToBus(java.util.Collection, byucc.edif.EdifPort)
void modifyBusToSinglePorts(EdifPort oldPort,
java.util.Collection newPorts)
oldPort - The old EdifPort to updatenewPorts - The Collection of EdifPort Objects to have the
old ones point tomodifyBusToSinglePorts(byucc.edif.EdifPort, java.util.Collection)
void modifyCellType(EdifCell oldType,
EdifCell newType,
boolean check)
Note that this method does not check the structure of the two intput types. This method assumes that the replacement is valid (this method will double check the equality of the interface).
oldType - The old information to be replacednewType - The new information that will replace the oldcheck - If true, will check to see if the interfaces are
equal, and if it's ok to make the switch. For speed, and if
it's known that the match will succeed, use falseEdifNet.modifyCellTypeInNets(byucc.edif.EdifCell, byucc.edif.EdifCell)
void modifyCellType(EdifCellInstance oldTypeInst,
EdifCell newType,
boolean check)
Note that this method does not check the structure of the two intput types. This method assumes that the replacement is valid (this method will double check the equality of the interface).
oldTypeInst - The instance whose reference will be updatednewType - The new information that will replace the oldcheck - If true, will check to see if the interfaces are
equal, and if it's ok to make the switch. For speed, and if
it's known that the match will succeed, use falseEdifNet.modifyCellTypeInNets(byucc.edif.EdifCell, byucc.edif.EdifCell)
public void modifyCellType(EdifCell oldType,
EdifCell newType)
Note that this method does not check the structure of the two intput types. This method assumes that the replacement is valid (this method will double check the equality of the interface).
oldType - The old information to be replacednewType - The new information that will replace the oldEdifNet.modifyCellTypeInNets(byucc.edif.EdifCell, byucc.edif.EdifCell)public void modifyCellType(java.util.Map modifyMap)
modifyMap - A mapping between cells that matchmodifyCellType(EdifCell,EdifCell)public java.util.Iterator netListIterator()
protected void setLibrary(EdifLibrary library)
library - EdifLibrary object to set as the library of the
current EdifCellpublic void setPrimitive()
public void toEdif(EdifPrintWriter epw)
EdifPrintWriter passed as a parameter.
toEdif in interface EdifOutepw - EdifPrintWriter to which EDIF will be writtenpublic void tagAsPrimitive(EdifLibrary primitives)
primitives - library of primitives that will be compared
to this cell.public java.lang.String toString()
public void trimToSize()
trimToSize in interface Trimablepublic java.util.Map getUnconnectedPorts()
public void uniqueify(EdifCellInstance instance,
boolean uniqueifyLeaves,
boolean recurse)
This method will uniqueify the new EdifCell object (i.e. perform a recursive uniqueify) only if the recurse parameter is set to true.
instance - The cell instance to uniqueifyrecurse - Specifies whether or not the uniqueify should be
applied recursively.public void uniqueify()
public static EdifCell flatten(EdifCell origCell)
Note that this method does not add the cell to a library. The user will need to add this cell to a library before using it in a design.
origCell - The original Cell to be flattened
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||