Ophidian
 All Classes Namespaces Functions
Public Member Functions | List of all members
ophidian::standard_cell::standard_cells Class Reference

Standard cell class. More...

#include <standard_cells.h>

Public Member Functions

 standard_cells ()
 Constructor. More...
 
void register_cell_property (entity_system::property *property)
 Registers cell property. More...
 
void register_pin_property (entity_system::property *property)
 Registers pin property. More...
 
const
entity_system::vector_property
< std::string > & 
cell_names () const
 Cell names getter. More...
 
entity_system::entity cell_create (std::string name)
 Creates a cell. More...
 
std::string cell_name (entity_system::entity cell) const
 Cell name getter. More...
 
const std::vector
< entity_system::entity > & 
cell_pins (entity_system::entity cell) const
 Cell pins getter. More...
 
std::size_t cell_count () const
 Returns the number of cells. More...
 
const
entity_system::entity_system
cell_system () const
 Cell system getter. More...
 
void cell_sequential (entity_system::entity cell, bool sequential)
 Cell sequential attribute setter. More...
 
bool cell_sequential (entity_system::entity cell) const
 Cell sequential attribute getter. More...
 
entity_system::entity pin_create (entity_system::entity cell, std::string name)
 Creates a pin. More...
 
entity_system::entity pin_owner (entity_system::entity pin) const
 Pin owner getter. More...
 
std::string pin_name (entity_system::entity pin) const
 Pin name getter. More...
 
std::size_t pin_count () const
 Returns the number of pins. More...
 
const
entity_system::entity_system
pin_system () const
 Pin system getter. More...
 
pin_directions pin_direction (entity_system::entity pin) const
 Pin direction getter. More...
 
bool pin_clock_input (entity_system::entity pin) const
 Pin clock input attribute getter. More...
 
void pin_clock_input (entity_system::entity pin, bool clock_input)
 Pin clock input attribute setter. More...
 
void pin_direction (entity_system::entity pin, pin_directions direction)
 Pin direction setter. More...
 
entity_system::entity pad_create (std::string name)
 Creates a pad. More...
 

Detailed Description

This class provides the basic standard cell interface, such as creation of cell and pin types.

Constructor & Destructor Documentation

ophidian::standard_cell::standard_cells::standard_cells ( )

Default constructor of the standard cell class. Initializes an empty system for cells and pins.

Member Function Documentation

std::size_t ophidian::standard_cell::standard_cells::cell_count ( ) const
inline

Returns the number of cells created in the cells system.

Returns
Number of cells.
entity_system::entity ophidian::standard_cell::standard_cells::cell_create ( std::string  name)

Creates a new cell in the standard cell library.

Parameters
nameName of the new cell.
Returns
Entity of the created cell.
std::string ophidian::standard_cell::standard_cells::cell_name ( entity_system::entity  cell) const
inline

Returns the name of a cell.

Parameters
cellCell entity to get the name.
Returns
Name of the cell.
const entity_system::vector_property<std::string>& ophidian::standard_cell::standard_cells::cell_names ( ) const
inline

Returns the names of all cells.

Returns
Constant reference to the cell names property.
const std::vector<entity_system::entity>& ophidian::standard_cell::standard_cells::cell_pins ( entity_system::entity  cell) const
inline

Returns the pins of a cell.

Parameters
cellCell entity to get the pins.
Returns
Constant reference to a vector with all pins of that cell.
void ophidian::standard_cell::standard_cells::cell_sequential ( entity_system::entity  cell,
bool  sequential 
)

Sets if a cell is a sequential cell.

Parameters
cellCell entity to be set.
sequentialbool variable describing if the cell is sequential or not.
bool ophidian::standard_cell::standard_cells::cell_sequential ( entity_system::entity  cell) const
inline

Gets if a cell is a sequential cell.

Parameters
cellCell entity to get the attribute.
Returns
bool variable describing if the cell is sequential or not.
const entity_system::entity_system& ophidian::standard_cell::standard_cells::cell_system ( ) const
inline

Returns the cell system.

Returns
Constant reference to the cell system.
entity_system::entity ophidian::standard_cell::standard_cells::pad_create ( std::string  name)

Creates a new pad in the standard cell library. A pad is a special pin without owner.

Parameters
nameName of the new pad.
Returns
Entity of the created pad.
bool ophidian::standard_cell::standard_cells::pin_clock_input ( entity_system::entity  pin) const
inline

Gets if a pin is a clock input.

Parameters
pinPin entity to get the attribute.
Returns
bool variable describing if the pin is a clock input or not.
void ophidian::standard_cell::standard_cells::pin_clock_input ( entity_system::entity  pin,
bool  clock_input 
)

Sets if a pin is a clock input.

Parameters
pinPin entity to be set.
clock_inputbool variable describing if the pin is a clock input or not.
std::size_t ophidian::standard_cell::standard_cells::pin_count ( ) const
inline

Returns the number of pins created in the pins system.

Returns
Number of pins.
entity_system::entity ophidian::standard_cell::standard_cells::pin_create ( entity_system::entity  cell,
std::string  name 
)

Creates a new pin in the standard cell library.

Parameters
cellCell entity owner of the new pin.
nameName of the new pin.
Returns
Entity of the created pin.
pin_directions ophidian::standard_cell::standard_cells::pin_direction ( entity_system::entity  pin) const
inline

Returns the direction of a pin. Possible direction values are NOT_ASSIGNED, INPUT and OUTPUT.

Parameters
pinPin entity to get the name.
Returns
Direction of the pin.
void ophidian::standard_cell::standard_cells::pin_direction ( entity_system::entity  pin,
pin_directions  direction 
)

Sets the direction of a pin. Possible direction values are NOT_ASSIGNED, INPUT and OUTPUT.

Parameters
pinPin entity to sets the direction.
Directionof the pin.
std::string ophidian::standard_cell::standard_cells::pin_name ( entity_system::entity  pin) const
inline

Returns the name of a pin.

Parameters
pinPin entity to get the name.
Returns
Name of the pin.
entity_system::entity ophidian::standard_cell::standard_cells::pin_owner ( entity_system::entity  pin) const
inline

Returns the owner of a pin.

Parameters
pinPin entity to get the owner.
Returns
Owner of the pin.
const entity_system::entity_system& ophidian::standard_cell::standard_cells::pin_system ( ) const
inline

Returns the pin system.

Returns
Constant reference to the pin system.
void ophidian::standard_cell::standard_cells::register_cell_property ( entity_system::property property)

Registers a property to the cells entity system.

Parameters
propertyProperty to be registered.
void ophidian::standard_cell::standard_cells::register_pin_property ( entity_system::property property)

Registers a property to the pins entity system.

Parameters
propertyProperty to be registered.

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