Vishwani D. Agrawal James J. Danaher Professor

23
Spring 2014, Mar 5 . . . Spring 2014, Mar 5 . . . ELEC 7770: Advanced VLSI Design ELEC 7770: Advanced VLSI Design (Agrawal) (Agrawal) 1 ELEC 7770 ELEC 7770 Advanced VLSI Design Advanced VLSI Design Spring 2014 Spring 2014 A Linear Programming Solution A Linear Programming Solution to Clock Constraint Problem to Clock Constraint Problem Vishwani D. Agrawal Vishwani D. Agrawal James J. Danaher Professor James J. Danaher Professor ECE Department, Auburn University, Auburn, AL ECE Department, Auburn University, Auburn, AL 36849 36849 [email protected] http://www.eng.auburn.edu/~vagrawal/COURSE/E7770_Spr14/ course.html

description

ELEC 7770 Advanced VLSI Design Spring 2014 A Linear Programming Solution to Clock Constraint Problem. Vishwani D. Agrawal James J. Danaher Professor ECE Department, Auburn University, Auburn, AL 36849 [email protected] http://www.eng.auburn.edu/~vagrawal/COURSE/E7770_Spr14/course.html. - PowerPoint PPT Presentation

Transcript of Vishwani D. Agrawal James J. Danaher Professor

Page 1: Vishwani  D.  Agrawal James J. Danaher Professor

Spring 2014, Mar 5 . . .Spring 2014, Mar 5 . . . ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 11

ELEC 7770ELEC 7770Advanced VLSI DesignAdvanced VLSI Design

Spring 2014Spring 2014A Linear Programming Solution to Clock A Linear Programming Solution to Clock

Constraint ProblemConstraint ProblemVishwani D. AgrawalVishwani D. Agrawal

James J. Danaher ProfessorJames J. Danaher Professor

ECE Department, Auburn University, Auburn, AL 36849ECE Department, Auburn University, Auburn, AL 36849

[email protected]://www.eng.auburn.edu/~vagrawal/COURSE/E7770_Spr14/course.html

Page 2: Vishwani  D.  Agrawal James J. Danaher Professor

Spring 2014, Mar 5 . . .Spring 2014, Mar 5 . . . ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 22

A General Sequential CircuitA General Sequential Circuit

CombinationalLogic

Registers

Clock

Inputs Outputs

Page 3: Vishwani  D.  Agrawal James J. Danaher Professor

Spring 2014, Mar 5 . . .Spring 2014, Mar 5 . . . ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 33

A Level-Sensitive LatchA Level-Sensitive LatchD

CK

Q

QN

Clock period, Tck

CKtime

Latch open Latch closed Latch open

Page 4: Vishwani  D.  Agrawal James J. Danaher Professor

Spring 2014, Mar 5 . . .Spring 2014, Mar 5 . . . ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 44

Alternative ImplementationAlternative Implementation

D

CK

Q

J. Segura and C. F. Hawkins, CMOS Electronics, How It Works,How It Fails, Wiley Interscience, 2004, p.137.

Page 5: Vishwani  D.  Agrawal James J. Danaher Professor

Spring 2014, Mar 5 . . .Spring 2014, Mar 5 . . . ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 55

Data Must be Stable Before Latch ClosesData Must be Stable Before Latch Closes

1

1

0

01

D = 0 → 1 → 1

CK = 1 → 1 → 0Q

QN

Clock period, Tck

CKtime

Latch open Latch closed

0→1→0→0→

1→1→0→0→

0→0→1→0→1→

1→0→1→0→1→

Unstable state

Stable data

delays

Page 6: Vishwani  D.  Agrawal James J. Danaher Professor

Spring 2014, Mar 5 . . .Spring 2014, Mar 5 . . . ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 66

Data and Clock ParametersData and Clock Parameters

Clock period, Tck

CKtimeLatch open Latch closed

Dtime

Stable data

Stable QQtime

Setup time Hold time

CK-to-Q delay

Page 7: Vishwani  D.  Agrawal James J. Danaher Professor

Spring 2014, Mar 5 . . .Spring 2014, Mar 5 . . . ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 77

Design With Level-Sensitive LatchesDesign With Level-Sensitive Latches

Comb.Logic

Lev

el-s

ens

. La

tch

es

PI

PO

Comb.Logic

Lev

el-s

ens

. La

tch

es

PI

POCK

Page 8: Vishwani  D.  Agrawal James J. Danaher Professor

Spring 2014, Mar 5 . . .Spring 2014, Mar 5 . . . ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 88

Edge-Triggered Flip-flopEdge-Triggered Flip-flop

D

CK

Q

QN

Clock period, Tck

CKtime

Master open Slave open

Master latch Slave latch

