Placement

AhmedAbdelazeem28 447 views 54 slides Sep 08, 2024
Slide 1
Slide 1 of 54
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52
Slide 53
53
Slide 54
54

About This Presentation

Placement is a very important stage of physical design where all the standard cells get placed inside the core boundary. Overall QoR of the design greatly depends on the fact that how well placement is done. You must have noticed that the placement stage takes quite a large runtime. Actually, the to...


Slide Content

Intro
Placement
How to Plan your own chip
Ahmed Abdelazeem
Faculty of Engineering
Zagazig University
RTL2GDSII Flow, February 2022
Ahmed Abdelazeem ASIC Physical Design

Intro
Table of Contents
1Introduction
2Timing Driven Placement
3Congestion Driven Placement
4High Fanout Synthesis (HFS)
5Scan Chain Reordering
6Placement Optimization
Ahmed Abdelazeem ASIC Physical Design

Intro Place
Table of Contents
1Introduction
2Timing Driven Placement
3Congestion Driven Placement
4High Fanout Synthesis (HFS)
5Scan Chain Reordering
6Placement Optimization
Ahmed Abdelazeem ASIC Physical Design

Intro Place
Design Status Prior to Placement
Design Planning is completed
Second-Pass Synthesis is completed
Second-Pass Data Setup is completed
“Floorplanned cell” is generated- ready for placement
1Core and periphery areas defined
2Macros are placed and “fixed”
3Placement blockages defined
4Power grid pre-routed
5Standard cell placement is discarded
Ahmed Abdelazeem ASIC Physical Design

Intro Place
Placement Problem
The goal of placement is to minimize the total area and
interconnect cost.
The quality of the attainable routing is
highly determined by the placement.
Circuit placement becomes very critical in
65nm and below technologies.
Ahmed Abdelazeem ASIC Physical Design

Intro Place
Placement
Placement is the stage of the design flow, during which each
standard cell is given an exact location
Placement does not just place the standard cell available in
the synthesized netlist, it also optimized the design.
Inputs: 1Netlist of gates and wires.
2Floorplan and Technology constraints
Outputs:
1All cells located in the floorplan.
Goals:
1Provide legal location of entire netlist
2Enable detailed route of all nets
3Meet timing, area, and power targets
Ahmed Abdelazeem ASIC Physical Design

Intro Place
Placement
Placement is the stage of the design flow, during which each
standard cell is given an exact location
Placement does not just place the standard cell available in
the synthesized netlist, it also optimized the design.
Inputs: 1Netlist of gates and wires.
2Floorplan and Technology constraints
Outputs:
1All cells located in the floorplan.
Goals:
1Provide legal location of entire netlist
2Enable detailed route of all nets
3Meet timing, area, and power targets
Ahmed Abdelazeem ASIC Physical Design

Intro Place
Placement
Placement is the stage of the design flow, during which each
standard cell is given an exact location
Placement does not just place the standard cell available in
the synthesized netlist, it also optimized the design.
Inputs: 1Netlist of gates and wires.
2Floorplan and Technology constraints
Outputs:
1All cells located in the floorplan.
Goals:
1Provide legal location of entire netlist
2Enable detailed route of all nets
3Meet timing, area, and power targets
Ahmed Abdelazeem ASIC Physical Design

Intro Place
Placement
Placement is the stage of the design flow, during which each
standard cell is given an exact location
Placement does not just place the standard cell available in
the synthesized netlist, it also optimized the design.
Inputs: 1Netlist of gates and wires.
2Floorplan and Technology constraints
Outputs:
1All cells located in the floorplan.
Goals:
1Provide legal location of entire netlist
2Enable detailed route of all nets
3Meet timing, area, and power targets
Ahmed Abdelazeem ASIC Physical Design

Intro Place
Placement
Placement is the stage of the design flow, during which each
standard cell is given an exact location
Placement does not just place the standard cell available in
the synthesized netlist, it also optimized the design.
Inputs: 1Netlist of gates and wires.
2Floorplan and Technology constraints
Outputs:
1All cells located in the floorplan.
Goals:
1Provide legal location of entire netlist
2Enable detailed route of all nets
3Meet timing, area, and power targets
Ahmed Abdelazeem ASIC Physical Design

Intro Place
Placement
Placement is the stage of the design flow, during which each
standard cell is given an exact location
Placement does not just place the standard cell available in
the synthesized netlist, it also optimized the design.
Inputs: 1Netlist of gates and wires.
2Floorplan and Technology constraints
Outputs:
1All cells located in the floorplan.
Goals:
1Provide legal location of entire netlist
2Enable detailed route of all nets
3Meet timing, area, and power targets
Ahmed Abdelazeem ASIC Physical Design

Intro Place
Global and Detailed Placement
In general, most tools partition the placement task into two
stages:
Ahmed Abdelazeem ASIC Physical Design

