60
ECE680: Physical VLSI Design ECE680: Physical VLSI Design ECE680: Physical VLSI Design ECE680: Physical VLSI Design Chapter IV Chapter IV Designing Sequential Logic Designing Sequential Logic Circuits Circuits (Chapter 7) (Chapter 7) 1 9/18/2008 GMU, ECE 680 Physical VLSI Design

ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

  • Upload
    others

  • View
    14

  • Download
    1

Embed Size (px)

Citation preview

Page 1: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

ECE680: Physical VLSI DesignECE680: Physical VLSI DesignECE680: Physical VLSI DesignECE680: Physical VLSI Design

Chapter IVChapter IV

Designing Sequential Logic Designing Sequential Logic CircuitsCircuits

(Chapter 7)(Chapter 7)

19/18/2008 GMU, ECE 680 Physical VLSI Design

Page 2: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Sequential Logic

OutputsInputsCOMBINATIONAL

LOGIC

Outputs

C rrent State

Inputs

RegistersNext state

Q D

Current State

CLK

2 storage mechanisms

• positive feedback

• charge based• charge‐based

9/18/2008 2GMU, ECE 680 Physical VLSI Design

Page 3: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Naming ConventionsNaming Conventions

• In our text:In our text:– a latch is level sensitive– a register is edge‐triggeredg g gg

• There are many different naming conventions– For instance, many books call edge‐triggeredFor instance, many books call edge triggered elements flip‐flops

– This leads to confusion however

9/18/2008 3GMU, ECE 680 Physical VLSI Design

Page 4: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Latch versus Registerg

Latch

stores data whenRegister

stores data whenstores data when clock is low 

stores data when clock rises 

D

Clk

Q D

Clk

Q

Clk

Clk Clk

D D

Q QQ Q

9/18/2008 4GMU, ECE 680 Physical VLSI Design

Page 5: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

LatchesLatchesPositive Latch Negative Latch

In Out

CLK

DG

Q In OutDG

Q

clk

CLK

clk

CLK

In

Out

In

Out

Outstable

Outfollows In

Outstable

Outfollows In

9/18/2008 5GMU, ECE 680 Physical VLSI Design

Page 6: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Latch‐Based DesignLatch Based Design

• N latch is transparent P l h i• N latch is transparentwhen φ = 0

• P latch is transparent when φ = 1

φ

N PNLatch Logic P

Latch

Logic

9/18/2008 6GMU, ECE 680 Physical VLSI Design

Page 7: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Timing DefinitionsTiming Definitions

t

CLKRegister

t

D

tholdtsu

DATASTABLE

CLK

D Q

tc 2 q

t

Q DATASTABLE tSTABLE

9/18/2008 7GMU, ECE 680 Physical VLSI Design

Page 8: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Characterizing TimingCharacterizing Timing

D Q D Q

tD 2 Q

D Q D Q

Clk Clk

tC 2 Q tC 2 Q

Register Latch

9/18/2008 8GMU, ECE 680 Physical VLSI Design

Page 9: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Maximum Clock Frequency

φ

FF’s

φ

LOGIC

tp,comb

Also:tcdreg + tcdlogic > thold

t d: contamination delay = tcd: contamination delay minimum delay

tclk-Q + tp,comb + tsetup = T

9/18/2008 9GMU, ECE 680 Physical VLSI Design

Page 10: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Positive Feedback: Bi‐StabilityVi1 Vo2Vo1 = Vi 2

Vo2 = Vi 1Vo1

i25Vo1

Vo1 Vi2

Vi2

Vi1 Vo2

5Vo1

i1

A

o2

Vi2 = Vo1

Vi25 C

B

Vi1 = Vo2

9/18/2008 10GMU, ECE 680 Physical VLSI Design

Page 11: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Meta‐Stability

A

o1

A

o1

Vi2

5V

o

Vi2

5V

o

C C

B

V 5 V

B

V 5 V

Gain should be larger than 1 in the transition regiond Vi1 5 Vo2 d Vi1 5 Vo2

9/18/2008 11GMU, ECE 680 Physical VLSI Design

Page 12: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Writing into a Static LatchWriting into a Static Latch

Use the clock as a decoupling signal

CLK CLK

Use the clock as a decoupling signal, that distinguishes between the transparent and opaque states

CLK

Q D D

CLK

DCLK

CLK

Converting into a MUXForcing the state(can implement as NMOS-only)

