ece c03 lecture 91 lecture 9 memory elements and clocking prith banerjee ece c03 advanced digital...

36
ECE C03 Lecture 9 1 Lecture 9 Memory Elements and Clocking Prith Banerjee ECE C03 Advanced Digital Design Spring 1998

Post on 20-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ECE C03 Lecture 91 Lecture 9 Memory Elements and Clocking Prith Banerjee ECE C03 Advanced Digital Design Spring 1998

ECE C03 Lecture 9 1

Lecture 9Memory Elements and Clocking

Prith Banerjee

ECE C03

Advanced Digital Design

Spring 1998

Page 2: ECE C03 Lecture 91 Lecture 9 Memory Elements and Clocking Prith Banerjee ECE C03 Advanced Digital Design Spring 1998

ECE C03 Lecture 9 2

Outline

• Sequential logic networks• Latches (RS Latch)• Flip-flops (D and JK)• Timing issues (setup and hold times)• READING: Katz 6.1, 6.2, 6.3, Dewey 8.1, 8.2

Page 3: ECE C03 Lecture 91 Lecture 9 Memory Elements and Clocking Prith Banerjee ECE C03 Advanced Digital Design Spring 1998

ECE C03 Lecture 9 3

Sequential Switching Networks

Circuits with Feedback: Some outputs are also inputs

Traffic Light Controller is a complex sequential logic network

Sequential logic forms basis for building "memory" into circuits

These memory elements are primitive sequential circuits

Page 4: ECE C03 Lecture 91 Lecture 9 Memory Elements and Clocking Prith Banerjee ECE C03 Advanced Digital Design Spring 1998

ECE C03 Lecture 9 4

Simple Circuits with Feedback

Primitive memory elements created from cascaded gates

Simplest gate component: inverter

Basis for commercial static RAM designs

Cross-coupled NOR gates and NAND gates also possible

Cascaded Inverters: Static Memory Cell"0"

"1"

Selectively break feedback path to load new value into cell

Z

LD

\LD

LD

\LD

A

Page 5: ECE C03 Lecture 91 Lecture 9 Memory Elements and Clocking Prith Banerjee ECE C03 Advanced Digital Design Spring 1998

ECE C03 Lecture 9 5

Inverter Chains

Odd # of stages leads to ring oscillatorSnapshot taken just before last inverter changes

Output highpropagating

thru this stage

Timing Waveform:

A (=X) B C D E

Period of Repeating Waveform ( tp )Gate Delay ( td)

0

1

0

1

0

1

tp = n * tdn = # inverters

A

B C D E

1 0 0 0 1

X

Page 6: ECE C03 Lecture 91 Lecture 9 Memory Elements and Clocking Prith Banerjee ECE C03 Advanced Digital Design Spring 1998

ECE C03 Lecture 9 6

100

R

S

Q

\ Q

RS LatchJust like cascaded inverters,

with capability to force outputto 0 (reset) or 1 (set)

Timing Waveform

Reset Hold Set

ForbiddenState

Reset Set

ForbiddenState

Race

R

R

S

S

Q

\Q

Page 7: ECE C03 Lecture 91 Lecture 9 Memory Elements and Clocking Prith Banerjee ECE C03 Advanced Digital Design Spring 1998

ECE C03 Lecture 9 7

State Behavior of RS Latch

Truth Table Summary of R-S Latch Behavior

Q Q Q Q

Q Q

0 1 1 0

0 0

Q Q1 1

Q

hold 0 1

unstable

S

0 0 1 1

R

0 1 0 1

Page 8: ECE C03 Lecture 91 Lecture 9 Memory Elements and Clocking Prith Banerjee ECE C03 Advanced Digital Design Spring 1998

ECE C03 Lecture 9 8

Theoretical RS Latch State Diagram

Q Q Q Q

Q Q

0 1 1 0

0 0

SR = 1 0

SR = 0 1

SR = 0 1

SR = 1 1

