Module 2 Notes Advanced Vlsi
Module 2 Notes Advanced Vlsi
Goals and objectives, Measurement of delay in Floor planning, Floor planning tools, Channel definition,
I/O and Power planning and Clock planning. Placement: Goals and Objectives, Min-cut Placement
algorithm, Iterative Placement Improvement, Time driven placement methods, Physical Design Flow.
Routing: Global Routing: Goals and objectives, Global Routing Methods, Global routing between blocks,
Back annotation.
Text Book 1
Floor planning
In VLSI, Floor planning is the first step in the physical design process. It involves determining the
size, shape, and location of modules in a chip to optimize a cost metric, such as wire length, chip
area, or wire congestion. Floor planning allows to predict this interconnect delay by estimating
interconnect length
As feature sizes decrease, both average interconnect delay and average gate delay decrease but
at different rates. This is because interconnect capacitance tends to a limit of about 2pF/cm for
a minimum width wire while gate delay continues to decrease. Floor planning allows us to
predict this interconnect delay by estimating interconnect length.
The input to a Floor planning tool is a hierarchical netlist that describes the interconnection of
the blocks such as ROM,RAM,ALU, cache, controller so on.
minimize delay
In floor-planning we need to predict the interconnect delay before we complete any routing.
To predict delay we need to know the parasitics associated with interconnect: the interconnect
capacitance as well as the interconnect resistance.
We cannot predict the resistance of the various pieces of the interconnect path since we do not
yet know the shape of the interconnect for a net. However, we can estimate the total length of
the interconnect and thus estimate the total capacitance. We estimate interconnect length by
collecting statistics from previously routed chips and analyzing the results. From these statistics
we create tables that predict the interconnect capacitance as a function of net fan-out and block
size. A floor-planning tool can then use these predicted-capacitance tables to estimate
interconnect capacitance as a function of net fan-out and block size.
Interconnect lengths is a function of fanout (FO) and circuit-block size. Which is as shown in
figure(a). Wire-load table can also be used to predict the net capacitance.
Figure(c) shows that the wire-load table predicts the capacitance of a net with considerable
error. The net A and net B both have a fan-out of 1 and both have the same predicted net delay,
but net B in fact has a much greater delay than the net A in the actual layout.
The distribution for FO>1 are more symmetrical and flatter than for FO=1.
We need to repeat the statistical analysis for blocks with different sizes. For example, a net with
a FO=1 in a 25K-gate block will have a different average length than if the net were in a 5K-gate
block.
The wire-load table shows the estimated metal interconnect lengths for different fanout and
different die size.
we usually do not decrease chip size as we scale down feature size, the worst case interconnect
delay increases. The worst-case delay of 0.25um process may be worse than a 0.35 um process.
The wire-load table shows the estimated metal interconnect lengths for different fanout and
different die size.
we usually do not decrease chip size as we scale down feature size, the worst case interconnect
delay increases. The worst-case delay of 0.25um process may be worse than a 0.35 um process.
Floor planning Tool:
Figure (a) shows the initial floorplan generated by the Floor planning tool. Blocks A and C are
standard cell areas which are flexible blocks which contain rows of standard cells. Although their
total area is fixed, their shape and connector location may be adjusted during the placement
step. But, the dimensions and connector locations of the fixed blocks can only be modified when
they are created. A popup window shows the status of block A.
Seeding: We may force logic cells to be in selected flexible blocks is called seeding. Seed cells
are selected by name. For example, ram_control* would select all logic cells whose name
started with ram_control to be placed in one flexible block.
Hard seed: A hard seed is fixed and not allowed to move during the remaining Floor planning
and placement step.
Soft seed: It is an initial suggestion only can be altered if necessary by the floorplanner.
Seed connectors: They are used within flexible blocks forcing certain nets to appear in a
specified order at the boundary of a flexible block.
The floorplanner can complete an estimated placement to determine the positions of connector
at the boundaries of the flexible blocks.
Figure(b) illustrates a rat’s nest display of the connections between blocks.Connections are
shown as bundles between the centres of blocks
Figure (c) and (d) show how we can move the blocks in a Floor planning tool to minimize routing
congestion.
Congestion Analysis:
To fit the IC into the die cavity inside the package, it is required to control the aspect ratio of the
floorplan.
Figure (a) to (c) show how we can rearrange the chip to achieve a square aspect ratio.
Channel capacity: The number of interconnects that can be handled by the chip
Channel density: The number of interconnects that we actually need, called the channel density
A measure of congestion is the difference between the channel capacity and channel density.
Figure(a) shows the initial floorplan with a 2: 1.5 die aspect ratio. In figure(b)floorplan is altered
to give a 1:1 chip aspect ratio. In figure (c), blocks A and C have been placed so that we know the
terminal positions in the channels. Shading indicates the ratio of channel density to the channel
capacity. Dark areas show regions that cannot be routed because the channel congestion
exceeds the estimated capacity.
Channel Definition
During the Floor planning step we assign the areas between blocks that are to be used for
interconnect. This process is known as Channel definition or channel allocation.
Slicing Floorplan
Below figure shows a floorplan of a chip containing several blocks. Suppose we cut along the
block boundaries, the chip gets sliced into two pieces. Cut line one makes the chip in to two
blocks.
Then suppose we can slice each of these pieces into two. If we can continue in this fashion until
all the blocks are separated, then we have a sliced floorplan as shown in below figure(b). A
sequence of cuts 1,2,3 and 4 successively slices the chip until only circuit blocks are left.
Figure(c) shows how the sequence we use to slice the chip define a hierarchy of the blocks.
Reversing the slicing order ensures that we route the stems of all the channel T-junction first.
The figure (c) shows that the slicing tree corresponding to the sequence of cuts gives the order
in which to route the channels: 4,3,2 and finally 1.
Cyclic constraint: Some floorplans are not a slicing or sliceable structures. We can not cut the
chip all the way across with a knife without chopping a circuit block in two. This means we
cannot route any of the channels in this floorplan without routing all of the other channels first.
Then we say there is a cyclic constraint in the floorplan
2. Allow the use of L-shaped, rather than rectangular channels. We need an area-based
router rather than a channel router to route L-shaped regions or switch boxes.
Moving the blocks is not a good solution for cyclic constraint problem. Because it increases the
chip size. Figure (a) shows the floorplan of ASIC(example). So, an alternate solution of merging
the flexible standard cell areas A and C is shown in figure (b). We can do this by selective
flattening of the netlist
Special power pads are used for VDD, GND and power buses. One set of power pads supplies
power to the I/O pads and another set of power pads supply power to the logic core.
I/O pads also contain special circuits to protect against ESD.
A multiple signal pads are used to serve special purposes like to connect to an external crystal,
clocks etc.
In below figure, figure(a) shows the chip uses both pad-limited and core limited pads. Figure(b)
shows south-east corner of the chip. Core VDD/VSS and VDD/VSS pad rings are shown below.
I/O cells and pads in MGA
In an MGA the pad spacing and I/O cell spacing is fixed. Each pad occupies a fixed pad slot. This
means that the properties of the pad I/O are also fixed out. If required, we can parallel adjacent
output cells to increase the drive. To increase the drive strength, we can parallel adjacent
output cells. For example, three 4mA driver cells can occupy two pad slots. Then we can use
two 4mA output cells in parallel to drive the pad. Forming an 8mA output pad as shown in
below figure.
Force-Directed placement:
Here, the number of springs is equal to the number of connections between logic cells.
Imagine identical springs connecting all the logic cells we wish to place. The more highly
connected the logic cells, the stronger the pull of the springs. A network with 9 logic
blocks and its grid are shown in figure (a) and (b) respectively. Forces are calculated as if
springs were attached to the centers of each logic cell for each connection. The two nets
connecting logic cells A and I correspond to two spring. (shown in figure (c). The forces
are proportional to the spring extensions.
One of the objective of placement is minimizing delay. There are 2 approaches: net
based and path based.
Net based algorithm: The net weight is the number of times each net appears in critical
net list. The problem with this approach is that as soon as we fix the first 100 critical
nets, suddenly another 200 become critical.
Another method to find the net weights uses the zero-slack algorithm. Below figure
shows how this works. Figure (a) shows a circuit with primary inputs at which we know
the arrival times of each signal. We also know the required times for the primary
outputs. We can work forward from the primary inputs and backward from the primary
outputs to determine arrival and required times at each input pin for each net. The
difference between the required and arrival times at each input pin is the slack time.
The zero-slack alogorithm adds delay to each net until all the slacks are zero as shown in
figure (b). The net delays can then be converted to weights in the placement.
Path based algorithm: With the zero-slack algorithm we simplify but over-constrain the
problem. So, we would like to do is deal with paths such as the critical path as shown in
figure (a) above and not just nets. So, path-based algorithms have been proposed to do
this, but they are complex.
Physical Design Flow
The physical design flow in VLSI is a process that converts a design into a layout that can
be used to create a chip.
Below figure shows a design flow using synthesis and floorplanning tool that includes
placement. The flow consists of the following steps.
1. Design entry: The input is a logical description with no physical information.
2. Initial synthesis. The initial synthesis contains little or no information on any
interconnect loading. The output of the synthesis tool (typically an EDIF
netlist) is the input to the floorplanner
3. Initial floorplan. From the initial floorplan interblock capacitances are input
to the synthesis tool as load constraints and intrablock capacitances are input
as wire-load tables.
4. Synthesis with load constraints. At this point the synthesis tool is able to
resynthesize the logic based on estimates of the interconnect capacitance
each gate is driving. The synthesis tool produces a forward annotation file to
constrain path delays in the placement step.
5. Timing-driven placement. After placement using constraints from the
synthesis tool, the location of every logic cell on the chip is fixed and accurate
estimates of interconnect delay can be passed back to the synthesis tool.
6. Synthesis with in-place optimization (IPO). The synthesis tool changes the drive
strength of gates based on the accurate interconnect delay estimates from the
floorplanner without altering the netlist structure.
7. Detailed placement. The placement information is ready to be input to the routing
step.