Download presentation
Presentation is loading. Please wait.
Published byFranklin Jefferson Modified over 8 years ago
1
CSE 144 Project
2
Overall Goal of the Project Implement a physical design tool for a two- row standard cell design 0 1 53 24
3
Problems to be resolved Positions of components Which row to place each component: Partitioning The relative position of components in each row: Placement Interconnect between components: Routing
4
What to optimize? In partitioning: minimize the number of interconnects between partitions (rows) In placement: minimize the overall horizontal length of interconnects In routing: fulfill the geometrical constraints --- wires in the same directions should not overlap
5
Input Specification Matrix form circuit model: First line: the number of components, N The following N lines: the output-input connections between components A non-zero entry Aij denotes a connection between components i and j The value of Aij denotes the pin number of i Last line: the size of each components
6
Output Specification Partitioning & Placement Routing Position of pins connected by each net Leftmost and rightmost boundaries of each nets Channel track occupied by each net
7
Part 1: Partitioning Goal: minimize the number of interconnects crossing the two rows Constraints: partition size should stay within a tolerance window The tolerance bound is the size of the largest component: floor(|V|/2 - Cmax) <= |A| <= ceiling( |V|/2 + Cmax)
8
Fundamental Ideas The flow of FM algorithm is the same as KL algorithm Two differences: KL: component swap per tentative move FM: one component per tentative move KL: any pair of unlocked components valid FM: only allow moves fulfilling area constraints
9
Algorithm Initial partitioning (subject to area constraints) Gain calculation (same equations as in KL) Move and lock the component with highest gain, which satisfies area constraints (one component per tentative move). Update gains. Repeat moving until no one can be moved Make permanent all the movements up to and including the move giving the highest accumulative gain Unlock all components and repeat until no improvement can be obtained
10
How to improve efficiency? Gain updating technique Locked components needn’t be updated Components unconnected to the ones being moved needn’t be updated Use efficient data structure Three data structure candidates provided
11
Data Structure 1: Linked List Gmax 3 2 1 0 -3 -Gmax -2 Current max gain Comp 5Comp 0 Comp 1Comp 3 Comp 4 Gain stamps NIL Unlocked components Always choose component in the highest linked list for tentative move Gain updating corresponds to changing the position of components in the linked lists
12
Data Structure 2: Gain Matrix 11 11 1 1 c1 c2c3 c4 c5 c0 3 2 1 0 -2 -3 Components Gain value Always choose component in the highest row that contains 1-entries Gain updating corresponds to changing the positions of 1- entries in the gain matrix
13
Data Structure 3: Gain Array Gain updating corresponds to changing the values of the gain array elements 32203 Components c1c2c3c4c5c0 Gain
14
Implementation Requirement Analyze the suggested data structures in terms of Primarily computational efficiency Secondarily space efficiency Implement the most efficient one you think Provide a detailed description of your analysis in your turn-in
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.