Trigger edgesSetup time

Hold time

CK-to-Q delay

Page 9: Vishwani  D.  Agrawal James J. Danaher Professor

Spring 2014, Mar 5 . . .Spring 2014, Mar 5 . . . ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 99

A Dynamic ImplementationA Dynamic Implementation

D Q

CK

CK

CK

CK

VDD

GND

J. P. Uyemura, Chip Design for Submicron VLSI: CMOS Layout andSimulation, Thomsom, 2006, p. 229.

Page 10: Vishwani  D.  Agrawal James J. Danaher Professor

Spring 2014, Mar 5 . . .Spring 2014, Mar 5 . . . ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 1010

A Static ImplementationA Static Implementation

D

Q

CK

CK

CK

CK

VDD

GND

J. P. Uyemura, Chip Design for Submicron VLSI: CMOS Layout andSimulation, Thomsom, 2006, p. 230.

Page 11: Vishwani  D.  Agrawal James J. Danaher Professor

Spring 2014, Mar 5 . . .Spring 2014, Mar 5 . . . ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 1111

Design With Edge-Triggered Flip-FlopsDesign With Edge-Triggered Flip-Flops

CombinationalLogic

Flip-flops

Clock

Inputs Outputs

Page 12: Vishwani  D.  Agrawal James J. Danaher Professor

Spring 2014, Mar 5 . . .Spring 2014, Mar 5 . . . ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 1212

Setup Time ConstraintSetup Time Constraint

FF i FF jCombinational path delay

δ(i,j) ≤ d(i,j) ≤ Δ(i,j)

Tsi Thi

Tc.Qi

Clock edge

time

Tck

Tsj

Constraint: si + Tc.Qi + Δ(i,j) ≤ sj + Tck – Tsj

i.e., Δ(i,j) ≤ Tck – Tsj – Tc-Qi + sj – si

This is known as long path constraint – prevents zero clocking

Note: All times for aFF should be adjustedby its clock skew.

Arrive nolater thanthis

Traveltime

Skew si Skew sj

Page 13: Vishwani  D.  Agrawal James J. Danaher Professor

Spring 2014, Mar 5 . . .Spring 2014, Mar 5 . . . ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 1313

Hold Time ConstraintHold Time Constraint

FF i FF jCombinational path delay

δ(i,j) ≤ d(i,j) ≤ Δ(i,j)

Tsi Thi

Tc.Qi

Clock edge (si)

time

Tck

Tsj

Constraint: si + Tc.Qi + δ(i,j) ≥ sj + Thj

i.e., δ(i,j) ≥ Thj – Tc.Qi + sj – si

sj – si + Thj

This is known as short path constraint – avoids double clocking

Note: All times for aFF should be adjustedby its clock skew.

Skew si Skew sj

Page 14: Vishwani  D.  Agrawal James J. Danaher Professor

Spring 2014, Mar 5 . . .Spring 2014, Mar 5 . . . ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 1414

Solving Hold Time Problem (1)Solving Hold Time Problem (1)

PO(FFi)

PO(FFj)PI

(FFi)

PI(FFj)

POPI

Fanout node

Internal edges (fixed delays)External edges (variable delays)

Page 15: Vishwani  D.  Agrawal James J. Danaher Professor

Spring 2014, Mar 5 . . .Spring 2014, Mar 5 . . . ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 1515

Solving Hold Time Problem (2)Solving Hold Time Problem (2)

Variables:Variables: Shortest arrival time at node i = aiShortest arrival time at node i = ai Longest arrival time at node i = AiLongest arrival time at node i = Ai Buffer delay on external edge (i,j) = wijBuffer delay on external edge (i,j) = wij

Constants:Constants: At PI i: Ai = At PI i: Ai = ΛΛi i and ai = and ai = λλi, i, user specified.user specified. At PI (FF) i: Ai = ai = Tc.Qi At PI (FF) i: Ai = ai = Tc.Qi

Page 16: Vishwani  D.  Agrawal James J. Danaher Professor

Spring 2014, Mar 5 . . .Spring 2014, Mar 5 . . . ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 1616

Solving Hold Time Problem (3)Solving Hold Time Problem (3)

Constraints:Constraints: At PO i: Ai At PO i: Ai ≤ Ri and ai ≥ ri, user defined.≤ Ri and ai ≥ ri, user defined. At PO (FF) i:At PO (FF) i:

ai ≥ Thi, short path constraint.ai ≥ Thi, short path constraint. Ai ≤ Tck – Tsi, long path constraint.Ai ≤ Tck – Tsi, long path constraint.

Optimization function (a linear approximation to Optimization function (a linear approximation to minimum number of delay buffers):minimum number of delay buffers):