SR = 1 0

SR = 1 1

SR = 00, 01 SR = 00, 10

Q Q1 1

SR = 0 0

SR = 0 0, 11

SR = 11

SR = 1 0SR = 0 1

Page 9: ECE C03 Lecture 91 Lecture 9 Memory Elements and Clocking Prith Banerjee ECE C03 Advanced Digital Design Spring 1998

ECE C03 Lecture 9 9

Observed RS Latch Behavior

Q Q Q Q

Q Q

0 1 1 0

0 0

SR = 1 0

SR = 0 1

SR = 0 1

SR = 1 1

SR = 1 0

SR = 1 1

SR = 00, 01 SR = 00, 10

SR = 0 0

SR = 11

SR = 0 0

Very difficult to observe R-S Latch in the 1-1 state

Ambiguously returns to state 0-1 or 1-0

A so-called "race condition"

Page 10: ECE C03 Lecture 91 Lecture 9 Memory Elements and Clocking Prith Banerjee ECE C03 Advanced Digital Design Spring 1998

ECE C03 Lecture 9 10

Input

Clock

T su T h

Definition of Terms in Clocking

Setup Time (Tsu)

Clock: Periodic Event, causes state of memory element to change

rising edge, falling edge, high level, low level

There is a timing "window" around the

clocking event during which the input

must remain stable and unchanged

in order to be recognized

There is a timing "window" around the

clocking event during which the input

must remain stable and unchanged

in order to be recognized

Minimum time before the clocking event by which the input must be stable

Hold Time (Th)Minimum time after the clocking event during which the input must remain stable

Page 11: ECE C03 Lecture 91 Lecture 9 Memory Elements and Clocking Prith Banerjee ECE C03 Advanced Digital Design Spring 1998

ECE C03 Lecture 9 11

Level Sensitive RS LatchLevel-Sensitive Latch

\ S

\ R

\ Q

Q

\enb

Schematic:

Timing Diagram:

aka Gated R-S Latch

\S

\R

\enb

Q\Q

Page 12: ECE C03 Lecture 91 Lecture 9 Memory Elements and Clocking Prith Banerjee ECE C03 Advanced Digital Design Spring 1998

ECE C03 Lecture 9 12

Latches vs Flip-flops

Input/Output Behavior of Latches and Flipflops

Type When Inputs are Sampled When Outputs are Validunclocked always propagation delay from latch input change

level clock high propagation delay fromsensitive (Tsu, Th around input changelatch falling clock edge)

positive edge clock lo-to-hi transition propagation delay fromflipflop (Tsu, Th around rising edge of clock rising clock edge)

negative edge clock hi-to-lo transition propagation delay fromflipflop (Tsu, Th around falling edge of clock falling clock edge)

master/slave clock hi-to-lo transition propagation delay fromflipflop (Tsu, Th around falling edge of clock falling clock edge)

Page 13: ECE C03 Lecture 91 Lecture 9 Memory Elements and Clocking Prith Banerjee ECE C03 Advanced Digital Design Spring 1998

ECE C03 Lecture 9 13

Latches vs Flipflops7474

7476

Bubble herefor negative

edge triggereddevice

Timing Diagram:

Behavior the same unless input changes while the clock is high

Edge triggered device sample inputs on the event edge

Transparent latches sample inputs as long as the clock is assertedPositive edge-triggered

flip-flop

Level-sensitive latch

D Q

D Q

C

Clk

Clk

D

Clk

Q

Q

7474

7476

Page 14: ECE C03 Lecture 91 Lecture 9 Memory Elements and Clocking Prith Banerjee ECE C03 Advanced Digital Design Spring 1998

ECE C03 Lecture 9 14

Timing Specifications of FFs74LS74 PositiveEdge Triggered

D Flipflop

• Setup time• Hold time• Minimum clock width• Propagation delays (low to high, high to low, max and typical)

All measurements are made from the clocking eventthat is, the rising edge of the clock