Intro Place
Global Placement
Standard cells must be in groups in such a way that the
number of connections between groups is minimum
This issue is solved through circuit partitioningAs a basic criterion, the minimum is taken among group
connections
Ahmed Abdelazeem ASIC Physical Design

Intro Place
Global Placement
Standard cells must be in groups in such a way that the
number of connections between groups is minimum
This issue is solved through circuit partitioningAs a basic criterion, the minimum is taken among group
connections
Ahmed Abdelazeem ASIC Physical Design

Intro Place
Global Placement
Standard cells must be in groups in such a way that the
number of connections between groups is minimum
This issue is solved through circuit partitioningAs a basic criterion, the minimum is taken among group
connections
Ahmed Abdelazeem ASIC Physical Design

Intro Place
Detailed Placement
As a rule, detailed placement
is solved in two stages:
1Coarse placement
2Legalization of cell
placement
Ahmed Abdelazeem ASIC Physical Design

Intro Place
Coarse placement
In a coarse placement all the cells are placed in the
approximate locations but they are not legally placed.
Cells overlap and are not on-grid.
Large cells (e.g. RAMs) form large placement blockages for
other smaller leaf cells.
Power routing forms routing layer blockages that will also be
checked and avoided if specified.
Ahmed Abdelazeem ASIC Physical Design

Intro Place
Legalize Cell Placement
Provide a legal placement for each instance with no overlap
Try and minimize wirelength (or other cost metrics)
Try to finish with uncongested design
Ahmed Abdelazeem ASIC Physical Design

Intro Timing
Table of Contents
1Introduction
2Timing Driven Placement
3Congestion Driven Placement
4High Fanout Synthesis (HFS)
5Scan Chain Reordering
6Placement Optimization
Ahmed Abdelazeem ASIC Physical Design

Intro Timing
Timing-Driven Placement (1)
All steps including placement are
timing-driven
Timing-driven placement tries to
place critical path cells close
together to reduce net RCs and to
meet setup timing
RCs are based on Virtual Route
(VR)
Ahmed Abdelazeem ASIC Physical Design

Intro Timing
Timing-Driven Placement (2)
Timing-driven placement
based on Virtual Route
Tries to place cells along
timing-critical paths close
together to reduce net
RCs and meet setup
timing
Net RCs are based on
Virtual Routing (VR)
estimates
Ahmed Abdelazeem ASIC Physical Design

Intro Timing
Timing-Driven Placement (3)
Standard cells are placed in “placement rows”
Cells in a timing-critical path are placed close together to
reduce routing-related delays→Timing-Driven Placement
Ahmed Abdelazeem ASIC Physical Design

Intro Timing
TDP: Estimating Rnet and Cnet Before Placement
Ahmed Abdelazeem ASIC Physical Design

Intro Congestion
-
Ahmed Abdelazeem ASIC Physical Design

Intro Congestion
Table of Contents
1Introduction
2Timing Driven Placement
3Congestion Driven Placement
4High Fanout Synthesis (HFS)
5Scan Chain Reordering
6Placement Optimization
Ahmed Abdelazeem ASIC Physical Design

Intro Congestion
Congestion
Congestion occurs when the number of required routing tracks
exceeds the number of available tracks.
Congestion can be estimated from the results of a quick global
route.
Global bins with routing overflow can be identified
Ahmed Abdelazeem ASIC Physical Design

Intro Congestion
Congestion Driven Placement: Routing resource
Ahmed Abdelazeem ASIC Physical Design

Intro Congestion
Placement Issues with Congestion
If congestion is not too severe, the
actual route can be detoured
around the congested area
The detoured nets will have worse
RC delay compared to the VR
estimates
congested
In highly congested areas, delay estimates during placement will be
optimistic.
Ahmed Abdelazeem ASIC Physical Design

Intro Congestion
Non Routable on Severely Congested Design
It is important to minimize or
eliminate congestion before
continuing
Severe congestion can cause a
design to be un-routable
Ahmed Abdelazeem ASIC Physical Design

Intro Congestion
Congestion Calculation
Ahmed Abdelazeem ASIC Physical Design

Intro Congestion
Congestion-driven Placement
It is important to minimize or
eliminate congestion before
continuing
Severe congestion can cause a
design to be un-routable
Ahmed Abdelazeem ASIC Physical Design

Intro Congestion
Congestion-driven Placement
Congestion Reduction
The tool tries to evaluate congestion hotspots and spread the
cells (lower utilization) in the area to reduce congestion.
The tool can also choose cell location based on congestion,
rather than wire-length.
Ahmed Abdelazeem ASIC Physical Design

Intro Congestion
Congestion vs. Timing-Driven Placement
Ahmed Abdelazeem ASIC Physical Design

Intro Congestion
Global Route (GR) for Congestion Map
Ahmed Abdelazeem ASIC Physical Design

