clock enable timing closure methodology - … enable timing closure methodology harish dangat...

41
(company logo if desired) Clock Enable Timing Closure Methodology Harish Dangat Samsung Semiconductor

Upload: duongtram

Post on 08-May-2018

249 views

Category:

Documents


6 download

TRANSCRIPT

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

(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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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