Asic Floorplaning
Asic Floorplaning
Floorplanning
1
Concept MAP
2
ASIC Design Process
4
• T he s t a rt ing p i n t of floorplaning and
t h e vit e r b i de co d e r
placement steps for
•-collection of standard cells with no room set aside ye1t58for
routing.
The starting point of floorplaning and
placement steps for the viterbi decoder
• Small boxes that look like bricks - outlines of the standard cells.
• Large box surrounding all the logic cells - estimated chip size.
6
The viterbi decoder after floorplanning and
placement
7
The viterbi decoder after floorplanning
and placement
8
Floorplanning Goals and Objectives
• The input to a floorplanning tool is a hierarchical netlist that describes
– the interconnection of the blocks (RAM, ROM, ALU, cache controller, and so on)
– the logic cells (NAND, NOR, D flip-flop, and so on) within the blocks
– the logic cell connectors (terminals , pins , or ports)
Objectives of Floorplanning –
To minimize the chip
area To minimize delay.
Measuring area is straightforward, but measuring delay is more
Measurement of Delay in Floor planning
11
Measurement of Delay in Floor planning
(contd.,)
• A floorplanning tool can use predicted-capacitance tables (also
known as interconnect-load tables or wire-load tables ).
• Typically between 60 and 70 percent of nets have a FO = 1.
12
Measurement of Delay in Floor planning
(contd.,)
• We often see a twin-peaked distribution at the chip level also,
corresponding to separate distributions for interblock routing (inside
blocks) and intrablock routing (between blocks).
• The distributions for FO > 1 are more symmetrical and flatter than for
FO = 1.
• The wire-load tables can only contain one number, for example the
average net capacitance, for any one distribution.
• Many tools take a worst-case approach and use the 80- or 90-percentile
point instead of the average. Thus a tool may use a predicted
capacitance for which we know 90 percent of the nets will have less
166
than the estimated capacitance.
Measurement of Delay in Floor planning
(contd.,)
• Repeat the statistical analysis for blocks with different sizes.
14
15
Floorplanning - Optimization
Optimize Performance
• Chip area.
• Total wire length.
• Critical path delay.
• Routability.
• Others, e.g. noise, heat dissipation.
Cost = αA + βL,
Where
A = total area,
L = total wire length,
α and β constants.
16
Floorplanning
Area
•Deadspace
• Fixed blocks:
– The dimensions and connector locations of the other fixed blocks (perhaps RAM, ROM,
compiled cells, or megacells) can only be modified when they are created.
• Seeding:
– Force logic cells to be in selected flexible blocks by seeding . We choose seed cells by name.
– Seeding may be hard or soft.
• Hard seed - fixed and not allowed to move during the remaining floor
planning and placement steps.
• Soft seed - an initial suggestion only and can be altered if necessary by the
floor planner.
No Bounds
•Block 4
•Block 3
•Block 2
•Block 1
• NOT
GOOD!!
With Bounds
lower bound ≤ height/width ≤ upper bound
•Soft Blocks
• Flexible shape
• I/O positions not yet determined
•Hard Blocks
• Fixed shape
• Fixed I/O pin positions 172
Sizing
example*
173
Floorplanning Tools
174
•Aspect ratio and Congestion
Analysis
• Defining the channel routing order for a slicing floorplan using a slicing tree.
• (a) Make a cut all the way across the chip between circuit blocks. Continue slicing until
each piece contains just one circuit block. Each cut divides a piece into two without cutting
through a circuit block.
• (b) A sequence of cuts: 1, 2, 3, and 4 that successively slices the chip until only circuit
blocks are left.
• (c) The slicing tree corresponding to the sequence of cuts gives the order in which to route
the channels: 4, 3, 2, and finally 1.
24
Slicing Floorplan and General Floorplan
•Slicing floorplan •v
•5 •h •h
•1 •3
•1 •2 •v •v
•6
•3 •h •4 •7
•2
•4 •7 •5 •6
•Slicing
Tree
•non-slicing floorplan
25
Area Utilization
• Area utilization
– Depends on how nicely the rigid modules’ shapes are
matched
– Soft modules can take different shapes to “fill in”
empty slots
– Floorplan sizing
•m
• m3
•1 •3 • m1 • m1
•2 32 • m1
• m2
• m4
•m
•4
4
• m7
•m
• m7
• m6
•7 •6
•5 • m7 6• m5 m7
•m • m5
• m
7 1979 = 38
•Area = 20x22 = 440•Area = 20x1
Slicing Floorplan Sizing
• Bottom-up process
– Has to be done per floorplan perturbation
– Requires O(n) time (N is the # of shapes of all
modules)•V •H
•L •R •T •B
•yj •max(bi, y ) •b
•b i• i •b + y
i•ai •x j i j
j
•a + x a •x •yj
i j j
•max(a , x ) 180
i j
Slicing Floorplan Sizing
• Simple case: all modules are hard macros
– No rotation allowed, one shape only
•3
•1 •2
•4 •1234567
•17x16
•7 •6 •5
•167 •2345
•9x15 •8x16
•m3 •m4
•8x8 •7x5
•m6
•6 •7 •2 •34
m
• •m5 •4x11
•4x7 •5x4 •4x8
7 •3 •
1
•3x6 •4x5
•Slicing Floorplan Sizing
General case: all modules are soft macros
❖ Stockmeyer’s work (1983) for optimal module orientation
❖ Non-slicing = NP complete
❖ Slicing = polynomial time solvable with dynamic programming
Phase 1: bottom-up
❖ Input: floorplan tree, modules shapes
❖ Start with sorted shapes lists of modules
❖ Perform Vertical_Node_Sizing & Horizontal_Node_Sizing
❖ When get to the root node, we have a list of shapes. Select the one
that is best in terms of area
Phase 2: top-down
❖ Traverse the floorplan tree and set module locations
182
Sizing Example
•A •B •a1 •a2 •a3
•b1 •b1
•b1 •b1 •a3
•a1 •a2
•2x7 •6x7 •7x7 •8x7
• Cyclic constraints.
• (a) A nonslicing floorplan with a cyclic constraint that prevents channel routing.
(b) In this case it is difficult to find a slicing floorplan without increasing the chip
area.
• (c) This floorplan may be sliced (with initial cuts 1 or 2) and has no cyclic
constraints, but it is inefficient in area use and will be very difficult to route.
31
Cyclic Constraints
•
•(a) We can eliminate the cyclic constraint by merging the blocks A and
C.
•(b) A slicing structure.
32
I/O and Power Planning (contd.,)
• Every chip communicates with the outside world.
• Signals flow onto and off the chip and we need to supply
power.
• FIGURE 16.12 Pad-limited and core-limited die. (a) A pad-limited die. The
number of pads determines the die size. (b) A core-limited die: The core logic
determines the die size. (c) Using both pad-limited pads and core-limited pads for a
square die.
35
I/O and Power Planning (contd.,)
• Special power pads are used for:1. positive supply, or VDD, power buses
(or power rails ) and
2. ground or negative supply, VSS or GND.
– one set of VDD/VSS pads supplies power to the I/O pads only.
– Another set of VDD/VSS pads connects to a second power ring that supplies the logic core.
• I/O pads also contain special circuits to protect against electrostatic discharge
( ESD ).
– These circuits can withstand very short high-voltage (several kilovolt) pulses that can be
generated during human or machine handling.
36
I/O and Power Planning (contd.,)
• If we make an electrical connection between the substrate and a chip pad, or to a
package pin, it must be to VDD ( n -type substrate) or VSS ( p -type substrate). This
substrate connection (for the whole chip) employs a down bond (or drop bond) to the
carrier. We have several options:
We can dedicate one (or more) chip pad(s) to down bond to the chip carrier.
We can make a connection from a chip pad to the lead frame and down bond
from the chip pad to the chip carrier.
We can make a connection from a chip pad to the lead frame and down bond from
the lead frame.
We can down bond from the lead frame without using a chip pad.
• Depending on the package design, the type and positioning of down bonds may be fixed.
This means we need to fix the position of the chip pad for down bonding using a pad
seed
37
I/O and Power Planning (contd.,)
• A double bond connects two pads to one chip-carrier finger and one package
pin. We can do this to save package pins or reduce the series inductance of
bond wires (typically a few nanohenries) by parallel connection of the pads.
– The output pads can easily consume most of the power on a CMOS ASIC, because the load on
a pad (usually tens of picofarads) is much larger than typical on-chip capacitive loads.
– Depending on the technology it may be necessary to provide dedicated VDD and VSS pads
for every few SSOs. Design rules set how many SSOs can be used per VDD/VSS pad pair. These
dedicated VDD/VSS pads must “follow” groups of output pads as they are seeded or planned
on the floorplan.
38
I/O and Power Planning (contd.,)
• Using a pad mapping, we translate the logical pad in a netlist to a physical
pad from a pad library. We might control pad seeding and mapping in the
floorplanner.
• In single-supply chips we have one VDD net and one VSS net, both
global power nets . It is also possible to use mixed power supplies
(for example, 3.3 V and 5 V) or multiple power supplies ( digital VDD,
analog VDD). 39
I/O and Power Planning (contd.,)
• FIGURE 16.13 Bonding pads. (a) This chip uses both pad-limited and core-limited pads. (b) A
hybrid corner pad. (c) A chip with stagger-bonded pads. (d) An area-bump bonded chip (or flip-chip).
The chip
turned is
upside down and solder bumps connect the pads to the lead 193
frame
I/O and Power Planning (contd.,)
• stagger-bond arrangement using two rows of I/O pads.
– In this case the design rules for bond wires (the spacing and the angle at which the
bond wires leave the pads) become very important.
– Even though the bonding pads are located in the center of the chip, the I/O circuits
are still often located at the edges of the chip because of difficulties in power
supply distribution and integrating I/O circuits together with logic in the center of
the die.
• Some automatic routers may require that metal lines parallel to a channel
spine use a preferred layer (either m1, m2, or m3). Alternatively we say that
a particular metal layer runs in a preferred direction .
196
I/O and Power Planning (contd.,)
•FIGURE 16.15 Power distribution. (a) Power distributed using m1 for VSS and m2 for VDD. This
helps
minimize the number of vias and layer crossings needed but causes problems in the routing channels.
(b) In this floorplan m1 is run parallel to the longest side of all channels, the channel spine. This can
make automatic routing easier but may increase the number of vias and layer crossings. (c) An
expanded view of part of a channel (interconnect is shown as lines). If power runs on different layers
along the spine of a channel, this forces signals to change layers. (d) A closeup of VDD and VSS
Power distribution.
• (a) Power distributed using m1 for VSS and m2 for VDD.
– This helps minimize the number of vias and layer crossings needed
– but causes problems in the routing channels.
• (d) A closeup of VDD and VSS buses as they cross. Changing layers
requires a large number of via contacts to reduce resistance.
45
Clock Planning
• clock spine routing scheme with all clock pins driven directly from the clock
driver. MGAs and FPGAs often use this fish bone type of clock distribution
scheme
• clock skew and clock
•FIGURE 16.16 Clock distribution.
latency
•(a) A clock spine for a gate array.
• (b) A clock spine for a cell-based ASIC
(typical chips have thousands of clock
nets).
• (c) A clock spine is usually driven
from one or more clock-driver cells.
Delay in the driver cell is a function of
the number of stages and the ratio of
output to input capacitance for each
stage (taper).
• (d) Clock latency and clock skew. We
would like to minimize both latency and
skew.
46
Clock Planning (cont.,)
• FIGURE 16.17 A clock tree. (a) Minimum delay is achieved when the taper of
successive stages is about 3. (b) Using a fanout of three at successive nodes.
(c) A clock tree for the cell-based ASIC of Figure 16.16 b. We have to balance
the clock arrival times at all of the leaf nodes to minimize clock skew.
47