1 CSC 6001 VLSI CAD (Physical Design) January 19 2006.

Slides:



Advertisements
Similar presentations
Floorplanning. Non-Slicing Floorplan Representation Rectangle-Packing-Based Module Placement, H. Murata, K. Fujiyoushi, S. Nakatake and Y. Kajitani, IEEE.
Advertisements

Analysis of Floorplanning Algorithm in EDA Tools
TOPIC : SYNTHESIS DESIGN FLOW Module 4.3 Verilog Synthesis.
Multilevel Hypergraph Partitioning Daniel Salce Matthew Zobel.
Ch.7 Layout Design Standard Cell Design TAIST ICTES Program VLSI Design Methodology Hiroaki Kunieda Tokyo Institute of Technology.
Early Days of Circuit Placement Martin D. F. Wong Department of Electrical and Computer Engineering University of Illinois at Urbana-Champaign.
Congestion Driven Placement for VLSI Standard Cell Design Shawki Areibi and Zhen Yang School of Engineering, University of Guelph, Ontario, Canada December.
The Design Process Outline Goal Reading Design Domain Design Flow
Circuit Retiming with Interconnect Delay CUHK CSE CAD Group Meeting One Evangeline Young Aug 19, 2003.
Spring 08, Jan 15 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Introduction Vishwani D. Agrawal James J. Danaher.
Floorplanning Professor Lei He
Physical Design Outline –What is Physical Design –Design Methods –Design Styles –Analysis and Verification Goal –Understand physical design topics Reading.
Processing Rate Optimization by Sequential System Floorplanning Jia Wang 1, Ping-Chih Wu 2, and Hai Zhou 1 1 Electrical Engineering & Computer Science.
CSE 242A Integrated Circuit Layout Automation Lecture: Floorplanning Winter 2009 Chung-Kuan Cheng.
ENEE 644 Dr. Ankur Srivastava Office: 1349 A.V. Williams URL: Computer-Aided Design of.
1 CSC 6001 VLSI CAD (Physical Design) January
Floorplanning. Obtained by subdividing a given rectangle into smaller rectangles. Each smaller rectangle corresponds to a module.
Chip Planning 1. Introduction Chip Planning:  Deals with large modules with −known areas −fixed/changeable shapes −(possibly fixed locations for some.
1 ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical Verification and.
8/15/ VLSI Physical Design Automation Prof. David Pan Office: ACES Lecture 8. Floorplanning (2)
April 15, Synthesis of Signal Processing on FPGA Hongtao
Electronic Design Automation. Course Outline 1.Digital circuit design flow 2.Verilog Hardware Description Language 3.Logic Synthesis –Multilevel logic.
EZ-COURSEWARE State-of-the-Art Teaching Tools From AMS Teaching Tomorrow’s Technology Today.
VLSI Physical Design Automation
CSE 242A Integrated Circuit Layout Automation Lecture: Partitioning Winter 2009 Chung-Kuan Cheng.
Modern VLSI Design 4e: Chapter 4 Copyright  2008 Wayne Wolf Topics n Standard cell-based layout. n Channel routing. n Simulation.
Power Reduction for FPGA using Multiple Vdd/Vth
Simulated Annealing.
Global Routing.
CAD for Physical Design of VLSI Circuits
Open Discussion of Design Flow Today’s task: Design an ASIC that will drive a TV cell phone Exercise objective: Importance of codesign.
10/7/ VLSI Physical Design Automation Prof. David Pan Office: ACES Lecture 6. Floorplanning (1)
ASIC Design Flow – An Overview Ing. Pullini Antonio
VLSI Backend CAD Konstantin Moiseev – Intel Corp. & Technion Shmuel Wimer – Bar Ilan Univ. & Technion.
Modern VLSI Design 3e: Chapter 4 Copyright  1998, 2002 Prentice Hall PTR Topics n Layouts for logic networks. n Channel routing. n Simulation.
Modern VLSI Design 3e: Chapters 1-3 week12-1 Lecture 30 Scale and Yield Mar. 24, 2003.
Modern Floor-planning Based on B ∗ -Tree and Fast Simulated Annealing Paper by Chen T. C. and Cheng Y. W (2006) Presented by Gal Itzhak
Gordian Placement Tool: Quadratic and Linear Problem Formulation Ryan Speelman Jason Gordon Steven Butt EE 201A
CSE 494: Electronic Design Automation Lecture 2 VLSI Design, Physical Design Automation, Design Styles.
Massachusetts Institute of Technology 1 L14 – Physical Design Spring 2007 Ajay Joshi.
10/25/ VLSI Physical Design Automation Prof. David Pan Office: ACES Lecture 3. Circuit Partitioning.
Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.
Field Programmable Gate Arrays (FPGAs) An Enabling Technology.
Modern VLSI Design 3e: Chapter 10 Copyright  1998, 2002 Prentice Hall PTR Topics n CAD systems. n Simulation. n Placement and routing. n Layout analysis.
Non-Slicing Floorplanning Joanna Ho David Lee David Omoto.
A Memetic Algorithm for VLSI Floorplanning Maolin Tang, Member, IEEE, and Xin Yao, Fellow, IEEE IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART.
EE 466/586 VLSI Design Partha Pande School of EECS Washington State University
Modern VLSI Design 3e: Chapter 4 Copyright  1998, 2002 Prentice Hall PTR Topics n Layouts for logic networks. n Channel routing. n Simulation.
1 A Min-Cost Flow Based Detailed Router for FPGAs Seokjin Lee *, Yongseok Cheon *, D. F. Wong + * The University of Texas at Austin + University of Illinois.
Detailed Routing مرتضي صاحب الزماني.
1 Twin Binary Sequences: A Non-Redundant Representation for General Non-Slicing Floorplan Evan Young Department of Computer Science and Engineering The.
FPGA CAD 10-MAR-2003.
Block Packing: From Puzzle-Solving to Chip Design
VLSI Floorplanning and Planar Graphs prepared and Instructed by Shmuel Wimer Eng. Faculty, Bar-Ilan University July 2015VLSI Floor Planning and Planar.
CprE566 / Fall 06 / Prepared by Chris ChuPartitioning1 CprE566 Partitioning.
1 Floorplanning of Pipelined Array (FoPA) Modules using Sequence Pairs Matt Moe Herman Schmit.
Retiming EECS 290A Sequential Logic Synthesis and Verification.
مرتضي صاحب الزماني 1 Hierarchical Tree Based Methods A floorplan is said to be hierarchical of order k if it can be obtained by recursively partitioning.
The Early Days of Automatic Floorplan Design
RTL Design Flow RTL Synthesis HDL netlist logic optimization netlist Library/ module generators physical design layout manual design a b s q 0 1 d clk.
Introduction to ASICs ASIC - Application Specific Integrated Circuit
VLSI Physical Design Automation
Partial Reconfigurable Designs
ASIC Design Methodology
ECE 565 VLSI Chip Design Styles
VLSI Physical Design Automation
Sequence Pair Representation
HIGH LEVEL SYNTHESIS.
UNIT-III Logic Gates and other Complex gates, Switch logic, Alternate gate circuits Physical Design, Floor Planning, Placement – Routing, Power Delay.
Floorplanning (Adapted from Prof. E. Young’s and Prof. Y
Presentation transcript:

1 CSC 6001 VLSI CAD (Physical Design) January

2 Contents An overview of CAD in physical design of VLSI circuits Discussion of several classical papers in this area.

3 References N. Sherwani, “Algorithms for VLSI Physical Design Automation”, 3rd edition, Kluwer Academic Publishers, Boston, MA, Sabih H. Gerez, “Algorithms for VLSI Design Automation”, Wiley, M. Sarrafzadeh and C.K. Wong, “An Introduction to VLSI Physical Design”, McGraw Hill, S.M. Sait and Youssef, “VLSI Physical Design Automation: Theory and Practice”, IEEE Press, Piscataway, NJ, 1995.

4 VLSI Design Cycle System Specification Architectural Design Logic Design Circuit Design Physical Design Functional DesignFabrication Packaging

5 Logic Design Design the logic, e.g., boolean expressions, control flow, word width, register allocation, etc. The outcome is called an RTL (Register Transfer Level) description. RTL is expressed in a HDL (Hardware Description Language), e.g., VHDL and Verilog. X = (AB+CD)(E+F) Y= (A(B+C) + Z + D)

6 Circuit Design Design the circuit including gates, transistors, interconnects, etc. The outcome is called a netlist.

7 Physical Design Convert the netlist into a geometric representation. The outcome is called a layout.

8 Physical Design Cycle Circuit Partitioning Floorplanning & Placement Routing Layout Compaction Extraction and Verification

9 Circuit Partitioning Partition a large circuit into sub-circuits (called blocks). Factors like #blocks, block sizes, interconnection between blocks, etc., are considered

10 Floorplanning Set up a plan for a good layout. Place the modules (modules can be blocks, functional units, etc.) at an early stage when details like shape, area, I/O pin positions of the modules, …, are not yet fixed. Deadspace

11 Placement Exact placement of the modules (modules can be gates, standard cells, etc.) when details of the module design are known. The goal is to minimize the delay, total area and interconnect cost. v Feedthrough Standard cell type 1 Standard cell type 2

12 Routing Complete the interconnections between modules. Factors like critical path, clock skew, wire spacing, etc., are considered. Include global routing and detailed routing. v Feedthrough Type 1 standard cel1 Type 2 standard cell

13 Compaction & Verification Compaction is to compress the layout from all directions to minimize the total chip area. Verification is to check the correctness of the layout. Include DRC (Design Rule Checking), circuit extraction (generate a circuit from the layout to compare with the original netlist), performance verification (extract geometric information to compute resistance, capacitance, delay, etc.)

14 Design Styles Full-Custom Design Standard Cell Design Gate Array Design Field Programmable Gate Array Design (FPGA)

15 Full-Custom Design No rigid restrictions on layout. More compact design. Longer design time. Hierarchical: chip  clusters  units  functional units.

16 Full Custom Design

17 Standard Cell Design Rectangular cells of the same height. Cell library (has cells). Cells placed in rows and space between rolls are called channels for routing. Feedthroughs

18 Standard Cell Design

19 Gate Array Design Each chip is prefabricated with an array of identical gates or cells. The chip is “customized” by fabricating routing layers on top.

20 An Uncommitted Gate Array

21 A Committed Gate Array

22 Field Programmable Gate Array Chips are prefabricated with logic blocks and interconnects. Logic and interconnects can be programmed (erased and re-programmed) by users. No fabrication is needed. Interconnects are predefined wire segments of fixed lengths with switches in between.

23 Field Programmable Gate Array

24 Trends in VLSI Transistor –Smaller, faster, use less power Interconnect –Less resistive, faster, longer (denser design) Huge power consumption and heat dissipation Noise and cross talk.

25 Interconnect Delay Gate delay Interconnect delay Source: SIA Roadmap 1997

26 Chip Area micron

27 Processor Performance ,000 10, , , MIPS Source: Intel Processor Processor Pentium Processor Pentium Pro Processor 100,000 MIPS

28 Transistor Count ,000 10, ,000 1,000,000 K Source: Intel Projected

29 Average Transistor Price $ Source: Intel

30 Technology Characteristics Year Technology (  m) Density (# transistors / cm 2 ) Chip size (cm 2 ) Power (W) # Routing Layers M10M18M39M84M180M

31 Selected Papers “Graph Based Algorithms for Boolean Function Manipulation”, Randal E. Bryant, IEEE Transactions on Computers, Vol.35, No.8, “Retiming Synchronous Circuitry”, Charles E. Leiserson and James B. Saxe, Algorithmica, 6:5-35, “A New Algorithm for Floorplan Design”, D.F. Wong and C.L. Liu, Design Automation Conference, p , “Rectangle-Packing-Based Module Placement”, H. Murata, K. Fujiyoushi, S. Nakatake and Y. Kajitani, IEEE International Conference on Computer-Aided Design, p , 1995.

32 Selected Papers “A linear time heuristic for improving network partitions”, Fiduccia and Mattheyses, Design Automation Conference, “Efficient Network Flow Based Min-Cut Balance Partitioning”, Hannah H. Yang and D.F. Wong, International Conference on Computer-Aided Design, pp.50-55, “Multilevel k-way Hypergraph Partitioning”, G. Karypis and V. Kumar, Design Automation Conference, pp , 1999.

33 Selected Papers “An Optimal Technology Mapping Algorithm for Delay Optimization in Lookup-Table Based FPGA Designs”, Jason Cong and Yuzheng Ding, International Conference on Computer-Aided Design, “The Timberwolf Placement and Routing Package”, C. Sechen and A.L. Sangiovanni-Vincentelli, IEEE Journal of Solid-State Circuits, 20: , “Gordian: A New Global Optimization/Rectangle Dissection Method for Cell Placement”, J. Kleinhans, G. Sigl and F. Johannes, International Conference on Computer-Aided Design, 1994.

34 Floorplanning

35 Floorplanning The floorplanning problem is to plan the positions and shapes of the modules at the beginning of the design cycle to optimize the circuit performance: –Chip area –Total wirelength –Delay of critical path –Routability –Others, e.g., noise, heat dissipation, etc.

36 Floorplanning Problem Input: –n Blocks with areas A 1,..., A n –Bounds r i and s i on the aspect ratio of block B i Output: –Coordinates (x i, y i ), width w i and height h i for each block such that h i w i = A i and r i  h i /w i  s i Objective: –To optimize the circuit performance.

37 Simulated Annealing Approach Many floorplanning tools are based on simulated annealing approach. In simulated annealing, we need to have a good representation for each candidate floorplan solution. There are three kinds of floorplan: slicing, mosaic and non-slicing.

38 P-admissible Representation A packing representation is P-admissible if: –The solution space is finite. –Every solution corresponds to a feasible packing. –Evaluation for each solution, i.e., computing the cost value, is possible in polynomial time, and so is the realization of the corresponding packing. –The optimal packing is included in the solution space and corresponds to the one with the best evaluated cost value.

39 Non-Slicing Floorplan Any general floorplan which is not necessarily obtained by recursively subdividing rectangles. empty room

40 Slicing Floorplan Representation “A New Algorithm for Floorplan Design”, D.F. Wong and C.L. Liu, Design Automation Conference, pp , “A New Algorithm for Floorplan Design”, D.F. Wong and C.L. Liu, Design Automation Conference, pp , 1986.

41 Slicing Floorplan A floorplan that can be obtained by recursively cutting a rectangle into two by either a vertical line or a horizontal line:

42 Slicing Trees Slicing Floorplan * AB Slicing Tree B A + AB AB

43 Slicing Trees Slicing Floorplan * * 64 * 75 Slicing Tree Polish Expression ( postorder traversal of slicing tree ) 21+67*45*+3+*

44 Normalized PE A normalized Polish Expression has no consecutive + or * Slicing Floorplan Polish Expression * * 6 * 7 3 Slicing Tree *45*3++*

45 Normalized PE There is a 1-1 correspondence between slicing floorplan and normalized PE. Normalized Polish Expression is commonly used to represent slicing floorplans.

46 Questions Does this normalized PE representation for slicing floorplan P-admissible? What is the size of the solution space? How can we get back a floorplan from its normalized PE representation? Are all slicing floorplans with n modules reachable starting from any arbitrary one by using the set of move operations?

47 Shaping In floorplan design, we need to determine the positions and shapes of the modules: B A C AB+C* Move C AB*C* Shaping A B CBA AB*C*

48 Shaping in Slicing Floorplan Shaping in slicing floorplan can be done by “shape curve computation”. Given a Polish expression of n modules and the areas of the modules, how to determine their dimensions to minimize the total area of the floorplan?

49 Shape Curve To represent the possible shapes of a block. w h (0,0) wh = A Soft block Block with several possible designs w h (0,0) Feasible region Feasible region w1w1 h1h1 w1w1 w2w2 w3w3 h3h3 h2h2 h1h1

50 Combining Shape Curves 12*: 12+: 1 2 h w 12* w h

51 Finding the Smallest Area Recursively combining shape curves. * 23 Pick the best

52 Updating Shape Curves If each shape curve has k points, the shape curve computational time for each normalized PE is O(kn). After each move, there are only small changes in the floorplan, so no need to compute all the shape curves from scratch again. We can update shape curves incrementally after each move. Expected run time is O(k log n).

53 Non-Slicing Floorplan Representation “Rectangle-Packing-Based Module Placement”, H. Murata, K. Fujiyoushi, S. Nakatake and Y. Kajitani, IEEE International Conference on Computer-Aided Design, 1995, pages

54 Sequence Pair (SP) A floorplan is represented by a pair of permutations of the module names: e.g A sequence pair (s 1, s 2 ) of n modules can represent all possible floorplans formed by the n modules by specifying the pair-wise relationship between the modules.

55 Sequence Pair Consider a pair of modules A and B. If the arrangement of A and B in s 1 and s 2 are: –(…A…B…, …A…B…), then the right boundary of A is on the left hand side of the left boundary of B. –(…A…B…, …B…A…), then the upper boundary of B is below the lower boundary of A.

56 Floorplan Realization Floorplan realization is the step to construct a floorplan from its representation. To construct a floorplan from a sequence pair, we can make use of the horizontal and vertical constraint graphs (G h and G v ).

57 Floorplan Realization Whenever we see (…A…B…, …A…B…), add an edge from A to B in G h with weight w A. Whenever we see (…A…B…, …B…A…), add an edge from B to A in G v with weight h A. Add a source vertex s to G h and G v pointing, with weight 0, to all vertices without incoming edges. Finally, find the longest paths from s to every vertex in G h and G v, which are the coordinates of the lower left corner of the module in the packing.

58 Example (13245,41352 ) s 0 0 GhGh s 0 0 GvGv

59 Pros and Cons of SP Advantages: –Simple representation –All floorplans can be represented. –The solution space is finite. Disadvantages: –Redundant representation. The representation is not 1-to-1. –The size of the constraint graphs, and thus the runtime to construct the floorplan, is quadratic.

60 Questions Is the SP representation for general non- slicing floorplan P-admissible? Can we improve the runtime to realize a floorplan from its SP representation? (“FAST-SP: A Fast Algorithm for Block Placement on Sequence Pair”, X. Tang and D.F. Wong, ASP-DAC 2001, pp )