Instance description (API) More...
Classes | |
class | PlacementStatus |
Instance Placement Status (API) More... | |
Public Types | |
typedef Go | Inherit |
Public Member Functions | |
const Name & | getName () const |
Cell * | getMasterCell () const |
const Transformation & | getTransformation () const |
Plug * | getPlug (const Net *masterNet) const |
Plugs | getPlugs () const |
Plugs | getConnectedPlugs () const |
Plugs | getUnconnectedPlugs () const |
Path | getPath (const Path &tailPath=Path()) const |
Box | getAbutmentBox () const |
void | setName (const Name &name) |
void | setTransformation (const Transformation &transformation) |
void | setMasterCell (Cell *masterCell, bool secureFlag=true) |
void | uniquify () |
Instance * | getClone (Cell *cloneCell) const |
Public Member Functions inherited from Hurricane::Go | |
bool | isMaterialized () const |
Public Member Functions inherited from Hurricane::DBo | |
virtual void | destroy () |
Property * | getProperty (const Name &) const |
Properties | getProperties () const |
bool | hasProperty () const |
void | put (Property *) |
void | remove (Property *) |
void | removeProperty (const Name &) |
void | clearProperties () |
Static Public Member Functions | |
static Instance * | create (Cell *cell, const Name &name, Cell *masterCell, bool secureFlag=true) |
static Instance * | create (Cell *cell, const Name &name, Cell *masterCell, const Transformation &transformation, const PlacementStatus &placementstatus, bool secureFlag=true) |
static InstanceFilter | getIsUnderFilter (const Box &area) |
Static Public Member Functions inherited from Hurricane::Go | |
static bool | autoMaterializationIsDisabled () |
static void | enableAutoMaterialization () |
static void | disableAutoMaterialization () |
Instance description (API)
Instances provide the capability to build hierarchical assemblies. An instance belongs to a cell (the "<b>owner cell</b>") and references (calls) a model cell which we will call the "<b>mater cell</b>". Seen from the other hand, a cell may be the master cell of many instances belonging to other cells, this set of instances is named the "<b>slave instances</b>" of this cell (it is empty for the top most cell of a hierachical assembly, as well as for all cells from the library which are not instanciated in the current design).
See Instance::PlacementStatus and Instance::PlacementStatus::Code.
An Instance can have three kind of placement status:
Hurricane::Instance::getIsUnderFilter
When the Instance::destroy() method is called, if the master Cell is uniquified, that is, is unique and a copy of the reference Cell, it is destroyed as well. That state means that the master Cell has been created for the only purpose as to serve as a model for this peculiar Instance. It is then logical that it should be removed with it.
Useful for calling upon methods of the base class without knowing it.
|
static |
No description.
|
static |
Create and return a pointer to a new instance of name <name>
belonging to the cell <cell>
and refering the cell <masterCell>
through a transformation <transformation>
if it is provided (else the identity transform is assumed).
<cell>
is null, if the <masterCell>
is null, if an instance of same name already exists or if a cyclic assembly is detected.<secureFlag>
is set to false the verification of the lack of cyclic assembly is skipped (you save some cpu time, but at your own risks).
|
inline |
Returns: the instance name.
|
inline |
Returns: the cell model referenced by the instance.
|
inline |
Returns: the transformation associated to the instance.
Returns: the plug associated to the <masterNet>
if it exists or else NULL (if the net is not external).
|
inline |
Returns: the collection of instance plugs.
Plugs Hurricane::Instance::getConnectedPlugs | ( | ) | const |
Returns: the collection of instance plugs which are effectively connected.
Plugs Hurricane::Instance::getUnconnectedPlugs | ( | ) | const |
Returns: the collection of instance plugs which are not connected.
Returns: the path composed of the instance solely.
Returns: the path resulting of the concatenation of the instance and the tail path (possibly empty).
Box Hurricane::Instance::getAbutmentBox | ( | ) | const |
Returns: the abutment box of the instance, that is the abutment box of the master cell to which has been applied the instance transformation.
|
static |
Returns: the filter selecting instances which intersect the given area.
void Hurricane::Instance::setName | ( | const Name & | name | ) |
Allows to change the instance name.
void Hurricane::Instance::setTransformation | ( | const Transformation & | transformation | ) |
Allows to modify the instance transformation.
void Hurricane::Instance::setMasterCell | ( | Cell * | masterCell, |
bool | secureFlag = true |
||
) |
Allows to change the cell referenced by this instance.
<secureFlag>
is set to false the verification of the lack of cyclic assembly is skipped (you save some cpu time, but at your own risks).The properties of the instance, of its existing plugs and of the different occurences of those ones are preserved. On the other hand, all the hierarchical pathes going through that instance and not ending on it, as well as all associated occurences, become obsolete. The properties attached to those occurences are therefore deleted.
void Hurricane::Instance::uniquify | ( | ) |
Replace the <masterCell> of this instance by a cloned copy.
Generated by doxygen 1.9.1 on Thu Aug 11 2022 | Return to top of page |
Hurricane VLSI Database | Copyright © 2000-2020 Bull S.A. All rights reserved |