Title: Mixed-size VLSI Placement
1Mixed-size VLSI Placement
- Igor L. Markov,
- Advanced Computer Architecture Lab
2Outline
- Intro algorithms for chip design
- Large-scale placement in VLSI
- Design objectives (power) and constraints(routabi
lity, delay) - Placement with chunky blocks (memories,
arithmetic circuits, Intellectual Property, etc) - Fixed-outline floorplanning (block-packing)
- Sequence pair representation
- Mixed-size placement
3Intro Algorithms for Chip Design
- Modern hardware cant be designed by hand
- Major problem scale, 108 gates(think of wire
routing for even 10K gates) - Major problem technology considerations
- Scale emphasizes asymptotic complexity of
algorithms - Technology considerations pose new algorithmic
problems - Over 80 of circuit delay is in wires
- Wires are responsible for a large of power
4Large-scale Placement
- Find locations of things
- E.g., logic gates placed in 2d (hundreds of
millions) - Minimize interconnections(communication delays?)
- Total (average)? Max? Other Lp-norms? Overall
performance? - Constraint things have sizes and cannot
overlap - Constraint interconnections must be routable
5VLSI Placement Examples
6Total Dynamic Power Breakdown (Intel Centrino)
Global clock included
Source Intel, Feb 2004
7Impact of Computer-Aided Design
- A single piece of software may improve
delay/power of a chip by over 10 - Such improvements will show in many chips
- Top CAD tools sell for over 100,000/license
- Commercial CAD tools areoften used as black
boxes - Relatively safe to evaluate
- Relatively easy adoption(compare to the recent
Al?Cu change) - Fundamental CAD problems (partitioning
placement, etc) are tech.-independent
8Standard-cell vs. Mixed-size
9Mixed-size Placement
- Reuse of intellectual property in
chipsmacro-gates large rectangular blocks - MPEG decoders
- On-chip memories
- Caches, communication buffers
- Analog components
- On-chip radios, analog-to-digital converters
10System on Chip (SoC) context
- Mixed-signal designs
- Different blocks designed by different companies
- SoC integration
- Hierarchical vs. Flat
- Need for mixed-size,fixed-outline placers
11Standard-cell vs. Mixed-size
12Metrics and Constraints
- Metrics
- Total wirelength (affects power)
- Total placement runtime (turn-around time)
- Constraints
- All rectangles must fit into the placement area
- Rectangles cannot have overlaps
- All wires must be routable
- Additional wish list for algorithms
- Simplicity and predictability
13Cadence-recommended Mixed-size Flow for SEDSM
- SEDSM places blocks at the periphery
- Designer manually removes overlaps
- From now on, blocks are considered fixed
- QPlace is called to place standard-cells
- Otherwise, as our experiments show,
- Handling many large cells is not ideal in QPlace
14SEDSM Output
15Mixed-size Placement Previous Work
- Continuous optimization techniques
- Force directed approaches
- Eisenmann, Johannes, DAC 98 mixed-mode
- Mo et. al, ICCAD 00 macros only congestion
- Are good with a lot of white-space in design
- Otherwise, designer must remove overlaps
- Combinatorial optimization techniques
- Particularly promising on constrained designs
- Nag et. al, DATE 98 macros only
- Adya Markov, ISPD 02 Min-cut Placement
-
Floorplanning - Chang et. al, ASPDAC 03 Multi-level placement
- Madden et. al, ISPD 04 Min-cut placement
-
Post Placement Legalization
16Kraftwerk Force-directed PlacerEisenmann
Johannes, DAC 98
ibm02
ibm03
17CapoParquet Flow Adya Markov, ISPD 02
(Outline)
- Generate initial placement using an
arbitrary, min-WL standard-cell placer - Generate a fixed-outline floorplanning instance
by physical clustering - Remove overlaps and generate valid macro
locations using a fixed-outline floorplanner - Place small cells using standard-cell placer with
macros considered fixed
18High Temperature Annealing
Final Placement
Initial Placement
Floorplanned design
19Low Temperature Annealing Try to maintain
initial macro locations
Final Placement
Initial Placement
Floorplanned design
20Shredding Kraftwerk ECO Legalization
Initial Placement
Final Placement
21mPG (Multi-level placement using SA)Chang et.
al, ASPDAC, 03
22mPG
23FengshuiMadden et. al, ISPD 04
Initial
Legalized
24Our approach Integration of Placement and
Floorplanning
- Min-cut placement techniques
- Scalable can handle large number of objects
- Good at wirelength minimization
- Floorplanning techniques
- Can handle vastly different shapes and sizes of
objects - Not very scalable
- Our approach
- Tight integration of placement and floorplanning
to solve the mixed-size placement problem - Implies solving fixed-outline floorplanning
problem
25Global Placement by Recursive Bisection
etc.
- Our placer (Capo) very fast,typically produces
routable placements,used in commercial CAD tools
26Recursive Bisection Placement Fixed-outline
floorplanning
27Fixed Outline Constraints
- Not an area minimization problem
- Rather a constraint satisfaction problem
?
?
y-span
x-span
28Sequence Pair (SP) Representation
- Proposed by Murata et al. TCAD 97
- Two permutations of N blocks capturegeometric
relations between each pair of blocks - (ltabgt,ltabgt) ? a is to the left of b
- (ltabgt,ltbagt) ? a is above b
- Horizontal (Vertical) constraint graphs
- Edge a?b iff a is to the left of b (a is above b)
- Can compute packed block locationsusing a
two-loop algorithm - O(n2) complexity
- O(n log n) and O(n log log n) algos
Top
A
Right
Left
B
C
ltABC, BACgt
Bottom
29Floorplan Slack
F
D
F
D
E
E
C
C
B
B
ltFEDBCA, ABFECDgt
A
A
ltFEDgt is the LCS
Left Packing
Right Packing
x-slack for block A x(Aright) x(Aleft)
x-Slack Computation
30Example A Slack-based Move
Block with y-slack0
31Objective Functions
- Main framework Simulated Annealing (SA)
- Need an objective
- Classical min-area objective appears inadequate
- Choose one of 3 objective functions
- Min area
- Min ? area ? WL
- Min ? area ? WL ? AR
32Fixed-outline Floorplanningwith Simulated
Annealing
- Find target aspect ratio of fixed outline
- During annealing, track current aspect ratio
- Apply slack-based moves if current aspect ratio
too far from target aspect ratio - (targetAR currAR)/targetAR gt 0.005
- A sample slack-based move
- Find block A with zero slack in one dimension
- Find block B with large slack in other dimension
- Place A close to B
- Different slack-based moves are possible
33Fixed-outline FPer Parquet(based on Simulated
Annealing)
Restart
?
current outline
S.A.
y-violation
S.A.
S.A.
?
x-violation
required outline
34Fixed-Outline FP Results
- Without slack-based moves
- Not able to satisfy fixed-outline constraints (!)
- With slack-based moves
- Fixed-outline success rates for benchmark w 100
blocks
35Global Placement by Recursive Bisection
etc.
36Mixed-size placement flow
- Variables queue of placement blocks
- While (queue not empty)
- Deque a block
- If (block has at least 1 large macro)
- Cluster std-cells into soft clusters
- Use fixedoutline floorplanner to find valid
locations of macros in the block - Fix macros and remove sites underneath the macros
- else if (small enough)
- Process end case
- else
- Bi-partition the block into smaller blocks
- Enque each child block
37Final Output of Placement
38Routed Design
39Results
Kraftwerk
mPG
Fengshui
Capo1
Capo 2
Ckt WL Time WL Time WL Time WL Time WL Time
01 3.01 2m 3.01 9m 2.41 3m 2.92 5m 2.96 1.8m
02 7.58 9m 7.42 18m 5.34 5m 6.5 11m 5.93 4.6m
10 51.5 35m 43.6 86m 37.4 22m 47.5 68m 37.4 51m
15 73.7 93m 65.5 192m 52.4 87m 66.8 122m 61.1 56m
18 54.9 110m 50.7 220m 45.5 114m 57.2 158m 50.9 44m
40Summary
- Mixed-size placement is a major open problem in
VLSI placement - Our main contribution is a set of methods that
ensure non-overlapping placements - Typically routable too
- Based on block-packing
- Our algorithms are fast
- There is clearly room for improvement
- Can techniques from AI search be useful?
41Results