pd design 7
-
Upload
kanhaiya-mishra -
Category
Documents
-
view
218 -
download
0
Transcript of pd design 7
-
8/3/2019 pd design 7
1/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential
1
Objective
Need for CTS
Revisit timing concepts and definitions
Introduction to the various steps involved in clock tree synthesis
After completion of this program students will be familiar with the CTS
flow,challenges in CTS, interdependencies and will be ready tosynthesize a clock tree for any project.
-
8/3/2019 pd design 7
2/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential
2
Design Status before CTS
Placement completed
Power and ground nets- prerouted
Estimated congestion acceptable
Estimated timing acceptable (~ 0 ns slack)
Estimated max cap/ transition no violations
High fanout nets:
Reset, Scan Enable synthesized with buffers
Clocks are still not buffered.
-
8/3/2019 pd design 7
3/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential
3
Clock Tree Synthesis
CTS: Clock Tree Synthesis
It's a kind of a tree to provide theclock to all of it's sinks (Binarytree, H-Tree etc.)
The basic of CTS is to develop
the interconnect that connect thesystem clocks to all the cells inthe chip that uses the clock
The primary task of CTS is varythe routing paths, placement ofclocked cells and clock buffers
to meet clock tree targets
Basics
Clock net are treated as idealduring synthesis
Logical proximity does notmean physical proximity of
related flops Clock net has a high fan out and
needs to be dealt withappropriately
Interconnect delays will degradethe quality of the clock signal
-
8/3/2019 pd design 7
4/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential
4
Review Of Basic Terminology
PLL
Clock Period
Clock Latency
Source Latency
Network Latency
Clock Uncertainty
Setup & Hold
Constraints
Max Capacitance
Max Fanout
Max TransitionSkew
Global skew
Local skew
Useful skew
-
8/3/2019 pd design 7
5/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential
5
PLL : Phase Locked Loop
Designers use low frequency crystalas on off-chip clock source
Reference Clock enters in the chip anddrives the PLL
It generates the desired stablefrequency on the chip
The PLL drives the clock distributionnetwork & one of it outputs used as afeedback in PLL
The main function of PLL is tocompare the reference clock anddistribution clock and match them withthe help of VCO, LF and PC.
PLL is very much sensitive to noise, soplacing the PLL in digital chip iscritical
Need to provide the power and groundlines around the PLL
-
8/3/2019 pd design 7
6/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential
6
Clock Latency
INV
Rise=7Rise=7
Fall=4Fall=4
Rise=7Rise=7
Fall=4Fall=4
Rise=7Rise=7
Fall=4Fall=4
Rise=7Rise=7
Fall=4Fall=4
Rise=7Rise=7Fall=4Fall=4
CLK_aCLK_a
CLK_bCLK_b
INVINV INVINVINVINVINVINV
BUFBUF
Clock Latency = Tclk Tclk_a
Clock source latency is defined as the delay from Clock source to clock
definition port in your design
Clock network latency is defined as the delay from the Clock definition port to
clock sink of your design
It is also known as insertion delay (standard term)
Clock Latency = Tclk Tclk_b
Clock Definition Port
CLK
-
8/3/2019 pd design 7
7/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential
7
Clock Uncertainty
The clock network delay uncertainty : Jitter
It is defined as the maximum difference of phase for a clock in oneclock cycle to other
The jitter can move launch edge of clock and capture edge of clock by
the jitter amountSources:
PLL oscillation frequency
Various noise sources like power supply noise
Two cases
Setup : Delayed the launch edge and early the capture edge Hold : Early the launch edge and delayed the capture edge
-
8/3/2019 pd design 7
8/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential
8
Clock Skew
Flop 1ComboDelay
DQ
CK
Data
CLK
z
Buffer & Wire Delay
Flop 2CK CK
D
Clock skew for a particular clock is defined as difference in between insertion delays
Source of skews
Designed Variations : mismatch in buffer , load sizes, interconnect lengths
Process variations, Temperature variations
IR-DROP
Types : positive skew & negative skew
Skew range : 5-10% of clock period for your design
-
8/3/2019 pd design 7
9/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential
9
Local Skew
D Q
FF1
D Q
FF3
D Q
FF4
A C
B
Din
CLK
B_out
0.38 ns
0.37ns
0.30ns
0.32 ns
D Q
FF2
C_out
Local Skew : Considered inbetween two flops which areinteracting logically with eachother in same clock domain
Here FF1 and FF2 areinteracting with each other solocal skew = 0.38 0.37 =0.01ns & FF3 and FF4 arealso interacting with eachother so local skew = 0.32 0.30 = 0.02ns
Local skew takes more runtimes and less buffers in yourdesign.
Must meet local skew
-
8/3/2019 pd design 7
10/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential
10
Global Skew
Global Skew:It is consideredas the difference in the longestdelay path and shortest delaypath from clock definitionpoint to clock sink withing thesame domain
Here the global skew : 0.38 0.30 = 0.08ns
Global skews has faster runtime
Global skew add more buffers
in your design , so be cautiousabout it.
It impacts area constraints ofyour design and increasescongestion.
D Q
FF1
D Q
FF3
D Q
FF4
A C
B
Din
CLK
0.38 ns
0.37ns
0.30ns
0.32 ns
D Q
FF2
-
8/3/2019 pd design 7
11/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential
11
Useful Skew
Flop 2CK
D
Flop 3
CK
D
Flop 1CK
D
CLOCK
Q
Q
Data input
Q
The useful skew concept is used tofix the setup violation
The same path should not violate thehold
This is a push/pull technique of
clock.Example: Let assume your path fromflop1 to flop2 is failing setup by -1ns& path from flop2 to flop3 is passingsetup by +1ns . Think ?
We use it very less these days in the
industry, because it again impactsyour skew in the design
-
8/3/2019 pd design 7
12/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential
12
Setup & Hold
Setup time
For an edge triggered sequential element, the setup time is the time
interval before the active clock edge during which the data should
remain unchanged
Hold timeTime interval after the active clock edge during which the data should
remain unchanged
-
8/3/2019 pd design 7
13/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential
13
CTS Specifications
Meet the buffering constraints
Maximum transition delay
Maximum load capacitance
Maximum fan out
Meet the clock tree targets Maximumskew
Min/Max insertion delay
-
8/3/2019 pd design 7
14/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential
14
CTS Specifications
Typical specs which are used to design the clock tree are:
Clock skew
Clock Fanout
Clock Latency
Buffer levels
-
8/3/2019 pd design 7
15/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential
15
CTS Flow
From Placement
Set Clock Common
Options
Synthesize the Clock
Tree (CTS)
Re-connect Scan
Chains
Enable propagated
Clocks
Post-CTS Placement
Optimization
Optimize Timing
Skew
Optimize Timing(Useful Skew CTO)
To Routing
-
8/3/2019 pd design 7
16/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential
16
Clock Trees
Clock Tree : When you drive the all the sink pins of a particular clock from theclock port, it is known as the clock tree for that particular clock
Types :
H-Tree
Balanced Fanout Clock Tree
Binary Clock TreeWhen you synthesize your clock network with respect to particular clock knownclock tree synthesis
it consists of varying the routing paths
placement of clock buffers/cells
consideration of specification
After CTS your optimize your clock tree network to meet specific targets
skew
-
8/3/2019 pd design 7
17/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential
17
Clock Tree
A path from the clock source to flops
Clock Source
FF FF FF FF FFFF FF FFFF FF
-
8/3/2019 pd design 7
18/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential
18
Balanced Fanout Clock Tree
A path from the clock source to clock sinks
Clock Source
FF FF FF FF FFFF FF FFFF FF
-
8/3/2019 pd design 7
19/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential
19
Binary Clock Tree
A path from the clock source to clock sinks
Clock Source
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
-
8/3/2019 pd design 7
20/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential
20
H-Tree
4 Points4 Points 16 Points16 Points
H-Tree
-
8/3/2019 pd design 7
21/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential
21
Clock Common Options
Clock Common Tree optionsused to set the different-2 optionsas shown in figure.
-
8/3/2019 pd design 7
22/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential
22
Clock Common Options Constraints
Max Trans/Cap/Fanout
If specified at multiple places (Library,SDC, Default), it consider the smallestvalues.
if (Astro default values < SDC or Library),Verify with vendor and then proceed.
Max Buffer Level
By default it is defined 20. First let it be bydefault.
Want to change this number analyze thethings properly.
Max & Min Insertion Delay
Use this to control the min and maxinsertion delay.
By default , insertion delay in SDC have aPriority
We can choose to ignore SDC and Libraryconstraints.
If settings are too tight , violations may becreated
-
8/3/2019 pd design 7
23/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential
23
Invoking Clock Tree Synthesis
Invoking of clock tree synthesishave the options as shown infigure on the right hand side.
-
8/3/2019 pd design 7
24/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential
24
Clock Tree Begin and End
Clock tree begins at SDC-definedclock source.
Type of Astro-defined pins
Implicit pins: which tool definesby itself
Explicit pins: which user defines
Each pin comes into one of thecategory mentioned above.
Clock tree ends at Astro-definedstop pins
Two types of stop pins:
Sync pins: Clock pins ofsequential and macro cells
Ignore pins:Everything
else.
D Q
FF2
D Q
FF1
D Q
FF3
Gated
clock
start
Clock tree passes throughGating logic by default
-
8/3/2019 pd design 7
25/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential
25
Sync pins and Ignore Pins
Sync pins:
CTS optimizes forbuffering constraints(maxtran/cap) and clock treetargets (clock skew,insertion delay)
Ignore pins: CTS adds a small buffer
to isolate all pins
ignores bufferingconstraints and clock tree
targets.
D Q
FF2
D Q
FF1Gated
clock
Clock tree passes throughGating logic by default
IP
clk_out
Implicit IGNORE pins D Q
FF4
D Q
FF3
-
8/3/2019 pd design 7
26/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential
26
Explicit Sync Pins
The design spec requires that the delays from the clock port, through themux selects, to all output ports must be balanced.
1
0
clock
Skew and insertion
delay are ignored
Isolation BufferD Q
FF1
D Q
FF2
Dummy MUX is used to
match the delay
Implicit Ignore Pins
M
U
X
M
U
X
-
8/3/2019 pd design 7
27/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential
27
Adding Explicit Sync Pins
How we can force CTS to balance these delays?
1
0
clock
Isolation BufferD Q
FF1
D Q
FF2
M
U
X
M
UX
Explicit sync pin
Skew and insertion
delay are optimized
-
8/3/2019 pd design 7
28/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential
28
Optimization Behaviour
D Q
FF1
D Q
FF2
D Q
FF3
D Q
FF4
D Q
FF5
clock combo
create_clock
create_generated_clock
To different
clock domainor output port
To different
clock domain
or output port
To different
clock domain
or output port
-
8/3/2019 pd design 7
29/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential
29
Optimization during CTS
Buffer sizing and Gate sizing
AfterBefore
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
2x3x 4x3x4x 4x
-
8/3/2019 pd design 7
30/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential
30
Delay Insertion
AfterBefore
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
3x3x
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
3x3x
Delay Cell
4x 4x
Optimization during CTS
-
8/3/2019 pd design 7
31/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential
31
Buffer and Gate Relocation
AfterBefore
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
3x
3x
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
3x3x4x4x 4x
Optimization during CTS
-
8/3/2019 pd design 7
32/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential
32
Dummy load
AfterBefore
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
3x3x
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
3x3x4x 4x
Optimization during CTS
-
8/3/2019 pd design 7
33/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential
33
Level Adjustment
AfterBefore
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
3x3x4x
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
3x3x4x
FF
FF
FF
FF
FF
FF
F
F
FF
FF
Optimization during CTS
-
8/3/2019 pd design 7
34/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential
34
Reconfiguration
AfterBefore
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
3x3x
4x
FFF
F
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
3x3x4x
F
F
FF
FF
Optimization during CTS
-
8/3/2019 pd design 7
35/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential 35
Reconnect the Scan Chains
Scan chains were disconnected prior to placement to allow placement tofocus on the functional paths.
Reconnect scan chains so that they are included for hold time fixingduring the next optimization step
- Same grouping of FF, as traced prior to disconnect
- Different ordering : based on placement, to minimize routing
resources.
-
8/3/2019 pd design 7
36/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential 36
Post CTS Placement Optimizations
Post CTS placementOptimizations
Stage : Post-CTS
Effort : Medium
Optimizations tasks : Fix Hold also
-
8/3/2019 pd design 7
37/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential 37
Post CTS Placement Optimization : As needed
It can be executed iteratively, ifneeded.
If violations are too tight, betterto choose one option at a timewith high effort , Ex: Fix
Transition.
-
8/3/2019 pd design 7
38/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential 38
Effect of Post CTS Placement Optimization
Fixing timing and max cap/tranviolations through logicoptimizations and cell relocationmay disturb the clock networks
FF may be moved . This can
affect the skew and insertiondelay.
Keep the size and location fixed
-
8/3/2019 pd design 7
39/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential 39
Clock Tree Analysis
Clock tree analysis : dump theproper reports
Use proper clock name
Check skew (both global andlocal)
-
8/3/2019 pd design 7
40/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential 40
Clock Tree Optimization
Further clock tree optimization ,if needed before routing
-
8/3/2019 pd design 7
41/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential 41
Effects of CTS
Clock buffers added (lots of them!)
Congestion may increase
Non clock tree cells may have been moved to less ideal locations
Can introduce new timing and max tran/cap violations.
* How can you improve congestion and timing?
-
8/3/2019 pd design 7
42/43
Ph: 080-40-788574 www.rv-vlsi.comRV-VLSI Confidential 42
Module Takeaway
After completion of this program students will be familiar with the CTSflow,challenges in CTS, interdependencies and will be ready tosynthesize a clock tree for any design.
-
8/3/2019 pd design 7
43/43
References
Algorithms for VLSI Physical Design Automation by Naveed A.Sherwani.
From Basics to ASICs by Harry Veendrick
Himanshu Bhetnagar, Advanced ASIC Chip Synthesis, SecondEdition, Kluwer Academic Publishers.
https://solvnet.synopsys.com