abc-master
|
#include <stdlib.h>
#include <limits.h>
#include <assert.h>
#include <string.h>
#include "place_base.h"
#include "place_gordian.h"
Go to the source code of this file.
Functions | |
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 | addConcreteNet (ConcreteNet *net) |
Adds a net to the placement database. More... | |
void | delConcreteNet (ConcreteNet *net) |
Does not deallocate memory. More... | |
void | addConcreteCell (ConcreteCell *cell) |
void | delCellFromPartition (ConcreteCell *cell, Partition *p) |
void | delConcreteCell (ConcreteCell *cell) |
Removes a cell from the placement database. More... | |
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 | |
ABC_NAMESPACE_IMPL_START int | g_place_numCells = 0 |
int | g_place_numNets = 0 |
float | g_place_rowHeight = 1.0 |
Rect | g_place_coreBounds |
Rect | g_place_padBounds |
ConcreteCell ** | g_place_concreteCells = NULL |
int | g_place_concreteCellsSize = 0 |
ConcreteNet ** | g_place_concreteNets = NULL |
int | g_place_concreteNetsSize = 0 |
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 delCellFromPartition | ( | ConcreteCell * | cell, |
Partition * | p | ||
) |
Definition at line 180 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 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.
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.
ConcreteCell** g_place_concreteCells = NULL |
Definition at line 33 of file place_base.c.
int g_place_concreteCellsSize = 0 |
Definition at line 34 of file place_base.c.
ConcreteNet** g_place_concreteNets = NULL |
Definition at line 35 of file place_base.c.
int g_place_concreteNetsSize = 0 |
Definition at line 36 of file place_base.c.
Rect g_place_coreBounds |
Definition at line 30 of file place_base.c.
ABC_NAMESPACE_IMPL_START int g_place_numCells = 0 |
Definition at line 26 of file place_base.c.
int g_place_numNets = 0 |
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 = 1.0 |
Definition at line 28 of file place_base.c.