SlideShare a Scribd company logo
1 of 99
Download to read offline
Digital
Implementation
Design Planning
1
© Ahmed Abdelazeem. All rights reserved
IP
Contents
After completing this unit, you should be able to:
❑ Implement a given floorplan, this includes:
◦ Defining the core area
◦ Creating and placing power pads
◦ Placing the IO pads and macros
◦ Modifying the orientation of macros
◦ Implement a P/G grid according to given parameters
◦ Defining placement and routing blockages
❑ Create a rectilinear block abstract
❑ Power Planning
◦ Design the Power Network
◦ Apply the PG Strategies
◦ PG Verification and Analysis
2/28/2024 2
© Ahmed Abdelazeem. All rights reserved
IP
Facilities
Building Hours
Restrooms
Meals
Messages
Smoking
Recycling
Phones
Emergency EXIT
Please turn off cell phones and pagers
3
© Ahmed Abdelazeem. All rights reserved
2/28/2024
Workshop Goal
Use IC Compiler II to perform placement, DFT,
CTS, routing and optimization, achieving timing
closure for designs with moderate to high design
challenges.
4
© Ahmed Abdelazeem. All rights reserved
2/28/2024
Target Audience
ASIC, back-end or layout designers with
experience in standard cell-based automatic
Place&Route.
5
© Ahmed Abdelazeem. All rights reserved
2/28/2024
High-Level IC Compiler Flow
Gate-level netlist
Synthesis
Design & Time Setup
Floorplan Definition
Placement & Optimization
CTS & Optimization
Routing & Optimization
Signoff
IC
Compiler
II
6
2/28/2024 © Ahmed Abdelazeem. All rights reserved