minimize minimize ∑ ∑ wijwijall externalall externaledges (i,j)edges (i,j)

Page 17: Vishwani  D.  Agrawal James J. Danaher Professor

Spring 2014, Mar 5 . . .Spring 2014, Mar 5 . . . ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 1717

Linear Programming Solution (1)Linear Programming Solution (1)minimize minimize ∑ ∑ wijwij

all externalall externaledges (i,j)edges (i,j)

Subject to: Aj ≥ Ai + wij for all i ε Fanin(j)aj ≤ ai + wij for all i ε Fanin(j)

Ai ≤ Ri for all i ε POai ≥ ri for all i ε PO

Ai ≤ Tck – Tsi for all i ε PO(FF i)ai ≥ Thi for all i ε PO(FF i)

Ai = Λi for all i ε PIai = λi for all i ε PI

Ai = Tqi for all i ε PI(FF i)ai = Tqi for all i ε PI(FF i)

Page 18: Vishwani  D.  Agrawal James J. Danaher Professor

Spring 2014, Mar 5 . . .Spring 2014, Mar 5 . . . ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 1818

Linear Programming Solution (2)Linear Programming Solution (2)

Solution inserts smallest delays in interconnects Solution inserts smallest delays in interconnects to satisfy short path constraints.to satisfy short path constraints.

Maintains the specified clock period and Maintains the specified clock period and satisfies setup time constraints.satisfies setup time constraints.

Reference: N. Maheshwari and S. S. Sapatnekar, Timing Analysisand Optimization of Sequential Circuits, Springer,

1999.

Page 19: Vishwani  D.  Agrawal James J. Danaher Professor

Shift Register Example 1 (Long Path)Shift Register Example 1 (Long Path)

Spring 2014, Mar 5 . . .Spring 2014, Mar 5 . . . ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 1919

F1 F2 F3

CK

s1 s2 s3

su ho

Ck-2-Q

su suho ho

Ck-2-Q Ck-2-Q

Δ ≤ Delay

s1 s2 s3

Δ Δ

Δ ≤ Delayt

0

su ho

Ck-2-Q

su suho ho

Ck-2-Q Ck-2-Q

Δ ≤ Delay Δ ≤ Delayt

0

T 2T

T 2T

Zero skew

Page 20: Vishwani  D.  Agrawal James J. Danaher Professor

Shift Register Example 1 (Short Path)Shift Register Example 1 (Short Path)

Spring 2014, Mar 5 . . .Spring 2014, Mar 5 . . . ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 2020

F1 F2 F3

CKs1 s2 s3

δ δ

su ho

Ck-2-Q

su suho ho

Ck-2-Q Ck-2-Q

t

0 T 2T

Zero skew F1

su ho

Ck-2-Q

su suho ho

Ck-2-Q Ck-2-Q

δ≥ Delay

t

0 T 2T Zero skew F2

Page 21: Vishwani  D.  Agrawal James J. Danaher Professor

Shift Register Example 1 (Short Path)Shift Register Example 1 (Short Path)

Spring 2014, Mar 5 . . .Spring 2014, Mar 5 . . . ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 2121

F1 F2 F3

CKs1 s2 s3

δ δ

su ho

Ck-2-Q

su suho ho

Ck-2-Q Ck-2-Q

t

0 T 2T

F1

su ho

Ck-2-Q

su suho ho

Ck-2-Q Ck-2-Q

δ≥ Delay

t

0

T 2T

nonzero skew F2

F2

s1

s2

Page 22: Vishwani  D.  Agrawal James J. Danaher Professor

Shift Register Example 2 (Short Path)Shift Register Example 2 (Short Path)

Spring 2014, Mar 5 . . .Spring 2014, Mar 5 . . . ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 2222

F1 F2 F3

CKs1 s2 s3

δ δ

su ho

Ck-2-Q

su suho ho

Ck-2-Q Ck-2-Q

δ ≥ Delay

t

0

T 2TF1

su ho

Ck-2-Q

su suho ho

Ck-2-Q Ck-2-Q

t

0 T 2T

F2

s2

s1

Page 23: Vishwani  D.  Agrawal James J. Danaher Professor

Shift Register Example 2 (Long Path)Shift Register Example 2 (Long Path)

Spring 2014, Mar 5 . . .Spring 2014, Mar 5 . . . ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal)

2323

F1 F2 F3

CK

s1 s2 s3

su ho

Ck-2-Q

su suho ho

Ck-2-Q Ck-2-Q

Δ ≤ Delay

s1 s2 s3

Δ Δ

Δ ≤ Delayt

0

su ho

Ck-2-Q

su suho ho

Ck-2-Q Ck-2-Q

Δ ≤ Delay Δ ≤ Delayt

0

T 2T

T 2T

Zero skew