EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah,...

42
EEC 216 Lecture #6: Clocking and Sequential Circuits Rajeevan Amirtharajah University of California, Davis

Transcript of EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah,...

Page 1: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

EEC 216 Lecture #6:Clocking and Sequential

Circuits

Rajeevan AmirtharajahUniversity of California, Davis

Page 2: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 2

Outline

• Announcements

• Review: Dynamic Logic, Transistor Sizing

• Lecture 5: Finish Transistor Sizing

• Lecture 5: Clocking Styles Overview

• Lecture 5: Static Latches and Flip-Flops

• Dynamic Latches and Flip-Flops

• Alternative Flip-Flop Styles

• Self-Timed Circuits

Page 3: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 3

Outline

• Announcements

• Review: Dynamic Logic, Transistor Sizing

• Lecture 5: Finish Transistor Sizing

• Lecture 5: Clocking Styles Overview

• Lecture 5: Static Latches and Flip-Flops

• Dynamic Latches and Flip-Flops

• Alternative Flip-Flop Styles

• Self-Timed Circuits

Page 4: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 4

• Precharge Phase– Output node charged to reference voltage and left

floating before evaluation– Load capacitance “stores” the precharge value

• Evaluation Phase– Path to change the output node voltage energized by

turning on evaluation transistor– Depending on inputs, load capacitance “written” with

final value (changed from precharge value or left unchanged)

• Inputs must make at most one transition during evaluation

• Output can be left high impedance, unlike static CMOS

Dynamic CMOS Logic Concepts

Page 5: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 5

Dynamic CMOS Logic

PDN

Out

0In1In2In

Clk

Clk

Page 6: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 6

Intrinsic (Self-Load) and Extrinsic Capacitance

wireCgC iC

gC

• To analyze delay/sizing tradeoffs, must account for all circuit capacitances

Page 7: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 7

RC Switch Model for Inverter Sizing

wireCiC

gCgwireext CCC +=

eqR

• Model delay using ideal switch and resistor for MOSFET

Page 8: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 8

Inverter Chain Sizing for Minimum Delay

1gL KCC =1gC

• Using inverter sizing, want to minimize delay of driving large load CL

• Optimize using equivalent resistance delay equation derived in previous slides

1 2 N

Page 9: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 9

Optimal Inverter Stages for Minimum Delay • Delay trade off in the number of stages N

– Too many stages, intrinsic delay term dominates– Too few stages, extrinsic term due to fanout ratio

dominates• Taking derivative of Tpd wrt N and setting equal to zero

yields scale up factor for optimal number of stages:

• Closed form solution when ,

• For more typical case of , • Often choose

⎟⎠⎞

⎜⎝⎛ +

= kekγ1

