introduction
play

Introduction A very important step in physical design cycle. A poor - PDF document

10/31/2018 PL A C EMENT PRO F. INDRA NIL SENG UPT A DEPA RT DEPA RT MENT MENT O F C O MPUT O F C O MPUT ER SC IENC E A ND ENG INEERING ER SC IENC E A ND ENG INEERING Introduction A very important step in physical design cycle.


  1. 10/31/2018 PL A C EMENT PRO F. INDRA NIL SENG UPT A DEPA RT DEPA RT MENT MENT O F C O MPUT O F C O MPUT ER SC IENC E A ND ENG INEERING ER SC IENC E A ND ENG INEERING Introduction • A very important step in physical design cycle. – A poor placement requires larger area. – Also results in performance degradation. • It is the process of arranging a set of modules on the layout surface. – Each module has fixed shape and fixed terminal locations. E h d l h fi d h d fi d i l l i – A subset of modules may have pre ‐ assigned positions (e.g., I/O pads). 2 1

  2. 10/31/2018 Different Wire Length Different Routability/Chip Area 2

  3. 10/31/2018 Placement can Make a Difference • Placement of MCNC enchmark circuit e64 (contains 230 4 ‐ LUT) on a FPGA. Random Initial Placement Random Initial Placement Final Placement Final Placement After Detailed Routing After Detailed Routing The Placement Problem • Inputs: – A set of modules with (a) well ‐ defined shapes, and (b) fixed locations of pins. – A netlist. A tli t • Requirements: – Find locations for each module so that no two modules overlap. – The placement is routable. • Objectives: – Minimize layout area. y – Reduce the length of critical nets. – Completion of routing. 6 3

  4. 10/31/2018 Placement Problem at Different Levels 1. System ‐ level placement – Place all the PCBs together such that Place all the PCBs together such that • Area occupied is minimum • Heat dissipation is within limits. 2. Board ‐ level placement – All the chips have to be placed on a PCB. • Area is fixed • All modules of rectangular shape – Objective is to: (a) Minimize the number of routing layers, (b) Meet system performance requirements. 7 3. Chip ‐ level placement – Normally floorplanning / placement carried out along with pin Normally, floorplanning / placement carried out along with pin assignment. – Limited number of routing layers (2 to 4). • Bad placements may be unroutable. • Can be detected only later (during routing). • Costly delays in design cycle. y y g y Minimization of area. – 8 4

  5. 10/31/2018 Problem Formulation • Notations: B 1 ,B 2 ,…, B n : modules/blocks to be placed : width and height of B i , 1  i  n w i , h i N={N 1 ,N 2 ,…,N m } : set of nets (i.e. the netlist) Q={Q 1 ,Q 2 ,…,Q k } : rectangular empty spaces for routing : estimated length of net N i , 1  i  m L i g i , i 9 • The problem: Find rectangular regions R={R 1 ,R 2 ,...R n } for each of the blocks such that • Block B i can be placed in region R i . l k b l d • No two rectangles overlap, R i  R j =  . • Placement is routable (Q is sufficient to route all nets). • Total area of rectangle bounding R and Q is minimized. • Total wire length  L i is minimized. • For high performance circuits max {L | i=1 2 • For high performance circuits, max {L i | i=1,2,…,m} is minimized. m} is minimized • General problem is NP ‐ complete. • Algorithms used are heuristic in nature. 10 5

  6. 10/31/2018 Given set of blocks Good Bad Placement Placement 11 Interconnection Topologies • The actual wiring paths are not known during placement. – For making an estimation, a placement algorithm needs to model the topology of the interconnection nets. • An interconnection graph structure is used. • Vertices are terminals, and edges are interconnections. • Estimation of wire length is important. 12 6

  7. 10/31/2018 Estimation of Wirelength • The speed and quality of estimation has a drastic effect on th the performance of placement algorithms. f f l t l ith – For 2 ‐ terminal nets, we can use Manhattan distance as an estimate. – If the end co ‐ ordinates are (x 1 ,y 1 ) and (x 2 ,y 2 ), then the wire length L =  x 1 – x 2  +  y 1 – y 2  • How to estimate length of multi ‐ terminal nets? How to estimate length of multi terminal nets? 13 Modeling of Multi ‐ terminal Nets 1. Complete Graph n C 2 = n(n ‐ 1)/2 edges for a n ‐ pin net. • A tree has (n ‐ 1) edges which is 2/n • times the number of edges of the complete graph. • Length is estimated as 2/n times the sum of the edge weights. 14 7

  8. 10/31/2018 2. Minimum Spanning Tree • Commonly used structure. • Branching allowed only at pin locations. • Easy to compute. 15 3. Rectangular Steiner Tree • A Steiner tree is the shortest route for connecting a set of pins. • A wire can branch from any point along its length. • Problem of finding Steiner tree is NP ‐ complete. l 16 8

  9. 10/31/2018 4. Semi Perimeter • Efficient and most widely used. • Finds the smallest bounding rectangle that encloses all the pins to be connected. • Estimated wire length is half the perimeter of this rectangle. i f hi l Always underestimates the wire • length for congested nets. 17 Design Style Specific Issues • The main issues in placement can differ depending on the design style used. – For instance, in standard cell based design style, the floorplanning and placement problems are the same. • We discuss the main issues relating to the ASIC design styles: – Full custom, standard cell, and gate array. 18 9

  10. 10/31/2018 • Full Custom – Placing a number of blocks of various shapes and sizes within a Pl i b f bl k f i h d i ithi rectangular region. – Irregularity of block shapes may lead to unused areas. – Both floorplanning and placement steps are required. – May require iterations, where the layout may be modified at each step. t 19 • Standard Cell – The problem of floorplanning and placement are the same in this design style. – Minimization of the layout area means: • Minimize sum of channel heights. • Minimize width of the widest row. • All rows should have equal width. ll h ld h l id h – Over ‐ the ‐ cell routing leads to almost channel ‐ less standard cell designs. 20 10

  11. 10/31/2018 • Gate Arrays – The problem of partitioning, floorplanning and placement are the Th bl f titi i fl l i d l t th same in this design style. – For FPGAs, the partitioned sub ‐ circuit may be a complex netlist. • Map the netlist to one or more basic blocks or LUTs (placement). 21 Classification of Placement Algorithms Placement Algorithms Pl t Al ith Simulation Based Partitioning Based Other Breuer ’ s Algorithm Simulated Annealing Simulated Annealing Cluster Growth Cluster Growth Breuer s Algorithm Simulated Evolution Terminal Propagation Force Directed Force Directed 22 11

  12. 10/31/2018 Simulated Annealing • Simulation of the annealing process in metals or glass. – Avoids getting trapped in local minima. g g pp – Starts with an initial placement. – Incremental improvements by exchanging blocks, displacing a block, etc. – Moves which decrease cost are always accepted. – Moves which increase cost are accepted with a probability that decreases with the number of iterations. • Timberwolf is one of the most successful placement Ti b lf i f h f l l algorithms based on simulated annealing. 23 Force Directed Placement • Explores the similarity between placement problem and classical mechanics problem of a system of bodies attached to classical mechanics problem of a system of bodies attached to springs. • The blocks connected to each other by nets are supposed to exert attractive forces on each other. – Magnitude of this force is directly proportional to the distance b t between the blocks. th bl k • Analogous to Hooke ’ s law in mechanics. – Final configuration is one in which the system achieves equilibrium. 24 12

  13. 10/31/2018 • A cell i connected to several cells j experiences a total force F i =  j (w ij * d ij ) where w ij is the weight of connection between i and j d ij is the distance between i and j. • If the cell i is free to move, it would do so in the direction of force F i until the resultant force on it is zero. • When all cells move to their zero force target locations the total • When all cells move to their zero ‐ force target locations , the total wire length is minimized. 25 0 , y i 0 ) represents the zero ‐ • For cell i, if (x i force target location, by equating the x ‐ and y ‐ components of the force to zero, we get 0 and y i Solving for x i 0 , we get • • • Care should be taken to avoid assigning Care should be taken to avoid assigning more than one cell to the same location. 26 13

  14. 10/31/2018 Example • A circuit with one gate and four I/O pads. • The four pads are to be placed on the four corners of a 3x3 grid. • The weights of the wires connected to the gate are: w • The weights of the wires connected to the gate are: w vdd =8, w out =10, 8 w 10 w in =3, and w gnd =3. • Find the zero ‐ force target location of the gate inside the grid. 27 28 14

  15. 10/31/2018 29 • The zero ‐ force location for the gate is (1.083, 1.50) that can be approximated to the grid location (1,2). i d h id l i (1 2) 30 15

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend