...16 ac ao GND 2 4 5 a 14 13 11 10 9 Vcc OUTPUT ENABLE LATCH CLOCK SHIFT CLOCK RESET saki
Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat...
Transcript of Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat...
![Page 1: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/1.jpg)
(company logo
if desired)
Clock Enable Timing Closure
Methodology
Harish Dangat
Samsung Semiconductor
![Page 2: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/2.jpg)
2
Harish Dangat
• Basics of Clock Gating
• Fixing Clock Enable Timing in RTL-2-GDSII Flow
• Results
• Conclusion
Agenda
![Page 3: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/3.jpg)
3
Harish Dangat
Clock Gating Basic
• Use internal (or external) signal to disable clock
• This saves Dynamic Power
• A must for low power design
• Creates new timing paths
![Page 4: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/4.jpg)
4
Harish Dangat
Two Types of Clock Gating
• Using AND gate • Using ICG Cell
Rest of presentation is about ICG type clock gating
![Page 5: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/5.jpg)
5
Harish Dangat
Register to Register Path
![Page 6: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/6.jpg)
6
Harish Dangat
Register to Register Path
with Clock Gating
ENDD
CE Path
CE clk Path
Clock gated clk Path
1ns
1ns0.5ns
![Page 7: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/7.jpg)
7
Harish Dangat
What is different about CE path
• Not noticed at Synthesis
• Timing available is less than cycle time
• ICG cells are not skew balanced with registers
• Violations are seen only after Clock Tree Synthesis
• Mostly affects timing critical blocks
![Page 8: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/8.jpg)
8
Harish Dangat
Effect of ICG Cells Location
in Clock Tree
Good Location
Acceptable LocationPotential badLocation CE timing
CLK
Architectural Gaters
0ns 1ns0.5ns0.25ns 0.75ns
![Page 9: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/9.jpg)
9
Harish Dangat
• Basics of Clock Gating
• Fixing Clock Enable Timing in RTL-2-GDSII
Flow
• Results
• Conclusion
Agenda
![Page 10: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/10.jpg)
10
Harish Dangat
• CE signal should be generated in the same
module
• Generate CE signal from functionally related
modules
• Simplify the logic that generates CE signal
What to Do at RTL Level
![Page 11: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/11.jpg)
11
Harish Dangat
• Reduce cycle time to ICG cells
• Set high setup time on ICG cells
• Turn off bus sharing in Power Compiler
CE Timing at Synthesis Step
set_clock_latency -(cycle_time/2) \
[get_pin all_clock_gating_registers/CK]
set_clock_latency 0 [get_pin all_clock_gating_registers/ECK]
set timing_scgc_override_library_setup_hold true
set_clock_gating_style –setup 400ps clock_gate
set_clock_gating_style –no_sharing
![Page 12: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/12.jpg)
12
Harish Dangat
• When placing modules, pay attention to CE
signal connectivity
• If CE signal(s) are input pins, place them close
to modules that receive it
CE Timing at Floorplan Step
CE
CE timing problem
CE
Good CE timing
![Page 13: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/13.jpg)
13
Harish Dangat
• Tightening available cycle time by changing ICG
setup time
• Tightening available cycle time by changing ICG
clock latency
CE Timing at placement Step
set timing_scgc_override_library_setup_hold true
set_clock_gating_style –setup 400ps clock_gate
set_clock_latency -(cycle_time/2) \
[get_pin all_clock_gating_registers/CK]
set_clock_latency 0 [get_pin all_clock_gating_registers/ECK]
![Page 14: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/14.jpg)
14
Harish Dangat
• Create group path and add extra weight
• Place ICG cells close to flops
CE Timing at placement Step (cont)
group_path -weight 5 -name CLOCK_ENABLE \
–to [get_cell */*GATE_LATCH]
set placer_disable_auto_bound_for_gated_clock false
![Page 15: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/15.jpg)
15
Harish Dangat
• Apply global latency
– Easy, Not very efficient
• Apply based on ICG depth and fanout
– Less depth – more latency
– More fanout – more latency
• Apply based on CTS results
– More accurate
How to Select Latency?
![Page 16: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/16.jpg)
16
Harish Dangat
• Clone ICG Cells
CE Timing at Clock Tree Synthesis
set icg_cells { icg_cell_1 icg_cell_2 }
split_clock_net -objects [get_cells $icg_cells] \
-split_intermediate_level_clock_gates -gate_sizing
remove_ideal_network [all_fanout -flat -clock_tree]
remove_propagated_clock *
remove_clock_tree
![Page 17: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/17.jpg)
17
Harish Dangat
ICG Cloning
![Page 18: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/18.jpg)
18
Harish Dangat
CE Timing at Clock Tree Synthesis
Cloning based on fanout and slack
foreach_in_collection CELLS [get_cells * -hier -filter "ref_name =~ *ICG*"] {
set names [get_object_name $CELLS]
set ckPins [get_object_name [get_pins -of_object [get_cells $CELLS] \
-filter "full_name =~ */CLK"]]
set eckPins [get_object_name [get_pins -of_object [get_cells $CELLS] \
-filter "full_name =~ */ENABLE_CLK"]]
set eckFanout [sizeof_collection [all_fanout -from [get_pins $eckPins] -flat]]
set cgSlack [get_attribute [get_pins ${names}/ENABLE] max_slack
if {$cgSlack > -0.150 && $eckFanout > 100} {
echo "${names}/E"
}
remove_propagated_clock *
remove_clock_tree
![Page 19: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/19.jpg)
19
Harish Dangat
CE Timing at Clock Tree Synthesis
Two Pass Flow
Clock Tree Synthesis
Placement
Clone clock tree
Write Verilog
New Placement
![Page 20: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/20.jpg)
20
Harish Dangat
• Basics of Clock Gating
• Problems Created by Clock Gating
• Fixing Clock Enable Timing in RTL-2-GDSII Flow
• Results
• Conclusion
Agenda
![Page 21: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/21.jpg)
21
Harish Dangat
Die Temperature Without and
With Clock Gating
![Page 22: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/22.jpg)
22
Harish Dangat
ICG Cells and Flops Autobound
![Page 23: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/23.jpg)
23
Harish Dangat
Comparing Latency Schemes
-0.6
-0.5
-0.4
-0.3
-0.2
-0.1
0
0 100 200 300 400 500 600 700 800 900
Series1
Series2
Series3
Path
CE
vio
latio
n (n
s)
Baseline run
1ns latency
Selective latency
![Page 24: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/24.jpg)
24
Harish Dangat
Results – Effect on cloning on latency
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
0 200 400 600 800 1000 1200
Series1
Series2
Without Cloning
ICG
Clo
ck L
ate
ncy (n
s)
Paths (Sorted, low to high)
With Cloning
![Page 25: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/25.jpg)
25
Harish Dangat
Clock Subtree After Cloning
![Page 26: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/26.jpg)
26
Harish Dangat
Comparing Single Pass and Two pass flow
place_opt
clock_optplace_opt
clock_clone
new place_opt
clock_opt
![Page 27: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/27.jpg)
27
Harish Dangat
Different schemes to minimize latency
![Page 28: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/28.jpg)
28
Harish Dangat
Conclusion
• Clock gating is requirement for low-power
design
• Closing CE timing requires to pay attention at all
stages of design
• By planning at every step, CE timing can be
closed in high-speed low-power designs
![Page 29: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/29.jpg)
29
Harish Dangat
Thank You !
![Page 30: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/30.jpg)
30
Harish Dangat
BACKUP SLIDES
BACKUP SLIDES
![Page 31: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/31.jpg)
31
Harish Dangat
Battery Life is Important
http://www.phonesreview.co.uk/2012/09/26/iphone-5-vs-samsung-galaxy-s3-battery-life-confrontation/
Smartphone power for continuous web access
![Page 32: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/32.jpg)
32
Harish Dangat
• Use process designed for low power
• Use low power architecture
• User power-gating
• Use Clock-gating
How to Minimize Power
![Page 33: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/33.jpg)
33
Harish Dangat
Power Saving Opportunity
Clock Gating
![Page 34: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/34.jpg)
34
Harish Dangat
• 20% to 40% Dynamic power is consumed by
clock tree
• About 80% clock tree power is consumed last
stages of clock tree
Few Facts About Clock Tree Power
Ref – ISPLED, 2008
![Page 35: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/35.jpg)
35
Harish Dangat
Architectural/Corse Grain Clock Gating
USB-0
USB-1
Control Logic
Clock_EN
Clock_EN
USB_CLOCK
en_usb_0
en_usb_1
![Page 36: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/36.jpg)
36
Harish Dangat
Automated/Fine Grain Clock Gating
![Page 37: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/37.jpg)
37
Harish Dangat
Example of Automated/Fine Grain Clock Gating
![Page 38: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/38.jpg)
38
Harish Dangat
What To Look For In ICG
• Too many flops used for
generating CE signal
• Large delay in combinational path
• Generating flops placed away
from ICG cells
• Flops used to generated ICG
signal placed away from each
other
• Too man flops receive gated clock
Flops receiving
gated clock
Flops generating
gated clock
Comb cells in
clock gating path
![Page 39: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/39.jpg)
39
Harish Dangat
What To Look For In ICG
• Too many flops used for
generating CE signal
• Large delay in combinational path
• Generating flops placed away
from ICG cells
• Flops used to generated ICG
signal placed away from each
other
• Too man flops receive gated clock
Flops receiving
gated clock
Flops generating
gated clock
Comb cells in
clock gating path
![Page 40: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/40.jpg)
40
Harish Dangat
![Page 41: Clock Enable Timing Closure Methodology - … Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor 2 Harish Dangat •Basics of Clock Gating •Fixing Clock Enable](https://reader034.fdocuments.us/reader034/viewer/2022051321/5af08b1c7f8b9ac57a8ebe62/html5/thumbnails/41.jpg)
41
Harish Dangat
What To Look For In ICG
• Too many flops used for
generating CE signal
• Large delay in combinational path
• Generating flops placed away
from ICG cells
• Flops used to generated ICG
signal placed away from each
other
• Too man flops receive gated clock
Flops receiving
gated clock
Flops generating
gated clock
Comb cells in
clock gating path