Coriolis Core (CRL) Documentation


Public Types | Public Member Functions | List of all members
CRL::Catalog::State Class Reference

An entry to store the Cell State in the Catalog. More...

Public Types

enum  Flags { ,
  Feed = 1 << 1,
  Pad = 1 << 2,
  GDS = 1 << 3,
  Delete = 1 << 4,
  Logical = 1 << 5,
  Physical = 1 << 6,
  InMemory = 1 << 7 ,
  Views = Physical|Logical
}
 

Public Member Functions

 State ()
 
 ~State ()
 
bool isFeed () const
 
bool isPad () const
 
bool isGds () const
 
bool isDelete () const
 
bool isPhysical () const
 
bool isLogical () const
 
unsigned int getFlags (unsigned int mask=(unsigned int) -1) const
 
bool setFlags (unsigned int mask, bool value)
 
bool setFeed (bool value)
 
bool setPad (bool value)
 
bool setGds (bool value)
 
bool setDelete (bool value)
 
bool setPhysical (bool value)
 
bool setLogical (bool value)
 
CellgetCell () const
 
LibrarygetLibrary () const
 
unsigned int getDepth () const
 
void merge (const State &other)
 
CellsetCell (Cell *cell)
 
LibrarysetLibrary (Library *library)
 

Detailed Description

An entry to store the Cell State in the Catalog.

Catalog::State can be accessed through the AllianceFramework global Catalog, or on a Cell basis, usign the CatalogExtension helper.

Member Enumeration Documentation

◆ Flags

Flags to indicates Cell State (Alliance metadatas).

Enumerator
Feed 

The Hurricane::Cell is a feed cell.

Pad 

The Hurricane::Cell is a pad cell.

GDS 

The Hurricane::Cell has a real layout (i.e. not symbolic).

Delete 

The Hurricane::Cell has been deleted from memory.

Logical 

The Hurricane::Cell have a logical (netlist) view.

Physical 

The Hurricane::Cell have a physical (layout) view.

InMemory 

The Hurricane::Cell has been loaded, at least partially, in memory.

Views 

A composite flag to mask all the avalaible kinds of views. Currently, physical & logical.

Constructor & Destructor Documentation

◆ State()

CRL::Catalog::State::State ( )
inline

A new, empty, State entry.

◆ ~State()

CRL::Catalog::State::~State ( )

Free a Catalog::State object.

Member Function Documentation

◆ isFeed()

bool CRL::Catalog::State::isFeed ( ) const
inline

Returns: true if the Cell is a feed-through.

Referenced by CRL::CatalogExtension::isFeed().

◆ isPad()

bool CRL::Catalog::State::isPad ( ) const
inline

Returns: true if the Cell is a pad.

Referenced by CRL::CatalogExtension::isPad().

◆ isGds()

bool CRL::Catalog::State::isGds ( ) const
inline

Returns: true if the Cell is drawn in real layer (i.e. not a symbolic layout, but a GDS).

Referenced by CRL::CatalogExtension::isGds().

◆ isDelete()

bool CRL::Catalog::State::isDelete ( ) const
inline

Returns: true if the Cell has been deleted from memory.

Referenced by CRL::CatalogExtension::isDelete().

◆ isPhysical()

bool CRL::Catalog::State::isPhysical ( ) const
inline

Returns: true if the Cell posseses a physical view (layout).

Referenced by CRL::CatalogExtension::isPhysical().

◆ isLogical()

bool CRL::Catalog::State::isLogical ( ) const
inline

Returns: true if the Cell posseses a logical view (netlist).

Referenced by CRL::CatalogExtension::isLogical().

◆ getFlags()

unsigned int CRL::Catalog::State::getFlags ( unsigned int  mask = (unsigned int)-1) const
inline

Returns: the requested flags states (selected by mask, all of them by default).

Referenced by CRL::CatalogExtension::getFlags().

◆ setFlags()

bool CRL::Catalog::State::setFlags ( unsigned int  mask,
bool  value 
)
inline

Returns: true if at least one flag of the indicated by mask is set. (dubious usefulness).

mask is used to designate the bits of the flags on which we are going to operate. If value is true, then the bits are sets and if value is false they are reset.

Referenced by CRL::CatalogExtension::setFlags().

◆ setFeed()

bool CRL::Catalog::State::setFeed ( bool  value)
inline

Sets the Feed flag to value. Returns true if it is set.

Referenced by CRL::CatalogExtension::setFeed().

◆ setPad()

bool CRL::Catalog::State::setPad ( bool  value)
inline

Sets the Pad flag to value. Returns true if it is set.

Referenced by CRL::CatalogExtension::setPad().

◆ setGds()

bool CRL::Catalog::State::setGds ( bool  value)
inline

Sets the Gds flag to value. Returns true if it is set.

Referenced by CRL::CatalogExtension::setGds().

◆ setDelete()

bool CRL::Catalog::State::setDelete ( bool  value)
inline

Sets the Delete flag to value. Returns true if it is set.

Referenced by CRL::CatalogExtension::setDelete().

◆ setPhysical()

bool CRL::Catalog::State::setPhysical ( bool  value)
inline

Sets the Physical flag to value. Returns true if it is set.

Referenced by CRL::CatalogExtension::setPhysical().

◆ setLogical()

bool CRL::Catalog::State::setLogical ( bool  value)
inline

Sets the Logical flag to value. Returns true if it is set.

Referenced by CRL::CatalogExtension::setLogical().

◆ getCell()

Hurricane::Cell * CRL::Catalog::State::getCell ( ) const
inline

Returns: the associated Hurricane::Cell. May be NULL if it has not been loaded yet (loading is done on demand at AllianceFramework level).

◆ getLibrary()

Hurricane::Library * CRL::Catalog::State::getLibrary ( ) const
inline

Returns: the associated Hurricane::Library.

Referenced by CRL::CatalogExtension::getLibrary().

◆ getDepth()

unsigned int CRL::Catalog::State::getDepth ( ) const
inline

Returns: the hierarchical depth of the Cell.

Referenced by CRL::CatalogExtension::getDepth().

◆ merge()

void CRL::Catalog::State::merge ( const State other)
inline

Fill in the void fields of the current State by those from other. The non-void are not overriden. Flags are merged unconditionnaly.

◆ setCell()

Hurricane::Cell * CRL::Catalog::State::setCell ( Hurricane::Cell cell)

Sets the Cell field. Returns the newly affected Cell.

◆ setLibrary()

Hurricane::Library * CRL::Catalog::State::setLibrary ( Hurricane::Library library)
inline

Sets the Library field. Returns the newly affected Library.

Referenced by CRL::CatalogExtension::setLibrary().


The documentation for this class was generated from the following files:


Generated by doxygen 1.8.14 on Sun Nov 21 2021 Return to top of page
Coriolis Core (CRL) Copyright © 2008-2020 Sorbonne Universite, All rights reserved