ASIC Design - Physical Design
ASIC Design - Physical Design
PARTITIONING, FLOOR
PLANNING AND ROUTING
Prabhavathi P,
Associate Professor, Department of ECE, BNMIT
Outline
Physical Design
CAD Tools
Methods and Algorithms
Timing-driven floor-planning and placement
design flow
System Partitioning
Floor - planning
Placement
Routing
ASIC Design – Physical design 212/13/2013
Physical design
3
System partitioning:
Goal: Partition a system into a number of ASICs.
Objective: Minimize the number of external
connections between the ASICs, keep each ASIC
smaller than a maximum size.
Floor-planning:
Goal: Calculate the sizes of all the blocks and assign
them locations.
Objective: Keep the highly connected blocks
physically close to each other.
Placement:
Goal: Assign the interconnect areas and the location of
all the logic cells within the flexible blocks.
Objective: Minimize the ASIC area and the
interconnect density.
Global routing:
Goal:Determine the location of all the interconnect.
Objective: Minimize the total interconnect area used.
Detailed routing:
Goal: Completely route all the interconnect on the
chip.
Objective: Minimize the total interconnect length used.
Initial floor-plan
Timing-driven placement
Detailed placement
Design entry:
The input is a logical description with no physical
information.
Synthesis:
The initial synthesis contains little or no information on any
interconnect loading.
The output of the synthesis tool (EDIF net-list) is the input
to the floor-planner.
Initial floor-plan:
From the initial floor-plan inter-block capacitances are
input to the synthesis tool as load constraints and intra-
block capacitances are input as wire-load tables.
Introduction
Measuring Connectivity
A Simple Partitioning Example
Partitioning Methods
Constructive Partitioning
Iterative Partitioning Improvement
The Kernighan Lin Algorithm
The Fiduccia Mattheyses Algorithm
The Ratio-Cut Algorithm
The Look-ahead Algorithm
Simulated Annealing
Add the logic cell with the highest gain g(m) to the current
partition.
Repeat the process from step 2. If you reach the limit of
logic cells in a partition, start again at step 1.
We may choose different gain functions according to
our objectives (but we have to be careful to distinguish
between connections and nets).
The algorithm starts with the choice of a seed logic cell
(seed module, or just seed).
The logic cell with the most nets is a good choice as
the seed logic cell.
ASIC Design – Physical design 12/13/2013
36
To get from the solution shown in part (c) to the solution of part (b),
which has a minimum number of external connections, requires a
complicated swap.
The three pairs: D and F, J and K, C and L need to be swapped all at
the same time.
It would take a very long time to consider all possible swaps of this
complexity.
A simple interchange algorithm considers only one change and
rejects it immediately if it is not an improvement.
Algorithms of this type are greedy algorithms in the sense that they
will accept a move only if it provides immediate benefit.
Such short sightedness leads an algorithm to a local minimum from
which it cannot escape.