= Sequential logic: elements to store values Output depends on inputs - - PowerPoint PPT Presentation

sequential logic elements to store values output depends
SMART_READER_LITE
LIVE PREVIEW

= Sequential logic: elements to store values Output depends on inputs - - PowerPoint PPT Presentation

Bistable latches Latch: CC-BY Rberteig@flickr Suppose we somehow get a 1 (or a 0?) on here. Q Q Latches, Flip-flops, Registers, Memory = Sequential logic: elements to store values Output depends on inputs and stored values . 0 0 Q Q


slide-1
SLIDE 1

Latches, Flip-flops, Registers, Memory

Sequential logic: elements to store values Output depends on inputs and stored values. (vs. combinational logic: output depends only on inputs)

Latch: CC-BY Rberteig@flickr

Bistable latches

Q Q

Suppose we somehow get a 1 (or a 0?) on here.

Q Q

=

SR latch

Q Q R S Set Reset S R Q Q' Q (stable) Q' (stable) ? ? 1 1 1 1 1 1 ? ? 1 ? ? 1 1 ? ? 1

SR latch

Q Q R S Q Q R S Q Q R S R S Q Q R S Q Q

slide-2
SLIDE 2

if C = 0, then SR latch stores current value of Q. if C = 1, then D flows to Q: if D = 0, then R = 1 and S = 0, Q = 0 if D = 1, then R = 0 and S = 1, Q = 1

D latch

D C R S Q Q Clock Data bit

Time matters!

D C Q

Clocks

Clock: free-running signal with fixed cycle time = clock period = T. Clock frequency = 1 / clock period A clock controls when to update a sequential logic element's state.

Clock period Falling edge Rising edge

D flip-flop with falling-edge trigger

D C Q E

QL DL CL

D latch

QL QF DF CF

D latch

QF

Q

leader follower

Clock

leader stores D as E folower stores E as Q Can still read Qnow Qnext becomes Qnow

Time

slide-3
SLIDE 3

Time matters!

D C E Q

Reading and writing in the same cycle

Assume Q is initially 0.

Q D C D Flip-Flop Q Clock

A 1-nybble* register

(a 4-bit hardware storage cell) Write Clock

1 1 Q D C D Flip-Flop Q Q D C D Flip-Flop Q Q D C D Flip-Flop Q Q D C D Flip-Flop Q

*Half a byte!

Register file

Read ports Why 2?

Read register selector 1 Read register selector 2 Write register selector Write data Write? Read data 1 Read data 2

r r r w w w

r = log2 number of registers w = bits in word

Array of registers, with register selectors, write/read control, input port for writing data, output ports for reading data. Write port

0 = read 1 = write

slide-4
SLIDE 4

Read ports (data out)

Read register number 1 Register 0 Register 1 . . . Register n – 2 Register n – 1 M u x Read register number 2 M u x Read data 1 Read data 2 Write 1 n-to-2n decoder n – 2 n – 1 Register 0 C D Register 1 C D Register n – 2 C D Register n – 1 C D . . . Register number . . . Register data

Write port (data in)

incoming data register number write control clock

RAM (Random Access Memory)

Similar to register file, except… A B

16 x 4 RAM

4 to 16 decoder data

  • ut

1101

20

4-bit address