03 02 Add PrimeTime STA
03 02 Add PrimeTime STA
1
Prime Time 1
Agenda
DAY
2 6 Summary Reports
2
Prime Time 1
3
Prime Time 1
Objectives
4
Prime Time 1
5
Prime Time 1
3 Types of Clocks
6
Prime Time 1
CLK
Clk 1
0
7
Prime Time 1
Master Clock
FF1 FF2
D Q D Q
8
Prime Time 1
FF1 FF2
D Q D Q
Generated Clock
dive_clk
9
Prime Time 1
U4
CLK
My_Clk Out_Clk
The entire latency from the input port My_Clk to the output port
Out_Clk is a component of the path requirement.
10
Prime Time 1
Generated
Clock
Master FF1
Clock D Q Out_Data
PT calculates
U4
CLK
source latency
for generated
My_Clk Out_Clk clocks.
11
Prime Time 1
Virtual clocks:
• Are clock objects without a source
• Do not clock sequential devices within the current_design
• Serve as references for input or output delays
12
Prime Time 1
pt_shell> report_clock
Attributes:
p - Propagated clock
G - Generated clock
I - Inactive clock
13
Prime Time 1
14
Prime Time 1
pt_shell> rpt_clock_ports
Port Name Direction Clock Name Is Generated
----------------------------------------------------
Clk in myclk false
FF1
D Q
CLK
Clk 1
0
15
Prime Time 1
pt_shell> rpt_clock_ports
Port Name Direction Clock Name Is Generated
----------------------------------------------------
pclk in PCI_CLK false
sys_clk in SYS_CLK false
sdr_clk in SDRAM_CLK false
sd_CK out SD_DDR_CLK false
sd_CKn out SD_DDR_CLKn false
16
Prime Time 1
Endpoint
----------------------------------------------------------
sd_CK
sd_CKn
17
Prime Time 1
My_Clk Out_Clk
SDRAM_CLK
SDRAM_CLK
18
Prime Time 1
19
Prime Time 1
Break
20
Prime Time 1
3 Types of Clocks
21
Prime Time 1
Define:
Synchronous clocks
Public chat
Asynchronous clocks
22
Prime Time 1
CLK1 A CLK3 A
Y Y
CLK2 B CLK4 B
S S
SEL1 SEL2
23
Prime Time 1
CLK1 A CLK3 A
Y Y
CLK2 B CLK4 B
S S
SEL1 SEL2
24
Prime Time 1
CLK1 A CLK3 A
Y Y
CLK2 B CLK4 B
S S
SEL
25
Prime Time 1
CLK2 B CLK4 B
S S
SEL
26
Prime Time 1
Asynchronous
Asychronous Clocks clock groups
Clk2
27
Prime Time 1
Circle the one clock pair that has constrained clock crossings.
Do any timing paths exist between PCI_CLK and SDRAM_CLK?
Yes No
28
Prime Time 1
Interactively
pt_shell> restore_session orca_savesession
pt_shell> check_timing -v -override clock_crossing
Or
During initial run
29
Prime Time 1
30
Prime Time 1
31
Prime Time 1
32
Prime Time 1
SDRAM_CLK
34
Prime Time 1
35
Prime Time 1
SDRAM_CLK
36
Prime Time 1
General Guidelines
For the best runtime, turn off report of unconstrained paths when
generating a large number of reports (warning UITE-413)
37
Prime Time 1
10 Minute Break
60 minutes
30 Minute LAB
38
Prime Time 1
39
Prime Time 1
Agenda
DAY
3 6 Analysis Type and Back Annotation
8 Conclusion
40
Prime Time 1
Objectives
41
Prime Time 1
42
Prime Time 1
43
Prime Time 1
read_parasitics my_chip.spef
PT
CLK
CLK
DRC STA
D Q
D Q
D Q
D Q
CLK
CLK
CLK
CLK
44
Prime Time 1
Example
0.50 0.15 0.23 0.3 0.38 0.50 0.18 0.30 0.49 0.80
1.00 0.25 0.4 0.3 0.38 1.00 0.25 0.4 0.62 1.00
CLK
CLK
46
Prime Time 1
47
Prime Time 1
TE
CLK
Incomplete
A net is simply
A net tied high parasiticc Error
missing data.
or low is PARA-006
missing data.
Generate a new parasitics RC file!
48
Prime Time 1
My_Chip.sbpf
If reading multiple parasitics files
• Read from bottom up
• Suppress complaints about incomplete parasitics at the module level
49
Prime Time 1
SDF
SDF
SDF
read_parasitics my_chip.spef
read_sdf my_chip.sdf
Pin to pin timing
PT C total
annotations
DRC STA
D Q
D Q
D Q
D Q
CLK
CLK
CLK
CLK
50
Prime Time 1
Net
Parasitcs Clock
Drive and load Period
on ports
How slews are
propagated
Effects of Slew
In a single PVT corner, the same cell delay timing arc may have:
2 different delays based on slow/fast slew propagation.
1 delay only.
Max
PVT
U33
A
Y
B FF1
U1
CLK
52
Prime Time 1
U33
A
Y ?
B FF1
U1
CLK
Ideally, the specific slew for each path under analysis is used:
• Computationlly prohibitive for the entire design
53
Prime Time 1
Max
PVT
Fast slew
1.77
Slow slew
“1.80” Launch Path
3.21
D Q D Q
“3.97”
0.55
“0.60”
CLK CLK
clk Setup/hold
0.21/0.08
0.62 Capture path “0.23/0.10”
“0.65”
54
Prime Time 1
bc_wc on_chip_variation
55
Prime Time 1
FF2
FF1
CLK1 U2 U3
Multi-input cell on
clock capture path
U4 U5
CLK2 U1
56
Prime Time 1
FF2
FF1
CLK1 U2 U3
Multi-input cell on
clock capture path U4 U5
CLK2 U1
57
Prime Time 1
58
Prime Time 1
59
Prime Time 1
recommended
Best_corner
Operating Conditions
How many files do you need? -P/-V/T
• Constraints WORST_OC_min
Delay
Logistically
• How many runs? BEST_OC_max
BEST_OC
Operating Conditions
-P/-V/T
60
Prime Time 1
61
Prime Time 1
62
Prime Time 1
Max Min
PVT PVT
63
Prime Time 1
Max Min
PVT PVT
64
Prime Time 1
Break
65
Prime Time 1
66
Prime Time 1
Common point D Q D Q
U4
U5
U1 CLK CLK
CLK U7 U3 U2
Setup/hold
67
Prime Time 1
Example: CRP
0.8 + 0.6
0.64 + 0.52
0.8 - 0.64
68
Prime Time 1
69
Prime Time 1
• Mechanical process
BEST_OC
Operating Conditions
• Aging -P/-V/T
70
Prime Time 1
Prime Time
D Q
D Q
CLK
Clk CLK
71
Prime Time 1
72
Prime Time 1
orca.sdf
73
Prime Time 1
Circle the:
Operating conditions used to generate the SDF.
Analysis type.
74
Prime Time 1
pt_shell> report_design
Design Attribute
-------------------------------------------------------
Operating Condition:
analysis_type single
operating_condition_max_name slow_125_1.162
process max 1
temperature 125
voltage_max 1.62
tree_type_max balanced_case
75
Prime Time 1
Completeness of SDF
report_annotated_delay
report_annotated_check
76
Prime Time 1
report_constraint
77
Prime Time 1
79
Prime Time 1
10 Minute Break
30 minutes
30 Minute LAB
80
Prime Time 1
Prime Time does not assume a zero delay for nets or cells missing
SDF!
• Prime Time will calculate delays using either provided net parasitic
or WLMs
Timing reports have different annotation for the dominant annotations on
that timing arc
Symbol Annotation
------ ----------
H Hybrid annotation
* SDF back-annotation
& RC network back-annotation
$ RC pi back-annotation
+ Lumped RC
<none> Wire-load model or none
81
Prime Time 1
82
Prime Time 1
Agenda
DAY
3 6 Analysis Type and Back Annotation
8 Conclusion
83
Prime Time 1
84
Prime Time 1
Objectives
85
Prime Time 1
Multicycle Paths
86
Prime Time 1
recovery
setup
removal
hold MY_DESIGN
Clk4 Clk4
nochange
Clk1
ClkEn U1
clk_gating_setup
Clk2 clock_gating_hold
Timing Model
max_skew
min_period
min_pulse_width
87
Prime Time 1
ClrN ClrN
FF5 ClrN
FF6
clk clk FF2
clk
Data Required
Min Data
Max Data
Arrival clk
0ns 4ns Arrival
88
Prime Time 1
89
Prime Time 1
90
Prime Time 1
91
Prime Time 1
Clk
clk
U1 U2
clk
0ns 4ns
U1/Z
Min Pulse
U2/Z
With
FF2/clk
92
Prime Time 1
93
Prime Time 1
94
Prime Time 1
95
Prime Time 1
Multicycle Paths
96
Prime Time 1
FSM
FF7
clk
Q
L2
FF2
Q
clk
Clk U1
G A
B
97
Prime Time 1
Data Required
SYS_CLK
0ns 4ns 8ns
Max Data
L2/D
Require
98
Prime Time 1
U1
EN A
SYS_CLK
Max Data B
Arrival
Time
Borrow
SYS_CLK
0ns 4ns 8ns
99
Prime Time 1
100
Prime Time 1
Break
101
Prime Time 1
Multicycle Paths
Multicycle Paths
102
Prime Time 1
A 64
D
A
E
< 12 ns
C_reg
64
+ D Y
64
B D E
B
E
D Q
0 0 0 0 0 1
Clk
shift_register
create_clock -p 2 Clk
PrimeTime automatically
identifies multicycle paths!
Yes No
103
Prime Time 1
104
Prime Time 1
report_exceptions
-------------------------------------------------
From Through To Setup Hold
reg[26]/CP * reg/D cycles =6
105
Prime Time 1
Multicycle Paths
106
Prime Time 1
CLK
-2 0ns 2 4 6 8 10 12
C_reg/D
107
Prime Time 1
CLK
-2 0ns 2 4 6 8 10 12
Default
Hold = 0
108
Prime Time 1
M H MS 1
109
Prime Time 1
pt_shell> report_exceptions
110
Prime Time 1
Multicycle Paths
111
Prime Time 1
U21
U23
FF3 FF4
112
Prime Time 1
113
Prime Time 1
114
Prime Time 1
A
Z
Q B U23 D
FF3 FF4
CLK
115
Prime Time 1
pt_shell> report_disable_timing
Cell or Port From To Sense Flag Reason
-------------------------------------------------------------
U23 B Z * 1
116
Prime Time 1
Multicycle Paths
117
Prime Time 1
118
Prime Time 1
119
Prime Time 1
10 Minute Break
30 minutes
30 Minute LAB
120
Prime Time 1
Agenda
DAY
3 6 Analysis Type and Back Annotation
8 Conclusion
121
Prime Time 1
122
Prime Time 1
123
Prime Time 1
124
Prime Time 1
Thank You!
125