D

Clk

Q

T su 20 ns

T h 5

ns

T w 25 ns

T plh 25 ns 13 ns

T su 20 ns

T h 5

ns

T phl 40 ns 25 ns

Page 15: ECE C03 Lecture 91 Lecture 9 Memory Elements and Clocking Prith Banerjee ECE C03 Advanced Digital Design Spring 1998

ECE C03 Lecture 9 15

Timing Specifications of Latches

74LS76TransparentLatch

• Setup time• Hold time• Minimum Clock Width• Propagation Delays: high to low, low to high, maximum, typical data to output clock to output

Measurements from falling clock edgeor rising or falling data edge

T su 20 ns

T h 5

ns

T su 20 ns

T h 5

ns

T w 20 ns

T plh C » Q 27 ns 15 ns

T phl C » Q 25 ns 14 ns

T plh D » Q 27 ns 15 ns

T phl D » Q 16 ns 7 ns

D

Clk

Q

Page 16: ECE C03 Lecture 91 Lecture 9 Memory Elements and Clocking Prith Banerjee ECE C03 Advanced Digital Design Spring 1998

ECE C03 Lecture 9 16

RS Latch Revisited

Truth Table:Next State = F(S, R, Current State)

S

R

Q

R-SLatch Q+

Derived K-Map:

Characteristic Equation:

Q+ = S + R Q t

R

SR 00 01 11 10

0 0 X 1

1 0 X 1

0

1

Q ( t )

S

S(t) R(t) Q(t) Q(t+d)

0 0 0 0 HOLD 0 0 1 1------------------------- 0 1 0 0 RESET 0 1 1 0------------------------- 1 0 0 1 SET 1 0 1 1------------------------- 1 1 0 X NOT ALLOWED 1 1 1 X

Page 17: ECE C03 Lecture 91 Lecture 9 Memory Elements and Clocking Prith Banerjee ECE C03 Advanced Digital Design Spring 1998

ECE C03 Lecture 9 17

JK Flip Flop DesignHow to eliminate the forbidden state?

Idea: use output feedback to guarantee that R and S are never both one

J, K both one yields toggle

Characteristic Equation:

Q+ = Q K + Q J

R-S latch

K

J S

R

Q

\ Q \ Q

Q J(t) K(t) Q(t) Q(t+d)

0 0 0 0 HOLD 0 0 1 1------------------------- 0 1 0 0 RESET 0 1 1 0------------------------- 1 0 0 1 SET 1 0 1 1------------------------- 1 1 0 1 TOGGLE 1 1 1 0

Page 18: ECE C03 Lecture 91 Lecture 9 Memory Elements and Clocking Prith Banerjee ECE C03 Advanced Digital Design Spring 1998

ECE C03 Lecture 9 18

J

K

Q

\ Q

100

JK Latch Race Condition

Set Reset Toggle

Race Condition

Toggle Correctness: Single State change per clocking event

Solution: Master/Slave Flipflop

Page 19: ECE C03 Lecture 91 Lecture 9 Memory Elements and Clocking Prith Banerjee ECE C03 Advanced Digital Design Spring 1998

ECE C03 Lecture 9 19

Solution: Master Slave JK Flip FlopMaster Stage Slave Stage

Sample inputs while clock high Sample inputs while clock low

Uses time to break feedback path from outputs to inputs!Uses time to break feedback path from outputs to inputs!

Correct ToggleOperation

J

R-S Latch

R-S Latch

K R

S

Clk

\Q

Q

\P

P

R

S

\Q

Q

\Q

Q

Master outputs

Slave outputs

Set Reset T oggle 1's

Catch 100

J

K

Clk

P

\ P

Q

\ Q

Page 20: ECE C03 Lecture 91 Lecture 9 Memory Elements and Clocking Prith Banerjee ECE C03 Advanced Digital Design Spring 1998

ECE C03 Lecture 9 20

