Placement class. More...
#include <placement.h>
Public Member Functions | |
placement (netlist::netlist *netlist, library *lib) | |
Constructor. More... | |
geometry::multi_polygon < geometry::polygon < geometry::point< double > > > | cell_geometry (entity_system::entity cell) const |
Cell geometry getter. More... | |
void | cell_position (entity_system::entity cell, geometry::point< double > position) |
Places a cell. More... | |
geometry::point< double > | cell_position (entity_system::entity cell) const |
Cell position getter. More... | |
void | cell_fixed (entity_system::entity cell, bool fixed) |
bool | cell_fixed (entity_system::entity cell) const |
geometry::point< double > | cell_dimensions (entity_system::entity cell) const |
entity_system::entity | cell_create (std::string name, std::string type) |
const cells & | cell_properties () |
geometry::point< double > | pin_position (entity_system::entity pin) const |
Pin position getter. More... | |
void | pad_position (entity_system::entity pad, geometry::point< double > position) |
Places a pad. More... | |
const netlist::netlist & | netlist () const |
Netlist getter. More... | |
const library & | lib () const |
Placement library getter. More... | |
This class provides the basic placement interface, such as cells and pads position manipulation.
ophidian::placement::placement::placement | ( | netlist::netlist * | netlist, |
library * | lib | ||
) |
Placement constructor. Initializes the placement cell properties, such as positions and geometries.
netlist | Circuit netlist. |
lib | Placement library. |
|
inline |
Returns the geometry of a cell as a multi polygon. Each polygon in the multi polygon represents a rectangle of the cell.
cell | Cell to get the geometry. |
void ophidian::placement::placement::cell_position | ( | entity_system::entity | cell, |
geometry::point< double > | position | ||
) |
Changes the position of a cell.
cell | Cell to move. |
position | Target position of the cell. |
|
inline |
Returns the position of a cell.
cell | Cell to get the position. |
|
inline |
Returns the placement library used in the placement construction.
|
inline |
Returns the netlist used in the placement construction.
void ophidian::placement::placement::pad_position | ( | entity_system::entity | pad, |
geometry::point< double > | position | ||
) |
Changes the position of a pad.
pad | Pad to move. |
position | Target position of the pad. |
|
inline |
Returns the position of a pin, calculated from the cell position and the pin offset.
pin | Pin to get the position. |