36
DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING BARIS TASKIN and IVAN S. KOURTEV ISPD 2005 High Performance Integrated Circuit Design Lab. Department of Electrical and Computer Engineering

DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING

Embed Size (px)

DESCRIPTION

DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING. BARIS TASKIN and IVAN S. KOURTEV ISPD 2005. High Performance Integrated Circuit Design Lab. Department of Electrical and Computer Engineering. Outline. Background and Motivation Topological Limitations on CSS Experimental Results - PowerPoint PPT Presentation

Citation preview

Page 1: DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING

DELAY INSERTION

METHOD IN CLOCK

SKEW SCHEDULING

BARIS TASKIN and IVAN S. KOURTEV

ISPD 2005

High Performance Integrated Circuit Design Lab. Department of Electrical and Computer Engineering

Page 2: DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING

Outline

• Background and Motivation

• Topological Limitations on CSS

• Experimental Results

• Conclusions

Page 3: DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING

Introduction

• High-Performance IC

• Clock skew scheduling

• Target: Minimum clock period

• Observe limitations

– Theoretically

Page 4: DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING

Research Objective

Objective: Improve the efficiency and

results of clock skew scheduling through

systematic delay insertion

• Reconvergent paths

• Edge-sensitive circuits

• Level-sensitive circuits

Page 5: DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING

• Local data path

• Circuit graph

System Modeling

D Q D Q

CLOCKi CLOCKf

DataI n

DataOut

Registeri

COMBI NATI ONALLOGI C

Registerf

CLK CLK

R1 R2

R4

R3R1 R2 R3

R4

Page 6: DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING

Arrival timeAi

di Di

ai

T

Departuretime

CLK at Ri

CWL

Timing Parameters

Page 7: DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING

Flip-Flop Operation

Positive edge-triggered

CLK

DATAI N

DATAOUT

Page 8: DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING

Latch Operation

Positive level-sensitive

CLK

DATAI N

DATAOUT

Page 9: DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING

CLK1

CLK2

CLK3

CLK1

CLK2

CLK3

Time Borrowing

Flip-Flop based Latch based

TFF = DP12 TL DP

12=TFF

Page 10: DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING

Clock Skew

Tskew(i,f) = ti - tf

Clock signal

delay at the

initial register

Clock signal

delay at the

final register

D Q D Q

CLOCKi CLOCKf

DataI n

DataOut

Registeri

COMBI NATI ONALLOGI C

Registerf

CLK CLK

CLKsource

CLKi

CLKf

ti

tf

Tskew(i,f)

Page 11: DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING

Clock Skew Scheduling

CIRCUIT

TOPOLOGY

CLOCKING

METHODOLOGY

MAX OP. FREQUENCY

TIMING SCHEDULE

CLOCKING SCHEDULE

SENSITIVITY*

INPUT OUTPUT

Page 12: DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING

CSS: Edge-Sensitive

Zero clock skew

Non-zero clock skew

CLK1

CLK2

CLK3

TFF = DP12 TFF

skewed DP12=TFF

CLK1

CLK2

CLK3

Page 13: DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING

Edge-Sensitive CSS Model

ifPm

ifskew

ifPM

ifskew

DT

DTTts

T

−≥

−≤..

min Linear Programming

(LP) model

1: J. P. Fishburn, Clock Skew Optimization, IEEE Transactions on Computers, Vol C-39, pp. 945-951, July 1990.

1

Page 14: DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING

CLK1

CLK2

CLK3

CSS for Level-Sensitive

• Flip-flop-based

• Zero clock skew

• Latch-based

• Non-zero clock skew

CLK1

CLK2

CLK3

TFF = DP12 TL

skewed TL DP12=TFF

Page 15: DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING

Level-Sensitive CSS Model

( ) ( )

ff

ff

fiskew

fiPMif

fiskew

fiPmif

iCQM

LWi

iDQMii

iCQm

LWi

iDQmii

ff

ff

j jFaninjjjjj

dD

aA

TTDDA

TTDda

DCTD

DAD

DCTd

Dad

STA

Hats

aADdMT

nn

n

nn

n

−++≥

−++≤

+−≥

+≥

+−≥

+≥

−≤

⎥⎦

⎤⎢⎣

⎡−+++ ∑ ∑

∀ ≥∀

..