✓
What Is Floorplanning?
2/28/2024 7
© Ahmed Abdelazeem. All rights reserved
IP
ROM
RAM
The location of the core,
periphery areas, and the
P/G grid, define the
Floorplan of the chip.
Core
placement
area
Periphery
area
Rings
Straps
P/G
Grid
With a top-level netlist, you can
start to floorplan the chip.
▪ Define Die Size.
▪ Place the IOs.
▪ Perform macro placement.
▪ Perform power planning.
▪ Power domain definition
▪ Flip-chip bump placement
Floorplanning is the process of
deriving the die size, allocating space
for soft blocks, planning power, and
macro placement.
Floorplanning
❑ Floorplanning consists of defining the Core Placement area, the Periphery area and the
Power/Ground grid.
❑ The Core Placement area consists of Placement Rows where standard cells and macro cells
are placed.
❑ A placement row consists of a row of “unit tile” cells (part of the standard cell library, width
defined by the minimum metal pitch). Standard cells are placed in the core of a chip and
occupy specific tile(s) within the placement rows. A standard cell may occupy a single or
multiple tiles.
❑ The pad cells (input, output, bi-dir, power and ground pads) are placed in the Periphery Area,
which is defined by the area around the outside boundary of the core, usually separated by a
“core-to-pad” spacing distance.
2/28/2024 © Ahmed Abdelazeem. All rights reserved 8
Floorplanning: Creation of Site Rows
2/28/2024 © Ahmed Abdelazeem. All rights reserved 9
◼ Placement requires grid in which cells will be placed
◼ Floorplanning uses ‘unit tile’ cell to build this grid
❑ It is defined by a library developer and library cells are designed to be
multiple of unit tile
Creation of sites for
detailed placement
FF
BUF
INV
NOR
unit tile
(site)
What Are Sites and Rows?
❑ A site is the minimum unit of placement. It represents a slot where a cell can be placed.
Rows are multiples of sites and define locations where the placement tool places cells.
❑ Placement tools place cells in locations defined by the cell’s description in the LEF file. If a
cell is of type CORE, then it can only be placed in a CORE rows. If a cell is of type IO, it can
only be placed in IO rows.
2/28/2024 © Ahmed Abdelazeem. All rights reserved 10
Floorplan Areas
2/28/2024 © Ahmed Abdelazeem. All rights reserved 11
Pad Area
Core Area
❑ In general, a chip is a combination of:
◦ Core Area
◦ Pad Area
Pad Area
2/28/2024 © Ahmed Abdelazeem. All rights reserved 12
❑ Pad area consists of:
◦ Input/Output/InOut pads
◦ Power pads and corner pads
◦ Pad fillers
◦ P/G rings
CornerUR
Reset
Filler
VDD
VSS
VSS
VDD
Initialize Floorplan and Create Core Area
2/28/2024 © Ahmed Abdelazeem. All rights reserved 13
Row 1
Row 3
Row 2
Bottom of row key
Core To
Bottom
Distance
Core To
Left
Distance
Width
Height
Control Parameters
* Aspect Ratio
→Utilization
→Aspect ratio (H/W)
→Row/core ratio
* Width & Height
→Width
→Height
→Row/core ratio
* ……….
* ……….
Example of a horizontal, no double back, no-flip first row with Row/Core <1.
Utilization: A Factor in Determining Core Size
2/28/2024 © Ahmed Abdelazeem. All rights reserved 14
Macro
◼ Core “utilization” is the
percentage of the core that is used
by placed std cells and macros
◼ Ideally would like to achieve 100%
utilization at tape-out. In practice
range is 80-85%
◼ Recommended starting netlist
utilization should not exceed 60-
75% to allow for logic
optimizations and DFM
𝑼𝒕𝒊𝒍𝒊𝒛𝒂𝒕𝒊𝒐𝒏 =
(𝑻𝒐𝒕𝒂𝒍 𝑺𝒕𝒅 𝑪𝒆𝒍𝒍 + 𝑴𝒂𝒄𝒓𝒐 𝑪𝒆𝒍𝒍 𝑨𝒓𝒆𝒂)
𝑪𝒐𝒓𝒆 𝑨𝒓𝒆𝒂
∗ 𝟏𝟎𝟎%
Core and IO Region
❑ From:
• A gate-level netlist of Relevant physical libraries
• Default or user-specified aspect ratio and utilization.
❑ Calculate the area of all macro cells and leaf cells Generate bounding shapes and cell placement
rows Place IO PADs
• Signal pads
• Filler and corner pads Bump or flip-chip IO pads
2/28/2024 © Ahmed Abdelazeem. All rights reserved 15
𝑼𝒕𝒊𝒍𝒊𝒛𝒂𝒕𝒊𝒐𝒏 =
(𝑻𝒐𝒕𝒂𝒍 𝑺𝒕𝒅 𝑪𝒆𝒍𝒍 + 𝑴𝒂𝒄𝒓𝒐 𝑪𝒆𝒍𝒍 𝑨𝒓𝒆𝒂)
𝑪𝒐𝒓𝒆 𝑨𝒓𝒆𝒂
∗ 𝟏𝟎𝟎%
Aspect Ratio: A Factor in Determining Core Size
❑ Aspect ratio is the ratio between vertical routing resources to horizontal routing resources.
❑ If you specify a ratio of 1.00, the height and width are the same and therefore the core is a
square.
❑ If you specify a ratio of 2.00, the height is two times the width.
2/28/2024 © Ahmed Abdelazeem. All rights reserved 16
Floorplanning: Space for Power Rings
2/28/2024 © Ahmed Abdelazeem. All rights reserved 17
◼ A fixed space is required to be available around core for
power supply rings
Core
Floorplanning: Pin Locations
2/28/2024 © Ahmed Abdelazeem. All rights reserved 18
◼ Pins can be spread automatically by IC Compiler II around the boundary
◼ The exact side and/or location, layers, size for pins can be set by a designer
Pins
Core
set_pin_physical_constraints -pin_name "mypin" 
-layers {M2 M3 M4 M5} 
-width 0.28 -depth 0.28 -side 1 -offset 5
Floorplanning: I/O Placement
2/28/2024 © Ahmed Abdelazeem. All rights reserved 19
Core
Periphery
(I/O) area
Initialize the Floorplan
2/28/2024 © Ahmed Abdelazeem. All rights reserved 20
❑ Floorplan Initialization
◦ Sets the boundary and defines
standard cell placement site array
within the core area.
◦ Support Various core shapes:
◦ Rectangle
◦ L-, U-, T- Shapes
◦ Rectilinear
◦ Initialization does not place chip-
level IO-pads nor block-level pins
initialize_floorplan -core_utilization 0.7 -shape L -orientation N 
-side_ratio {1 1 1 1} -core_offset {100.0} -flip_first_row true 
-coincident_boundary true
Cell View after Initialize Floorplan
2/28/2024 © Ahmed Abdelazeem. All rights reserved 21
Flip first
row, double
back,
row/core = 1
Unplaced
Macro
cells
Unplaced
Standard
cells
Core area
with rows
and tracks
inserted
Periphery
w/ IO pad
cells
Pad-Limited Design
2/28/2024 © Ahmed Abdelazeem. All rights reserved 22
Core Placement
Area
Core Placement area uses
less real estate than
available.
If the utilization of a pad-limited design is too high
during floorplanning will reducing it affect die size?
The large number of pad
cells determines die-size.
Core-Limited Designs
2/28/2024 © Ahmed Abdelazeem. All rights reserved 23
Core Placement
Area
Pads use less than
available periphery area.
The large number of
standard cells and macros
determine die-size.
If the utilization of a core-limited design is too high
during floorplanning will reducing it affect die size?
Cell Types
2/28/2024 © Ahmed Abdelazeem. All rights reserved 24
VS VS
Standard
cells
IP I/O Pad
Ring IP
Flip Chip Bump
I/O Ring
Core
I/O Cell Placement
2/28/2024 © Ahmed Abdelazeem. All rights reserved 25
Wire Bond Flip-Chip
IC
Dielectric
Underfill
http://ffden-2.phys.uaf.edu/212_spring2005.web.dir/george_walker/uses.htm http://blog.daum.net/dourira/6824688
Wire Bond
2/28/2024 © Ahmed Abdelazeem. All rights reserved 26
❑ Most widespread method
❑ IC is connected with
package pins with thin wires
Wire Bonding Example
http://www.era.co.uk/case-studies/improving-the-reliability-of-chip-on-board-assembly/
Flip-Chip
2/28/2024 © Ahmed Abdelazeem. All rights reserved 27
IC
Dielectric
Underfill
Rigid Laminate
Solder Ball
Flip Chip Cross Section
▪ Modern method of I/O
connection
▪ IC is connected with
package using solder
balls
http://www.izm.fraunhofer.de/en/abteilungen/high_density_interconnec
twaferlevelpackaging/arbeitsgebiete/arbeitsgebiet1.html
Wire Bond Placement
2/28/2024 © Ahmed Abdelazeem. All rights reserved 28
core area
Wire Bond
wide
wire
route
I/O driver
bond
pad
Flip-Chip Placement
2/28/2024 © Ahmed Abdelazeem. All rights reserved 29
core area
Flip Chip Driver Cells Placed
around Perimeter of Chip
core area
Bump Cells
Overlaying the Chip
IO
Driver
bump
wide wire pins
I/O Cell Physical Structures
2/28/2024 © Ahmed Abdelazeem. All rights reserved 30
BUMP
d
d
VDD
VSSIO
VSS
VDDIO
VSSIO
VDDIO
VDDIO
b
b
b
b
b
b
b
VSSIO
VDDIO
VSSIO
VDDIO
b
b
b
b
VSSIO
VDDIO
VDDIO
b1
b
b
a
VSSIO
b1
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
VDD
VSSIO
VSS
VDDIO
VSSIO
VDDIO
VDDIO
b
b
b
b
b
b
b
?
VSSIO
VDDIO
VSSIO
VDDIO
b
b
b
b
VSSIO
VDDIO
VDDIO
b1
b
b
a
VSSIO
b1
Flip-Chip Routed Example
2/28/2024 © Ahmed Abdelazeem. All rights reserved 31
I/O Placement and Flip Chip
❑ I/O cell Placement is performed
after initial floorplan creation
❑ Flip-chip and non-flip chip
designs use the same I/O cell
placement command.
❑ I/O constraints provide easy and
flexible driver location control.
2/28/2024 © Ahmed Abdelazeem. All rights reserved 32
* Create Bump Cells
Create I/O Guides
Set I/O Constraints (Optional)
Place I/O Cells
* RDL Routing
* Flip-Chip specific steps
Bump Cell Creation
2/28/2024 © Ahmed Abdelazeem. All rights reserved 33
* Create Bump Cells
Create I/O Guides
Set I/O Constraints (Optional)
Place I/O Cells
Create Initial Floorplan
Met Requirements?
NO
❑ Instantiate the bump cells
before placing the I/O drivers.
❑ Bump Cells can be created by
reading DEF, AIF, or by using:
Create_bump_array
Placing Bump Cell
❑ Bump array pattern options
❑ Example of an inline bump array
2/28/2024 © Ahmed Abdelazeem. All rights reserved 34
create_bump_array -lib_cell bc -bbox {{x1 y1} {x2 y2}} 
-origin {offset_x offset_y} -pattern inline -delta {dx dy}
Create I/O Guides
2/28/2024 © Ahmed Abdelazeem. All rights reserved 35
* Create Bump Cells
Create I/O Guides
Set I/O Constraints (Optional)
Place I/O Cells
Create Initial Floorplan
Met Requirements?
NO
❑ I/O Cells are placed along I/O guides
o Must be created before placing the
I/O Cells
o or:
create_io_guide
create_io_ring
Create I/O Guide Examples
2/28/2024 © Ahmed Abdelazeem. All rights reserved 36
I/O Placement Constraints
2/28/2024 © Ahmed Abdelazeem. All rights reserved 37
* Create Bump Cells
Create I/O Guides
Set I/O Constraints (Optional)
Place I/O Cells
Create Initial Floorplan
Met Requirements?
NO
❑ Control I/O driver location and Pad
abutment.
❑ Adjustable I/O driver ordering
spacing
❑ Supports signal as well as power I/O
drivers
set_signal_io_constraints
Specifying Signal I/O Constraints
2/28/2024 © Ahmed Abdelazeem. All rights reserved 38
Specifying Signal I/O Constraints
2/28/2024 © Ahmed Abdelazeem. All rights reserved 39
❑ Signal ordering begins at the lower-left pad for the left edge, the
upper-left pad for the top edge, the upper-right pad for the right
edge, and the lower-right pad for the bottom edge as shown in Figure.
Example 1: I/O Constraints File Example
ring.top
{80}
{{55} Pad_1 Pad_2 Pad_3}
{10}
{Pad_4 40 Pad_5 60 Pad_6}
{Pad_7 Pad_8}
;
I/O Signal Constraints File Example
2/28/2024 © Ahmed Abdelazeem. All rights reserved 40
Placing I/O Cells
2/28/2024 © Ahmed Abdelazeem. All rights reserved 41
* Create Bump Cells
Create I/O Guides
Set I/O Constraints (Optional)
Place I/O Cells
Create Initial Floorplan
Met Requirements?
NO
❑ I/O drivers are placed in the
specified I/O guides, according to
the constraints.
❑ The location of all I/O drivers is
derived by searching for mapping,
and then connecting the RDL net to
the bumps
Place_io
RDL Pathline Display
❑ What is a Pathline used for?
• RDL Pathlines show the possible paths of RDL routes
• RDL Pathlines help to identify problems in I/O driver placement
• RDL Pathlines are piecewise linear and do not overlap with bumps
❑ TO view pathlines from the GUI:
View → RDL Flylines
2/28/2024 © Ahmed Abdelazeem. All rights reserved 42
Identifying Macro Placements
2/28/2024 © Ahmed Abdelazeem. All rights reserved 43
❑ Use flylines to show macro connections
❑ Place macros so that the connections between
them and the IO pads are direct and shortest
❑ Modifying macro-orientation can often make
shorter, more direct connections
Hard Macro Placement
❑ When placing large macros we must consider impacts on routing, timing and power.
Usually, push them to the sides of the floorplan.
o Placement algorithms generally perform better with a single large rectangular placement
area
o For wire-bond place power-hungry macros away from the chip center
❑ After placing hard macros, mark them as FIXED.
2/28/2024 © Ahmed Abdelazeem. All rights reserved 44
Placement Blockages and Halos
❑ Placement blockage halos are areas that the tools
should not place any cells.
❑ These, too, have several types:
• Hard Blockage – no cells can be placed
inside.
• Soft Blockage – cannot be used during
placement but may be used during
optimization.
• Partial Blockage – an area with lower
utilization.
❑ Halo (padding) – an area outside a macro that
should be kept clear of standard cells
2/28/2024 © Ahmed Abdelazeem. All rights reserved 45
RAM5
Pins are on
left and right
Create_placement_blockage -type hard -outer {10 0 10 0} RAM5
{left bottom right top}
hard or soft
Macro Keepout Margin (Padding)
2/28/2024 © Ahmed Abdelazeem. All rights reserved 46
RAM5
Pins are
on left
and right
A keepout margin is a region around the boundary of
fixed macros in the design in which no other cells are
placed.
Keepout
margin
set_keepout_margin -type hard -outer {10 0 10 0} RAM5
{left bottom right top}
hard or soft
Placemen Blockages and Halos
2/28/2024 © Ahmed Abdelazeem. All rights reserved 47
RAM4
RAM2
RAM1 RAM3
RAM5
Soft blockage created
only for the channels
between the macros or
between the macro and
the core boundary
Hard blockage
always created on all
four sides
Soft and Hard Placement Blockage
2/28/2024 © Ahmed Abdelazeem. All rights reserved 48
Macro 1 Macro 2
Hard blockage prevents
standard cells from being
placed in this region.
Soft blockage allows new
buffers/inverters to be
inserted during optimization.
Hard placement blockage
Soft placement blockage
Routing Blockage (Route Guide)
2/28/2024 © Ahmed Abdelazeem. All rights reserved 49
create_route_guide –no_signal_layer {METAL5 METAL6} 
-coordinate {{20 20} {75 95}}
RAM4
(20,20)
(75,95)
Routing
blockage
❑ Routing blockages are used to
prevent the route in a particular
area for the specific metal layer for
all nets or only signal nets or PG
nets.
❑ Routing blockages – areas where
routing is not allowed
A Good Floorplan
2/28/2024 © Ahmed Abdelazeem. All rights reserved 50
PLL
RAM
RAM
RAMS out of
the way in the
corner
Large
routing
channels
RAM
No 4 way
intersections.
MY_SUB_BLOCK
Standard cells area
Single large
partition
Pins away
from corners
Balance Routing Resources
2/28/2024 © Ahmed Abdelazeem. All rights reserved 51
❑ If less vertical routing resources are available, make floorplan wider
(aspect ratio < 1) if possible, to increase vertical routing resources
❑ If less horizontal routing resources are available, make floorplan
taller (aspect ratio > 1) if possible,
to increase horizontal routing resources
Balancing vertical/horizontal routing resources reduces overall
congestion.
Crater Lake or Thousand Island
2/28/2024 © Ahmed Abdelazeem. All rights reserved 52
RAM
RAM
RAM
STANDARD
CELLS
RAM RAM
RAM
RAM
RAM
RAM
RAM
RAM
RAM
RAM
RAM
Crater Lake
RAM
RAM
RAM
RAM
RAM
RAM
RAM
RAM
RAM
RAM
RAM
RAM
RAM
RAM
STANDARD
CELLS
Thousand Island
Guidelines for a good floorplan
2/28/2024 © Ahmed Abdelazeem. All rights reserved 53
RAM 1 RAM 2 RAM 3
RAM 4 RAM 5 RAM 6
RAM 8
Use blockage
to improve pin
accessibility.
RAM 7
Avoid many pins in the
narrow channel. Rotate
for pin accessibility.
Avoid constrictive
channels.
Placement Bounds
© Ahmed Abdelazeem. All rights reserved 54
2/28/2024
❑ Sometimes, we want to “help” the tool put certain logic in
certain regions or cluster them together.
❑ Place and Route tools define several types of placement
bounds:
• Soft move bounds specify placement goals, with no
guarantee that the cells will be placed inside the
bounds.
• Hard move bounds force placement of the specified
cells inside the bounds.
• Exclusive move bounds force the placement of the
specified cells inside the bounds. All other cells must
be placed outside the bounds.
Hierarchical Approach
2/28/2024 © Ahmed Abdelazeem. All rights reserved 55
◼ Chip is partitioned into smaller blocks
◼ Each block is P&R'ed
individually in ICC II
◼ Blocks are integrated
back into the chip
◼ ICC II routes top-level
nets
IP
RAM
Block 2
Block 1
Block 3
Chip vs. Block
2/28/2024 © Ahmed Abdelazeem. All rights reserved 56
Blocks can be rectangular or rectilinear in
shape.
◼ Chip has:
⚫ Pads (signal and P/G)
◼ Block has:
⚫ Pins (signals and P/G)
IP
RAM
Block 2
Block 1
Block 3
Building The Power Network
2/28/2024 © Ahmed Abdelazeem. All rights reserved 57
Design the Power Network
Apply the PG Strategies
PG Verification and Analysis
Objective of Power Network
2/28/2024 © Ahmed Abdelazeem. All rights reserved 58
❑ Power planning is deciding how
we will deliver power to the
design’s standard cells!
❑ What is the importance of having a
power network with low impedance?
• All analysis and optimization done in
logic synthesis and PnR is based on the
fact that cells are supplied with ideal
voltage…
• If the actual circuit supply is significantly
different, cell operation will be different
from the behavior characterized in the
.libs, which will cause all types of timing
Violations
Objective of Power Network
❑ To distribute the power from power
pads to all elements in the chip.
❑ Unified supply of power with less
voltage drop
❑ A proper Power design should aim
at using as less routing recourse as
possible.
❑ Power Analysis (EMIR) check
should be done after power planning
is completed
❑ A design with a robust power and
ground (PG) grid reduces IR drop
and electromigration by providing
an adequate number of power and
ground pads and rails.
2/28/2024 © Ahmed Abdelazeem. All rights reserved 59
Power pads
(VDD, VSS)
Power straps
(in Red)
(VDD, VSS)
Power rings
(VDD, VSS)
Power trunks
(VDD, VSS)
Power Planning
❑ Creation of the power network within a design
❑ Power planning is integrated with the overall design flow and must be taken into
account early in the design process because:
• # of pads may determine physical size (pad limited). The power structures within the core
area consume the physical area.
• The power grid topology affects top-level routability, and also placement and routing
within the child blocks.
• The power structure affects functionality and reliability.
2/28/2024 © Ahmed Abdelazeem. All rights reserved 60
Power Network Elements
❑ Power Pad
❑ Trunks
• Connects Ring to Power Pad
❑ Power Rings
• Form complete rings around the periphery of the die,
around individual hard macros, or inside of
hierarchical blocks with higher-level Metal layers
Power
❑ Power Stripes
• Carries VDD and VSS from Rings across the chip
Horizontal and vertical metal wires placed in an array
across the entire section die
• higher level routing layers
• typically uniformly distributed across the die.
❑ Power Rails
• Is used to connect the standard cell power rails
together, and or power straps.
• Low level, typically metal 1.
2/28/2024 © Ahmed Abdelazeem. All rights reserved 61
Power pads
( VDD, VSS )
Power straps
( VDD, VSS )
Power rings
( VDD, VSS )
Power Planning
❑ Power Planning includes:
• Proper estimation of the power of the chip.
• power routing the design based on the estimation.
❑ We create a mesh kind of structure so that instance(s) can
take direct supply from the nearest point
❑ We create multiple VDD and VSS lines(for each power
domain)
❑ Hierarchical Mesh from upper metal layers to lowest(Ml or
M2 layers for standard cells). Connection from higher to
adjacent lower metal layer is through VIAs
2/28/2024 © Ahmed Abdelazeem. All rights reserved 62
Power Mesh
❑ Power/Ground mesh will allow multiple
paths from P/G sources to destinations
• Hierarchical power and ground meshes
from upper metal layers to lower metal
layers
• Multiple vias between layers
2/28/2024 © Ahmed Abdelazeem. All rights reserved 63
Why create mesh kind of structure ?
❑ To distribute the Power from power
pads/pins to all elements of the chip.
❑ Provides multiple paths from PG sources to
destinations (less series resistance)
❑ Uniformly distribute power with less voltage
drop.
❑ To meet IR/EM targets
❑ For meeting timing requirements
2/28/2024 © Ahmed Abdelazeem. All rights reserved 64
Power Grid Planning
❑ Steps in Power Grid Planning
◦ Determine the number of power pads
◦ Determine which metal layers will be used for
power routing
◦ Define the width of the top-level power bus
◦ Determine the structure for block and macro-
level power routing
◦ Power Network Analysis (PNA)
2/28/2024 © Ahmed Abdelazeem. All rights reserved 65
Top-level Power Network
❑Supported topology with PNS
◦ PNS currently creates a (rectilinear)
power plan with/without a core ring
connected to a power mesh
❑ User can specify
◦ Number of straps: Min, max
◦ Width of straps: Min, Max
◦ Width of ring
◦ Layers
2/28/2024 © Ahmed Abdelazeem. All rights reserved 66
Block Level Power Network
2/28/2024 © Ahmed Abdelazeem. All rights reserved 67
IP2
IP1
❑ Power network synthesis can
automatically create the power
structures for the whole chip,
including rings and strapping for
macros and IP.
❑ This is done based upon power
estimates or power analysis and
utilizes IR-drop requirements as
well as metal layer information
like layers to be used with max
number and max width of straps,
etc. to constrain the meshes that
are created.
Inputs and Outputs of PNS
2/28/2024 © Ahmed Abdelazeem. All rights reserved 68
Power Planning vs. Power Routing
2/28/2024 © Ahmed Abdelazeem. All rights reserved 69
Power Planning Challenges
❑ Many designs have multiple voltage areas
and hierarchical blocks
• Each area requires a specific mesh
structure
❑ Complex Core rings
❑ Special P/G Patterns
2/28/2024 © Ahmed Abdelazeem. All rights reserved 70
Pattern-Based Power Network Synthesis
❑ Define regions for PG routing
❑ Define Patterns (PG Structure)
• Metal layer, spacing, width, ...
• Can use parameters
❑ Define Strategy (P/G topology)
• Applies specific patterns to specific regions,
and specific power/ground nets, using
flexible via control
• Flexible to floorplan change (no fixed
coordinates)
❑ Create the power network
2/28/2024 © Ahmed Abdelazeem. All rights reserved 71
PPNS Flow
2/28/2024 © Ahmed Abdelazeem. All rights reserved 72
Define PG region
Patterns:
Define PG Structure
Strategy:
Define PG topology
Compile:
Synthesize PG
𝑀𝑒𝑠ℎ 𝑃𝑎𝑡𝑡𝑒𝑟𝑛
𝐶𝑜𝑚𝑝𝑜𝑠𝑖𝑡𝑒 𝑃𝑎𝑡𝑡𝑒𝑟𝑛
𝑊𝑖𝑟𝑒 𝑃𝑎𝑡𝑡𝑒𝑟𝑛
𝑆𝑝𝑒𝑐𝑖𝑎𝑙 𝑃𝑎𝑡𝑡𝑒𝑟𝑛
𝑆𝑡𝑎𝑛𝑑𝑎𝑟𝑑 𝐶𝑒𝑙𝑙 𝑟𝑎𝑖𝑙 𝑃𝑎𝑡𝑡𝑒𝑟𝑛
𝑃𝑎𝑡𝑡𝑒𝑟𝑛 𝑁𝑎𝑚𝑒
𝑁𝑒𝑡 𝑁𝑎𝑚𝑒𝑠
𝑂𝑓𝑓𝑠𝑒𝑡
𝑅𝑒𝑔𝑖𝑜𝑛
𝐵𝑙𝑜𝑘𝑎𝑔𝑒
𝐸𝑥𝑡𝑒𝑛𝑠𝑖𝑜𝑛
ቊ
𝑆𝑡𝑟𝑎𝑡𝑒𝑔𝑦 𝑛𝑎𝑚𝑒𝑠
𝑉𝑖𝑎 𝑅𝑢𝑙𝑒𝑠
ሼ𝑃𝐺 𝑁𝑒𝑡𝑤𝑜𝑟𝑘 𝑅𝑜𝑢𝑡𝑖𝑛𝑔 𝑎𝑟𝑒𝑎
PG Region
2/28/2024 © Ahmed Abdelazeem. All rights reserved 73
Region r1
Defined on the core area.
Two large macros excluded.
create_pg_region r1 –core 
-exclude_macros {u_one u_two}
-macro_offset 5.0
❑ PG regions can be created on
• Core area
• Blocks
• Voltage area
• Macros/groups of macros
• Groups of regions
• Polygon
PG Rings
2/28/2024 © Ahmed Abdelazeem. All rights reserved 74
create_pg_region r1 -core
-exclude_macros {u_one u_two}
-macro_offset 5.0
create_pg_ring_pattern ring1 
-horizontal_layer M5 
-vertical_layer M4 
-horizontal_width 2.0 
-vertical_width 2.0
set_pg_strategy s1 
-pg_regions {r1} 
-pattern {
{name: ring1}
{nets: {vdd vss}} }
compile_pg -strategies s1
Blockage, Parameters, Extension
2/28/2024 © Ahmed Abdelazeem. All rights reserved 75
create_pg_ring_pattern ring1 
-paramters {hw vw} 
-horizontal_layer M5 -vertical_layer M4 
-horizontal_width {@hw} 
-vertical_width {@vw}
set_pg_strategy s2 
-pg_regions {r1} 
-blockage {voltage_areas: r2} 
-pattern {
{name: ring1}
{nets: {vdd vss}}
{paramters: {3 2}}
{offset: {4 2}}
{skip_sides: 1} }
-extension {
{side: 2 6}
{direction: L}
{stop: outermost_ring} }
PG Meshes
2/28/2024 © Ahmed Abdelazeem. All rights reserved 76
Optional: Define a via rule
Define a mesh Pattern,
optionally with via rules
between layers
set a strategy on a region, a
block or VA using the pattern
Optional: Define a via rule
between strategies and/or
exiting shapes
compile the strategies,
optionally along with a via
strategy
1
2
3
4
5
set_pg_via_master_rule via1
create_pg_mesh_pattern mesh1
-layers ...
-via_rule ...
set_pg_strategy s_1
-pg_regions | -blockage | -voltage_areas
-pattern ...
set_pg_strategy_via_rule v_1
compile_pg
-strategies {s_1 s_2}
-via_rule {v_1}
Creating a PG Mesh Pattern
2/28/2024 © Ahmed Abdelazeem. All rights reserved 77
create_pg_mesh_pattern mesh1 
-layers {
{{horizontal_layer: M5} {width: 6} {spacing: 1} {pitch: 12} {offset: 5} }
{{vertical_layer: M6} {width: 6} {spacing: 2} {pitch: 20} {offset: 6}}
}
-via_rule {
{{layers: M5} {layers: M6} {via_master: VIA56_2x3}}
}
Defining a Custom PG Vias
2/28/2024 © Ahmed Abdelazeem. All rights reserved 78
set_pg_strategy_via_rule VIA36_2x3 
-contact_code {VIA34SQ VIA45SQ VIA56SQ}
-via_array_dimension {2 3}
-offset {0.2 0.1}
-offset_start center (default)
intersection of
M3/M6
Default contacts will be used, unless
you specify one or all contact codes
needed to connect from M3 to M6
contact code:
via_array_dimension: 2x3
offset: (xy)
cut_spacing: (dx dy)
Meshes using Wire and Composite Pattern
2/28/2024 © Ahmed Abdelazeem. All rights reserved 79
Setting the Strategy
2/28/2024 © Ahmed Abdelazeem. All rights reserved 80
Defining Via Rules between Objects
2/28/2024 © Ahmed Abdelazeem. All rights reserved 81
Specify via rules to make specific connections between
the straps of different strategies, or between strategies
and existing shapes
set_pg_strategy_via_rule s_via_m2_m7
-via_rule {
{ { {strategies: {s_m2} {layers: {M2}} } }
{ {strategies: {s_m7m8} {layers: {M7}} } }
{via_master: {pgvia_1x3}}
}
}
To prevent vias of begin inserted between 2 strategies, use
the keyword "NIL" for the Via Specification
Standard Cell Connection Pattern
2/28/2024 © Ahmed Abdelazeem. All rights reserved 82
create_pg_std_cell_conn_patter std_pat2
-parameters {w d}
-layers {M2 M1}
-rail_width {@w}
-rail_shift {@d}
create_pg_std_cell_conn_patter std_pat1
-layers {M1}
set_pg_strategy s_std_cells -core
-pattern { {name: std_pat1} {nets: {VDD VSS}} }
-extension {{stop: innermost_ring}}
compile_pg -strategies s_std_cells
Compiling the PG Mesh
2/28/2024 © Ahmed Abdelazeem. All rights reserved 83
compile_pg
PG Network Checks
❑ Verify whether the current routing of PG nets satisfies technology design rules
❑ Check Missing Vias in the PG Network
❑ Connectivity check for PG networks, including macro and standard cell PG pins, PG
pads, and block terminals
2/28/2024 © Ahmed Abdelazeem. All rights reserved 84
Check_pg_drc
Check_pg_missing_vias
Check_pg_connectivity
Power Network Analysis
2/28/2024 © Ahmed Abdelazeem. All rights reserved 85
❑ After the creation of power network rings,
straps, and IO connections:
• The power network does not have to be
complete
❑ Run PNA to analyze the power network
• Voltage drop and electromigration
❑ Early Static IR drop analysis
• Provides rough estimation of the chip IR drop
and Peak Current
❑ Rough Placement Ok
• Detailed, Legalized Placement not required
❑ Adjust the power network to solve reported
issues
Objectives of PNA
❑ Power Network Analysis is needed for power network planning and synthesis as it forms
the core of the IR and EM analysis that is required to ensure that PNS goals are met.
2/28/2024 © Ahmed Abdelazeem. All rights reserved 86
PNS
PNA
Design
Planning
Power Network Analysis
2/28/2024 © Ahmed Abdelazeem. All rights reserved 87
Power
Routing
Pad
AND
gate
NOR
gate
Height of the current density Height of the power voltage
❑ Electromigration analysis
▪ Current density analysis for every power segment
▪ Too high current density leads to damaged interconnect, reduced
the useful life of chip and reliability issue
❑ Voltage Drop Analysis
▪ Voltage drop at each node of power network
▪ Too low power supply voltage leads to increased delay and timing issues
IR-drop
❑ Reduction in voltage that occurs on power supply networks
❑ IC design expects the availability of the ideal power supply
❑ In reality, localized voltage drops within the power grid
• Increasing current/area on the die
• Narrower metal line widths (increases power grid resistance)
❑ Results in decreased power supply voltage at cells/transistors
❑ Decreases the operating voltage of the chip, resulting in timing and functional failures
2/28/2024 © Ahmed Abdelazeem. All rights reserved 88
Reasons for IR Drop Violations
❑ Power structure is not proper.
❑ Cell density is very high.
❑ Instances are not getting proper power because of no straps over there
❑ Mesh structure is proper but there is no via
2/28/2024 © Ahmed Abdelazeem. All rights reserved 89
How to reduce IR drop?
❑ Routing should be from the Top Layer.
❑ By adding some more Power Stripes.
❑ By increasing the width of the metal.
❑ By adding Decaps(DCAP cells).
❑ By using some Low Power Techniques
2/28/2024 © Ahmed Abdelazeem. All rights reserved 90
PNA: IR Drop Analysis
2/28/2024 © Ahmed Abdelazeem. All rights reserved 91
Metal 5 and Metal 4 power trunks and Metal 1 straps
IR Drop = 370mv
Metal 5 and Metal 4 power trunks only, no straps
IR Drop = 378mv
Rail Signoff
Power Network Analysis During
Floorplanning
Electromigration
2/28/2024 © Ahmed Abdelazeem. All rights reserved 92
❑ Electromigration is the movement of atoms based on the flow of current through a
material.
❑ If the current density is high enough, the heat dissipated within the material will
repeatedly break atoms from the structure and move them.
❑ Results of EM in ICs: The VOIDs and HILLOCKS get created and potentially causing
open and short Circuits.
Reasons of EM violation
❑ High Fanout Net (multiple fanout cells switch simultaneously, draw larger current from
driver)
❑ Higher Driver Strength Cells(delivers large current unnecessarily, heating up the wire)
❑ Higher frequency(quick transitions)
❑ Narrow metal width
❑ Metal slotting (resulting in narrower widths)
❑ Long Nets (because of larger resistance, higher localized temperature)
2/28/2024 © Ahmed Abdelazeem. All rights reserved 93
Solutions of EM violations
❑ Decrease Driver’s drive Strength.
❑ Non-Default (wider) rule-based routing.
❑ Insert buffer on long nets.
❑ Route with higher metal layers(less resistive, higher tolerance (current carrying capabilities)
❑ Use multi-Cut Via
❑ Break the fanout (have fewer fanouts)
❑ Use wider metals (more width)
2/28/2024 © Ahmed Abdelazeem. All rights reserved 94
Power Network Analysis Electromigration
❑ PNA checks power grid electromigration with the same parasitic model used by IR-Drop
calculations
❑ Analyzes average current as damage is cumulative
❑ More sensitive to DC current than AC current
2/28/2024 © Ahmed Abdelazeem. All rights reserved 95
Analyze the Power Network
2/28/2024 © Ahmed Abdelazeem. All rights reserved 96
analyze_power_plan -nets {VDD} -voltage 0.75 
-power_budget 500
If necessary, modify the patterns and/or
strategies and re-build -repeat until IR
drop is acceptable
A Complete Placed and Routed Chip
2/28/2024 © Ahmed Abdelazeem. All rights reserved 97
IP
References
2/28/2024 © Ahmed Abdelazeem. All rights reserved 98
❑ IDESA
❑ Digital Integrated Circuits: A Design Perspective by Rabaey
❑ CMOS VLSI Design: A circuits and systems perspective by David Harris
and Neil Weste
❑ EPFL Tutorial
❑ Synopsys University Courseware
❑ IC Compiler User Guide
❑ Experience!
2/28/2024 © Ahmed Abdelazeem. All rights reserved 99
Thank You ☺

More Related Content

What's hot

Physical design-complete
Physical design-completePhysical design-complete
Physical design-completeMurali Rai
 
8. Clock Tree Synthesis.pdf
8. Clock Tree Synthesis.pdf8. Clock Tree Synthesis.pdf
8. Clock Tree Synthesis.pdfAhmed Abdelazeem
 
Timing and Design Closure in Physical Design Flows
Timing and Design Closure in Physical Design Flows Timing and Design Closure in Physical Design Flows
Timing and Design Closure in Physical Design Flows Olivier Coudert
 
Physical Verification Design.pdf
Physical Verification Design.pdfPhysical Verification Design.pdf
Physical Verification Design.pdfAhmed Abdelazeem
 
4. Formal Equivalence Checking (Formality).pptx
4. Formal Equivalence Checking (Formality).pptx4. Formal Equivalence Checking (Formality).pptx
4. Formal Equivalence Checking (Formality).pptxAhmed Abdelazeem
 
Formal Verification - Formality.pdf
Formal Verification - Formality.pdfFormal Verification - Formality.pdf
Formal Verification - Formality.pdfAhmed Abdelazeem
 
Clock Tree Timing 101
Clock Tree Timing 101Clock Tree Timing 101
Clock Tree Timing 101Silicon Labs
 
Implementing Useful Clock Skew Using Skew Groups
Implementing Useful Clock Skew Using Skew GroupsImplementing Useful Clock Skew Using Skew Groups
Implementing Useful Clock Skew Using Skew GroupsM Mei
 
Define Width and Height of Core and Die (http://www.vlsisystemdesign.com/PD-F...
Define Width and Height of Core and Die (http://www.vlsisystemdesign.com/PD-F...Define Width and Height of Core and Die (http://www.vlsisystemdesign.com/PD-F...
Define Width and Height of Core and Die (http://www.vlsisystemdesign.com/PD-F...VLSI SYSTEM Design
 

What's hot (20)

STA.pdf
STA.pdfSTA.pdf
STA.pdf
 
Physical design-complete
Physical design-completePhysical design-complete
Physical design-complete
 
3. Synthesis.pptx
3. Synthesis.pptx3. Synthesis.pptx
3. Synthesis.pptx
 
Standard-Cells.pdf
Standard-Cells.pdfStandard-Cells.pdf
Standard-Cells.pdf
 
8. Clock Tree Synthesis.pdf
8. Clock Tree Synthesis.pdf8. Clock Tree Synthesis.pdf
8. Clock Tree Synthesis.pdf
 
Powerplanning
PowerplanningPowerplanning
Powerplanning
 
Timing and Design Closure in Physical Design Flows
Timing and Design Closure in Physical Design Flows Timing and Design Closure in Physical Design Flows
Timing and Design Closure in Physical Design Flows
 
EMIR.pdf
EMIR.pdfEMIR.pdf
EMIR.pdf
 
Crosstalk.pdf
Crosstalk.pdfCrosstalk.pdf
Crosstalk.pdf
 
Physical Verification Design.pdf
Physical Verification Design.pdfPhysical Verification Design.pdf
Physical Verification Design.pdf
 
Static_Time_Analysis.pptx
Static_Time_Analysis.pptxStatic_Time_Analysis.pptx
Static_Time_Analysis.pptx
 
4. Formal Equivalence Checking (Formality).pptx
4. Formal Equivalence Checking (Formality).pptx4. Formal Equivalence Checking (Formality).pptx
4. Formal Equivalence Checking (Formality).pptx
 
Formal Verification - Formality.pdf
Formal Verification - Formality.pdfFormal Verification - Formality.pdf
Formal Verification - Formality.pdf
 
Clock Tree Timing 101
Clock Tree Timing 101Clock Tree Timing 101
Clock Tree Timing 101
 
Implementing Useful Clock Skew Using Skew Groups
Implementing Useful Clock Skew Using Skew GroupsImplementing Useful Clock Skew Using Skew Groups
Implementing Useful Clock Skew Using Skew Groups
 
Physical design
Physical design Physical design
Physical design
 
Define Width and Height of Core and Die (http://www.vlsisystemdesign.com/PD-F...
Define Width and Height of Core and Die (http://www.vlsisystemdesign.com/PD-F...Define Width and Height of Core and Die (http://www.vlsisystemdesign.com/PD-F...
Define Width and Height of Core and Die (http://www.vlsisystemdesign.com/PD-F...
 
Back end[1] debdeep
Back end[1]  debdeepBack end[1]  debdeep
Back end[1] debdeep
 
ZERO WIRE LOAD MODEL.pptx
ZERO WIRE LOAD MODEL.pptxZERO WIRE LOAD MODEL.pptx
ZERO WIRE LOAD MODEL.pptx
 
Routing.pdf
Routing.pdfRouting.pdf
Routing.pdf
 

Similar to 6. Design Planning.pdf

Lecture5 cuda-memory-spring-2010
Lecture5 cuda-memory-spring-2010Lecture5 cuda-memory-spring-2010
Lecture5 cuda-memory-spring-2010douglaslyon
 
CEM Workshop Lectures (3/11): Mesh Generation in CEM
CEM Workshop Lectures (3/11): Mesh Generation in CEMCEM Workshop Lectures (3/11): Mesh Generation in CEM
CEM Workshop Lectures (3/11): Mesh Generation in CEMAbhishek Jain
 
Surface mount technology(smt)
Surface mount technology(smt)Surface mount technology(smt)
Surface mount technology(smt)AshutoshKumar1262
 
Manual original Aerogerador Skystream 3.7
Manual original Aerogerador Skystream 3.7Manual original Aerogerador Skystream 3.7
Manual original Aerogerador Skystream 3.7energiapura
 
It Essentials (Version 7.0) A+ Cert Practice Exam 1 Answers
It Essentials (Version 7.0) A+ Cert Practice Exam 1 AnswersIt Essentials (Version 7.0) A+ Cert Practice Exam 1 Answers
It Essentials (Version 7.0) A+ Cert Practice Exam 1 AnswersITExamAnswers.net
 
IC Adapters & Interposers | Interconnect Systems ISI - a Molex company
IC Adapters & Interposers | Interconnect Systems ISI - a Molex companyIC Adapters & Interposers | Interconnect Systems ISI - a Molex company
IC Adapters & Interposers | Interconnect Systems ISI - a Molex companyPeter Ivas
 
IT Essentials (Version 7.0) - ITE Final Exam Answers
IT Essentials (Version 7.0) - ITE Final Exam AnswersIT Essentials (Version 7.0) - ITE Final Exam Answers
IT Essentials (Version 7.0) - ITE Final Exam AnswersITExamAnswers.net
 
Solar Based Multiple Charger( System Engineering)
Solar Based Multiple Charger( System Engineering)Solar Based Multiple Charger( System Engineering)
Solar Based Multiple Charger( System Engineering)Omkar Rane
 
Long Range micro Drone with Stabilization
Long Range micro Drone with StabilizationLong Range micro Drone with Stabilization
Long Range micro Drone with StabilizationIRJET Journal
 
io and pad ring.pdf
io and pad ring.pdfio and pad ring.pdf
io and pad ring.pdfquandao25
 
Etc2016 curtiss wright-the-challenges-of-data-acquisition-in-harsh-remote-places
Etc2016 curtiss wright-the-challenges-of-data-acquisition-in-harsh-remote-placesEtc2016 curtiss wright-the-challenges-of-data-acquisition-in-harsh-remote-places
Etc2016 curtiss wright-the-challenges-of-data-acquisition-in-harsh-remote-placesAlexandre Carlos Rodrigues Ramos
 
Mr. jagadeesh electrical design engineer
Mr. jagadeesh electrical design engineerMr. jagadeesh electrical design engineer
Mr. jagadeesh electrical design engineerJagadeesh Rowtu
 
Taming The Wind with Engineered Tall Walls
Taming The Wind with Engineered Tall WallsTaming The Wind with Engineered Tall Walls
Taming The Wind with Engineered Tall Wallsdonaldsimon
 
A General-Purpose Architectural Approach to Energy Efficiency for Greendroid ...
A General-Purpose Architectural Approach to Energy Efficiency for Greendroid ...A General-Purpose Architectural Approach to Energy Efficiency for Greendroid ...
A General-Purpose Architectural Approach to Energy Efficiency for Greendroid ...theijes
 
IRJET- Design and Fabrication of Hexacopter for Surveillance
IRJET-  	  Design and Fabrication of Hexacopter for SurveillanceIRJET-  	  Design and Fabrication of Hexacopter for Surveillance
IRJET- Design and Fabrication of Hexacopter for SurveillanceIRJET Journal
 
Comparative Study of Different Web Openings in Castellated Beam by Using Ansy...
Comparative Study of Different Web Openings in Castellated Beam by Using Ansy...Comparative Study of Different Web Openings in Castellated Beam by Using Ansy...
Comparative Study of Different Web Openings in Castellated Beam by Using Ansy...IRJET Journal
 
TE Connectivity: Card Edge Interconnects
TE Connectivity: Card Edge InterconnectsTE Connectivity: Card Edge Interconnects
TE Connectivity: Card Edge InterconnectsMemory Fabric Forum
 

Similar to 6. Design Planning.pdf (20)

9. Routing.pdf
9. Routing.pdf9. Routing.pdf
9. Routing.pdf
 
Lecture5 cuda-memory-spring-2010
Lecture5 cuda-memory-spring-2010Lecture5 cuda-memory-spring-2010
Lecture5 cuda-memory-spring-2010
 
CEM Workshop Lectures (3/11): Mesh Generation in CEM
CEM Workshop Lectures (3/11): Mesh Generation in CEMCEM Workshop Lectures (3/11): Mesh Generation in CEM
CEM Workshop Lectures (3/11): Mesh Generation in CEM
 
Surface mount technology(smt)
Surface mount technology(smt)Surface mount technology(smt)
Surface mount technology(smt)
 
Manual original Aerogerador Skystream 3.7
Manual original Aerogerador Skystream 3.7Manual original Aerogerador Skystream 3.7
Manual original Aerogerador Skystream 3.7
 
It Essentials (Version 7.0) A+ Cert Practice Exam 1 Answers
It Essentials (Version 7.0) A+ Cert Practice Exam 1 AnswersIt Essentials (Version 7.0) A+ Cert Practice Exam 1 Answers
It Essentials (Version 7.0) A+ Cert Practice Exam 1 Answers
 
10. Signoff.pdf
10. Signoff.pdf10. Signoff.pdf
10. Signoff.pdf
 
IC Adapters & Interposers | Interconnect Systems ISI - a Molex company
IC Adapters & Interposers | Interconnect Systems ISI - a Molex companyIC Adapters & Interposers | Interconnect Systems ISI - a Molex company
IC Adapters & Interposers | Interconnect Systems ISI - a Molex company
 
IT Essentials (Version 7.0) - ITE Final Exam Answers
IT Essentials (Version 7.0) - ITE Final Exam AnswersIT Essentials (Version 7.0) - ITE Final Exam Answers
IT Essentials (Version 7.0) - ITE Final Exam Answers
 
Solar Based Multiple Charger( System Engineering)
Solar Based Multiple Charger( System Engineering)Solar Based Multiple Charger( System Engineering)
Solar Based Multiple Charger( System Engineering)
 
Long Range micro Drone with Stabilization
Long Range micro Drone with StabilizationLong Range micro Drone with Stabilization
Long Range micro Drone with Stabilization
 
io and pad ring.pdf
io and pad ring.pdfio and pad ring.pdf
io and pad ring.pdf
 
Etc2016 curtiss wright-the-challenges-of-data-acquisition-in-harsh-remote-places
Etc2016 curtiss wright-the-challenges-of-data-acquisition-in-harsh-remote-placesEtc2016 curtiss wright-the-challenges-of-data-acquisition-in-harsh-remote-places
Etc2016 curtiss wright-the-challenges-of-data-acquisition-in-harsh-remote-places
 
Mr. jagadeesh electrical design engineer
Mr. jagadeesh electrical design engineerMr. jagadeesh electrical design engineer
Mr. jagadeesh electrical design engineer
 
Unit-1 ESD.pptx
Unit-1 ESD.pptxUnit-1 ESD.pptx
Unit-1 ESD.pptx
 
Taming The Wind with Engineered Tall Walls
Taming The Wind with Engineered Tall WallsTaming The Wind with Engineered Tall Walls
Taming The Wind with Engineered Tall Walls
 
A General-Purpose Architectural Approach to Energy Efficiency for Greendroid ...
A General-Purpose Architectural Approach to Energy Efficiency for Greendroid ...A General-Purpose Architectural Approach to Energy Efficiency for Greendroid ...
A General-Purpose Architectural Approach to Energy Efficiency for Greendroid ...
 
IRJET- Design and Fabrication of Hexacopter for Surveillance
IRJET-  	  Design and Fabrication of Hexacopter for SurveillanceIRJET-  	  Design and Fabrication of Hexacopter for Surveillance
IRJET- Design and Fabrication of Hexacopter for Surveillance
 
Comparative Study of Different Web Openings in Castellated Beam by Using Ansy...
Comparative Study of Different Web Openings in Castellated Beam by Using Ansy...Comparative Study of Different Web Openings in Castellated Beam by Using Ansy...
Comparative Study of Different Web Openings in Castellated Beam by Using Ansy...
 
TE Connectivity: Card Edge Interconnects
TE Connectivity: Card Edge InterconnectsTE Connectivity: Card Edge Interconnects
TE Connectivity: Card Edge Interconnects
 

More from Ahmed Abdelazeem

What is the Difference Between the target_library and link_library Variables?
What is the Difference Between the target_library and link_library Variables?What is the Difference Between the target_library and link_library Variables?
What is the Difference Between the target_library and link_library Variables?Ahmed Abdelazeem
 
Physical Implementation: I/O Pad Insertion for Innovus.pdf
Physical Implementation: I/O Pad Insertion for Innovus.pdfPhysical Implementation: I/O Pad Insertion for Innovus.pdf
Physical Implementation: I/O Pad Insertion for Innovus.pdfAhmed Abdelazeem
 
Learn Makefiles With the tastiest examples
Learn Makefiles With the tastiest examplesLearn Makefiles With the tastiest examples
Learn Makefiles With the tastiest examplesAhmed Abdelazeem
 

More from Ahmed Abdelazeem (9)

What is the Difference Between the target_library and link_library Variables?
What is the Difference Between the target_library and link_library Variables?What is the Difference Between the target_library and link_library Variables?
What is the Difference Between the target_library and link_library Variables?
 
Physical Implementation: I/O Pad Insertion for Innovus.pdf
Physical Implementation: I/O Pad Insertion for Innovus.pdfPhysical Implementation: I/O Pad Insertion for Innovus.pdf
Physical Implementation: I/O Pad Insertion for Innovus.pdf
 
Learn Makefiles With the tastiest examples
Learn Makefiles With the tastiest examplesLearn Makefiles With the tastiest examples
Learn Makefiles With the tastiest examples
 
ready_valid_interface.pdf
ready_valid_interface.pdfready_valid_interface.pdf
ready_valid_interface.pdf
 
wire vs. reg.pdf
wire vs. reg.pdfwire vs. reg.pdf
wire vs. reg.pdf
 
verilog_fsm.pdf
verilog_fsm.pdfverilog_fsm.pdf
verilog_fsm.pdf
 
always_at_blocks.pdf
always_at_blocks.pdfalways_at_blocks.pdf
always_at_blocks.pdf
 
5. DFT.pptx
5. DFT.pptx5. DFT.pptx
5. DFT.pptx
 
ASIC Design.pdf
ASIC Design.pdfASIC Design.pdf
ASIC Design.pdf
 

Recently uploaded

Get Premium Pimple Saudagar Call Girls (8005736733) 24x7 Rate 15999 with A/c ...
Get Premium Pimple Saudagar Call Girls (8005736733) 24x7 Rate 15999 with A/c ...Get Premium Pimple Saudagar Call Girls (8005736733) 24x7 Rate 15999 with A/c ...
Get Premium Pimple Saudagar Call Girls (8005736733) 24x7 Rate 15999 with A/c ...MOHANI PANDEY
 
Vip Mumbai Call Girls Kalyan Call On 9920725232 With Body to body massage wit...
Vip Mumbai Call Girls Kalyan Call On 9920725232 With Body to body massage wit...Vip Mumbai Call Girls Kalyan Call On 9920725232 With Body to body massage wit...
Vip Mumbai Call Girls Kalyan Call On 9920725232 With Body to body massage wit...amitlee9823
 
Top Rated Pune Call Girls Katraj ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated  Pune Call Girls Katraj ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...Top Rated  Pune Call Girls Katraj ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated Pune Call Girls Katraj ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...Call Girls in Nagpur High Profile
 
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Th...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Th...Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Th...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Th...Pooja Nehwal
 
Call Girls in Vashi Escorts Services - 7738631006
Call Girls in Vashi Escorts Services - 7738631006Call Girls in Vashi Escorts Services - 7738631006
Call Girls in Vashi Escorts Services - 7738631006Pooja Nehwal
 
➥🔝 7737669865 🔝▻ Deoghar Call-girls in Women Seeking Men 🔝Deoghar🔝 Escorts...
➥🔝 7737669865 🔝▻ Deoghar Call-girls in Women Seeking Men  🔝Deoghar🔝   Escorts...➥🔝 7737669865 🔝▻ Deoghar Call-girls in Women Seeking Men  🔝Deoghar🔝   Escorts...
➥🔝 7737669865 🔝▻ Deoghar Call-girls in Women Seeking Men 🔝Deoghar🔝 Escorts...amitlee9823
 
Escorts Service Arekere ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Arekere ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Arekere ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Arekere ☎ 7737669865☎ Book Your One night Stand (Bangalore)amitlee9823
 
HLH PPT.ppt very important topic to discuss
HLH PPT.ppt very important topic to discussHLH PPT.ppt very important topic to discuss
HLH PPT.ppt very important topic to discussDrMSajidNoor
 
Call Girls Banashankari Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Banashankari Just Call 👗 7737669865 👗 Top Class Call Girl Service ...Call Girls Banashankari Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Banashankari Just Call 👗 7737669865 👗 Top Class Call Girl Service ...amitlee9823
 
SM-N975F esquematico completo - reparación.pdf
SM-N975F esquematico completo - reparación.pdfSM-N975F esquematico completo - reparación.pdf
SM-N975F esquematico completo - reparación.pdfStefanoBiamonte1
 
(=Towel) Dubai Call Girls O525547819 Call Girls In Dubai (Fav0r)
(=Towel) Dubai Call Girls O525547819 Call Girls In Dubai (Fav0r)(=Towel) Dubai Call Girls O525547819 Call Girls In Dubai (Fav0r)
(=Towel) Dubai Call Girls O525547819 Call Girls In Dubai (Fav0r)kojalkojal131
 
Book Paid Lohegaon Call Girls Pune 8250192130Low Budget Full Independent High...
Book Paid Lohegaon Call Girls Pune 8250192130Low Budget Full Independent High...Book Paid Lohegaon Call Girls Pune 8250192130Low Budget Full Independent High...
Book Paid Lohegaon Call Girls Pune 8250192130Low Budget Full Independent High...ranjana rawat
 
Top Rated Pune Call Girls Ravet ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Ravet ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Ravet ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Ravet ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Call Girls in Nagpur High Profile
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In Yusuf Sarai ≼🔝 Delhi door step delevry≼🔝
Call Now ≽ 9953056974 ≼🔝 Call Girls In Yusuf Sarai ≼🔝 Delhi door step delevry≼🔝Call Now ≽ 9953056974 ≼🔝 Call Girls In Yusuf Sarai ≼🔝 Delhi door step delevry≼🔝
Call Now ≽ 9953056974 ≼🔝 Call Girls In Yusuf Sarai ≼🔝 Delhi door step delevry≼🔝9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
一比一定(购)新西兰林肯大学毕业证(Lincoln毕业证)成绩单学位证
一比一定(购)新西兰林肯大学毕业证(Lincoln毕业证)成绩单学位证一比一定(购)新西兰林肯大学毕业证(Lincoln毕业证)成绩单学位证
一比一定(购)新西兰林肯大学毕业证(Lincoln毕业证)成绩单学位证wpkuukw
 
Vip Mumbai Call Girls Andheri East Call On 9920725232 With Body to body massa...
Vip Mumbai Call Girls Andheri East Call On 9920725232 With Body to body massa...Vip Mumbai Call Girls Andheri East Call On 9920725232 With Body to body massa...
Vip Mumbai Call Girls Andheri East Call On 9920725232 With Body to body massa...amitlee9823
 
Top Rated Pune Call Girls Chakan ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated  Pune Call Girls Chakan ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...Top Rated  Pune Call Girls Chakan ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated Pune Call Girls Chakan ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...Call Girls in Nagpur High Profile
 

Recently uploaded (20)

Get Premium Pimple Saudagar Call Girls (8005736733) 24x7 Rate 15999 with A/c ...
Get Premium Pimple Saudagar Call Girls (8005736733) 24x7 Rate 15999 with A/c ...Get Premium Pimple Saudagar Call Girls (8005736733) 24x7 Rate 15999 with A/c ...
Get Premium Pimple Saudagar Call Girls (8005736733) 24x7 Rate 15999 with A/c ...
 
Vip Mumbai Call Girls Kalyan Call On 9920725232 With Body to body massage wit...
Vip Mumbai Call Girls Kalyan Call On 9920725232 With Body to body massage wit...Vip Mumbai Call Girls Kalyan Call On 9920725232 With Body to body massage wit...
Vip Mumbai Call Girls Kalyan Call On 9920725232 With Body to body massage wit...
 
Top Rated Pune Call Girls Katraj ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated  Pune Call Girls Katraj ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...Top Rated  Pune Call Girls Katraj ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated Pune Call Girls Katraj ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
 
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Th...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Th...Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Th...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Th...
 
Call Girls in Vashi Escorts Services - 7738631006
Call Girls in Vashi Escorts Services - 7738631006Call Girls in Vashi Escorts Services - 7738631006
Call Girls in Vashi Escorts Services - 7738631006
 
➥🔝 7737669865 🔝▻ Deoghar Call-girls in Women Seeking Men 🔝Deoghar🔝 Escorts...
➥🔝 7737669865 🔝▻ Deoghar Call-girls in Women Seeking Men  🔝Deoghar🔝   Escorts...➥🔝 7737669865 🔝▻ Deoghar Call-girls in Women Seeking Men  🔝Deoghar🔝   Escorts...
➥🔝 7737669865 🔝▻ Deoghar Call-girls in Women Seeking Men 🔝Deoghar🔝 Escorts...
 
(ISHITA) Call Girls Service Aurangabad Call Now 8617697112 Aurangabad Escorts...
(ISHITA) Call Girls Service Aurangabad Call Now 8617697112 Aurangabad Escorts...(ISHITA) Call Girls Service Aurangabad Call Now 8617697112 Aurangabad Escorts...
(ISHITA) Call Girls Service Aurangabad Call Now 8617697112 Aurangabad Escorts...
 
Escorts Service Arekere ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Arekere ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Arekere ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Arekere ☎ 7737669865☎ Book Your One night Stand (Bangalore)
 
HLH PPT.ppt very important topic to discuss
HLH PPT.ppt very important topic to discussHLH PPT.ppt very important topic to discuss
HLH PPT.ppt very important topic to discuss
 
CHEAP Call Girls in Mayapuri (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Mayapuri  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Mayapuri  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Mayapuri (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
CHEAP Call Girls in Ashok Nagar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Ashok Nagar  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Ashok Nagar  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Ashok Nagar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Call Girls Banashankari Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Banashankari Just Call 👗 7737669865 👗 Top Class Call Girl Service ...Call Girls Banashankari Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Banashankari Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
 
SM-N975F esquematico completo - reparación.pdf
SM-N975F esquematico completo - reparación.pdfSM-N975F esquematico completo - reparación.pdf
SM-N975F esquematico completo - reparación.pdf
 
(=Towel) Dubai Call Girls O525547819 Call Girls In Dubai (Fav0r)
(=Towel) Dubai Call Girls O525547819 Call Girls In Dubai (Fav0r)(=Towel) Dubai Call Girls O525547819 Call Girls In Dubai (Fav0r)
(=Towel) Dubai Call Girls O525547819 Call Girls In Dubai (Fav0r)
 
Book Paid Lohegaon Call Girls Pune 8250192130Low Budget Full Independent High...
Book Paid Lohegaon Call Girls Pune 8250192130Low Budget Full Independent High...Book Paid Lohegaon Call Girls Pune 8250192130Low Budget Full Independent High...
Book Paid Lohegaon Call Girls Pune 8250192130Low Budget Full Independent High...
 
Top Rated Pune Call Girls Ravet ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Ravet ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Ravet ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Ravet ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In Yusuf Sarai ≼🔝 Delhi door step delevry≼🔝
Call Now ≽ 9953056974 ≼🔝 Call Girls In Yusuf Sarai ≼🔝 Delhi door step delevry≼🔝Call Now ≽ 9953056974 ≼🔝 Call Girls In Yusuf Sarai ≼🔝 Delhi door step delevry≼🔝
Call Now ≽ 9953056974 ≼🔝 Call Girls In Yusuf Sarai ≼🔝 Delhi door step delevry≼🔝
 
一比一定(购)新西兰林肯大学毕业证(Lincoln毕业证)成绩单学位证
一比一定(购)新西兰林肯大学毕业证(Lincoln毕业证)成绩单学位证一比一定(购)新西兰林肯大学毕业证(Lincoln毕业证)成绩单学位证
一比一定(购)新西兰林肯大学毕业证(Lincoln毕业证)成绩单学位证
 
Vip Mumbai Call Girls Andheri East Call On 9920725232 With Body to body massa...
Vip Mumbai Call Girls Andheri East Call On 9920725232 With Body to body massa...Vip Mumbai Call Girls Andheri East Call On 9920725232 With Body to body massa...
Vip Mumbai Call Girls Andheri East Call On 9920725232 With Body to body massa...
 
Top Rated Pune Call Girls Chakan ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated  Pune Call Girls Chakan ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...Top Rated  Pune Call Girls Chakan ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated Pune Call Girls Chakan ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
 

6. Design Planning.pdf

  • 1. Digital Implementation Design Planning 1 © Ahmed Abdelazeem. All rights reserved IP
  • 2. Contents After completing this unit, you should be able to: ❑ Implement a given floorplan, this includes: ◦ Defining the core area ◦ Creating and placing power pads ◦ Placing the IO pads and macros ◦ Modifying the orientation of macros ◦ Implement a P/G grid according to given parameters ◦ Defining placement and routing blockages ❑ Create a rectilinear block abstract ❑ Power Planning ◦ Design the Power Network ◦ Apply the PG Strategies ◦ PG Verification and Analysis 2/28/2024 2 © Ahmed Abdelazeem. All rights reserved IP
  • 3. Facilities Building Hours Restrooms Meals Messages Smoking Recycling Phones Emergency EXIT Please turn off cell phones and pagers 3 © Ahmed Abdelazeem. All rights reserved 2/28/2024
  • 4. Workshop Goal Use IC Compiler II to perform placement, DFT, CTS, routing and optimization, achieving timing closure for designs with moderate to high design challenges. 4 © Ahmed Abdelazeem. All rights reserved 2/28/2024
  • 5. Target Audience ASIC, back-end or layout designers with experience in standard cell-based automatic Place&Route. 5 © Ahmed Abdelazeem. All rights reserved 2/28/2024
  • 6. High-Level IC Compiler Flow Gate-level netlist Synthesis Design & Time Setup Floorplan Definition Placement & Optimization CTS & Optimization Routing & Optimization Signoff IC Compiler II 6 2/28/2024 © Ahmed Abdelazeem. All rights reserved  ✓
  • 7. What Is Floorplanning? 2/28/2024 7 © Ahmed Abdelazeem. All rights reserved IP ROM RAM The location of the core, periphery areas, and the P/G grid, define the Floorplan of the chip. Core placement area Periphery area Rings Straps P/G Grid With a top-level netlist, you can start to floorplan the chip. ▪ Define Die Size. ▪ Place the IOs. ▪ Perform macro placement. ▪ Perform power planning. ▪ Power domain definition ▪ Flip-chip bump placement Floorplanning is the process of deriving the die size, allocating space for soft blocks, planning power, and macro placement.
  • 8. Floorplanning ❑ Floorplanning consists of defining the Core Placement area, the Periphery area and the Power/Ground grid. ❑ The Core Placement area consists of Placement Rows where standard cells and macro cells are placed. ❑ A placement row consists of a row of “unit tile” cells (part of the standard cell library, width defined by the minimum metal pitch). Standard cells are placed in the core of a chip and occupy specific tile(s) within the placement rows. A standard cell may occupy a single or multiple tiles. ❑ The pad cells (input, output, bi-dir, power and ground pads) are placed in the Periphery Area, which is defined by the area around the outside boundary of the core, usually separated by a “core-to-pad” spacing distance. 2/28/2024 © Ahmed Abdelazeem. All rights reserved 8
  • 9. Floorplanning: Creation of Site Rows 2/28/2024 © Ahmed Abdelazeem. All rights reserved 9 ◼ Placement requires grid in which cells will be placed ◼ Floorplanning uses ‘unit tile’ cell to build this grid ❑ It is defined by a library developer and library cells are designed to be multiple of unit tile Creation of sites for detailed placement FF BUF INV NOR unit tile (site)
  • 10. What Are Sites and Rows? ❑ A site is the minimum unit of placement. It represents a slot where a cell can be placed. Rows are multiples of sites and define locations where the placement tool places cells. ❑ Placement tools place cells in locations defined by the cell’s description in the LEF file. If a cell is of type CORE, then it can only be placed in a CORE rows. If a cell is of type IO, it can only be placed in IO rows. 2/28/2024 © Ahmed Abdelazeem. All rights reserved 10
  • 11. Floorplan Areas 2/28/2024 © Ahmed Abdelazeem. All rights reserved 11 Pad Area Core Area ❑ In general, a chip is a combination of: ◦ Core Area ◦ Pad Area
  • 12. Pad Area 2/28/2024 © Ahmed Abdelazeem. All rights reserved 12 ❑ Pad area consists of: ◦ Input/Output/InOut pads ◦ Power pads and corner pads ◦ Pad fillers ◦ P/G rings CornerUR Reset Filler VDD VSS VSS VDD
  • 13. Initialize Floorplan and Create Core Area 2/28/2024 © Ahmed Abdelazeem. All rights reserved 13 Row 1 Row 3 Row 2 Bottom of row key Core To Bottom Distance Core To Left Distance Width Height Control Parameters * Aspect Ratio →Utilization →Aspect ratio (H/W) →Row/core ratio * Width & Height →Width →Height →Row/core ratio * ………. * ………. Example of a horizontal, no double back, no-flip first row with Row/Core <1.
  • 14. Utilization: A Factor in Determining Core Size 2/28/2024 © Ahmed Abdelazeem. All rights reserved 14 Macro ◼ Core “utilization” is the percentage of the core that is used by placed std cells and macros ◼ Ideally would like to achieve 100% utilization at tape-out. In practice range is 80-85% ◼ Recommended starting netlist utilization should not exceed 60- 75% to allow for logic optimizations and DFM 𝑼𝒕𝒊𝒍𝒊𝒛𝒂𝒕𝒊𝒐𝒏 = (𝑻𝒐𝒕𝒂𝒍 𝑺𝒕𝒅 𝑪𝒆𝒍𝒍 + 𝑴𝒂𝒄𝒓𝒐 𝑪𝒆𝒍𝒍 𝑨𝒓𝒆𝒂) 𝑪𝒐𝒓𝒆 𝑨𝒓𝒆𝒂 ∗ 𝟏𝟎𝟎%
  • 15. Core and IO Region ❑ From: • A gate-level netlist of Relevant physical libraries • Default or user-specified aspect ratio and utilization. ❑ Calculate the area of all macro cells and leaf cells Generate bounding shapes and cell placement rows Place IO PADs • Signal pads • Filler and corner pads Bump or flip-chip IO pads 2/28/2024 © Ahmed Abdelazeem. All rights reserved 15 𝑼𝒕𝒊𝒍𝒊𝒛𝒂𝒕𝒊𝒐𝒏 = (𝑻𝒐𝒕𝒂𝒍 𝑺𝒕𝒅 𝑪𝒆𝒍𝒍 + 𝑴𝒂𝒄𝒓𝒐 𝑪𝒆𝒍𝒍 𝑨𝒓𝒆𝒂) 𝑪𝒐𝒓𝒆 𝑨𝒓𝒆𝒂 ∗ 𝟏𝟎𝟎%
  • 16. Aspect Ratio: A Factor in Determining Core Size ❑ Aspect ratio is the ratio between vertical routing resources to horizontal routing resources. ❑ If you specify a ratio of 1.00, the height and width are the same and therefore the core is a square. ❑ If you specify a ratio of 2.00, the height is two times the width. 2/28/2024 © Ahmed Abdelazeem. All rights reserved 16
  • 17. Floorplanning: Space for Power Rings 2/28/2024 © Ahmed Abdelazeem. All rights reserved 17 ◼ A fixed space is required to be available around core for power supply rings Core
  • 18. Floorplanning: Pin Locations 2/28/2024 © Ahmed Abdelazeem. All rights reserved 18 ◼ Pins can be spread automatically by IC Compiler II around the boundary ◼ The exact side and/or location, layers, size for pins can be set by a designer Pins Core set_pin_physical_constraints -pin_name "mypin" -layers {M2 M3 M4 M5} -width 0.28 -depth 0.28 -side 1 -offset 5
  • 19. Floorplanning: I/O Placement 2/28/2024 © Ahmed Abdelazeem. All rights reserved 19 Core Periphery (I/O) area
  • 20. Initialize the Floorplan 2/28/2024 © Ahmed Abdelazeem. All rights reserved 20 ❑ Floorplan Initialization ◦ Sets the boundary and defines standard cell placement site array within the core area. ◦ Support Various core shapes: ◦ Rectangle ◦ L-, U-, T- Shapes ◦ Rectilinear ◦ Initialization does not place chip- level IO-pads nor block-level pins initialize_floorplan -core_utilization 0.7 -shape L -orientation N -side_ratio {1 1 1 1} -core_offset {100.0} -flip_first_row true -coincident_boundary true
  • 21. Cell View after Initialize Floorplan 2/28/2024 © Ahmed Abdelazeem. All rights reserved 21 Flip first row, double back, row/core = 1 Unplaced Macro cells Unplaced Standard cells Core area with rows and tracks inserted Periphery w/ IO pad cells
  • 22. Pad-Limited Design 2/28/2024 © Ahmed Abdelazeem. All rights reserved 22 Core Placement Area Core Placement area uses less real estate than available. If the utilization of a pad-limited design is too high during floorplanning will reducing it affect die size? The large number of pad cells determines die-size.
  • 23. Core-Limited Designs 2/28/2024 © Ahmed Abdelazeem. All rights reserved 23 Core Placement Area Pads use less than available periphery area. The large number of standard cells and macros determine die-size. If the utilization of a core-limited design is too high during floorplanning will reducing it affect die size?
  • 24. Cell Types 2/28/2024 © Ahmed Abdelazeem. All rights reserved 24 VS VS Standard cells IP I/O Pad Ring IP Flip Chip Bump I/O Ring Core
  • 25. I/O Cell Placement 2/28/2024 © Ahmed Abdelazeem. All rights reserved 25 Wire Bond Flip-Chip IC Dielectric Underfill http://ffden-2.phys.uaf.edu/212_spring2005.web.dir/george_walker/uses.htm http://blog.daum.net/dourira/6824688
  • 26. Wire Bond 2/28/2024 © Ahmed Abdelazeem. All rights reserved 26 ❑ Most widespread method ❑ IC is connected with package pins with thin wires Wire Bonding Example http://www.era.co.uk/case-studies/improving-the-reliability-of-chip-on-board-assembly/
  • 27. Flip-Chip 2/28/2024 © Ahmed Abdelazeem. All rights reserved 27 IC Dielectric Underfill Rigid Laminate Solder Ball Flip Chip Cross Section ▪ Modern method of I/O connection ▪ IC is connected with package using solder balls http://www.izm.fraunhofer.de/en/abteilungen/high_density_interconnec twaferlevelpackaging/arbeitsgebiete/arbeitsgebiet1.html
  • 28. Wire Bond Placement 2/28/2024 © Ahmed Abdelazeem. All rights reserved 28 core area Wire Bond wide wire route I/O driver bond pad
  • 29. Flip-Chip Placement 2/28/2024 © Ahmed Abdelazeem. All rights reserved 29 core area Flip Chip Driver Cells Placed around Perimeter of Chip core area Bump Cells Overlaying the Chip IO Driver bump wide wire pins
  • 30. I/O Cell Physical Structures 2/28/2024 © Ahmed Abdelazeem. All rights reserved 30 BUMP d d VDD VSSIO VSS VDDIO VSSIO VDDIO VDDIO b b b b b b b VSSIO VDDIO VSSIO VDDIO b b b b VSSIO VDDIO VDDIO b1 b b a VSSIO b1 a a a a a a a a a a a a a a a a a a a a a a a a a a VDD VSSIO VSS VDDIO VSSIO VDDIO VDDIO b b b b b b b ? VSSIO VDDIO VSSIO VDDIO b b b b VSSIO VDDIO VDDIO b1 b b a VSSIO b1
  • 31. Flip-Chip Routed Example 2/28/2024 © Ahmed Abdelazeem. All rights reserved 31
  • 32. I/O Placement and Flip Chip ❑ I/O cell Placement is performed after initial floorplan creation ❑ Flip-chip and non-flip chip designs use the same I/O cell placement command. ❑ I/O constraints provide easy and flexible driver location control. 2/28/2024 © Ahmed Abdelazeem. All rights reserved 32 * Create Bump Cells Create I/O Guides Set I/O Constraints (Optional) Place I/O Cells * RDL Routing * Flip-Chip specific steps
  • 33. Bump Cell Creation 2/28/2024 © Ahmed Abdelazeem. All rights reserved 33 * Create Bump Cells Create I/O Guides Set I/O Constraints (Optional) Place I/O Cells Create Initial Floorplan Met Requirements? NO ❑ Instantiate the bump cells before placing the I/O drivers. ❑ Bump Cells can be created by reading DEF, AIF, or by using: Create_bump_array
  • 34. Placing Bump Cell ❑ Bump array pattern options ❑ Example of an inline bump array 2/28/2024 © Ahmed Abdelazeem. All rights reserved 34 create_bump_array -lib_cell bc -bbox {{x1 y1} {x2 y2}} -origin {offset_x offset_y} -pattern inline -delta {dx dy}
  • 35. Create I/O Guides 2/28/2024 © Ahmed Abdelazeem. All rights reserved 35 * Create Bump Cells Create I/O Guides Set I/O Constraints (Optional) Place I/O Cells Create Initial Floorplan Met Requirements? NO ❑ I/O Cells are placed along I/O guides o Must be created before placing the I/O Cells o or: create_io_guide create_io_ring
  • 36. Create I/O Guide Examples 2/28/2024 © Ahmed Abdelazeem. All rights reserved 36
  • 37. I/O Placement Constraints 2/28/2024 © Ahmed Abdelazeem. All rights reserved 37 * Create Bump Cells Create I/O Guides Set I/O Constraints (Optional) Place I/O Cells Create Initial Floorplan Met Requirements? NO ❑ Control I/O driver location and Pad abutment. ❑ Adjustable I/O driver ordering spacing ❑ Supports signal as well as power I/O drivers set_signal_io_constraints
  • 38. Specifying Signal I/O Constraints 2/28/2024 © Ahmed Abdelazeem. All rights reserved 38
  • 39. Specifying Signal I/O Constraints 2/28/2024 © Ahmed Abdelazeem. All rights reserved 39 ❑ Signal ordering begins at the lower-left pad for the left edge, the upper-left pad for the top edge, the upper-right pad for the right edge, and the lower-right pad for the bottom edge as shown in Figure. Example 1: I/O Constraints File Example ring.top {80} {{55} Pad_1 Pad_2 Pad_3} {10} {Pad_4 40 Pad_5 60 Pad_6} {Pad_7 Pad_8} ;
  • 40. I/O Signal Constraints File Example 2/28/2024 © Ahmed Abdelazeem. All rights reserved 40
  • 41. Placing I/O Cells 2/28/2024 © Ahmed Abdelazeem. All rights reserved 41 * Create Bump Cells Create I/O Guides Set I/O Constraints (Optional) Place I/O Cells Create Initial Floorplan Met Requirements? NO ❑ I/O drivers are placed in the specified I/O guides, according to the constraints. ❑ The location of all I/O drivers is derived by searching for mapping, and then connecting the RDL net to the bumps Place_io
  • 42. RDL Pathline Display ❑ What is a Pathline used for? • RDL Pathlines show the possible paths of RDL routes • RDL Pathlines help to identify problems in I/O driver placement • RDL Pathlines are piecewise linear and do not overlap with bumps ❑ TO view pathlines from the GUI: View → RDL Flylines 2/28/2024 © Ahmed Abdelazeem. All rights reserved 42
  • 43. Identifying Macro Placements 2/28/2024 © Ahmed Abdelazeem. All rights reserved 43 ❑ Use flylines to show macro connections ❑ Place macros so that the connections between them and the IO pads are direct and shortest ❑ Modifying macro-orientation can often make shorter, more direct connections
  • 44. Hard Macro Placement ❑ When placing large macros we must consider impacts on routing, timing and power. Usually, push them to the sides of the floorplan. o Placement algorithms generally perform better with a single large rectangular placement area o For wire-bond place power-hungry macros away from the chip center ❑ After placing hard macros, mark them as FIXED. 2/28/2024 © Ahmed Abdelazeem. All rights reserved 44
  • 45. Placement Blockages and Halos ❑ Placement blockage halos are areas that the tools should not place any cells. ❑ These, too, have several types: • Hard Blockage – no cells can be placed inside. • Soft Blockage – cannot be used during placement but may be used during optimization. • Partial Blockage – an area with lower utilization. ❑ Halo (padding) – an area outside a macro that should be kept clear of standard cells 2/28/2024 © Ahmed Abdelazeem. All rights reserved 45 RAM5 Pins are on left and right Create_placement_blockage -type hard -outer {10 0 10 0} RAM5 {left bottom right top} hard or soft
  • 46. Macro Keepout Margin (Padding) 2/28/2024 © Ahmed Abdelazeem. All rights reserved 46 RAM5 Pins are on left and right A keepout margin is a region around the boundary of fixed macros in the design in which no other cells are placed. Keepout margin set_keepout_margin -type hard -outer {10 0 10 0} RAM5 {left bottom right top} hard or soft
  • 47. Placemen Blockages and Halos 2/28/2024 © Ahmed Abdelazeem. All rights reserved 47 RAM4 RAM2 RAM1 RAM3 RAM5 Soft blockage created only for the channels between the macros or between the macro and the core boundary Hard blockage always created on all four sides
  • 48. Soft and Hard Placement Blockage 2/28/2024 © Ahmed Abdelazeem. All rights reserved 48 Macro 1 Macro 2 Hard blockage prevents standard cells from being placed in this region. Soft blockage allows new buffers/inverters to be inserted during optimization. Hard placement blockage Soft placement blockage
  • 49. Routing Blockage (Route Guide) 2/28/2024 © Ahmed Abdelazeem. All rights reserved 49 create_route_guide –no_signal_layer {METAL5 METAL6} -coordinate {{20 20} {75 95}} RAM4 (20,20) (75,95) Routing blockage ❑ Routing blockages are used to prevent the route in a particular area for the specific metal layer for all nets or only signal nets or PG nets. ❑ Routing blockages – areas where routing is not allowed
  • 50. A Good Floorplan 2/28/2024 © Ahmed Abdelazeem. All rights reserved 50 PLL RAM RAM RAMS out of the way in the corner Large routing channels RAM No 4 way intersections. MY_SUB_BLOCK Standard cells area Single large partition Pins away from corners
  • 51. Balance Routing Resources 2/28/2024 © Ahmed Abdelazeem. All rights reserved 51 ❑ If less vertical routing resources are available, make floorplan wider (aspect ratio < 1) if possible, to increase vertical routing resources ❑ If less horizontal routing resources are available, make floorplan taller (aspect ratio > 1) if possible, to increase horizontal routing resources Balancing vertical/horizontal routing resources reduces overall congestion.
  • 52. Crater Lake or Thousand Island 2/28/2024 © Ahmed Abdelazeem. All rights reserved 52 RAM RAM RAM STANDARD CELLS RAM RAM RAM RAM RAM RAM RAM RAM RAM RAM RAM Crater Lake RAM RAM RAM RAM RAM RAM RAM RAM RAM RAM RAM RAM RAM RAM STANDARD CELLS Thousand Island
  • 53. Guidelines for a good floorplan 2/28/2024 © Ahmed Abdelazeem. All rights reserved 53 RAM 1 RAM 2 RAM 3 RAM 4 RAM 5 RAM 6 RAM 8 Use blockage to improve pin accessibility. RAM 7 Avoid many pins in the narrow channel. Rotate for pin accessibility. Avoid constrictive channels.
  • 54. Placement Bounds © Ahmed Abdelazeem. All rights reserved 54 2/28/2024 ❑ Sometimes, we want to “help” the tool put certain logic in certain regions or cluster them together. ❑ Place and Route tools define several types of placement bounds: • Soft move bounds specify placement goals, with no guarantee that the cells will be placed inside the bounds. • Hard move bounds force placement of the specified cells inside the bounds. • Exclusive move bounds force the placement of the specified cells inside the bounds. All other cells must be placed outside the bounds.
  • 55. Hierarchical Approach 2/28/2024 © Ahmed Abdelazeem. All rights reserved 55 ◼ Chip is partitioned into smaller blocks ◼ Each block is P&R'ed individually in ICC II ◼ Blocks are integrated back into the chip ◼ ICC II routes top-level nets IP RAM Block 2 Block 1 Block 3
  • 56. Chip vs. Block 2/28/2024 © Ahmed Abdelazeem. All rights reserved 56 Blocks can be rectangular or rectilinear in shape. ◼ Chip has: ⚫ Pads (signal and P/G) ◼ Block has: ⚫ Pins (signals and P/G) IP RAM Block 2 Block 1 Block 3
  • 57. Building The Power Network 2/28/2024 © Ahmed Abdelazeem. All rights reserved 57 Design the Power Network Apply the PG Strategies PG Verification and Analysis
  • 58. Objective of Power Network 2/28/2024 © Ahmed Abdelazeem. All rights reserved 58 ❑ Power planning is deciding how we will deliver power to the design’s standard cells! ❑ What is the importance of having a power network with low impedance? • All analysis and optimization done in logic synthesis and PnR is based on the fact that cells are supplied with ideal voltage… • If the actual circuit supply is significantly different, cell operation will be different from the behavior characterized in the .libs, which will cause all types of timing Violations
  • 59. Objective of Power Network ❑ To distribute the power from power pads to all elements in the chip. ❑ Unified supply of power with less voltage drop ❑ A proper Power design should aim at using as less routing recourse as possible. ❑ Power Analysis (EMIR) check should be done after power planning is completed ❑ A design with a robust power and ground (PG) grid reduces IR drop and electromigration by providing an adequate number of power and ground pads and rails. 2/28/2024 © Ahmed Abdelazeem. All rights reserved 59 Power pads (VDD, VSS) Power straps (in Red) (VDD, VSS) Power rings (VDD, VSS) Power trunks (VDD, VSS)
  • 60. Power Planning ❑ Creation of the power network within a design ❑ Power planning is integrated with the overall design flow and must be taken into account early in the design process because: • # of pads may determine physical size (pad limited). The power structures within the core area consume the physical area. • The power grid topology affects top-level routability, and also placement and routing within the child blocks. • The power structure affects functionality and reliability. 2/28/2024 © Ahmed Abdelazeem. All rights reserved 60
  • 61. Power Network Elements ❑ Power Pad ❑ Trunks • Connects Ring to Power Pad ❑ Power Rings • Form complete rings around the periphery of the die, around individual hard macros, or inside of hierarchical blocks with higher-level Metal layers Power ❑ Power Stripes • Carries VDD and VSS from Rings across the chip Horizontal and vertical metal wires placed in an array across the entire section die • higher level routing layers • typically uniformly distributed across the die. ❑ Power Rails • Is used to connect the standard cell power rails together, and or power straps. • Low level, typically metal 1. 2/28/2024 © Ahmed Abdelazeem. All rights reserved 61 Power pads ( VDD, VSS ) Power straps ( VDD, VSS ) Power rings ( VDD, VSS )
  • 62. Power Planning ❑ Power Planning includes: • Proper estimation of the power of the chip. • power routing the design based on the estimation. ❑ We create a mesh kind of structure so that instance(s) can take direct supply from the nearest point ❑ We create multiple VDD and VSS lines(for each power domain) ❑ Hierarchical Mesh from upper metal layers to lowest(Ml or M2 layers for standard cells). Connection from higher to adjacent lower metal layer is through VIAs 2/28/2024 © Ahmed Abdelazeem. All rights reserved 62
  • 63. Power Mesh ❑ Power/Ground mesh will allow multiple paths from P/G sources to destinations • Hierarchical power and ground meshes from upper metal layers to lower metal layers • Multiple vias between layers 2/28/2024 © Ahmed Abdelazeem. All rights reserved 63
  • 64. Why create mesh kind of structure ? ❑ To distribute the Power from power pads/pins to all elements of the chip. ❑ Provides multiple paths from PG sources to destinations (less series resistance) ❑ Uniformly distribute power with less voltage drop. ❑ To meet IR/EM targets ❑ For meeting timing requirements 2/28/2024 © Ahmed Abdelazeem. All rights reserved 64
  • 65. Power Grid Planning ❑ Steps in Power Grid Planning ◦ Determine the number of power pads ◦ Determine which metal layers will be used for power routing ◦ Define the width of the top-level power bus ◦ Determine the structure for block and macro- level power routing ◦ Power Network Analysis (PNA) 2/28/2024 © Ahmed Abdelazeem. All rights reserved 65
  • 66. Top-level Power Network ❑Supported topology with PNS ◦ PNS currently creates a (rectilinear) power plan with/without a core ring connected to a power mesh ❑ User can specify ◦ Number of straps: Min, max ◦ Width of straps: Min, Max ◦ Width of ring ◦ Layers 2/28/2024 © Ahmed Abdelazeem. All rights reserved 66
  • 67. Block Level Power Network 2/28/2024 © Ahmed Abdelazeem. All rights reserved 67 IP2 IP1 ❑ Power network synthesis can automatically create the power structures for the whole chip, including rings and strapping for macros and IP. ❑ This is done based upon power estimates or power analysis and utilizes IR-drop requirements as well as metal layer information like layers to be used with max number and max width of straps, etc. to constrain the meshes that are created.
  • 68. Inputs and Outputs of PNS 2/28/2024 © Ahmed Abdelazeem. All rights reserved 68
  • 69. Power Planning vs. Power Routing 2/28/2024 © Ahmed Abdelazeem. All rights reserved 69
  • 70. Power Planning Challenges ❑ Many designs have multiple voltage areas and hierarchical blocks • Each area requires a specific mesh structure ❑ Complex Core rings ❑ Special P/G Patterns 2/28/2024 © Ahmed Abdelazeem. All rights reserved 70
  • 71. Pattern-Based Power Network Synthesis ❑ Define regions for PG routing ❑ Define Patterns (PG Structure) • Metal layer, spacing, width, ... • Can use parameters ❑ Define Strategy (P/G topology) • Applies specific patterns to specific regions, and specific power/ground nets, using flexible via control • Flexible to floorplan change (no fixed coordinates) ❑ Create the power network 2/28/2024 © Ahmed Abdelazeem. All rights reserved 71
  • 72. PPNS Flow 2/28/2024 © Ahmed Abdelazeem. All rights reserved 72 Define PG region Patterns: Define PG Structure Strategy: Define PG topology Compile: Synthesize PG 𝑀𝑒𝑠ℎ 𝑃𝑎𝑡𝑡𝑒𝑟𝑛 𝐶𝑜𝑚𝑝𝑜𝑠𝑖𝑡𝑒 𝑃𝑎𝑡𝑡𝑒𝑟𝑛 𝑊𝑖𝑟𝑒 𝑃𝑎𝑡𝑡𝑒𝑟𝑛 𝑆𝑝𝑒𝑐𝑖𝑎𝑙 𝑃𝑎𝑡𝑡𝑒𝑟𝑛 𝑆𝑡𝑎𝑛𝑑𝑎𝑟𝑑 𝐶𝑒𝑙𝑙 𝑟𝑎𝑖𝑙 𝑃𝑎𝑡𝑡𝑒𝑟𝑛 𝑃𝑎𝑡𝑡𝑒𝑟𝑛 𝑁𝑎𝑚𝑒 𝑁𝑒𝑡 𝑁𝑎𝑚𝑒𝑠 𝑂𝑓𝑓𝑠𝑒𝑡 𝑅𝑒𝑔𝑖𝑜𝑛 𝐵𝑙𝑜𝑘𝑎𝑔𝑒 𝐸𝑥𝑡𝑒𝑛𝑠𝑖𝑜𝑛 ቊ 𝑆𝑡𝑟𝑎𝑡𝑒𝑔𝑦 𝑛𝑎𝑚𝑒𝑠 𝑉𝑖𝑎 𝑅𝑢𝑙𝑒𝑠 ሼ𝑃𝐺 𝑁𝑒𝑡𝑤𝑜𝑟𝑘 𝑅𝑜𝑢𝑡𝑖𝑛𝑔 𝑎𝑟𝑒𝑎
  • 73. PG Region 2/28/2024 © Ahmed Abdelazeem. All rights reserved 73 Region r1 Defined on the core area. Two large macros excluded. create_pg_region r1 –core -exclude_macros {u_one u_two} -macro_offset 5.0 ❑ PG regions can be created on • Core area • Blocks • Voltage area • Macros/groups of macros • Groups of regions • Polygon
  • 74. PG Rings 2/28/2024 © Ahmed Abdelazeem. All rights reserved 74 create_pg_region r1 -core -exclude_macros {u_one u_two} -macro_offset 5.0 create_pg_ring_pattern ring1 -horizontal_layer M5 -vertical_layer M4 -horizontal_width 2.0 -vertical_width 2.0 set_pg_strategy s1 -pg_regions {r1} -pattern { {name: ring1} {nets: {vdd vss}} } compile_pg -strategies s1
  • 75. Blockage, Parameters, Extension 2/28/2024 © Ahmed Abdelazeem. All rights reserved 75 create_pg_ring_pattern ring1 -paramters {hw vw} -horizontal_layer M5 -vertical_layer M4 -horizontal_width {@hw} -vertical_width {@vw} set_pg_strategy s2 -pg_regions {r1} -blockage {voltage_areas: r2} -pattern { {name: ring1} {nets: {vdd vss}} {paramters: {3 2}} {offset: {4 2}} {skip_sides: 1} } -extension { {side: 2 6} {direction: L} {stop: outermost_ring} }
  • 76. PG Meshes 2/28/2024 © Ahmed Abdelazeem. All rights reserved 76 Optional: Define a via rule Define a mesh Pattern, optionally with via rules between layers set a strategy on a region, a block or VA using the pattern Optional: Define a via rule between strategies and/or exiting shapes compile the strategies, optionally along with a via strategy 1 2 3 4 5 set_pg_via_master_rule via1 create_pg_mesh_pattern mesh1 -layers ... -via_rule ... set_pg_strategy s_1 -pg_regions | -blockage | -voltage_areas -pattern ... set_pg_strategy_via_rule v_1 compile_pg -strategies {s_1 s_2} -via_rule {v_1}
  • 77. Creating a PG Mesh Pattern 2/28/2024 © Ahmed Abdelazeem. All rights reserved 77 create_pg_mesh_pattern mesh1 -layers { {{horizontal_layer: M5} {width: 6} {spacing: 1} {pitch: 12} {offset: 5} } {{vertical_layer: M6} {width: 6} {spacing: 2} {pitch: 20} {offset: 6}} } -via_rule { {{layers: M5} {layers: M6} {via_master: VIA56_2x3}} }
  • 78. Defining a Custom PG Vias 2/28/2024 © Ahmed Abdelazeem. All rights reserved 78 set_pg_strategy_via_rule VIA36_2x3 -contact_code {VIA34SQ VIA45SQ VIA56SQ} -via_array_dimension {2 3} -offset {0.2 0.1} -offset_start center (default) intersection of M3/M6 Default contacts will be used, unless you specify one or all contact codes needed to connect from M3 to M6 contact code: via_array_dimension: 2x3 offset: (xy) cut_spacing: (dx dy)
  • 79. Meshes using Wire and Composite Pattern 2/28/2024 © Ahmed Abdelazeem. All rights reserved 79
  • 80. Setting the Strategy 2/28/2024 © Ahmed Abdelazeem. All rights reserved 80
  • 81. Defining Via Rules between Objects 2/28/2024 © Ahmed Abdelazeem. All rights reserved 81 Specify via rules to make specific connections between the straps of different strategies, or between strategies and existing shapes set_pg_strategy_via_rule s_via_m2_m7 -via_rule { { { {strategies: {s_m2} {layers: {M2}} } } { {strategies: {s_m7m8} {layers: {M7}} } } {via_master: {pgvia_1x3}} } } To prevent vias of begin inserted between 2 strategies, use the keyword "NIL" for the Via Specification
  • 82. Standard Cell Connection Pattern 2/28/2024 © Ahmed Abdelazeem. All rights reserved 82 create_pg_std_cell_conn_patter std_pat2 -parameters {w d} -layers {M2 M1} -rail_width {@w} -rail_shift {@d} create_pg_std_cell_conn_patter std_pat1 -layers {M1} set_pg_strategy s_std_cells -core -pattern { {name: std_pat1} {nets: {VDD VSS}} } -extension {{stop: innermost_ring}} compile_pg -strategies s_std_cells
  • 83. Compiling the PG Mesh 2/28/2024 © Ahmed Abdelazeem. All rights reserved 83 compile_pg
  • 84. PG Network Checks ❑ Verify whether the current routing of PG nets satisfies technology design rules ❑ Check Missing Vias in the PG Network ❑ Connectivity check for PG networks, including macro and standard cell PG pins, PG pads, and block terminals 2/28/2024 © Ahmed Abdelazeem. All rights reserved 84 Check_pg_drc Check_pg_missing_vias Check_pg_connectivity
  • 85. Power Network Analysis 2/28/2024 © Ahmed Abdelazeem. All rights reserved 85 ❑ After the creation of power network rings, straps, and IO connections: • The power network does not have to be complete ❑ Run PNA to analyze the power network • Voltage drop and electromigration ❑ Early Static IR drop analysis • Provides rough estimation of the chip IR drop and Peak Current ❑ Rough Placement Ok • Detailed, Legalized Placement not required ❑ Adjust the power network to solve reported issues
  • 86. Objectives of PNA ❑ Power Network Analysis is needed for power network planning and synthesis as it forms the core of the IR and EM analysis that is required to ensure that PNS goals are met. 2/28/2024 © Ahmed Abdelazeem. All rights reserved 86 PNS PNA Design Planning
  • 87. Power Network Analysis 2/28/2024 © Ahmed Abdelazeem. All rights reserved 87 Power Routing Pad AND gate NOR gate Height of the current density Height of the power voltage ❑ Electromigration analysis ▪ Current density analysis for every power segment ▪ Too high current density leads to damaged interconnect, reduced the useful life of chip and reliability issue ❑ Voltage Drop Analysis ▪ Voltage drop at each node of power network ▪ Too low power supply voltage leads to increased delay and timing issues
  • 88. IR-drop ❑ Reduction in voltage that occurs on power supply networks ❑ IC design expects the availability of the ideal power supply ❑ In reality, localized voltage drops within the power grid • Increasing current/area on the die • Narrower metal line widths (increases power grid resistance) ❑ Results in decreased power supply voltage at cells/transistors ❑ Decreases the operating voltage of the chip, resulting in timing and functional failures 2/28/2024 © Ahmed Abdelazeem. All rights reserved 88
  • 89. Reasons for IR Drop Violations ❑ Power structure is not proper. ❑ Cell density is very high. ❑ Instances are not getting proper power because of no straps over there ❑ Mesh structure is proper but there is no via 2/28/2024 © Ahmed Abdelazeem. All rights reserved 89
  • 90. How to reduce IR drop? ❑ Routing should be from the Top Layer. ❑ By adding some more Power Stripes. ❑ By increasing the width of the metal. ❑ By adding Decaps(DCAP cells). ❑ By using some Low Power Techniques 2/28/2024 © Ahmed Abdelazeem. All rights reserved 90
  • 91. PNA: IR Drop Analysis 2/28/2024 © Ahmed Abdelazeem. All rights reserved 91 Metal 5 and Metal 4 power trunks and Metal 1 straps IR Drop = 370mv Metal 5 and Metal 4 power trunks only, no straps IR Drop = 378mv Rail Signoff Power Network Analysis During Floorplanning
  • 92. Electromigration 2/28/2024 © Ahmed Abdelazeem. All rights reserved 92 ❑ Electromigration is the movement of atoms based on the flow of current through a material. ❑ If the current density is high enough, the heat dissipated within the material will repeatedly break atoms from the structure and move them. ❑ Results of EM in ICs: The VOIDs and HILLOCKS get created and potentially causing open and short Circuits.
  • 93. Reasons of EM violation ❑ High Fanout Net (multiple fanout cells switch simultaneously, draw larger current from driver) ❑ Higher Driver Strength Cells(delivers large current unnecessarily, heating up the wire) ❑ Higher frequency(quick transitions) ❑ Narrow metal width ❑ Metal slotting (resulting in narrower widths) ❑ Long Nets (because of larger resistance, higher localized temperature) 2/28/2024 © Ahmed Abdelazeem. All rights reserved 93
  • 94. Solutions of EM violations ❑ Decrease Driver’s drive Strength. ❑ Non-Default (wider) rule-based routing. ❑ Insert buffer on long nets. ❑ Route with higher metal layers(less resistive, higher tolerance (current carrying capabilities) ❑ Use multi-Cut Via ❑ Break the fanout (have fewer fanouts) ❑ Use wider metals (more width) 2/28/2024 © Ahmed Abdelazeem. All rights reserved 94
  • 95. Power Network Analysis Electromigration ❑ PNA checks power grid electromigration with the same parasitic model used by IR-Drop calculations ❑ Analyzes average current as damage is cumulative ❑ More sensitive to DC current than AC current 2/28/2024 © Ahmed Abdelazeem. All rights reserved 95
  • 96. Analyze the Power Network 2/28/2024 © Ahmed Abdelazeem. All rights reserved 96 analyze_power_plan -nets {VDD} -voltage 0.75 -power_budget 500 If necessary, modify the patterns and/or strategies and re-build -repeat until IR drop is acceptable
  • 97. A Complete Placed and Routed Chip 2/28/2024 © Ahmed Abdelazeem. All rights reserved 97 IP
  • 98. References 2/28/2024 © Ahmed Abdelazeem. All rights reserved 98 ❑ IDESA ❑ Digital Integrated Circuits: A Design Perspective by Rabaey ❑ CMOS VLSI Design: A circuits and systems perspective by David Harris and Neil Weste ❑ EPFL Tutorial ❑ Synopsys University Courseware ❑ IC Compiler User Guide ❑ Experience!
  • 99. 2/28/2024 © Ahmed Abdelazeem. All rights reserved 99 Thank You ☺