Coriolis Core (CRL) Documentation


CRL::Catalog::State Class Reference

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

Public Types

enum  Flags {
}
 

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.

Referenced by merge().

◆ ~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.

References Feed.

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

◆ isPad()

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

Returns: true if the Cell is a pad.

References 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).

References GDS.

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

◆ isDelete()

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

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

References Delete.

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

◆ isPhysical()

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

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

References Physical.

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

◆ isLogical()

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

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

References Logical.

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 setDelete(), setFeed(), CRL::CatalogExtension::setFlags(), setGds(), setLogical(), setPad(), and setPhysical().

◆ setFeed()

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

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

References Feed, and setFlags().

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.

References Pad, and setFlags().

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.

References GDS, and setFlags().

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.

References Delete, and setFlags().

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.

References Physical, and setFlags().

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.

References Logical, and setFlags().

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

◆ getCell()

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()

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.

References State().

◆ setCell()

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

Sets the Cell field. Returns the newly affected Cell.

◆ setLibrary()

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.13.2 on Fri Sep 27 2024 Return to top of page
Coriolis Core (CRL) Copyright © 2008-2020 Sorbonne Universite, All rights reserved