file: placer.hxx

/* implements structure that holds the nets connected to each gate on the chip */ typedef struct gate { int netsOnGate; int *List; } gateList; /* implements structure that holds the gates connected to each net on the chip */ typedef struct net { int GateID; int Type; struct net *next; } netList; /* implements structure that holds the pads connected to each net on the chip */ typedef struct pad { int PadID; struct pad *next; } padList; /* implements structure holding pin location constraints */ typedef struct pin { int NetID; int xSite; int ySite; } pinList; /* implements structure holding timing paths from input netlist */ typedef struct timing { int NumObjects; int *List; } timingList; // simple delay model #define PIN_DELAY 1.0 #define GATE_DELAY 1.0 void readPinFile(FILE *PinFile); void readNetList(FILE *File); void printUsage(); void addToList (int Net, int Gate, int Type); double computeWireLen(int, int); void initNetList(); //void recursiveMinCut(int, int, int, int, int); void recursiveMinCut(MetisIntfc, int, int, int, int, int); void printWireLen(); void drawChip(); int getCapacity(int sx, int sy, int ex, int ey); void fixCapacityViolations(int Partition, int Capacity1, int Capacity2); int pickGate(int Partition, int NumGates); void moveToPartition(int Gate, int Partition); double getGateLen(int Gate); void writeOutput(void); void computeWireDelay(void); int foundViolations ( int Partition, int, int Capacity1, int Capacity2 ); void adjustGatePosition ( int Partition, int sx, int sy, int ex, int ey ); int cutsThisPartition ( int Net, int Partition ); int getFanout ( int Net ); void quadPlace(int Partition, int sx, int sy, int ex, int ey); void initParts(void); void greedySwap(int Partition); double getRatio(int Partition, int Cut); double computeLen(int Gate1, int Gate2); void fixQuadViolations(int PartitionNum, int sx, int sy, int ex, int ey, int Area1, int Area2, int Area3, int Area4);


Back to Source File Index


C++ to HTML Conversion by ctoohtml