+ All Categories
Home > Documents > Chip Floorplanning, Placement &...

Chip Floorplanning, Placement &...

Date post: 06-Feb-2018
Category:
Upload: trinhxuyen
View: 250 times
Download: 2 times
Share this document with a friend
19
EE M216A .:. Fall 2010 Lecture 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 out with increasing details with the design flow. The issue is a chickenandegg 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 | 2 EEM216A .:. Fall 2010
Transcript
Page 1: Chip Floorplanning, Placement & Routingicslwebs.ee.ucla.edu/.../images/9/96/Lec-14_Floorplanning.pdf · 1 EE M216A .:. Fall 2010 Lecture 14 Chip Floorplanning, Placement & Routing

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

Page 2: Chip Floorplanning, Placement & Routingicslwebs.ee.ucla.edu/.../images/9/96/Lec-14_Floorplanning.pdf · 1 EE M216A .:. Fall 2010 Lecture 14 Chip Floorplanning, Placement & Routing

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

Page 3: Chip Floorplanning, Placement & Routingicslwebs.ee.ucla.edu/.../images/9/96/Lec-14_Floorplanning.pdf · 1 EE M216A .:. Fall 2010 Lecture 14 Chip Floorplanning, Placement & Routing

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

Page 4: Chip Floorplanning, Placement & Routingicslwebs.ee.ucla.edu/.../images/9/96/Lec-14_Floorplanning.pdf · 1 EE M216A .:. Fall 2010 Lecture 14 Chip Floorplanning, Placement & Routing

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

Page 5: Chip Floorplanning, Placement & Routingicslwebs.ee.ucla.edu/.../images/9/96/Lec-14_Floorplanning.pdf · 1 EE M216A .:. Fall 2010 Lecture 14 Chip Floorplanning, Placement & Routing

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

Page 6: Chip Floorplanning, Placement & Routingicslwebs.ee.ucla.edu/.../images/9/96/Lec-14_Floorplanning.pdf · 1 EE M216A .:. Fall 2010 Lecture 14 Chip Floorplanning, Placement & Routing

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

Page 7: Chip Floorplanning, Placement & Routingicslwebs.ee.ucla.edu/.../images/9/96/Lec-14_Floorplanning.pdf · 1 EE M216A .:. Fall 2010 Lecture 14 Chip Floorplanning, Placement & Routing

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

Page 8: Chip Floorplanning, Placement & Routingicslwebs.ee.ucla.edu/.../images/9/96/Lec-14_Floorplanning.pdf · 1 EE M216A .:. Fall 2010 Lecture 14 Chip Floorplanning, Placement & Routing

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

Page 9: Chip Floorplanning, Placement & Routingicslwebs.ee.ucla.edu/.../images/9/96/Lec-14_Floorplanning.pdf · 1 EE M216A .:. Fall 2010 Lecture 14 Chip Floorplanning, Placement & Routing

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

Page 10: Chip Floorplanning, Placement & Routingicslwebs.ee.ucla.edu/.../images/9/96/Lec-14_Floorplanning.pdf · 1 EE M216A .:. Fall 2010 Lecture 14 Chip Floorplanning, Placement & Routing

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

Page 11: Chip Floorplanning, Placement & Routingicslwebs.ee.ucla.edu/.../images/9/96/Lec-14_Floorplanning.pdf · 1 EE M216A .:. Fall 2010 Lecture 14 Chip Floorplanning, Placement & Routing

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

Page 12: Chip Floorplanning, Placement & Routingicslwebs.ee.ucla.edu/.../images/9/96/Lec-14_Floorplanning.pdf · 1 EE M216A .:. Fall 2010 Lecture 14 Chip Floorplanning, Placement & Routing

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

Page 13: Chip Floorplanning, Placement & Routingicslwebs.ee.ucla.edu/.../images/9/96/Lec-14_Floorplanning.pdf · 1 EE M216A .:. Fall 2010 Lecture 14 Chip Floorplanning, Placement & Routing

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

Page 14: Chip Floorplanning, Placement & Routingicslwebs.ee.ucla.edu/.../images/9/96/Lec-14_Floorplanning.pdf · 1 EE M216A .:. Fall 2010 Lecture 14 Chip Floorplanning, Placement & Routing

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

Page 15: Chip Floorplanning, Placement & Routingicslwebs.ee.ucla.edu/.../images/9/96/Lec-14_Floorplanning.pdf · 1 EE M216A .:. Fall 2010 Lecture 14 Chip Floorplanning, Placement & Routing

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

Page 16: Chip Floorplanning, Placement & Routingicslwebs.ee.ucla.edu/.../images/9/96/Lec-14_Floorplanning.pdf · 1 EE M216A .:. Fall 2010 Lecture 14 Chip Floorplanning, Placement & Routing

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

Page 17: Chip Floorplanning, Placement & Routingicslwebs.ee.ucla.edu/.../images/9/96/Lec-14_Floorplanning.pdf · 1 EE M216A .:. Fall 2010 Lecture 14 Chip Floorplanning, Placement & Routing

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

Page 18: Chip Floorplanning, Placement & Routingicslwebs.ee.ucla.edu/.../images/9/96/Lec-14_Floorplanning.pdf · 1 EE M216A .:. Fall 2010 Lecture 14 Chip Floorplanning, Placement & Routing

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

Page 19: Chip Floorplanning, Placement & Routingicslwebs.ee.ucla.edu/.../images/9/96/Lec-14_Floorplanning.pdf · 1 EE M216A .:. Fall 2010 Lecture 14 Chip Floorplanning, Placement & Routing

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


Recommended