abc-master
|
Go to the source code of this file.
Data Structures | |
struct | Rect |
struct | AbstractCell |
struct | ConcreteCell |
struct | ConcreteNet |
Macros | |
#define | ABC__phys__place__place_base_h |
#define | true 1 |
#define | false 0 |
Typedefs | |
typedef struct Rect | Rect |
typedef struct AbstractCell | AbstractCell |
typedef struct ConcreteCell | ConcreteCell |
typedef struct ConcreteNet | ConcreteNet |
Functions | |
void | addConcreteNet (ConcreteNet *net) |
Adds a net to the placement database. More... | |
void | addConcreteCell (ConcreteCell *cell) |
void | delConcreteNet (ConcreteNet *net) |
Does not deallocate memory. More... | |
void | delConcreteCell (ConcreteCell *cell) |
Removes a cell from the placement database. More... | |
void | globalPreplace (float utilization) |
Place pad ring, leaving a core area to meet a desired utilization. More... | |
void | globalPlace () |
Performs analytic placement using a GORDIAN-like algorithm. More... | |
void | globalIncremental () |
Performs analytic placement using a GORDIAN-like algorithm. More... | |
void | globalFixDensity (int numBins, float maxMovement) |
Doesn't deal well with fixed cells in the core area. More... | |
float | fastEstimate (ConcreteCell *cell, int numNets, ConcreteNet *nets[]) |
float | fastTopoPlace (int numCells, ConcreteCell *cells[], int numNets, ConcreteNet *nets[]) |
Rect | getNetBBox (const ConcreteNet *net) |
Returns the bounding box of a net. More... | |
float | getNetWirelength (const ConcreteNet *net) |
Returns the half-perimeter wirelength of a net. More... | |
float | getTotalWirelength () |
Returns the total HPWL of all nets. More... | |
float | getCellArea (const ConcreteCell *cell) |
void | writeBookshelf (const char *filename) |
int | netSortByL (const void *a, const void *b) |
Sorts nets by position of one of its corners. More... | |
int | netSortByR (const void *a, const void *b) |
int | netSortByB (const void *a, const void *b) |
int | netSortByT (const void *a, const void *b) |
int | netSortByID (const void *a, const void *b) |
int | cellSortByX (const void *a, const void *b) |
Sorts cells by either position coordinate. More... | |
int | cellSortByY (const void *a, const void *b) |
int | cellSortByID (const void *a, const void *b) |
Variables | |
int | g_place_numCells |
int | g_place_numNets |
float | g_place_rowHeight |
Rect | g_place_coreBounds |
Rect | g_place_padBounds |
ConcreteCell ** | g_place_concreteCells |
ConcreteNet ** | g_place_concreteNets |
#define ABC__phys__place__place_base_h |
Definition at line 11 of file place_base.h.
#define false 0 |
Definition at line 29 of file place_base.h.
#define true 1 |
Definition at line 28 of file place_base.h.
typedef struct AbstractCell AbstractCell |
typedef struct ConcreteCell ConcreteCell |
typedef struct ConcreteNet ConcreteNet |
void addConcreteCell | ( | ConcreteCell * | cell | ) |
The cell object must already be allocated and the ID must be set appropriately.
Definition at line 155 of file place_base.c.
void addConcreteNet | ( | ConcreteNet * | net | ) |
Adds a net to the placement database.
The net object must already be allocated and the ID must be set appropriately.
Definition at line 114 of file place_base.c.
Definition at line 338 of file place_base.c.
Sorts cells by either position coordinate.
These are for use with qsort().
Can tolerate pointers to NULL objects.
Definition at line 314 of file place_base.c.
Definition at line 326 of file place_base.c.
void delConcreteCell | ( | ConcreteCell * | cell | ) |
Removes a cell from the placement database.
Does not deallocate memory.
Important: does not modify nets that may point to this cell. If these are connections are not removed, segmentation faults and other nasty errors will occur.
Definition at line 216 of file place_base.c.
void delConcreteNet | ( | ConcreteNet * | net | ) |
float fastEstimate | ( | ConcreteCell * | cell, |
int | numNets, | ||
ConcreteNet * | nets[] | ||
) |
Definition at line 92 of file place_inc.c.
float fastTopoPlace | ( | int | numCells, |
ConcreteCell * | cells[], | ||
int | numNets, | ||
ConcreteNet * | nets[] | ||
) |
float getCellArea | ( | const ConcreteCell * | cell | ) |
Definition at line 99 of file place_base.c.
Rect getNetBBox | ( | const ConcreteNet * | net | ) |
Returns the bounding box of a net.
Definition at line 45 of file place_base.c.
float getNetWirelength | ( | const ConcreteNet * | net | ) |
Returns the half-perimeter wirelength of a net.
Definition at line 70 of file place_base.c.
float getTotalWirelength | ( | ) |
Returns the total HPWL of all nets.
Definition at line 86 of file place_base.c.
void globalFixDensity | ( | int | numBins, |
float | maxMovement | ||
) |
Doesn't deal well with fixed cells in the core area.
Definition at line 43 of file place_bin.c.
void globalIncremental | ( | ) |
Performs analytic placement using a GORDIAN-like algorithm.
Requires a valid set of partitions.
Definition at line 94 of file place_gordian.c.
void globalPlace | ( | ) |
Performs analytic placement using a GORDIAN-like algorithm.
Updates the positions of all non-fixed non-pad cells.
Definition at line 39 of file place_gordian.c.
void globalPreplace | ( | float | utilization | ) |
Place pad ring, leaving a core area to meet a desired utilization.
Sets the position of pads that aren't already fixed.
Computes g_place_coreBounds and g_place_padBounds. Determines g_place_rowHeight.
Definition at line 31 of file place_pads.c.
Definition at line 263 of file place_base.c.
Definition at line 291 of file place_base.c.
Sorts nets by position of one of its corners.
These are for use with qsort().
Can tolerate pointers to NULL objects.
Definition at line 235 of file place_base.c.
Definition at line 249 of file place_base.c.
Definition at line 277 of file place_base.c.
void writeBookshelf | ( | const char * | filename | ) |
Definition at line 94 of file place_io.c.
ConcreteCell** g_place_concreteCells |
Definition at line 33 of file place_base.c.
ConcreteNet** g_place_concreteNets |
Definition at line 35 of file place_base.c.
Rect g_place_coreBounds |
Definition at line 30 of file place_base.c.
int g_place_numCells |
Definition at line 26 of file place_base.c.
int g_place_numNets |
Definition at line 27 of file place_base.c.
Rect g_place_padBounds |
Definition at line 31 of file place_base.c.
float g_place_rowHeight |
Definition at line 28 of file place_base.c.