9/18/2008 12GMU, ECE 680 Physical VLSI Design

Page 13: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Mux‐Based LatchesMux Based LatchesNegative latch(transparent when CLK= 0) Positive latch

(transparent when CLK= 1)( p ) (transparent when CLK= 1)

1 Q 0 Q

0D 1D

CLK CLK

InClkQClkQ ⋅+⋅= InClkQClkQ ⋅+⋅=InClkQClkQ + InClkQClkQ +

9/18/2008 13GMU, ECE 680 Physical VLSI Design

Page 14: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Mux‐Based Latch

CLKCLK

Q

CLK

Q

D

CLK

9/18/2008 14GMU, ECE 680 Physical VLSI Design

Page 15: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Mux‐Based LatchMux Based Latch

CLKQ CLKQM

QM

CLK

CLK

NMOS only Non-overlapping clocks

9/18/2008 15GMU, ECE 680 Physical VLSI Design

Page 16: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Master‐Slave (Edge‐Triggered)Master Slave (Edge Triggered) Register

SlaveMaster

0 Q

Slave

D

CLK

1

0DQM

1QM

Q

CLK

CLK

Two opposite latches trigger on edgeAlso called master-slave latch pair

9/18/2008 16GMU, ECE 680 Physical VLSI Design

Page 17: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Master‐Slave RegisterMaster Slave Register

M l i l b d l h iMultiplexer-based latch pair

QT2I2 I3 T4I5 I6

QMD T1I1 T3I4

CLK

9/18/2008 17GMU, ECE 680 Physical VLSI Design

Page 18: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Clk‐Q DelayClk Q Delay

CLK2.5

D1.5

tc 2 q(lh)Vol

ts

tc 2 q(hl)Q

0.5

c 2 q(hl)

2 0.50.5 1 1.5 2 2.50

time, nsec

9/18/2008 18GMU, ECE 680 Physical VLSI Design

Page 19: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Setup TimeSetup Time

3.0 3.0Q

QM2.0

2.5

I2 2 T22.0

2.5

D CLK

I 2 T

Vol

ts

1.0

1.5D

Q

QM

CLK

2 2

Vol

ts

1.0

1.5

I2 2 T2

0.0

0.5QM

0.0

0.5

2 0.50.2 0.4

time (nsec)

(a) Tsetup 5 0.21 nsec

0.6 0.8 102 0.5

0.2 0.4time (nsec)

(b) Tsetup 5 0.20 nsec

0.6 0.8 10

9/18/2008 19GMU, ECE 680 Physical VLSI Design

Page 20: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Reduced Clock LoadReduced Clock Load Master‐Slave Register

CLK CLK

D QT1 I 1 T2 I 3

CLK CLKI2 I4

9/18/2008 20GMU, ECE 680 Physical VLSI Design

Page 21: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Avoiding Clock OverlapAvoiding Clock OverlapCLK X

Q

CLK

A

BD

Q

CLK

(a) Schematic diagram

CLK

(a) Schematic diagram

CLK

(b) Overlapping clock pairs

CLK

9/18/2008 21GMU, ECE 680 Physical VLSI Design

Page 22: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Overpowering the Feedback Loop ─Overpowering the Feedback Loop Cross‐Coupled Pairs

NOR b d

SQ

QRS Q

NOR-based set-reset

S

R

QQ

Q

Q00 Q

101 0

010 1

Forbidden State

010 1011 0R Q

9/18/2008 22GMU, ECE 680 Physical VLSI Design

Page 23: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Cross‐Coupled NAND

VCross-coupled NANDsAdded clock

SQ M2 M4

VDDCross coupled NANDs

Q

Q

MCLK M CLK

Q

QR M1 M3

M5S

M6CLK

M7 R

M8 CLK

This is not used in datapaths any more,b t i b i b ildi llbut is a basic building memory cell

9/18/2008 23GMU, ECE 680 Physical VLSI Design

Page 24: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Sizing Issues2.0 3

Q S

1.0

1.5

Volts

) 2

Volts

W 0 7W = 0.6 mμ

W = 0.5 mμ

0.5

1.0