min|)(:| 1

Linear Programming

(LP) model

1: B. Taskin and I.S. Kourtev, Linearization of the Timing Analysis and Optimization Level-Sensitive Digital Synchronous Circuits, IEEE Transactions on VLSI, Vol 12, No 1, pp. 12-27, January 2004.

1

Page 16: DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING

CSS Topological Limitations

• Series of data paths– Small practical limitations on CSS

• Data path cycles– Limit minimum clock period

• Reconvergent paths– Unexplored

– They do matter!

Page 17: DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING

Linear Topology

• Series of local data paths

• Small practical limits for clock skew scheduling

Tmin = max max∀ if

DPMif −DPm

if( ),max

∀ iSi + H i( )

⎡ ⎣ ⎢

⎤ ⎦ ⎥

R1 R2 R3 R4 R5

Page 18: DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING

Linear Topology Timing 1

DP23

CLK1

CLK2

CLK3

CLK4

CLK5

DP12 DP

45DP34

T T T T

Page 19: DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING

Linear Topology Timing 2

DP23

CLK1

CLK2

CLK3

CLK4

CLK5

DP12 DP

45DP34

T T T T

Page 20: DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING

Data Path Cycles

• Defined for retiming

• Limiting for clock skew scheduling

R1

R2

R3

R4

R5

Tmin =

DPM + S + H( )cycle

r

Page 21: DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING

Data Path Cycles Timing

CLK1

CLK2

CLK3

CLK4

CLK5

DP12 DP

23 DP34 DP

51DP45

T T T T T

Page 22: DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING

Reconvergent Paths

• Common topology

• Lower bound Tmin

Rd

R1 Rn

Rc

R2 Rk

||||minmax

min 11 2121

21

+−+

++−

−=

pathpath

cc

pathpath

pathpath

rrHS

rrPDPD

T

Page 23: DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING

Reconvergent Paths Timing

CLKd

CLKc

T T T T T

T T

PDpath1

PDpath2

Page 24: DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING

Delay Insertion

||||intintminmax*

min 11 2121

2121

+−+

++−

−+−=

pathpath

cc

pathpath

pathyuncerta

pathyuncerta

pathpath

rrHS

rrDelayDelayPDPD

T

• Add delays to some paths

• Modify shortest and potentially longest path

delays

Rd

R1 Rn

Rc

R2 Rk

Page 25: DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING

Reconvergent Path Timing DI

CLKd

CLKc

PDpath2

PDpath1+Delay

T*

T* T* T* T* T*

T*

Page 26: DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING

CSS-DI for Edge-Sensitive

ifPm

ifskew

ifPM

ifskew

DT

DTTts

T

−≥

−≤..

min

I Mif

I mif

I mifI M

if

Page 27: DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING

CSS-DI for Level-Sensitive

( ) ( )

ff

ff

fiskew

fiPMif

fiskew

fiPmif

iCQM

LWi

iDQMii

iCQm

LWi

iDQmii

ff

ff

j jFaninjjjjj

dD

aA

TTDDA

TTDda

DCTD

DAD

DCTd

Dad

STA

Hats

aADdMT

nn

n

nn

n

−++≥

−++≤

+−≥

+≥

+−≥

+≥

−≤

⎥⎦

⎤⎢⎣

⎡−+++ ∑ ∑

∀ ≥∀

..

min|)(:| 1

I mif

I Mif

ImifI

Mif

Page 28: DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING

Implementation Highlights

• Corner cases for delays

• Stand-alone frameworks

– Edge-sensitive

– Level-sensitive

• Reasonable run-times

– Under 2 minutes with barrier optimizer

Page 29: DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING

Edge-Sensitive Results

Improvement

CLOCK SKEW SCHEDULING 28%

CLOCK SKEW SCHEDULING WITH

DELAY INSERTION34%

Edge-Triggered Circuits

0

10

20

30

40

50

60

70

80

90

100

s27s208.1

s298 s344 s349 s382 s386 s400s420.1

s444 s510 s526ns641 s713 s820 s832 s953 s1196 s1423s1488s1494s5378s9234s13207s15850s15850.1

s35932s38417s38584Average

ISCAS'89 Benchmark Circuits

Improvement (%)

Clock skew scheduling Clock skew scheduling and delay insertion

Page 30: DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING

Level-Sensitive Results

Improvement

CLOCK SKEW SCHEDULING 29%

CLOCK SKEW SCHEDULING WITH

DELAY INSERTION34%

Level-Sens itive Circuits

0

1020

30

40

50

60

70

8090

100

s27s208.1

s298 s344 s349 s382 s386 s400s420.1

s444 s510 s526ns641 s713 s820 s832 s953 s1196 s1423s1488s1494s5378s9234s13207s15850s15850.1

s35932s38417s38584Average

ISCAS'89 Benchmark Circuits

Improvement (%)

Clock skew scheduling Clock skew scheduling and delay insertion

Page 31: DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING

Quantitative Summary

• Delay insertion applicable to

– 41% of edge-triggered ISCAS’89 circuits

– 34% of the level-sensitive

• Improvement over conventional CSS

– 10% for edge-triggered (26% when applicable)

– 9% for level-sensitive (27% when applicable)

Page 32: DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING

Conclusions

• Delay insertion to logic

– Systematic

• Requires topological analysis

– Linear, cycle, reconvergent

• Practical requirements

– Design budget for delay insertion

– Discrete delay values

– Placement

Page 33: DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING

DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING

QUESTIONS?

Page 34: DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING

Clock Period Minimization Problem - 1

• Objective function : min T

• Problem variables

– For each register Ri

• Earliest/latest arrival times ai, Ai

• Earliest/latest departure times di, Di

• Clock signal delay ti

Page 35: DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING

Clock Period Minimization Problem - 2

• Problem Parameters

– For each register Ri

• Clock-to-output delay DCQ

• Data-to-output DDQ

• Setup time Si

• Hold time Hi

– For each local data path Ri Rj

• Data propagation time DPif

Page 36: DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING

Practical Causes of Clock Skew

• Size Mismatches

– Buffer Size, Interconnect length

• Process Variations

– Leff, Tox etc.

• Temperature Gradients

• Power Supply Voltage Drop