Title: A SnapOn Placement Tool
1A Snap-OnPlacement Tool
2Introduction
3What does placement mean?
- In the chip design process, after a circuit
designer implements the RTL as a set of
interconnected gates, we go to layout design - placement putting 100s of millions of
transistors in a very small area according to
architectural and electrical specifications(timing
, power, reliability etc.), - routing connecting them.
4What is the goal of placement?
- The goal of placement in VLSI physical design is
to produce a chip layout with optimized area and
routability which also satisfies timing
constraints.
5What are we talking about?
- In this paper I will tell you about a new
placement tool, called snapon, which is based on
multilevel hierarchical placement method. - It has a topdown framework that combines
existing packages and techniques, with some
additional ideas. - Experiments results show the strength of this new
placement tool, it produces very good results on
all the benchmarks.
6The classical problem
- According to what cost function the final
placement will done
7The classical solutions
8The net-cut approach
- Net An electrical connection which connects
several cells(e.g. AND-cell ADDER-cell etc.),
gates or transistors together. - Given a partitioning, a net n is not cut if and
only if all of its terminals are located in the
same part. - The net-cut at a given hierarchical level is
defined as the total number of cut nets.
9Net-cut approach cont.
- In this method, the original circuit is
partitioned into several tightly connected
subcircuits. - The partitioning criteria is minimizing the
net-cut cost. - The final placement will be based on that
partitioning with addition of local placement to
produce a legal layout.
10Wirelength
- In this method the criteria for placement is
minimizing the total wirelength. - In order to prevent all the cells from being
placed in the same place (zero total wirelength),
a balancing constraint is imposed. - Not in the same place
- Enable routability
- Again, some local adjustments will be done to
produce a legal layout.
11Solving techniques
- There are two main techniques to solve
- problems involving cost function such as
- the placement problem
-
- 1)Simulated annealing
- 2)Quadratic programming
12Some mathematical notations
- The placement problem is a combinatorial
optimization problemA problem that involves the
search for a optimum(maximum or minimum) of a
cost function. - The solution space of the placement problem grows
exponentially with the size of the problem(NP
complete). - Hence, this problem is solved approximately by
heuristic algorithmsAlgorithms that makes
compromise trading off low computational cost
for an approximation to the globally optimal
solution.
13Mathematical notations cont.
- Most of the heuristic algorithms are greedy.
- They start searching the solution from an
arbitrary initial solution. - Then, from all the solutions that can be reached
from the current solution, the solution with the
lowest cost will become the current solution, and
so on. - There are two major drawbacks to terminating at
local minimum - 1)There is no way to determine the
solutions proximity to the - global minimum.
- 2)The quality of the result is depend upon
the initial solution.
14Mathematical notations cont.
- To solve this problem we should use hill
climbing. - Randomizing algorithms have this property.
- A randomizing algorithm can accept a neighbor of
the current solution as the next solution,
regardless of its cost, by that we could escape
from terminating at local minimum.
15Simulated annealing
- For a number of problems such as standard-cell
placement, Simulated annealing has proven to be
the best known algorithm in terms of solution
quality (measured by cost function e.g.
wirelength). - The SA algorithm functions like a pure
randomizing algorithm early in the run, slowly
switching over to a pure greedy algorithm by the
end of the run.
16Simulated annealing cont.
- However, the major drawback of the SA paradigm is
its sometimes extremely high computational cost.
17Quadratic programming
- In the quadratic assignment problem we are given
a set of N objects, which have to be placed in N
or more sites. - Each pair of objects has its traffic intensity,
and each pair of sites has its traffic cost (e.g.
distance). - The assignment solution should produce the
minimum total cost.
18Quadratic programming cont.
- In the placement problem we can choose our sites
to be pre-specified locations on our layout area,
our objects to be cells or sub-circuits, our
traffic intensities to be the number of wires
required between components, and our distances to
be the inter-site wire length required. - The quadratic algorithm is a combinatorial
algorithm which uses heuristics, hence its
computational cost isnt high.
19What is a top-down framework?
20Top-down framework
- Since the top-down hierarchical methodology is
one of the most effective way to solve the
placement problem of large circuits, we use it as
the basis for our snap-on placement tool. - Our methodology will be a typical top-down
hierarchical methodology placement approach which
is based on recursive circuit partitioning.
21Top-down framework cont.
- This methodology repeatedly divides a given
circuit into sub circuits to optimize a given
partitioning objective. - At each level, the given layout area is
partitioned in both horizontal and vertical
direction (global bins). - Each subcircuit is assigned to a partition
(global bin). - Recursive partitioning is repeated until each
subcircuit contains a small number of cells.
22- In each hierarchical level i , the placement
-
- problem is to put cells into mini global
- bins while minimizing a certain placement
- cost ( usually the total wirelength ).
23A new snapon placement tool
24Merging existing tools
- What does it mean?
- - At the coarser placement levels, net-cut is
chosen as the optimization objective to rapidly
get an initial placement. -
- - Later on, wirelength becomes the optimization
objective till the end of the global placement
procedure.
25Why should we merge?
- The netcut cost which is used in the
partitioning problem is globally consistent with
the wirelength cost in the placement problem. - The partitioning problem is much easier problem
then the placement problem. A leading partitioner
can be faster than a good placement tool. - Placement experiments showed that minimizing
netcut in each hierarchical level positively
affects the wirelength quality of final solution.
26How do we merge?
- The difference between the netcut and the
wirelength - objective is the cost of external nets. The
more the external - nets, the bigger difference between these two
objectives. - It was empirically found that if more than
20-30 nets are external, net-cut is no longer a
good objective in order to minimize wirelength. - Conclusion
- - At each hierarchical level, we will
decide - whether we should consider wirelength
by - looking at the net-cut ratio at this
level.
27When to stop global placement?
- Overlaps between cells exist in global placement
since all the cells within the same global bin
are initially placed at the bins center. - After global placement, final placement procedure
will be applied - to remove these overlaps and make the
placement legal. - Obviously, the smaller the average number of
cells in each global - bin, the less effort the final placer will
spend, on the other hand, stopping the global
placement too late is not good either. - Experiments shows that appropriate stopping point
is where - Navg is between 3-6.
28SummaryA workflow based on the above
techniques
29The framework of snap-on placement tool
Input circuit
Control Unit
Simulated annealing package
Circuit Placement Databox
Cost Evaluator
Other packages
Output placement
30Control unit workflow
- At the coarser placement level, netcut is chosen
as the optimization objective to rapidly get an
initial placement. We use proven partitioning
software hMetis to minimize netcut. - When the topdown flow reaches a certain level in
which the number of external nets occupies
20-30 of the number of total nets, simulated
annealing begins to minimize wirelength on two
dimensional placement plane.
31Control unit workflow cont.
- This global placement stage ends when the stop
criterion is satisfied, i.e., the average number
of cells per global bin is less than a certain
number. - Finally, the achieved global placement is refined
by the final placer to generate a legal placement
as the ultimate solution.
32Advantages
- The workflow utilizes both netcut and wirelength
minimizing steps. - Partitioning ensures that cells with high
connectivity are put into the same cluster while
annealing drives clusters to their appropriate
locations. -
33Results
34Results
- We use hMetis partitioning package to minimize
netcut and use simulated annealing to minimize
the wirelength in global placement stage. As the
final placer, we use the tool NRG. - Total wirelength(WL) is measured in meters and
running time(Time) in seconds. - We compared the results of this approach with the
stateofart university placement tools,
TimberWolf v7.0 and the best known quadratic
placement .
35Results table
TW 7.0 Quadratic
Ours
36Results cont.
- This new tool produces comparable or better
results than TimberWolf on all of MCNC
benchmarks, it achieves much better wirelength
(23.5) result than TimberWolf v7.0 on benchmark
avql. - Its results are also comparable with one of the
leadingedge quadratic placement tools- Force
Quadratic method, on most of benchmarks, except
avqs on which our approach is inferior.
37What have we learned?
- The placement problem was introduced to you.
- We learned about two different mathematical
techniques to solve this problem Simulated
annealing and Quadratic programming. - We learned about two different optimization
approaches to solve this problem wirelength and
net-cut. - We have learned about a new placement tool which
is based on top down hierarchical workflow and
combines these two approaches to achieve
impressive results.