Professional Documents
Culture Documents
Vlsi Physical Design
Vlsi Physical Design
Physical design
(back-end)
1
Today’s Topics
• Introduction
• Partitioning
• Floorplanning
• Placement
• Routing
2
Intro. - Physical design
3
Intro.- History
In the beginning…
Front-end Back-end
Team Team
4
Intro.- History
5
Partitioning
Goals
• Divide circuit/system into smaller subcircuits/subsystems,
called blocks.
– Speeds up design process
– Can be designed independently
– Original system functionality remains intact
– Simplifies routing task
– May degrade performance
Objectives
• Minimize Interconnections Between Blocks (mincut problem)
• Minimize delay due to partitioning.
Constraints
• Area (not so important on chip level)
• Number of terminals (depends on area)
• Number of blocks (depends on capacity of placement algorithm) 6
Partitioning
Partitioning Algorithms
7
Partitioning
1 5 1 8
2 6
2 6 3 7
3 7
4 8 5 4
8
Partitioning
Goals
• Assign shape and location of blocks.
• Decide location of I/O pads.
• Decide location and number of power pads.
• Decide type of power distribution.
• Decide location and type of clock distribution.
Objectives
• Keep highly connected blocks physically close to each other.
• Minimize chip area.
• Minimize delay.
10
Floorplanning
Input Output
Set of blocks.
Area estimation.
Shapes (Area & Aspect Ratio)
Possible block shapes. and locations of blocks.
Number of terminals.
Netlist.
11
Floorplanning
Block 1
NOT GOOD!!
With Bounds
lower bound ≤ height/width ≤ upper bound
Soft Blocks
Hard Blocks
12
Floorplanning
Design Styles
Full Custom
• Floorplanning is needed.
Standard Cell
• Fixed cell dimensions. Floorplanning translates into a placement problem.
• Floorplanning may be required for large cells if they are partitioned into
several blocks.
Gate Array
• Placement problem.
13
Floorplanning
Optimize Performance
• Chip area.
• Total wire length.
• Critical path delay.
• Routability.
• Others, e.g. noise, heat dissipation.
14
Floorplanning
Area
Deadspace
15
Floorplanning
Floorplanning methods
• Constraint Based.
• Linear Programming.
– Mixed Integer Linear Programming (MILP) -> NP-complete.
• Rectangular Dualization Based.
• Hierarchical Tree Based.
• Simulated Annealing and Evolution Algorithms.
• Timing Driven.
16
Floorplanning
V
7 5 4
V H
6 H H 3 4
2
1 3 H 7 2 5
1 6
E = 16H7H25HV34HV
17
Floorplanning
cost = αA + βL
1 1 1 1
M1 M3 M2
2 4 5 4 5
5 => 5 => 3 2 =>
3 4 3 2 4 3 2
18
Placement
Goals
• Arrange all logic cells within the flexible blocks.
Objectives (Ideally)
• Guarantee the router can complete the routing step.
• Minimize all critical net delays.
• Make chip as dense as possible.
• Minimize power dissipation.
• Minimize cross talk between signals.
19
Placement
Objectives (Compromised)
• Minimize total estimated interconnect length.
• Meet timing requirements for critical nets.
• Minimize interconnect congestion.
Problems
• No point in minimizing the interconnect length if we create a
placement that is too congested to route!
• Trying to minimize both interconnect congestion and interconnect
length may result in long interconnection delays between some
logic cells.
20
Placement
Placements Algorithms
• Constructive Placement
– Uses a set of rules to create a constructed placement
• Interative Placement
– Take an existing placement and improve it for each iteration
Routing is Types
• to connecting pins with wires • Maze routing
• a NP-hard problem • Channel routing
• Switchbox routing
Obstructions
• Areas that can only be crossed on a certain layer.
Obstacles
• Areas that can’t be crossed on any layer, have to route around.
Channel
• Rectangular area with connection points on two sides. Channel
Switchbox
• Area with connection points on four sides.
Switchbox
23
Routing
24
Routing
25
Questions?
?
26