Intro Congestion
Strategies to Fix Congestion
Modify the floorplan:
Mark areas for low utilization.
Top-level ports
Changing to a different metal layer
Spreading them out, re-ordering or moving to other sides
Macro location or orientation
Alignment of bus signal pins
Increase of spacing between macros
Add blockages and halos
Core aspect ratio and size
Making block taller to add more horizontal routing resources
Increase of the block size to reduce overall congestion
Power grid
Fixing any routed or non-preferred layers
Ahmed Abdelazeem ASIC Physical Design

Intro HFNS
Table of Contents
1Introduction
2Timing Driven Placement
3Congestion Driven Placement
4High Fanout Synthesis (HFS)
5Scan Chain Reordering
6Placement Optimization
Ahmed Abdelazeem ASIC Physical Design

Intro HFNS
High Fanout Synthesis (HFS)
Ahmed Abdelazeem ASIC Physical Design

Intro HFNS
High Fanout Synthesis
What is fanout?
Fanout is the number of gate inputs to which the output can
be safely connected. i.e., The load that a gate output can
drive.
The maximum fanout of an output measures it’s load-driving
capability. Fanout belongs to the output.
What are High Fanout Nets(HFN) ?
High Fanout Nets are the nets which drive more number of
load. We set some max fanout limit by using the command
setmaxfanout
The nets which have greater than these limit are considered as
High Fanout Nets (HFN).
Generally clock nets, reset, scan, enable nets are High Fanout
Nets.
Ahmed Abdelazeem ASIC Physical Design

Intro HFNS
What is High Fanout Net Synthesis (HFNS)?
High Fanout Net Synthesis (HFNS) is the process of buffering
the High Fanout Nets to balance the load.
To balance the load HFNS is perfomed.
Too many load affects delay numbers and transition times,
Because load is directly proportional to the delay.
Generally at placement step HFNS performed. HFNS can also
be performed at synthesis step using Design Compiler. But
it’s not good idea, Buffers will be removed during PD and
again HFNS is performed.
Care that should taken during HFNS:
1Make sure an appropriate fanout limit is set using
setmaxfanout
2Verify the SDC used for PD should not have idealnetwork
or donttouch
3Use ideal clock network – As clock nets are synthesized
separately during Clock Tree Synthesis (CTS) step, we set
clock network as ideal network.
Ahmed Abdelazeem ASIC Physical Design

Intro Scan Chain
Table of Contents
1Introduction
2Timing Driven Placement
3Congestion Driven Placement
4High Fanout Synthesis (HFS)
5Scan Chain Reordering
6Placement Optimization
Ahmed Abdelazeem ASIC Physical Design

Intro Scan Chain
Pre-Existing Scan Chains?
Ahmed Abdelazeem ASIC Physical Design

Intro Scan Chain
What’s the Issue with Existing Scan Chains?
Ahmed Abdelazeem ASIC Physical Design

Intro Scan Chain
Placement Based Scan Chain Routing
Ahmed Abdelazeem ASIC Physical Design

Intro Scan Chain
SCANDEF Reordering
Ahmed Abdelazeem ASIC Physical Design

Intro Scan Chain
Partitioning with SCANDEF
Ahmed Abdelazeem ASIC Physical Design

Intro Scan Chain
SCANDEF generated with DFTC
Ahmed Abdelazeem ASIC Physical Design

Intro Scan Chain
Alpha-Numeric Ordering
Ahmed Abdelazeem ASIC Physical Design

Intro Scan Chain
Reordering Within Scan-Chain
Ahmed Abdelazeem ASIC Physical Design

Intro Scan Chain
Reordering Across Scan-Chains
Ahmed Abdelazeem ASIC Physical Design

Intro Optimization
Table of Contents
1Introduction
2Timing Driven Placement
3Congestion Driven Placement
4High Fanout Synthesis (HFS)
5Scan Chain Reordering
6Placement Optimization
Ahmed Abdelazeem ASIC Physical Design

Intro Optimization
Optimization techniques
Ahmed Abdelazeem ASIC Physical Design

Intro Optimization
Optimization techniques
Ahmed Abdelazeem ASIC Physical Design

Intro Optimization
No Hold Time Fixing
By default opt
No hold time fixing
Hold time will be addressed during clock tree synthesis
All timing calculations are based on ideal clocks (clock skew
= 0). Therefore, it is a common practice to give more
constrained timing to placement engine with:
1Extra uncertainty
2Frequency Overdrive
Ahmed Abdelazeem ASIC Physical Design

Intro Optimization
....
?

?

kQ?@ ?

?gQ?@ ?Σ

??@ ?

?
˘
?.
C
´
J?
ı
? B
ffl
@
?

˘
Ϊ

˘
?@
??
˘?
ı
?J
ı
K?

@ A

?

?
Ahmed Abdelazeem ASIC Physical Design