flip flops, registers today: first hour: types of latches, flip flips

31
1 Flip Flops, Registers Flip Flops, Registers Notes: No Studios This week About lab proto-boards and modules Must stay in the lab You are responsible for your assigned equipment for the entire semester. Today: First Hour: Types of Latches, Flip Latches, Flip Flips Flips Section 6.1.4-6.1.6 of Katz’s Textbook In-class Activity #1 Second Hour: Storage and Shift Registers

Upload: monica-brooks

Post on 18-Jan-2018

233 views

Category:

Documents


1 download

DESCRIPTION

State Diagrams for Latches Truth Table Summary of R-S Latch Behavior State Behavior of R-S Latch

TRANSCRIPT

Page 1: Flip Flops, Registers Today: First Hour: Types of Latches, Flip Flips

1

Flip Flops, RegistersFlip Flops, RegistersNotes:• No Studios This week• About lab proto-boards and modules

– Must stay in the lab– You are responsible for your assigned equipment for the entire semester.

Today:• First Hour: Types of Latches, Flip FlipsLatches, Flip Flips

– Section 6.1.4-6.1.6 of Katz’s Textbook– In-class Activity #1

• Second Hour: Storage and Shift Registers• Section 7.1 of Katz’s Textbook– In-class Activity #2

Page 2: Flip Flops, Registers Today: First Hour: Types of Latches, Flip Flips

2

State Diagrams for LatchesState Diagrams for Latches

State Behavior of R-S 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 3: Flip Flops, Registers Today: First Hour: Types of Latches, Flip Flips

3

State Diagram: R-S LatchState Diagram: R-S Latch

Theoretical R-S Latch State Diagram

Q Q Q Q

Q Q

0 1 1 0

0 0

SR = 1 0

SR = 0 1SR = 0 1

SR = 1 1

SR = 1 0

SR = 1 1

SR = 00, 01 SR = 00, 10

Q Q1 1

SR = 0 0SR = 0 0, 11

SR = 11

SR = 1 0SR = 0 1

Page 4: Flip Flops, Registers Today: First Hour: Types of Latches, Flip Flips

4

Observed R-S BehaviorObserved R-S Behavior

Q Q Q Q

Q Q

0 1 1 0

0 0

SR = 1 0

SR = 0 1SR = 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 5: Flip Flops, Registers Today: First Hour: Types of Latches, Flip Flips

5

Making Other LatchesMaking Other Latches

J K Q Q+

0 0 0 0 HOLDHOLD0 0 1 10 1 0 0 RESETRESET0 1 1 01 0 0 1 SETSET1 0 1 11 1 0 1 TOGGLETOGGLE1 1 1 0

NEXT STATE TABLE

Simplify by coupling inputs

i.e., one input i.e., one input determinesdetermines the other the other

Page 6: Flip Flops, Registers Today: First Hour: Types of Latches, Flip Flips

6

D LatchD Latch

J K Q Q+

0 0 0 0 HOLDHOLD0 0 1 10 1 0 0 RESETRESET0 1 1 01 0 0 1 SETSET1 0 1 11 1 0 1 TOGGLETOGGLE1 1 1 0

NEXT STATE TABLE

NEXT STATE TABLED Q Q+

0 0 0 RESETRESET0 1 01 0 1 SETSET1 1 1

Let Let J = D, K = DJ = D, K = D

D

Also called D flip-flop if edge-triggered

Page 7: Flip Flops, Registers Today: First Hour: Types of Latches, Flip Flips

7

T LatchT Latch

J K Q Q+

0 0 0 0 HOLDHOLD0 0 1 10 1 0 0 RESETRESET0 1 1 01 0 0 1 SETSET1 0 1 11 1 0 1 TOGGLETOGGLE1 1 1 0

NEXT STATE TABLE Let J = T, K = TLet J = T, K = T

T Q Q+

0 0 0 HOLDHOLD0 1 11 0 1 TOGGLETOGGLE1 1 0

NEXT STATE TABLE

T

Also called T flip-flop if edge-triggered

Page 8: Flip Flops, Registers Today: First Hour: Types of Latches, Flip Flips

8

Timing issues revisitedTiming issues revisited

J

K

Q

\ Q

100 Set Reset Toggle

Problem: Keeps on toggling!

R

S Q

Q

LatchQ

QJ

K

Page 9: Flip Flops, Registers Today: First Hour: Types of Latches, Flip Flips

9

Master section - clock highJ-K inputs generate P outputs

Slave section - clock lowPs are unchanging and generate Qs

J-K Master/Slave F-FJ-K Master/Slave F-F

R

S

Q

Q

Latch

R

S

Q

Q

Latch

Clock

J

K

Q

Q

P

P

Clock

Two-stage memory element Two-stage memory element

Two-phase clock operation - Feedback has no effect until next time clock is high

Page 10: Flip Flops, Registers Today: First Hour: Types of Latches, Flip Flips

10

Timing: master-slaveTiming: master-slaveMaster Stage Slave Stage

