10 #if !defined(PLACE_BASE_H_)
11 #define ABC__phys__place__place_base_h
24 #ifndef ABC__phys__place__place_base_h
void delConcreteCell(ConcreteCell *cell)
Removes a cell from the placement database.
int netSortByL(const void *a, const void *b)
Sorts nets by position of one of its corners.
int cellSortByX(const void *a, const void *b)
Sorts cells by either position coordinate.
int cellSortByID(const void *a, const void *b)
void globalPlace()
Performs analytic placement using a GORDIAN-like algorithm.
Rect getNetBBox(const ConcreteNet *net)
Returns the bounding box of a net.
struct ConcreteCell ConcreteCell
ConcreteCell ** g_place_concreteCells
float getCellArea(const ConcreteCell *cell)
int netSortByB(const void *a, const void *b)
int netSortByID(const void *a, const void *b)
void delConcreteNet(ConcreteNet *net)
Does not deallocate memory.
int netSortByT(const void *a, const void *b)
int netSortByR(const void *a, const void *b)
void globalFixDensity(int numBins, float maxMovement)
Doesn't deal well with fixed cells in the core area.
int cellSortByY(const void *a, const void *b)
float getTotalWirelength()
Returns the total HPWL of all nets.
void globalIncremental()
Performs analytic placement using a GORDIAN-like algorithm.
ConcreteNet ** g_place_concreteNets
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
struct ConcreteNet ConcreteNet
void globalPreplace(float utilization)
Place pad ring, leaving a core area to meet a desired utilization.
#define ABC_NAMESPACE_HEADER_END
float getNetWirelength(const ConcreteNet *net)
Returns the half-perimeter wirelength of a net.
float fastEstimate(ConcreteCell *cell, int numNets, ConcreteNet *nets[])
void writeBookshelf(const char *filename)
struct AbstractCell AbstractCell
void addConcreteNet(ConcreteNet *net)
Adds a net to the placement database.
void addConcreteCell(ConcreteCell *cell)
float fastTopoPlace(int numCells, ConcreteCell *cells[], int numNets, ConcreteNet *nets[])