0=γ )ln(KN =71828.2== ek

6.3=k1=γ4=k

Page 10: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 10

Outline

• Announcements

• Review: Dynamic Logic, Transistor Sizing

• Lecture 5: Finish Transistor Sizing

• Lecture 5: Clocking Styles Overview

• Lecture 5: Static Latches and Flip-Flops

• Dynamic Latches and Flip-Flops

• Alternative Flip-Flop Styles

• Self-Timed Circuits

Page 11: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 11

Dynamic Positive Edge-Triggered FF

DQ

Clk

Clk

Clk

Clk

I0 I1

• No feedback devices• Data stored on input capacitances of inverters I0 and I1• Dynamic logic issues apply: leakage, capacitive

coupling, charge sharing

0C 1C

Page 12: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 12

Staticized Dynamic Positive Edge-Triggered FF

DQ

Clk

Clk

Clk

Clk

I0

I1

I2

I3

• Use weak feedback inverters to enhance robustness• Returns to reduced clock load static flip-flop with same

sizing issues

0C 1C

Page 13: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 13

C2MOS Edge Triggered Flip-Flop

D

Clk

Clk0C 1C

QClk

Clk

• Eliminates clock overlap race condition

Page 14: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 14

Zero-Zero Overlap Condition

D

Gnd

0C 1C

Q

Gnd

• Both phases low simultaneously enables opposite nets

Page 15: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 15

High-High Overlap Condition

DDDV

0C 1C

QDDV

• Both phases high simultaneously enables opposite nets

Page 16: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 16

C2MOS Design

• Clock overlap problems eliminated as long as rise and fall times remain fast– Slow rise / fall times imply pullup and pulldown nets on

simultaneously resulting in potential errors, static power• Dynamic flip-flop style leaves output high Z

– Must take care when using since output wire could be exposed to many more noise sources than internal nodes

• Mix and match styles by using C2MOS as master and other types of latch as slave

• Clock load small, but potentially larger than transmission gate dynamic latches due to PMOS sizing

Page 17: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 17

True Single-Phase Clock Negative Latch

D

Clk

outC

Q

Clk

• Idea is to eliminate one polarity of clock

Page 18: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 18

True Single-Phase Clock Positive Latch

DClk

outC

Q

Clk

• Complementary version

Page 19: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 19

TSPC Positive Edge Triggered Flip-Flop

• Combine TSPC latches and merge

ClkiC

QClkD

Clk

Clk

AB

Page 20: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 20

TSPC Positive Edge Triggered Flip-Flop

• Clk low, A = not(D) and B precharged

V0iC

QV0D

V0

V0

A=~DB=VDD

Page 21: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 21

TSPC Positive Edge Triggered Flip-Flop

• Clk high, D = 0, B discharged, Ci charges, Q goes low

DDViC

Q

DDV0

DDVDDV

A=1B=0

Page 22: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 22

TSPC Positive Edge Triggered Flip-Flop

• Clk high, D = 1, B stays high, Ci discharges, Q goes high

DDViC

QDDV1

DDVDDV

A=0B=VDD

Page 23: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 23

TSPC Design

• Clock overlap problems eliminated since only single clock required– Frees routing resources compared to nonoverlapped

clocks• Dynamic flip-flop style leaves internal nodes high Z

– Inherent race condition in edge-triggered flip-flop must be dealt with by careful sizing or adequate hold time

• Small clock load, only four transistors and no local inversion

Page 24: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 24

Outline

• Announcements

• Review: Dynamic Logic, Transistor Sizing

• Lecture 5: Finish Transistor Sizing

• Lecture 5: Clocking Styles Overview

• Lecture 5: Static Latches and Flip-Flops

• Dynamic Latches and Flip-Flops

• Alternative Flip-Flop Styles

• Self-Timed Circuits

Page 25: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 25

C2MOS Dual-Edge Triggered Flip-Flop

D

Clk

Clk0C

outC

QClk

Clk

Clk

Clk1C

Clk

ClkReduce power with lower

(half) clock frequency!Need more devices, more

switched cap…

N0

N1

N0

N1

Page 26: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 26

TSPC Based Pulse Register

DClk

Q

Clk

Latch briefly transparent!

fRe

Clk

Page 27: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 27

Pulse Register Design

• Advantages in timing discipline– Since edge-triggered flip-flop equivalent to

transparent latch, there is essentially 0 setup time– Hold time is equivalent to glitch width– Clock-to-Q delay is only two gate delays

• Reduced clock load and few devices, low area for lower power

• Can use glitch circuit (one-shot) to generate narrow pulses from regular clock– Amortize over many state elements– High frequency signal (narrow pulse) challenging to

distribute over lossy interconnect

Page 28: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 28

Sense Amplifier Based Edge-Triggered FF

M0Clk

In In

Out Out

M3M1 M2

M5 M4

M9 M7 M6 M8

N3 N4

N1 N2

Page 29: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 29

Leakage Problem When Inputs Change

M0Clk

In In

Out Out

M1 M2

M5 M4

M9 M7 M6 M8

N3 N4

N1 N2 10

1->0 0->1

Page 30: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 30

M3 Eliminates Leakage Problem

M0Clk

In In

Out Out

M3M1 M2

M5 M4

M9 M7 M6 M8

N3 N4

N1 N2 10

1->0 0->1

Page 31: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 31

Sense Amplifier Register Design

• Designed to detect small (below rail-to-rail) differential inputs– Good for low swing large capacitances, since

dynamic power drops quadratically with decreasing voltage swing

– Potentially fast since input swings can be small, less time required to develop adequate differential voltage

• Several analog design issues– Must ensure both halves of design well matched to

enable minimum input swing (reduced offset)– Large area consumed by single flip-flop, especially if

good input transistor matching required

Page 32: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 32

Flip-Flop Design Example

• Amirtharajah PhD 99, JSSC 04

Page 33: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 33

Outline

• Announcements

• Review: Dynamic Logic, Transistor Sizing

• Lecture 5: Finish Transistor Sizing

• Lecture 5: Clocking Styles Overview

• Lecture 5: Static Latches and Flip-Flops

• Dynamic Latches and Flip-Flops

• Alternative Flip-Flop Styles

• Self-Timed Circuits

Page 34: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 34

Two Phase Handshake Protocol

• Green: sender action, Magenta: receiver action

Sender Receiver

Req

Ack

Data

Req

Ack

Data 1

2

3

1

Page 35: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 35

Muller C-Element

• Signaling protocol requires strict ordering of transitions• Muller C-element essential component of handshake

logic– Performs AND operation on events– Events required on both inputs before output event

generated

B 1+nFA00100111

0

1

nFnF

A

B

FC

Page 36: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 36

Dynamic Muller C-Element

B0C

F

• Dynamic latch on output handles memory function

A

Page 37: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 37

Two Phase Protocol Implementation

• Two phase protocol can be implemented with single C-element and inverter

Sender Receiver

Req

Data

Ack

Data ready

C

Page 38: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 38

Two Phase Protocol Issues

• Simple to implement and good performance– Low overhead beneficial for low power applications

• Many logic devices level sensitive or sensitive to only one polarity of transition– Event-triggered logic requires extra circuitry and

state information– All C-elements must be initialized properly to avoid

deadlock between logic stages (requires more devices, area, routing of reset signals)

• Alternative signaling approach relies on bringing control signals back to initial state before commencing new cycle

Page 39: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 39

Four Phase (Return-to-Zero) Protocol

• All controlling signals back to initial state each cycle

Sender Receiver

Req

Ack

Data

Req

Ack

Data 1

2

3

1

4

5

Page 40: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 40

Four Phase Protocol Implementation

• Four phase protocol can be implemented with two C-elements and two inverters

Sender Receiver

Req

Data

Ack

Data ready

CC S

Page 41: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 41

Four Phase Protocol Issues

• More complex and requires more overhead than two phase

• More robust implementation of handshaking– Logic does not deal with arbitrary transitions, only

considers rising/falling edges and logic levels– Easy to interface with traditional circuit styles

• Preferred implementation for self-timed pipelines• Two phase used when sender and receiver far apart

– Long delays on request and acknowledge signals degrade performance

Page 42: EEC 216 Lecture #6: Clocking and Sequential Circuitsramirtha/EEC216/W09/lecture...R. Amirtharajah, EEC216 Winter 2009 2 Outline • Announcements • Review: Dynamic Logic, Transistor

R. Amirtharajah, EEC216 Winter 2009 42

Synchronous vs. Asynchronous for Power

• Asynchronous has advantage of inherent higher speed, therefore allows more voltage scaling– Eliminates large global clock net

• Asynchronous disadvantages: circuit overhead, design complexity– Overhead adds capacitance, leakage current

(increasingly important)– Difficult to design correctly

• Synchronous, or similar styles such as replica-based ring oscillators, likely to remain dominant