Sample inputs while clock high Sample inputs while clock lowUses 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 11: Flip Flops, Registers Today: First Hour: Types of Latches, Flip Flips

11

Effect of GlitchesEffect of Glitches1's Catching problem: If input = 1 any time during the clock period (even a 0-1-0 glitch), it will be

interpreted as a 1 for computing output designer must use hazard-free logic

Solution: edge-triggered logic called “Flip-flops”

Built from 3 latchesNegative Edge-Triggered

D flipflop

When clock is high: R=S=0 is the Hold state

Q

Q

D

Clk=1

R

S

0

0

D

DD

Holds D when clock goes low

Holds D when clock goes low

Page 12: Flip Flops, Registers Today: First Hour: Types of Latches, Flip Flips

12

Step-by-Step AnalysisStep-by-Step AnalysisNegative Edge-triggered D Flipflops

Q

Q

D

Clk=0

R

S

D

DD

D

D

D

When clock goes high-to-lowR = D’, S = D

(new data D is latched)

Q

Q

D

Clk=1

R

S

0

0

D

DD

Holds D when clock goes low

Holds D when clock goes low

Initially Clk = 1R = S = 0

(Hold)

Page 13: Flip Flops, Registers Today: First Hour: Types of Latches, Flip Flips

13

Step-by-Step AnalysisStep-by-Step AnalysisNegative Edge-triggered D Flipflops

Q

Q

D

Clk=0

R

S

D

DD

D

D

D

Q

Q

D'

Clk=0

R

S

D

D

D

D

D' ° D

0

0

1

2

3

4

5

6

If clock remains low, andD changes,

(Previous value of D is held)

When clock goes high-to-lowR = D’, S = D

(new data D is latched)

Page 14: Flip Flops, Registers Today: First Hour: Types of Latches, Flip Flips

14

Latches vs Flip-FlopsLatches vs Flip-Flops Input/Output Behavior of Latches and Flipflops

Type When Inputs are Sampled When Outputs are ValidUn-clocked always propagation delay from latch input change