Edge Triggered Flip Flops1's Catching: a 0-1-0 glitch on the J or K inputs leads to a state change! forces designer to use hazard-free logic

Solution: edge-triggered logic

Negative Edge-TriggeredD flipflop

4-5 gate delays

setup, hold timesnecessary to successfully

latch the input

Characteristic Equation:Q+ = D

Q

Q

D

Clk=1

R

S

0

0

D

DD

Holds D when clock goes low

Holds D when clock goes low

Negative edge-triggered FFwhen clock is high

Page 21: ECE C03 Lecture 91 Lecture 9 Memory Elements and Clocking Prith Banerjee ECE C03 Advanced Digital Design Spring 1998

ECE C03 Lecture 9 21

Analysis of Edge-Triggered Flip FlopsStep-by-step analysis

Q

Q

D

Clk=0

R

S

D

DD

D

D

D

Negative edge-triggered FFwhen clock goes high-to-low

data is latched

Q

Q

D'

Clk=0

R

S

D

D

D

D

D' ° D

0

0

1

2

3

4

5

6

Negative edge-triggered FFwhen clock is low

data is held

Page 22: ECE C03 Lecture 91 Lecture 9 Memory Elements and Clocking Prith Banerjee ECE C03 Advanced Digital Design Spring 1998

ECE C03 Lecture 9 22

Positive vs Negative Edge Triggered Devices

Positive Edge Triggered

Inputs sampled on rising edgeOutputs change after rising edge

Negative Edge Triggered

Inputs sampled on falling edgeOutputs change after falling edge

Toggle FlipflopFormed from J-K with both inputs wired together

Positive edge- t riggered FF

Negative edge- t riggered FF

D

Clk

Q pos

\ Q pos

Q neg

\ Q neg

100

Page 23: ECE C03 Lecture 91 Lecture 9 Memory Elements and Clocking Prith Banerjee ECE C03 Advanced Digital Design Spring 1998

ECE C03 Lecture 9 23

Realizing Circuits with Different Kinds of FFsR-S Clocked Latch:

used as storage element in narrow width clocked systems its use is not recommended! however, fundamental building block of other flipflop types

J-K Flipflop: versatile building block can be used to implement D and T FFs usually requires least amount of logic to implement ƒ(In,Q,Q+) but has two inputs with increased wiring complexity

because of 1's catching, never use master/slave J-K FFs edge-triggered varieties exist

D Flipflop: minimizes wires, much preferred in VLSI technologies simplest design technique best choice for storage registers

T Flipflops: don't really exist, constructed from J-K FFs usually best choice for implementing counters

Preset and Clear inputs highly desirable!!

Page 24: ECE C03 Lecture 91 Lecture 9 Memory Elements and Clocking Prith Banerjee ECE C03 Advanced Digital Design Spring 1998

ECE C03 Lecture 9 24

Realizing Circuits with Different Kinds of FFsCharacteristic Equations

R-S:

D:

J-K:

T:

Q+ = S + R Q

Q+ = D

Q+ = J Q + K Q

Q+ = T Q + T Q

Derived from the K-mapsfor Q+ = ƒ(Inputs, Q)

E.g., J=K=0, then Q+ = Q J=1, K=0, then Q+ = 1 J=0, K=1, then Q+ = 0 J=1, K=1, then Q+ = Q

Implementing One FF in Terms of Another

D implemented with J-K J-K implemented with D

D J

K J

K C

Q

Q C

D Q

Q

Q

Page 25: ECE C03 Lecture 91 Lecture 9 Memory Elements and Clocking Prith Banerjee ECE C03 Advanced Digital Design Spring 1998

ECE C03 Lecture 9 25

Design ProcedureExcitation Tables: What are the necessary inputs to cause a particular kind of change in state?

Implementing D FF with a J-K FF:

1) Start with K-map of Q+ = ƒ(D, Q)

2) Create K-maps for J and K with same inputs (D, Q)

