Physical Design: Methodologies and Developments: Abhay Chopde, and Atharva M. Kulkarni
Physical Design: Methodologies and Developments: Abhay Chopde, and Atharva M. Kulkarni
Abstract—The design and production of VLSI chips is a chips showing desired characteristics, applications, processing
multilevel heirarchical process. As the demand for reduced die- parameters and portability.
area and technology nodes becomes prevalent, it gets increasingly Physical Design is the process of translating the gate-level
challenging to optimize Power, Performance and Area (PPA)
parameters to accommodate for the ever-increasing core logic RTL logical functionality of a design (.vg) into a physical
on a chip. A well defined heirarchical flow is thus quintessential geometricized form (GDSII) which can be taped-out for pro-
arXiv:2409.04726v1 [eess.SY] 7 Sep 2024
• Sequence Pair
• Bounded Slicing Grid (BSG)
C. Floor Planning • TCG
• O-Tree
As the name suggests Floor Planning helps create a skeletal
The O-Tree algorithm is one of the least computationally
level framework for spatial locations of standard cells, macros,
expensive algorithms with a complexity of O(n). It is
analog IPs and all other blocks on a circuit. The goal is to
a local-search algorithms and hence deterministic by
optimize design layout on the given die area while keeping
nature. Being deterministic means that this algorithm will
close tabs on probable congestion and density violations.
try to optimize the layout on the basis of immediate short
Typically floor planning is done to make the layout compact
term solutions in contrast to a few greedy algorithms
wherein logically connected instances are placed in close
which are a bit more experimental in their approach and
proximity to each other as well as everything else. This is
tend to be better at optimizing. Despite being one of the
done to make effective use of the routing resources available.
most computationally efficient algorithm, O-Tree based
approach may not always find the best possible solution
owing to its deterministic nature. A research done in
2005 by Maolin Tang and Alvin Sebastian addresses
this very issue and proposes a more greedy Genetic
Algorithm (GA) to optimize Floor Plan based on O-Tree
representation.[19]
• B* Tree
Similar to O-Tree, the B* algorithm showcases a compu-
tational complexity of O(n). It is widely regarded as one
of the most efficient and flexible Floor Plan notations to
optimize upon. It makes use of ordered weighted binary
tree, the root of which is located at the bottom left corner
Fig. 3. Example of efficient floor plan of the placement area at the coordinate (0,0).Once the
root is fixed, the rest of the tree is built recursively, first
Goals for Floor Planning: populating the left branch and then the right.
• Minimize the total chip area and dead space .
• Minimize total wire length Optimization
• Minimize Interconnection complexity Once the initial Floorplan notation is decided upon, then
• Improve the performance by minimize delay begins the process of optimizing the layout to have the smallest
Naushad Manzoor Laskar et al. have documented a compre- area with the most optimum core utilization. [18]
hensive study of all the prominent Floorplan Representations • Simulated Annealing
and the means of achieving them in their 2015 publication ti- Simulated Annealing is the oldest Floorplanning algo-
tled ”A Survey on VLSI Floorplanning: Its Representation and rithm and has been extensively used over the years. It
Modern Approaches of Optimization”. This detailed research can be used effectively with slicing as well as compacted
covers all aspects of floorplan and floorplanning algorithms notations like Polish, B*Tree etc. This algorithm can
starting with all different ways of denoting a floorplan.[18] converge to a fairly optimal solution but is irregular
Different ways of representing a floor plan are as follows: in doing so. In modern day, this algorithm is used as
a preliminary benchmark for researchers to test newer to avoid wastage of die area. Core area utilization should also
algorithms on.[18] be taken into account while define floor plan. Most industries
• Genetic Algorithm target 60-70% initial core utilization to generate margin for
Soon after the success of Simulated Annealing algorithm, timing optimization at a later stage. A compact floor plan
the Genetic Algorithm (GA) was developed. GA opti- presents a few advantages related to speed of operation of
mization begins with arbitrary placement of blocks on the chip, reason being, the more compact our design, closer
the pre-defined die area. The Cost Function of this initial will be the placement of on-chip components, lesser will be
floorplan is calculated using some distance metrics. Then the routing resources used, lesser will be the interconnect
any two of the blocks are spatially swapped and a new length and subsequent net delay, thereby reducing net latency
revised cost function is deduced. This is then compared and increasing the speed of operations. This gives rise to an
with the initial value and a decision is made whether the active trade-off between speed of design and resulting routing
swapping has affected the layout positively or adversely. congestion.
This process is recursively carried out until the most Common steps panning the Floor Plan stage include:
optimum value is obtained for the cost function.[18] • Partitioning
• Partical Swarm Optimization (PSO) • Defining Block Dimensions
In PSO, each block is treated as an individual entity • Pin Placement
with the same weight. The premise of this algorithm • Adding Decap, Tap and End Cap cells
is to spatially change the position of these individual
blocks so as each block determines its own best position
with respect to its nearest neighbours in the design. A
research published in 2019 by S.B.Vinay Kumar et al.
proposed an Adaptive PSO model which tunes the PSO
model further by adding a weight factor to the block. All
blocks are defined weight values at the initial stage. Over
successive iterations as the block gets closer and closer to
determining its optimum posititon, its weight and hence
priority for optimization keeps on reducing. So all blocks
will start with a high inertia value and end at a smaller
value towards the completion of the optimization process.
Such an adaptive architecture is more likely to give better
results than GA and traditional PSO models, as claimed
by the study.[20]
Fig. 5. Adding Decap cells
As all the above discussed algorithms point out, optimization
is a recursive process and hence may take up a lot of time • Macro Placement
to converge on an optimal floorplan. To reduce the time • Adding Routing and Placement blockages
taken by traditional floorplan algorithms, Yanling Zhou et al. • Adding IO buffers
have proposed a quicker floorplanning method which involves
breaking the full initial netlist into smaller parts and carrying D. Power Planning
out floorplanning for each individual sub-netlist in a parallel Power Planning is the process involving power grid creation
threaded manner thereby saving time on converging to the to facilitate equal distribution of energy to all parts of the
optimal floorplan.[21] design.
As discussed earlier, floor plan lays out a framework for What creates the Power Grid? There are 3 levels of power
the physical design to be built upon. While the process of distribution involved:
defining a floor plan may be entirely different for designs 1. Rings: Carries VDD and VSS around the chip
with different level of heirarchies, there are a few common 2. Stripes: Carry VDD and VSS from the Rings around the
fields to be defined to ensure an efficient design layout. To chip
begin with, floor plan defines the block dimensions thereby 3. Rails: Connect VDD and VSS from chip level to standard
setting the die area. To make optimum use of this die area, cell level
it is critical to identify all the logic, IPs, macros, I/Os Steps involved in this stage:
and memories which need to be placed in the design. For • Width, pitch and offset dimensions of power stripes wrt
placement of all the aforementioned components, floor plan each metal layer in accordance with provided metal stack.
should take into account the possibility of cell density issues • Block and I/O Power connection at top level using power
or routing congestion that may arise owing to poor or incorrect rings, bumps and stripes.
placement. The designer should also aim to make the layout • PG connection at standard cell and block level via power
compact so as to use routing resources efficiently as well as rails.
• Add a current source to each cell of the mesh, to compute
the magnitude of switching current originating from that
cell.
• The RC parasitic and switching current information thus
obtained is used to calculate dynamic power dissipation
for the schematic.
• If the Power dissipation numbers are below a pre-defined
threshold, we can realize the schematic grid using VDD
and VSS stripes.