![]() |
HAL
|
#include <net_layout_junction.h>
Public Member Functions | |
NetLayoutJunctionRange (u32 netId_, int first, int last) | |
bool | conflict (const NetLayoutJunctionRange &other) const |
bool | contains (int pos) const |
bool | innerPos (int pos) const |
bool | canJoin (const NetLayoutJunctionRange &other) const |
bool | isEntry (int iTestMax) const |
bool | operator== (const NetLayoutJunctionRange &other) const |
bool | operator== (const NetLayoutJunctionWire &wire) const |
u32 | netId () const |
int | first () const |
void | setFirst (int fst) |
int | last () const |
void | setLast (int lst) |
int | length () const |
int | endPosition (int iGetLast) const |
void | expand (const NetLayoutJunctionRange &other) |
QString | toString () const |
Static Public Member Functions | |
static NetLayoutJunctionRange | entryRange (NetLayoutDirection dir, int ilane, u32 netId) |
Static Public Attributes | |
static const int | MinInf = -32767 |
static const int | MaxInf = 32767 |
Range including first and last grid point (potentially) on lane used by net id. External nets leading to junction start at MinInf or MaxInf.
Definition at line 105 of file net_layout_junction.h.
hal::NetLayoutJunctionRange::NetLayoutJunctionRange | ( | u32 | netId_, |
int | first, | ||
int | last | ||
) |
Definition at line 827 of file net_layout_junction.cpp.
References first(), and last().
Referenced by entryRange().
bool hal::NetLayoutJunctionRange::canJoin | ( | const NetLayoutJunctionRange & | other | ) | const |
Checks whether ranges of same net can be joined to bigger range
other | Range which might be joined |
Definition at line 844 of file net_layout_junction.cpp.
bool hal::NetLayoutJunctionRange::conflict | ( | const NetLayoutJunctionRange & | other | ) | const |
Check whether range instance would overlap with instance from other net
other | Possibly conflicting range |
Definition at line 865 of file net_layout_junction.cpp.
Referenced by hal::NetLayoutJunctionOccupied::conflict().
|
inline |
Checks whether position is within range including first and last grid point
pos | Relevant coordinate from grid point to check |
Definition at line 128 of file net_layout_junction.h.
Referenced by hal::NetLayoutJunctionOccupied::canJoin().
int hal::NetLayoutJunctionRange::endPosition | ( | int | iGetLast | ) | const |
Getter for the first or last grid position in range
iGetLast | get first position if 0, last positon otherwise |
Definition at line 872 of file net_layout_junction.cpp.
|
static |
Generate an entry range
dir | Direction (Left, Right, Up, Down) |
ilane | Lane index |
netId | Net ID |
Definition at line 837 of file net_layout_junction.cpp.
References first(), hal::NetLayoutDirection::index(), last(), MaxInf, MinInf, netId(), and NetLayoutJunctionRange().
void hal::NetLayoutJunctionRange::expand | ( | const NetLayoutJunctionRange & | other | ) |
Expand the range by joining other range
other | The other range |
Definition at line 884 of file net_layout_junction.cpp.
|
inline |
Getter for first grid point position in range
Definition at line 171 of file net_layout_junction.h.
Referenced by entryRange(), and NetLayoutJunctionRange().
|
inline |
Checks whether position is within range excluding first and last grid point
pos | Relevant coordinate from grid point to check |
Definition at line 135 of file net_layout_junction.h.
bool hal::NetLayoutJunctionRange::isEntry | ( | int | iTestMax | ) | const |
Checks whether range is entry from external net
iTestMax | Test for MinInf if 0, MaxInf otherwise |
Definition at line 878 of file net_layout_junction.cpp.
References MaxInf, and MinInf.
Referenced by hal::NetLayoutJunctionWire::isEntry().
|
inline |
Getter for last grid point position in range
Definition at line 183 of file net_layout_junction.h.
Referenced by entryRange(), and NetLayoutJunctionRange().
|
inline |
Getter for the difference between first and last grid point of range
Definition at line 195 of file net_layout_junction.h.
|
inline |
Getter for net ID
Definition at line 165 of file net_layout_junction.h.
Referenced by hal::NetLayoutJunctionOccupiedHash::addOrMerge(), hal::NetLayoutJunctionOccupied::canJoin(), and entryRange().
bool hal::NetLayoutJunctionRange::operator== | ( | const NetLayoutJunctionRange & | other | ) | const |
Checks whether two ranges are equal
Definition at line 852 of file net_layout_junction.cpp.
bool hal::NetLayoutJunctionRange::operator== | ( | const NetLayoutJunctionWire & | wire | ) | const |
Checks whether range from wire is equal with this range
Definition at line 859 of file net_layout_junction.cpp.
References hal::NetLayoutJunctionWire::mRange.
|
inline |
Setter for first grid point position in range
fst | the new first grid point position in range |
Definition at line 177 of file net_layout_junction.h.
|
inline |
Setter for last grid point position in range
lst | the new last grid point position in range |
Definition at line 189 of file net_layout_junction.h.
|
inline |
Return range parameter as human readable string
Definition at line 214 of file net_layout_junction.h.
References QString::arg().
|
static |
Definition at line 112 of file net_layout_junction.h.
Referenced by entryRange(), and isEntry().
|
static |
Definition at line 111 of file net_layout_junction.h.
Referenced by entryRange(), and isEntry().