3) Fill in K-maps with appropriate values for J and K to cause the same state changes as in the original K-map

E.g., D = Q= 0, Q+ = 0 then J = 0, K = X

D 0 1 0 1

T 0 1 1 0

Q + 0 1 0 1

Q 0 0 1 1

S 0 1 0 X

R X 0 1 0

K X X 1 0

J 0 1 X X D

0 1

0 1

Q + = D

0 1

0

1

Q

D

X X

1 0

K = D

0 1

0

1

Q D

0 1

X X

J = D

0 1

0

1

Q

Page 26: ECE C03 Lecture 91 Lecture 9 Memory Elements and Clocking Prith Banerjee ECE C03 Advanced Digital Design Spring 1998

ECE C03 Lecture 9 26

Implementing JK FF with a D FF

1) K-Map of Q+ = F(J, K, Q)

2,3) Revised K-map using D's excitation table its the same! that is why design procedure with D FF is simple!

Resulting equation is the combinational logic input to D to cause same behavior as J-K FF. Of course it is identical to the characteristic equation for a J-K FF.

0 0 1 1

1 0 0 1

00 01 11 10 J

K

JK Q

Q + = D = JQ + KQ

0

1

Page 27: ECE C03 Lecture 91 Lecture 9 Memory Elements and Clocking Prith Banerjee ECE C03 Advanced Digital Design Spring 1998

ECE C03 Lecture 9 27

Timing Methodology• Set of rules for interconnecting components and clocks

• When followed, guarantee proper operation of system

• Approach depends on building blocks used for memory elements

For systems with latches:

Narrow Width Clocking

Multiphase Clocking (e.g., Two Phase Non-Overlapping)

For systems with edge-triggered flipflops:

Single Phase Clocking

• Correct Timing:

(1) correct inputs, with respect to time, are provided to the FFs

(2) no FF changes more than once per clocking event

Page 28: ECE C03 Lecture 91 Lecture 9 Memory Elements and Clocking Prith Banerjee ECE C03 Advanced Digital Design Spring 1998

ECE C03 Lecture 9 28

In

Q 0

Q 1

Clk

100

Cascaded Flipflops and Setup/Hold/Propagation Delays

Shift RegisterS,R are preset, preclear

New value to first stagewhile second stageobtains current valueof first stage

Correct Operation,assuming positiveedge triggered FF

IN

CLK

Q0 Q1D

C

Q

Q

D

C

Q

Q

Page 29: ECE C03 Lecture 91 Lecture 9 Memory Elements and Clocking Prith Banerjee ECE C03 Advanced Digital Design Spring 1998

ECE C03 Lecture 9 29

Why Cascaded Flip-Flops Work

• Propagation delays far exceed hold times; Clock width constraint exceeds setup time

• This guarantees following stage will latch current value before it is replaced by new value

• Assumes infinitely fast distribution of the clock

Timing constraintsguarantee proper

operation ofcascaded components

Timing constraintsguarantee proper

operation ofcascaded components

T su 20 ns

T plh 13 ns

T h 5 ns

T su 20 ns

T plh 13 ns

T h 5 ns

In

Clk

Q 0

Q 1

Page 30: ECE C03 Lecture 91 Lecture 9 Memory Elements and Clocking Prith Banerjee ECE C03 Advanced Digital Design Spring 1998

ECE C03 Lecture 9 30

Narrow Width Clock vs Multiphase ClockLevel Sensitive Latches vs. Edge Triggered Flipflops

• Latches use fewer gates to implement a memory function

• Less complex clocking with edge triggered devices

CMOS Dynamic Storage ElementFeedback path broken by two

phases of the clock(just like master/slave idea!)

8 transistors to implement memory function

but requires two clock signals constrainedto be non-overlapping

Edge-triggered D-FF: 6 gates (5 x 2-input, 1 x 3-input) = 26 transistors!

\Clk2

Clk2

LD•Clk1

\(LD • Clk1)