Q (V

1

Vo

W = 0.9 mμW = 0.8 mμ

W = 0.7 mμ

4.03.53.0W/L5 and 6

2.52.00.0

time (ns)0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

0W = 1 mμ

W 0.9 mμ

Output voltage dependence t i t idth

Transient response

(a) (b)

on transistor width

9/18/2008 24GMU, ECE 680 Physical VLSI Design

Page 25: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Storage MechanismsStorage Mechanisms

CLK

Dynamic (charge-based)Static

D

CLK

Q

CLK

CLKCLK

D

Q

CLK

D

9/18/2008 25GMU, ECE 680 Physical VLSI Design

Page 26: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Making a Dynamic Latch Pseudo StaticMaking a Dynamic Latch Pseudo‐Static

CLK

D D

CLKCLK

9/18/2008 26GMU, ECE 680 Physical VLSI Design

Page 27: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

More Precise Setup TimeMore Precise Setup TimeClk

t

t

D

t

Q

(a)

tC 2 Q1.05tC 2 Q

tD 2 CtSu

tHtH(b)

9/18/2008 27GMU, ECE 680 Physical VLSI Design

Page 28: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Setup/Hold Time Illustrations

Circuit before clock arrival (Setup-1 case)CN

Clk-Q Delay

D

CN

Q MD1 SMInv2

TG1

D

CP

Inv1

TSetup-1

TClk-Q

Time

ClockData ClockDataTSetup-1

Timet=0

9/18/2008 28GMU, ECE 680 Physical VLSI Design

Page 29: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Setup/Hold Time Illustrations

CN

Setup/Hold Time Illustrations

Circuit before clock arrival (Setup-1 case)

Clk-Q Delay

D

CN

Q MD1 SMInv2

TG1

D

CP

Inv1

TSetup-1

TClk-Q

Time

ClockData ClockDataTSetup-1

Timet=0

9/18/2008 29GMU, ECE 680 Physical VLSI Design

Page 30: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Setup/Hold Time IllustrationsSetup/Hold Time Illustrations

Circuit before clock arrival (Setup-1 case)CN

Clk-Q Delay

D

CN

Q MD1 SMInv2

TG1

D

CP

Inv1

TSetup-1

TClk-Q

Time

ClockData ClockDataTSetup-1

Timet=0

9/18/2008 30GMU, ECE 680 Physical VLSI Design

Page 31: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Setup/Hold Time Illustrations

CN

Setup/Hold Time IllustrationsCircuit before clock arrival (Setup-1 case)

Clk-Q Delay

D

CN

Q MD1 SMInv2

TG1

TClk-Q

D

CP

Inv1

TSetup-1 Time

ClockData ClockDataTSetup-1

Timet=0

9/18/2008 31GMU, ECE 680 Physical VLSI Design

Page 32: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Setup/Hold Time Illustrations

CN

Setup/Hold Time IllustrationsCircuit before clock arrival (Setup-1 case)

D

CN

Q MD1 SMInv2

TG1Clk-Q DelayTClk-QD

CP

Inv1

ClockDataTSetup-1 Time

ClockDataTSetup-1

Timet=0

9/18/2008 32GMU, ECE 680 Physical VLSI Design

Page 33: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Setup/Hold Time IllustrationsSetup/Hold Time IllustrationsHold-1 case

CN

D

CN

Q MD1 SMInv2

TG1 Clk-Q Delay

D

CP

Inv1

0

DataClockTHold-1

TClk-Q

Time

DataClockTHold-1

Timet=0

9/18/2008 33GMU, ECE 680 Physical VLSI Design

Page 34: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Setup/Hold Time IllustrationsSetup/Hold Time IllustrationsHold-1 case

CN

Clk-Q Delay

D

CN

Q MD1 SMInv2

TG1

D

CP

Inv1

0

THold-1

TClk-Q

Time

DataClock DataClockTHold-1

Timet=0

9/18/2008 34GMU, ECE 680 Physical VLSI Design

Page 35: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Setup/Hold Time Illustrations

CN

Setup/Hold Time IllustrationsHold-1 case

Clk-Q Delay

D

CN

Q MD1 SMInv2

TG1

T

D

CP

Inv1

0

THold-1

TClk-Q

Time

DataClock DataClockTHold-1

Timet=0

9/18/2008 35GMU, ECE 680 Physical VLSI Design

Page 36: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Setup/Hold Time Illustrations

CN

Setup/Hold Time Illustrations

Hold-1 case

Clk-Q Delay

D

CN

Q MD1 SMInv2

TG1

TClk-Q

D

CP

Inv1

0

THold-1 Time

Clock DataClockTHold-1

Data

Timet=0

9/18/2008 36GMU, ECE 680 Physical VLSI Design

Page 37: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Setup/Hold Time Illustrations

CN

Setup/Hold Time IllustrationsHold-1 case

Clk-Q DelayTClk-Q

D

CN

Q MD1 SMInv2

TG1

D

CP

Inv1

0

THold-1 Time

Clock DataClock

THold-1

Data⇒

Timet=0

9/18/2008 37GMU, ECE 680 Physical VLSI Design

Page 38: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Other Latches/Registers: C2MOS

VDD VDD

M4

M2

CLK CLK M8

M6

D Q

M3CLK

M4CLK

CL1

X

CL2M7CLK

CLK M8

M1 M5

Master Stage Slave Stage

“K ” b dd d t k i it d t ti“Keepers” can be added to make circuit pseudo-static

9/18/2008 38GMU, ECE 680 Physical VLSI Design

Page 39: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Insensitive to Clock‐OverlapInsensitive to Clock Overlap

VDD VDD VDD VDD

M2 M6 M2 M6

D Q

M40 0X

M8

M

D Q

1

X

M1

M1 M5

M3

M1

1 M71

M5

(a) (0‐0) overlap (b) (1‐1) overlap

9/18/2008 39GMU, ECE 680 Physical VLSI Design

Page 40: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

PipeliningEGa EGa

REEG

REGlog

a

CLK

CLK

Out

b

REEG

REGlog

a

CLK

CLK

REG

CLK

REG

CLK

Out

b

RE

CLK

CLKb RE

CLK

CLKCLKCLKb

R f PipelinedReference Pipelined

9/18/2008 40GMU, ECE 680 Physical VLSI Design

Page 41: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Other Latches/Registers: TSPCOther Latches/Registers: TSPC

VDD VDD VDD VDD

Out

CLKIn CLK In CLK CLK

Out

Negative latch(transparent when CLK= 0)

Positive latch(transparent when CLK= 1)

9/18/2008 41GMU, ECE 680 Physical VLSI Design

Page 42: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Including Logic in TSPCIncluding Logic in TSPCVDDVDD VDDVDD

QPUN

Q

In1 In2

CLKIn CLK CLKCLK

PDN In1

InIn2

AND latchExample: logic inside the latch AND latch

9/18/2008 42GMU, ECE 680 Physical VLSI Design

Page 43: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

TSPC RegisterTSPC Register

VDD

M3

VDD

QM9CLK

VDD

M6

CLKD

3

M2CLK

Y Q

9

M8X

6

M5

CLK

2

M1

8

M7

5

M41 74

9/18/2008 43GMU, ECE 680 Physical VLSI Design

Page 44: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Pulse‐Triggered LatchesggAn Alternative Approach

W d d d l ll

Master Slave Latches Pulse Triggered Latch

Ways to design an edge-triggered sequential cell:

Master‐Slave Latches Pulse‐Triggered Latch

L1 L2 L

D

Clk

Q D

Clk

QData

D

Clk

Q

Clk

DataL1 L2 L

Clk Clk

Clk

ClkClk

9/18/2008 44GMU, ECE 680 Physical VLSI Design

Page 45: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Pulsed LatchesPulsed Latches

VDD VDD

M3 M6

QCLK

VDD

CLKGD M2

M

CLKG M5

M

CLKGX

MP

MNM1 M4N

(a) register (b) glitch generation

CLK

CLKG

(c) glitch clock

9/18/2008 45GMU, ECE 680 Physical VLSI Design

Page 46: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Pulsed LatchesPulsed LatchesHybrid Latch – Flip-flop (HLFF), AMD K-6 and K-7 :

P1CLK P3 Qx

M3M6

M2D

M

M5

M4

P2

CM1 CLKD

9/18/2008 46GMU, ECE 680 Physical VLSI Design

Page 47: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Hybrid Latch‐FF TimingHybrid Latch FF Timing

2.5

3.0

1.5

2.0 QD

lts

0.5

1.0Vo

CLKDCLK

20.5

0.0

0 20 0 0 4 0 6 0 8 1 00.20.0 0.4time (ns)

0.6 0.8 1.0

9/18/2008 47GMU, ECE 680 Physical VLSI Design

Page 48: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Latch‐Based PipelineLatch Based Pipeline

CLK CLKCLK

F GIn Out

C1 C2 C3

CLK

CLK

Compute F compute G

9/18/2008 48GMU, ECE 680 Physical VLSI Design

Page 49: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Non‐Bistable Sequential Circuits─Schmitt TriggerSchmitt Trigger

In OutVout VOH

VOL•VTC with hysteresis

VinVM– VM+

•Restores signal slopes

inM M

9/18/2008 49GMU, ECE 680 Physical VLSI Design

Page 50: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Noise Suppression using SchmittNoise Suppression using Schmitt Trigger

Vin Vout

VM+

VM−

+t0 t t0 + tp t

9/18/2008 50GMU, ECE 680 Physical VLSI Design

Page 51: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

CMOS Schmitt TriggerCMOS Schmitt Trigger

VDD

M

DD

M

Vin

M2

X Vout

M4

M1 M3

Moves switching thresholdf h fi i of the first inverter

9/18/2008 51GMU, ECE 680 Physical VLSI Design

Page 52: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Schmitt Trigger Simulated VTCSchmitt Trigger Simulated VTC

2.5

2 0

2.5

2 0

(V)

VM1

2.0

1.5

2.0

1.5

VX(V) VM21.0

0.5

Vx(V)

k = 2k = 3

k = 4

k = 11.0

0.5

Vin (V)

V lt t f h t i ti ith h t i Th ff t f i th ti f th

0.00.0 0.5 1.0 1.5 2.0 2.5

Vin (V)

0.00.0 0.5 1.0 1.5 2.0 2.5

Voltage-transfer characteristics with hysteresis. The effect of varying the ratio of thePMOS device M4. The width is k* 0.5 m.m

9/18/2008 52GMU, ECE 680 Physical VLSI Design

Page 53: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

CMOS Schmitt Trigger (2)CMOS Schmitt Trigger (2)VDD

M4

M6

OutIn

M3

M6

VDDM5

M2

XDD

M1

9/18/2008 53GMU, ECE 680 Physical VLSI Design

Page 54: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Multivibrator Circuits

S

R

Bistable Multivibratorflip-flop, Schmitt Trigger

Monostable Multivibrator

T

one-shot

Astable Multivibratoroscillator

9/18/2008 54GMU, ECE 680 Physical VLSI Design

Page 55: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Transition‐Triggered Monostable

InDELAY

td

In

Outtd

9/18/2008 55GMU, ECE 680 Physical VLSI Design

Page 56: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Monostable Trigger (RC‐based)

VDD

InOutA B

C

R

(a) Trigger circuit.

In

B VM(b) W f

Out ttt

(b) Waveforms.

t2t1

9/18/2008 56GMU, ECE 680 Physical VLSI Design

Page 57: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Astable Multivibrators (Oscillators)

0 1 2 N-1

Ri O illRing Oscillator

2.0

2.5V1 V3 V5

3.0

0 0

0.5

1.0

1.5

Vol

ts

simulated response of 5‐stage oscillator

0.0

0.0

20.50.5

time (ns)1.0 1.5

simulated response of 5 stage oscillator

9/18/2008 57GMU, ECE 680 Physical VLSI Design

Page 58: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Relaxation Oscillator

Out1 Out2Out1

I1 I2

CR

Int

T = 2 (log3) RC( g )

9/18/2008 58GMU, ECE 680 Physical VLSI Design

Page 59: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Voltage Controller Oscillator (VCO)

Schmitt TriggerVDD

M2

M4

VDD

M6

Schmitt Triggerrestores signal slopes

In

M3

M1

M5Vcontr Current starved inverter

Iref Iref

6

0.5 1.5 2.5Vcontr (V)

0.0

2

4

t pH

L (n

sec)

propagation delay as a functionof control voltage

Vcontr (V)

9/18/2008 59GMU, ECE 680 Physical VLSI Design

Page 60: ECE680: Physical VLSI Designmason.gmu.edu/~qli6/ECE680/chapter4 Sequential Logic.pdf · 2008. 9. 18. · ECE680: Physical VLSI Design Chapter IV Designing Sequential Logic Circuits

Differential Delay Element and VCO

v 1

v 3Vo2 Vo1

in21

v 2 v 4

Vctrl

in 1

two stage VCOdelay cell

2.5

3.0V1 V2 V3 V4

0.5

1.0

1.5

2.0

0.5

0.0

2 0.51.5

time (ns)2.5 3.5

simulated waveforms of 2‐stage VCO

9/18/2008 60GMU, ECE 680 Physical VLSI Design