550 likes | 710 Views
Lecture 6. CES 522 Latches and Flip-Flops Jack Ou , Ph.D . Sequential Circuits. New output are dependent on the inputs and the preceding values of outputs. Characteristic: output nodes are intentionally connected back to inputs. Basic sequential circuits: Level Sensitive Circuits
E N D
Lecture 6 CES 522 Latches and Flip-Flops Jack Ou, Ph.D.
Sequential Circuits • New output are dependent on the inputs and the preceding values of outputs. • Characteristic: output nodes are intentionally connected back to inputs. • Basic sequential circuits: • Level Sensitive Circuits • Edge Sensitive Circuits
Application: SRAM is pulled below VS to force the cell to switch via regenerative action.
Latches • Latches are level sensitive. • Latches propagate values from input to output continuously. • S sets Q =1; R sets Q=1 • Active low inputs are enabled by 0s. • Active high inputs are enabled by 1s.
SR Latch with NOR Gates Active High inputs tPDSQ=2 NOR gate delays. tPDRQ_=1 NOR gate delay SR are trigger pulses which can return to zero once Q is set. Forbidden State
SR Latch with NAND Gates Active low inputs
D-Latch (CK=0) D 0 0 0 DB
D-Latch (CK=1) D D DB 1 D DB DB
D-Latch (CLK=1,D=1) VDD 0 VDD
JK Flip Flop (CK=0) 1 0 1
JK Flip Flop (CK=1,J=K=0) 1 0 1 1 0
JK Flip Flop (CK=1,J=K=1) 1 1 1 If CK is on for a long time, the output of this JK flip flip will toggle! The pulse width of CK must be less than the propagation delay time through the loop.
JK Flip Flop (CK=1,J=0→1,K=0) 1 0 1 1 0 Current: Next:
JK Flip Flop (CK=1,J=0 → 1,K=0) 1 1 0 1 1 0 Current: Next:
CK=1, J=0 → 1, K=0 • Regardless of initial value of Q, • CK=1, J= → 1, K=0 will set the updated value of Q to a 1.
JK Flip Flop (CK=1,J=0,K= 0→ 1) 0 1 1 1 0 Current: 0 Next:
JK Flip Flop (CK=1,J=0,K= 0→ 1) 0 1 1 1→0 →1 0 1 Current: Next: 0
CK=1, J=0, K=0 → 1 • Regardless of initial value of Q, • CK=1, J= 0, K=0 → 1 will set the updated value of Q to a 0.
JK Flip-Flop J=1, K=1 can lead to oscillation if the width of CK is longer than propagation delay.
JK Master-Slave Flip-Flop 1 1 1 0 The Q of the master latch is updated when CK=1. The slave latch is insulated from changes of J and K when CK=1 Q holds its current value.
JK Master-Slave Flip-Flop (CK=1) 1 1 1 0
JK Master-Slave Flip-Flop (CK=1) 1 1 1 1 1 0
JK Master-Slave Flip-Flop (CK=1) 1 0 1 1 1 0
JK Master-Slave Flip-Flop (CK=1) 1 1 1 0 1 0
JK Master-Slave Flip-Flop (CK=1) 1 0 If J catches a glitch, it is stuck the master latch!
JK Negative Edge-Triggered Flip-Flop 1 1 “hold” mode Disabled 1 Active-Low Devices
JK Negative Edge-Triggered Flip-Flop 1 1 1 1 “hold” mode enabled 0 Active-Low Devices
JK Negative Edge-Triggered Flip-Flop 1 1 “hold” mode enabled →disabled
JK Negative Edge-Triggered Flip-Flop 1→1 1 1→1 1 hold→updatehold disabled→enableddisabled CK CK The NAND latch is only updated for a short interval immediately after the negative edge, before being set to the hold.
D-Flop X OUT samples IN at the positive edge of the clock 2 1 OUT=X 2: Track 2:hold CK of latch 2 CK of latch 1 1: Hold 1:track X=IN