A Z

Page 31: ECE C03 Lecture 91 Lecture 9 Memory Elements and Clocking Prith Banerjee ECE C03 Advanced Digital Design Spring 1998

ECE C03 Lecture 9 31

Narrow Width Clocking for Systems with Latches

Two-sided Constraints: must be careful of very fast signals as well as very slow signals!

Generic Block Diagramfor Clocked Sequential

System

state implemented bylatches or edge-triggered FFs

Clock Width < fastest propagation through comb. logic plus latch prop delay

Clock Period > slowest propagation through comb. logic (rising edge to rising edge)

Clock

Combinational logic

S t a t e

Page 32: ECE C03 Lecture 91 Lecture 9 Memory Elements and Clocking Prith Banerjee ECE C03 Advanced Digital Design Spring 1998

ECE C03 Lecture 9 32

Two Phase Nonoverlapping Clocks

Clock Waveforms: must never overlap!

only worry about slow signals

Embedding CMOS storageelement into Clocked SequentialLogic

Note that Combinational Logiccan be partitioned into twopieces

C/L1: inputs latched and stable by end of phase 1; compute between phases, latch outputs by end of phase 2

C/L2: just the reverse

Combinational Logic 1

Combinational Logic 2

Page 33: ECE C03 Lecture 91 Lecture 9 Memory Elements and Clocking Prith Banerjee ECE C03 Advanced Digital Design Spring 1998

ECE C03 Lecture 9 33

Clk

Phase 1

Phase 2

100

Generating Two-Phase Non-Overlapping Clocks

Single reference clock (or crystal)

Phase 1 high while clock is low

Phase 2 high while clock is high

Phase X cannot go high until phase Y goes low!

Non-overlap time can be increased by increasing the delay on the feedback path

Page 34: ECE C03 Lecture 91 Lecture 9 Memory Elements and Clocking Prith Banerjee ECE C03 Advanced Digital Design Spring 1998

ECE C03 Lecture 9 34

FF0 samples IN FF1 samples Q 0 100

In

Q 0

Q 1

Clk1

Clk2

Problem of Clock SkewCorrect behavior assumes next state of all storage elements determined by all storage elements at the same time

Not possible in real systems! • logical clock driven from more than one physical circuit with timing behavior •  different wire delay to different points in the circuit

Original State: Q0 = 1, Q1 = 1, In = 0Because of skew, next state becomes: Q0 = 0, Q1 = 0, not Q0 = 0, Q1 = 1

CLK2 is a delayedversion of CLK1

Effect of Skew on Cascaded Flipflops:

Page 35: ECE C03 Lecture 91 Lecture 9 Memory Elements and Clocking Prith Banerjee ECE C03 Advanced Digital Design Spring 1998

ECE C03 Lecture 9 35

Timing Methodologies

Design Strategies for Minimizing Clock Skew

Typical propagation delays for LS FFs: 13 ns

Need substantial clock delay (on the order of 13 ns) for skew to be a problem in this relatively slow technology

Nevertheless, the following are good design practices:

• distribute clock signals in general direction of data flows

• wire carrying the clock between two communicating components should be as short as possible

• for multiphase clocked systems, distribute all clocks in similar wire paths; this minimizes the possibility of overlap

• for the non-overlap clock generate, use the phase feedback signals from the furthest point in the circuit to which the clock is distributed; this guarantees that the phase is seen as low everywhere before it allows the next phase to go high

Page 36: ECE C03 Lecture 91 Lecture 9 Memory Elements and Clocking Prith Banerjee ECE C03 Advanced Digital Design Spring 1998

ECE C03 Lecture 9 36

Summary

• Sequential logic networks• Latches (RS Latch)• Flip-flops (D and JK)• Timing issues (setup and hold times)• NEXT LECTURE: Registers and Counters• READING: Katz 7.1, 7.2, 7.4, 7.5, Dewey 10.2,

10.3, 10.4