-
class Coord
- use
int
ordouble
to represent a coordinate- use
int
- use
- use
-
simAnneal
- considering congestion in cost function
- MPTreeMgr ( MPTreeMgr.h )
- top manager
- public member functions
- readInput ( .nodes , .pl , .nets )
- simAnneal
- writeOutput ( .fp )
- test ( test interface )
- private data members
- _allNode(macros)
- _allNet(nets)
- _allTerm(terminals)
- _chipWidth/Height
- _initArea/WL/Disp
- _optCost
- private helper functions
- simAnneal
- cost computation
- HPWL
- Displacement
- ChipArea
- ContourArea
- Balance
- set temperature
- annealing schedule
- perturb / undo MPT
- rotate --> macro rotation is not allowed in this problem
- swap
- change subTree
- delete insert node
- packMPTree, contour
- Node ( Element.h )
-
macro class
-
public member functions
-
centerX,Y()
--> return the center of the macro -
right, top()
-
width(), height()
-
displacement()
-
updateOpt/Cur()
-
-
private data members
- _name
- _width, _height
- Coordinates and Orientations
- _initCord , _initOrt ( initial positions from placer )
- _curCord , _curOrt ( current positions )
- _optCord , _optOrt ( optimal positions so far )
- _pinList ( pins on the macro )
- Tree Structure
- _curPtr
- _optPtr
- Pin ( Element.h )
- pin class ( connection points on a macro )
- public member functions
-
x() , y()
--> get the positions of the pin ( use _node and offset to compute )
-
- private data members
- Node* _node ( ptr to the macro )
- _offsetX,Y ( w.r.t. the center of the macro , orient = N )
- Net ( Element.h )
- net class
- public member functions
-
HPWL()
-
- private data members
- _name
- _pinList
- _termList
- Term ( Element.h )
- terminal class
- public member functions
x(), y()
- private data members
- _name
- _fixXY( fixed positions )