Date post: | 06-Feb-2018 |
Category: |
Documents |
Upload: | trinhxuyen |
View: | 250 times |
Download: | 2 times |
1
EE M216A .:. Fall 2010Lecture 14
Chip Floorplanning,
Placement & Routing
Prof. Dejan Marković[email protected]
Floorplanning: Overview
Introduction: With ever larger designs, it is increasingly important to plan a design at an early stage. This early plan helps constrain later design decisions in terms of area, wire usage, ports, and port locations. The early stage plan, a.k.a. a floorplan, is fleshed p y g p , p ,out with increasing details with the design flow. The issue is a chicken‐and‐egg problem in that an accurate floorplan is difficult without knowing the details, and yet, building the details is greatly facilitated with a floorplan. So such a plan is a first guess. We use a lot of estimates for area to arrive at a reasonable plan. The plan discussed in this lecture includes area for blocks, ports and their locations routing channels metal layer usage power
D. Markovic / Slide 2
and their locations, routing channels, metal layer usage, power and ground routing, clock routing, and I/O pins. The result is a diagram of the chip…
Lecture 15: Floorplanning | 2EEM216A .:. Fall 2010
2
Design Flow: Floorplanning
Floorplan
D. Markovic / Slide 3Lecture 15: Floorplanning | 3EEM216A .:. Fall 2010
Floorplanning
This is a plan of the chip, – Shows the module/blocks– The space needed for wires
● In a cell it is called the “color plan”; at the chip level ‐ “floorplan”
H V V d Cl k di t ib t d i idthHow VDD, VGND, and Clock are distributed + wire widthThe area is estimated by the type of block (dpath or ctrl)The routing is based on position of I/O pins of each block – Floorplanning tools will help position large blocks, rotating, flipping to
minimize the routing between blocks– Helps predict wiring loads and area of chip– Makes sure you have enough pins, and space
E l i d i
D. Markovic / Slide 4
Early in design– Floorplan budgets area, wire area/delay. Negotiate tradeoffs
Late in design– Make sure the pieces fit together as planned– Implement the global layout
Lecture 15: Floorplanning | 4EEM216A .:. Fall 2010
3
Floorplanning
Input– Required
● Design netlist● Area requirements
− Optional• I/O placement• Macro placement informationq
● Power requirements● Timing constraints● Physical partitioning information● Die size vs. performance tradeoff
Output (design ready for standard cell placement)− Die/block area
Macro placement information
D. Markovic / Slide 5
− I/Os placed− Macros placed− Power grid designed− Power pre‐routing− Standard cell placement areas
Lecture 15: Floorplanning | 5EEM216A .:. Fall 2010
Floorplanning Output
I/O pads
macro macro
Std‐cells
D. Markovic / Slide 6
macro macro
Lecture 15: Floorplanning | 6EEM216A .:. Fall 2010
4
A Conceptual Floorplan
Blocks inside a pad frameRouting may be inside blocks but need toblocks but need to interconnect themBrick and Mortar– Random sized blocks
that are more difficult than standard cell rows to route
RAMstd cell
Blocks
I/O pads
Routing channels
D. Markovic / Slide 7
Layout hierarchy not deep– Tough to do this too
many times
data pathchannels
Lecture 15: Floorplanning | 7EEM216A .:. Fall 2010
Example Chip Layout
D. Markovic / Slide 8Lecture 15: Floorplanning | 8EEM216A .:. Fall 2010
5
More Complex Chip
D. Markovic / Slide 9Lecture 15: Floorplanning | 9EEM216A .:. Fall 2010
Design Flow and Physical Design Stage
D. Markovic / Slide 10
Courtesy: Andrew Kahng, UCSD
Lecture 15: Floorplanning | 10EEM216A .:. Fall 2010
6
Placement
Input– A set of cells and their complete information (a cell library)– Connectivity information between cells (netlist information)
OutputOutput– A set of locations on the chip, one location for each cell
Goal– The cells are placed to produce a routable chip that meets timing and other
constraints (e.g. low‐power, noise, etc.)
Challenge– The number of cells in a design is very large (> 1M)
D. Markovic / Slide 11
– The timing constraints are very tight
Courtesy: Andrew Kahng, UCSD
Lecture 15: Floorplanning | 11EEM216A .:. Fall 2010
Placement: Ordering
To spread… … or not to spreadOpt relative order
Place to the left… … or to the right Opt relative order
D. Markovic / Slide 12
Courtesy: Andrew Kahng, UCSD
Without “free” space, the placement problem is dominated by order
Lecture 15: Floorplanning | 12EEM216A .:. Fall 2010
7
Placement Problem
D. Markovic / Slide 13
Courtesy: Andrew Kahng, UCSD
Lecture 15: Floorplanning | 13EEM216A .:. Fall 2010
Global and Detailed Placement
Global placement– Decode approximate locations
for cells by placing cells in global bins
Detailed placement– Make some local adjustments to
D. Markovic / Slide 14
Courtesy: Andrew Kahng, UCSD
jobtain final non‐overlapping placement
Lecture 15: Floorplanning | 14EEM216A .:. Fall 2010
8
Placement Footprints
Standard cell
Data path
D. Markovic / Slide 15
IP – floorplanning
Courtesy: Andrew Kahng, UCSD
Lecture 15: Floorplanning | 15EEM216A .:. Fall 2010
Placement Footprints
D. Markovic / Slide 16
Courtesy: Andrew Kahng, UCSD
Lecture 15: Floorplanning | 16EEM216A .:. Fall 2010
9
Unconstrained Placement
D. Markovic / Slide 17Courtesy: Andrew Kahng, UCSD Lecture 15: Floorplanning | 17EEM216A .:. Fall 2010
Floorplanned Placement
D. Markovic / Slide 18Courtesy: Andrew Kahng, UCSD Lecture 15: Floorplanning | 18EEM216A .:. Fall 2010
10
Placement– Simple: min length of wires– Timing‐driven: cost of wires weighted to min critical‐path delays
l k
Placement: Blocks and Wires
Blocks– Blocks have area and aspect ratio– Different rotations and reflections– Uniform size blocks are easier to interchange
Wires– Cannot ignore wiring during block placement
L i i f t f bl k
D. Markovic / Slide 19
● Large wiring areas may force rearrangement of blocks– Wiring plan must consider area and delay of critical signals– Blocks divide wiring area into routing channels
Next step: routing– Design saved in standard design exchange format (DEF) for routing
Lecture 15: Floorplanning | 19EEM216A .:. Fall 2010
Two levels of of routing– Global: notional set of abutting channels– Local: actual geometry required to complete signal connections
Two types of routing
Types of Routing
– Channel routing● Channel may grow in one dimension to accommodate wires● Pins generally on only two sides
– Switchbox routing● Cannot grow in any dimension● Pins are on all four sides, fixing dimensions of the box
h l it hb switchbox
D. Markovic / Slide 20
channel switchbox
channel
switchboxpins
Lecture 15: Floorplanning | 20EEM216A .:. Fall 2010
11
Channels end at block boundaries
ch 1 ch 2ch 3
A
B C
Channel Definition
Several alternate channel definitions are possible:– Depends on position of the
blocks
A
B C
channel 1
ch 2
B C
Changing spacing changes
D. Markovic / Slide 21
A
B C
Changing spacing changes relationship between block edges
Lecture 15: Floorplanning | 21EEM216A .:. Fall 2010
Channel Graph
Nodes are channels– Edges placed between two channels that touch
Channel graph– Shows paths between channelsp– Can be used to guide global routing
A B
C
D
D. Markovic / Slide 22
E
Lecture 15: Floorplanning | 22EEM216A .:. Fall 2010
12
Wire out of end of one channel creates pin on side
f t h l
channel B
Routing Channels in Order
of next channel:
Can create an unroutable combination of channels with circular constraints(Wi d ill )
channel A
constraint
A B
D. Markovic / Slide 23
(Windmills)CD
Lecture 15: Floorplanning | 23EEM216A .:. Fall 2010
Can be recursively cut in two without cutting any blocks
Guaranteed no windmills
Slicable Floorplan1
AC
Guaranteed no windmills– Therefore guaranteed to have a
feasible order of routing channels
Slicability is a desirable property for floorplans
2
3
4B
D
E F
5
A
D. Markovic / Slide 24
A binary tree representation− Nodes: slices− Leaves: blocks
A
BC
D1
2
34
E
F5
Lecture 15: Floorplanning | 24EEM216A .:. Fall 2010
13
Global Routing – Goal: assign wires to paths through channels– Don’t worry about exact routing of wires within channel
● Final step is the detailed routing
Global Routing and Detailed Routing
p g– Channel utilization
● Can estimate channel height from global routing using congestion● Keep all channels about equally full to minimize wasted area
Detailed Routing– Picking exact route of the wires
D. Markovic / Slide 25
– Pay attention to the actual timing constraints● Route time‐critical signals first● Shortest path may not be best for global wiring
– May need to rip‐up wires and reroute to improve the global routing
Lecture 15: Floorplanning | 25EEM216A .:. Fall 2010
Heuristic method for finding a short route– From one channel to the next
Works with arbitrary combination of obstaclesDoes not explore all possible paths – not optimal
Line‐Probe Routing
Does not explore all possible paths – not optimal
Aline 1
Method− Draw probe line from
each source/destination port
− Extend line until hitting an obstacle (a block, a
D. Markovic / Slide 26
A
line 2
previous connection) or hit the probe line of destination
− May need to iterate
Lecture 15: Floorplanning | 26EEM216A .:. Fall 2010
14
Can’t expand a switchbox to make room for more wiringS i hb b d fi d b
Switchbox Routing
Switchbox may be defined by intersection of channels
Routing Order BA
D. Markovic / Slide 27
– Switchboxes frequently need more experimentation with wiring order because nets may block other nets A B
B blocks A
Lecture 15: Floorplanning | 27EEM216A .:. Fall 2010
O‐Tree
D. Markovic / Slide 28
Courtesy: Andrew Kahng, UCSD
Lecture 15: Floorplanning | 28EEM216A .:. Fall 2010
15
Sequence Pair
D. Markovic / Slide 29
Courtesy: Andrew Kahng, UCSD
Lecture 15: Floorplanning | 29EEM216A .:. Fall 2010
Next Step: Partitioning
Circuit netlist represented by hypergraph
D. Markovic / Slide 30
Courtesy: Andrew Kahng, UCSD
Lecture 15: Floorplanning | 30EEM216A .:. Fall 2010
16
Hypergraph Partitioning in VLSI
Circuit netlist represented by hypergraphVariants– Directed/undirected hypergraphs– Weighted/unweighted vertices edgesWeighted/unweighted vertices, edges– Constraints, objectives…
Human‐designed instancesBenchmarks– Up to 4,000,000 vertices– Sparse (vertex degree ~ 4, syperedge size ~ 4)– Small number of very large hyperedges
D. Markovic / Slide 31
Courtesy: Andrew Kahng, UCSD
Lecture 15: Floorplanning | 31EEM216A .:. Fall 2010
Example: Partitioning of a Circuit
Courtesy: Andrew Kahng, UCSD
D. Markovic / Slide 32Lecture 15: Floorplanning | 32EEM216A .:. Fall 2010
17
Hierarchical Partitioning
Levels of partitioning– System‐level
● Each sub‐system can be designed as a single PCB
– Board‐level● Circuit assigned to a PCB is partitioned into sub‐circuits each fabricated
as a VLSI chip
– Chip‐level● Circuit assigned to the chip is divided into manageable sub‐circuits
D. Markovic / Slide 33
● Circuit assigned to the chip is divided into manageable sub circuits
Courtesy: Andrew Kahng, UCSD
Lecture 15: Floorplanning | 33EEM216A .:. Fall 2010
Delay at Different Levels of Partitions
D. Markovic / Slide 34
Courtesy: Andrew Kahng, UCSD
Lecture 15: Floorplanning | 34EEM216A .:. Fall 2010
18
Delay at Different Levels of Partitions
D. Markovic / Slide 35
Courtesy: Andrew Kahng, UCSD
Lecture 15: Floorplanning | 35EEM216A .:. Fall 2010
Multilevel Partitioning
D. Markovic / Slide 36
Courtesy: Andrew Kahng, UCSD
Lecture 15: Floorplanning | 36EEM216A .:. Fall 2010
19
Floorplanning Implications on Verilog
Top‐level partition should be well thought out– Create chip‐plan early
Need to match physical partition– Signals between blocks will be real wiresSignals between blocks will be real wires– Blocks have to fit together in the layout
Keep units with different implementation methods separate– Automatic synthesis versus custom
Estimate long wires between blocksDon’t forget about testability– Generates tests (vectors that are sometimes read from file)
D. Markovic / Slide 37
( )– Checks the answers (or make self‐checking tests)– Often check internal nodes to be sure stuff is working– To test chip ‐ ensure that the chip is the same as the design (no faults)
● All tests must be from the pins of the chip. No access to internal nodes
Lecture 15: Floorplanning | 37EEM216A .:. Fall 2010
Floorplanning Summary
Develop a wiring plan– Think about how layers will be used to distribute important wires
Sweep small components into larger blocks– A floorplan with a single NAND gate in the middle: hard to work with
Design wiring that looks simple– If it looks complicated, it is complicated
Design planar wiring– Planarity is the essence of simplicity. It isn’t always possible, but do it where
feasible (and where it doesn’t introduce unacceptable delay)Draw separate wiring plans for power and clocking – These are important design tasks which should be tackled early
D. Markovic / Slide 38
Chip finishing– Pads
● Library components which require careful electrical design.– Package
● Can introduce significant inductance
Lecture 15: Floorplanning | 38EEM216A .:. Fall 2010