level clock high propagation delay from-sensitive (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 15: Flip Flops, Registers Today: First Hour: Types of Latches, Flip Flips

15

R-S Clocked Latch: used as storage element in narrow width clocked systems its use is not recommended! however, fundamental building block for 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!!

Comparison of FFsComparison of FFs

Page 16: Flip Flops, Registers Today: First Hour: Types of Latches, Flip Flips

16

TTL schematicsTTL schematics7474

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 17: Flip Flops, Registers Today: First Hour: Types of Latches, Flip Flips

17

Do Activity #1 NowDo Activity #1 Now

Q

Q

D

Clk

R

S

D’

D

D

DD

Holds D when clock goes low

Holds D when clock goes low

TYPO!!: For Part (a) start with circle (0, 1)

J K Q Q+

0 0 0 0 HOLDHOLD0 0 1 10 1 0 0 RESETRESET0 1 1 01 0 0 1 SETSET1 0 1 11 1 0 1 TOGGLETOGGLE1 1 1 0

J-K NEXT STATE TABLE

Pages 296-298 of Katz

Page 18: Flip Flops, Registers Today: First Hour: Types of Latches, Flip Flips

18

Sequential Logic ComponentsSequential Logic Components• Flipflops:Flipflops: most primitive "packaged" sequential circuits• More complex sequential building blocks:

– Storage registers, Shift registers, Counters– Available as components in the TTL Catalog– RegistersRegisters

» Store a word (4 to 64 bits)» E.g.: Pentium has several registers

– CountersCounters» Count thru a sequence of states» E.g., the seconds display on a clock.

– Both of these have many variations.

Page 19: Flip Flops, Registers Today: First Hour: Types of Latches, Flip Flips

19

Storage RegistersStorage Registers

• Storage registersStorage registers store data, without changing it.– A D F/F is a 1-bit storage register.

• A Register FileA Register File stores a group of words of data.– You specify which word to read or write.

• A Random-Access MemoryRandom-Access Memory is like a large register file. It may store 32MB of data or more.

Page 20: Flip Flops, Registers Today: First Hour: Types of Latches, Flip Flips

20

Multi-bit Storage RegistersMulti-bit Storage Registers

Clocks in 4 bits in parallel, or resets to 0.

use D F/Fs in groups to make a multibit register

Page 21: Flip Flops, Registers Today: First Hour: Types of Latches, Flip Flips

21

Q1

CLR

D3D2D1D0

171

Q1Q0

Q0

CLKQ3

Q3

Q2

Q2

1445

12

11

13 1

15

2

3

7

6

9

10

74171 Quadruple D F/F with Clear74171 Quadruple D F/F with Clear

This stores 4 bits in parallel

No bubble indicates positive edge

triggered

The /CLR clears all 4 bits

Triangle indicates clock input

Page 22: Flip Flops, Registers Today: First Hour: Types of Latches, Flip Flips

22

Register VariantsRegister Variants• Sometimes there’s also a LOAD input.

– When LOAD is false, the F/F doesn’t change.– When LOAD is true during the clock edge, the

F/F updates itself.

• Sometimes the outputs are 3-state or open collector.

– This allows several registers to be connected to the same output wire

Page 23: Flip Flops, Registers Today: First Hour: Types of Latches, Flip Flips

23

D3

D6Q5

Q2

377

Q1Q0

Q3

ENCLK

Q6

Q4

Q7

D5

D2D1D0

D4

D7

1

3478

13141718

11

256912151619

74377 Octal D F/Fs with Enable74377 Octal D F/Fs with Enable

Stores an 8 bit number

Positive edge triggered

... but only when /EN is active LO

Page 24: Flip Flops, Registers Today: First Hour: Types of Latches, Flip Flips

24

CLK

OEABCDEFGH

QAQBQCQDQEQFQGQH

374

111

3478

13141718

256912151619

74374 Octal D F/Fs with 3-State 74374 Octal D F/Fs with 3-State OutputsOutputs

Stores an 8 bit number

Positive edge triggered

/OE is active LO output enable

Determines when register contents are visible at the

outputs

Note: LW uses different labels from the 377, and from Katz!

Page 25: Flip Flops, Registers Today: First Hour: Types of Latches, Flip Flips

25

670

Q4

D1

D4D3D2

Q3Q2Q1

GW

WAWB

GR

RARB5

411

1413

12

15123

10976

Register FilesRegister Files

• You read or write one word at a time.• 74670 4-by-4 Register File with 3-State Outputs

4 words of 4 bits eachData in: D1,D2,D3,D4 Data out: Q1,Q2,Q3,Q4Read selects: RB,RA Write selects: WB,WAActive lowActive low read enable /GR, write enable /GWCan read and write simultaneously.No clock. Read or write when enables asserted.Watch out for glitches!

To write Word 1, set GW = 0 and (WB, WA) to (0,1)To read Word 2, set GR = 0 and (RB, RA) to (1,0)

Store several words

Page 26: Flip Flops, Registers Today: First Hour: Types of Latches, Flip Flips

26

Random Access MemoriesRandom Access Memories

• Same idea as a register file, but optimized for very many words.

• Small RAM: 256 4-bit words.• Larger RAM: 4 million 8-bit words.• More details later.

Page 27: Flip Flops, Registers Today: First Hour: Types of Latches, Flip Flips

27

Shift RegistersShift Registers• Some registers are designed to change their

stored data.• Shift registers shift their bits left or right.

For example, right shift:Original contents 1000Shift right: 0100Shift again: 0010…and again: 0001… once more, wrapping: 1000

• Application: send a word to a modem bit-by-bit.• We need some way to initialize the shift register.

Page 28: Flip Flops, Registers Today: First Hour: Types of Latches, Flip Flips

28

Input and OutputInput and Output• Serial inputSerial input

The shift register doesn’t wrap around from right to left.

Instead, the user provides the new leftmost bit.• Parallel inputParallel input

You can specify the whole word at once.• Serial outputSerial output

The bit just shifted off the right is visible at a pin.• Parallel outputParallel output

Every stored bit is visible at an output pin.This uses more pins, which can be a problem.

Page 29: Flip Flops, Registers Today: First Hour: Types of Latches, Flip Flips

29

S1

SL

S0 194

CLK

SR

QCQB QA

QDDCBA

CLR1

11

2

910

3456

7

15141312

74194 -more-74194 -more-4 bit bidirectional universal

shift register

4 modes set by S1,S000: hold data (QA,QB,QC,QD)01: shift right (SR,QA,QB,QC)10: shift left (QB,QC,QD,SL)11: parallel load

Positive edge triggered

SL (aka LSI): left shift inputSR (aka RSI): right shift input

/CLR: asynchronous clear

Page 30: Flip Flops, Registers Today: First Hour: Types of Latches, Flip Flips

30

74194 continued74194 continued• Notation conflicts:

– LogicWorks uses SL, SR. Katz uses LSI, RSI.– LW uses A,B,C,D for inputs and QA,QB,QC,QD for outputs. – Motorola uses P0,P1,P2,P3 for inputs, Q0,Q1,Q2,Q3 for outputs and

DSR & DSL for serial inputs.• NoteNote that the normal LW convention is that A is the lo-order bit. This is

the way you normally connect the hex keyboard and the hex display. For the 194, A and QA are the hi-order bits. It's confusing.

• Right shift in more detail. All together on the rising clock:SR QA, QA QB, QB QC, QC QD, QD is lost.Connecting QD to SR makes a circular shift register.

• Left shift in more detail. SL QD, QD QC, QC QB, QB QA, QA is lost.

Page 31: Flip Flops, Registers Today: First Hour: Types of Latches, Flip Flips

31

Do Activity #2 NowDo Activity #2 NowTYPO: Question b, part 2, WB, WA = 11Due: End of Class TodayRETAIN THE LAST PAGES (#3 & #4)!!

For Next Class:• Bring Randy Katz Textbook, & TTL Data Book• Required Reading:

– Sec 7.2, 7.3 of Katz

• This reading is necessary for getting points in the Studio Activity!