l7 - flip-flops and sequential circuit design...4 february 13, 2012 ece 152a -digital design...
TRANSCRIPT
![Page 1: L7 - Flip-Flops and Sequential Circuit Design...4 February 13, 2012 ECE 152A -Digital Design Principles 7 Reading Assignment Roth 11 Latches and Flip-Flops 11.5 S-R Flip-Flop 11.6](https://reader034.vdocuments.us/reader034/viewer/2022050306/5f6e88ab2ebff23d4828e4a2/html5/thumbnails/1.jpg)
1
Flip-Flops and Sequential
Circuit Design
ECE 152A – Winter 2012
February 13, 2012 ECE 152A - Digital Design Principles 2
Reading Assignment
� Brown and Vranesic
� 7 Flip-Flops, Registers, Counters and a Simple
Processor
� 7.5 T Flip-Flop
� 7.5.1 Configurable Flip-Flops
� 7.6 JK Flip-Flop
� 7.7 Summary of Terminology
� 7.8 Registers
� 7.8.1 Shift Register
� 7.8.2 Parallel-Access Shift Register
![Page 2: L7 - Flip-Flops and Sequential Circuit Design...4 February 13, 2012 ECE 152A -Digital Design Principles 7 Reading Assignment Roth 11 Latches and Flip-Flops 11.5 S-R Flip-Flop 11.6](https://reader034.vdocuments.us/reader034/viewer/2022050306/5f6e88ab2ebff23d4828e4a2/html5/thumbnails/2.jpg)
2
February 13, 2012 ECE 152A - Digital Design Principles 3
Reading Assignment
� Brown and Vranesic (cont)
� 7 Flip-Flops, Registers, Counters and a Simple
Processor (cont)
� 7.9 Counters
� 7.9.1 Asynchronous Counters
� 7.9.2 Synchronous Counters
� 7.9.3 Counters with Parallel Load
� 7.10 Reset Synchronization
February 13, 2012 ECE 152A - Digital Design Principles 4
Reading Assignment
� Brown and Vranesic (cont)
� 7 Flip-Flops, Registers, Counters and a Simple
Processor (cont)
� 7.11 Other Types of Counters
� 7.11.1 BCD Counter
� 7.11.2 Ring Counter
� 7.11.3 Johnson Counter
� 7.11.4 Remarks on Counter Design
![Page 3: L7 - Flip-Flops and Sequential Circuit Design...4 February 13, 2012 ECE 152A -Digital Design Principles 7 Reading Assignment Roth 11 Latches and Flip-Flops 11.5 S-R Flip-Flop 11.6](https://reader034.vdocuments.us/reader034/viewer/2022050306/5f6e88ab2ebff23d4828e4a2/html5/thumbnails/3.jpg)
3
February 13, 2012 ECE 152A - Digital Design Principles 5
Reading Assignment
� Brown and Vranesic (cont)
� 8 Synchronous Sequential Circuits
� 8.1 Basic Design Steps
� 8.1.1 State Diagram
� 8.1.2 State Table
� 8.1.3 State Assignment
� 8.1.4 Choice of Flip-Flops and Derivation of Next-State and
Output Expressions
� 8.1.5 Timing Diagram
� 8.1.6 Summary of Design Steps
February 13, 2012 ECE 152A - Digital Design Principles 6
Reading Assignment
� Brown and Vranesic (cont)
� 8 Synchronous Sequential Circuits (cont)
� 8.2 State-Assignment Problem
� One-Hot Encoding
� 8.7 Design of a Counter Using the Sequential Circuit
Approach
� 8.7.1 State Diagram and State Table for Modulo-8 Counter
� 8.7.2 State Assignment
� 8.7.3 Implementation Using D-Type Flip-Flops
� 8.7.4 Implementation Using JK-Type Flip-Flops
� 8.7.5 Example – A Different Counter
![Page 4: L7 - Flip-Flops and Sequential Circuit Design...4 February 13, 2012 ECE 152A -Digital Design Principles 7 Reading Assignment Roth 11 Latches and Flip-Flops 11.5 S-R Flip-Flop 11.6](https://reader034.vdocuments.us/reader034/viewer/2022050306/5f6e88ab2ebff23d4828e4a2/html5/thumbnails/4.jpg)
4
February 13, 2012 ECE 152A - Digital Design Principles 7
Reading Assignment
� Roth
� 11 Latches and Flip-Flops
� 11.5 S-R Flip-Flop
� 11.6 J-K Flip-Flop
� 11.7 T Flip-Flop
� 11.8 Flip-Flops with Additional Inputs
� 11.9 Summary
� 12 Registers and Counters
� 12.5 Counter Design Using S-R and J-K Flip-Flops
� 12.6 Derivation of Flip-Flop Input Equations – Summary
February 13, 2012 ECE 152A - Digital Design Principles 8
The JK Flip-Flop
� Allows J = K = 1 condition
� Implemented with a gated SR latch and feedback
of Q and Q*
� Q toggles (Q+ = Q’) on J = K = 1
![Page 5: L7 - Flip-Flops and Sequential Circuit Design...4 February 13, 2012 ECE 152A -Digital Design Principles 7 Reading Assignment Roth 11 Latches and Flip-Flops 11.5 S-R Flip-Flop 11.6](https://reader034.vdocuments.us/reader034/viewer/2022050306/5f6e88ab2ebff23d4828e4a2/html5/thumbnails/5.jpg)
5
February 13, 2012 ECE 152A - Digital Design Principles 9
The JK Flip-Flop (cont)
� Characteristic table and equation
� Karnaugh map of characteristic table
� Characteristic equation
� Q+ = JQ’ + K’Q
February 13, 2012 ECE 152A - Digital Design Principles 10
The JK Flip-Flop (cont)
� Implementation using a D flip-flop
� Characteristic Function at D input
![Page 6: L7 - Flip-Flops and Sequential Circuit Design...4 February 13, 2012 ECE 152A -Digital Design Principles 7 Reading Assignment Roth 11 Latches and Flip-Flops 11.5 S-R Flip-Flop 11.6](https://reader034.vdocuments.us/reader034/viewer/2022050306/5f6e88ab2ebff23d4828e4a2/html5/thumbnails/6.jpg)
6
February 13, 2012 ECE 152A - Digital Design Principles 11
The JK Flip-Flop
� State table
1
1
10
(Q+)
0011
1000
1101JK = 00PS (Q)
NS
February 13, 2012 ECE 152A - Digital Design Principles 12
The JK Flip-Flop
� State diagram
1 0
JK = X1
JK = 1X
JK = 0XJK = X0
![Page 7: L7 - Flip-Flops and Sequential Circuit Design...4 February 13, 2012 ECE 152A -Digital Design Principles 7 Reading Assignment Roth 11 Latches and Flip-Flops 11.5 S-R Flip-Flop 11.6](https://reader034.vdocuments.us/reader034/viewer/2022050306/5f6e88ab2ebff23d4828e4a2/html5/thumbnails/7.jpg)
7
February 13, 2012 ECE 152A - Digital Design Principles 13
The JK Flip-Flop
� With clock circuitry and timing
� Positive edge triggered JK flip-flop
February 13, 2012 ECE 152A - Digital Design Principles 14
The Master Slave JK Flip-Flop
� Master Slave JK Flip-Flop
� Rising edge triggered
� note CLK inverted to master
![Page 8: L7 - Flip-Flops and Sequential Circuit Design...4 February 13, 2012 ECE 152A -Digital Design Principles 7 Reading Assignment Roth 11 Latches and Flip-Flops 11.5 S-R Flip-Flop 11.6](https://reader034.vdocuments.us/reader034/viewer/2022050306/5f6e88ab2ebff23d4828e4a2/html5/thumbnails/8.jpg)
8
February 13, 2012 ECE 152A - Digital Design Principles 15
The Master Slave JK Flip-Flop
� Master Slave JK Flip-Flop
� Falling edge triggered
� note CLK (CP) inverted to slave
February 13, 2012 ECE 152A - Digital Design Principles 16
The Master Slave JK Flip-Flop
� Master active on CLK = 1
� Slave active on CLK = 0
� Latch data in master on CLK = 1
� Transfer data to slave (output) on CLK = 0
� Timing Diagram Initial Conditions
� CLK = 0, J = 1, K = 0, Y = 0, Q = 0
![Page 9: L7 - Flip-Flops and Sequential Circuit Design...4 February 13, 2012 ECE 152A -Digital Design Principles 7 Reading Assignment Roth 11 Latches and Flip-Flops 11.5 S-R Flip-Flop 11.6](https://reader034.vdocuments.us/reader034/viewer/2022050306/5f6e88ab2ebff23d4828e4a2/html5/thumbnails/9.jpg)
9
February 13, 2012 ECE 152A - Digital Design Principles 17
The Master Slave JK Flip-Flop
� Timing Diagram
February 13, 2012 ECE 152A - Digital Design Principles 18
The JK Flip-Flop (cont)
� What happens if J = K = 1 for an indefinite
period of time (i.e., much greater than clock
period)?
� Output oscillates at ½ the frequency of the clock
� Divide by two counter
![Page 10: L7 - Flip-Flops and Sequential Circuit Design...4 February 13, 2012 ECE 152A -Digital Design Principles 7 Reading Assignment Roth 11 Latches and Flip-Flops 11.5 S-R Flip-Flop 11.6](https://reader034.vdocuments.us/reader034/viewer/2022050306/5f6e88ab2ebff23d4828e4a2/html5/thumbnails/10.jpg)
10
February 13, 2012 ECE 152A - Digital Design Principles 19
The T (Toggle or Trigger) Flip-Flop
� Connect J and K inputs together
� Combined input “T”
Characteristic Table
Characteristic
Equation
Timing
Diagram
February 13, 2012 ECE 152A - Digital Design Principles 20
The T Flip-Flop
� State Table
011
100
T=1T = 0PS (Q)
NS (Q+)
![Page 11: L7 - Flip-Flops and Sequential Circuit Design...4 February 13, 2012 ECE 152A -Digital Design Principles 7 Reading Assignment Roth 11 Latches and Flip-Flops 11.5 S-R Flip-Flop 11.6](https://reader034.vdocuments.us/reader034/viewer/2022050306/5f6e88ab2ebff23d4828e4a2/html5/thumbnails/11.jpg)
11
February 13, 2012 ECE 152A - Digital Design Principles 21
The T Flip-Flop
� State Diagram
1 0
T = 1
T = 1
T = 0T = 0
February 13, 2012 ECE 152A - Digital Design Principles 22
The T Flip-Flop (from JK/D)
Q+ = JQ’ + K’Q Q+ = T’Q + TQ’ = T XOR Q
![Page 12: L7 - Flip-Flops and Sequential Circuit Design...4 February 13, 2012 ECE 152A -Digital Design Principles 7 Reading Assignment Roth 11 Latches and Flip-Flops 11.5 S-R Flip-Flop 11.6](https://reader034.vdocuments.us/reader034/viewer/2022050306/5f6e88ab2ebff23d4828e4a2/html5/thumbnails/12.jpg)
12
February 13, 2012 ECE 152A - Digital Design Principles 23
Counter Design with T Flip-Flops
� 3 bit binary counter design example
� “State” refers to Q’s of flip-flops
� 3 bits, 8 states
� Decimal 0 through 7
� No inputs
� Transition on every clock edge
� i.e., state changes on every clock edge
� Assume clocked, synchronous flip-flops
February 13, 2012 ECE 152A - Digital Design Principles 24
Counter Design with T Flip-Flops
� State Diagram
001
100
011010
111
000
110 101
![Page 13: L7 - Flip-Flops and Sequential Circuit Design...4 February 13, 2012 ECE 152A -Digital Design Principles 7 Reading Assignment Roth 11 Latches and Flip-Flops 11.5 S-R Flip-Flop 11.6](https://reader034.vdocuments.us/reader034/viewer/2022050306/5f6e88ab2ebff23d4828e4a2/html5/thumbnails/13.jpg)
13
February 13, 2012 ECE 152A - Digital Design Principles 25
Counter Design with T Flip-Flops
� State table
000111
111011
011101
101001
001110
110010
010100
100000
C+B+A+CBA
NSPS
February 13, 2012 ECE 152A - Digital Design Principles 26
Counter Design with T Flip-Flops
� Next State Maps
BC
A00 01
0
1
11 10
1
1
11
BC
A00 01
0
1
11 10
BC
A00 01
0
1
11 10
1
1
1
1
1
1 1
1A+ = AB’ + AC’ + A’BC = DA
B+ = B’C + BC’ = DB
C+ = C’ = DC
![Page 14: L7 - Flip-Flops and Sequential Circuit Design...4 February 13, 2012 ECE 152A -Digital Design Principles 7 Reading Assignment Roth 11 Latches and Flip-Flops 11.5 S-R Flip-Flop 11.6](https://reader034.vdocuments.us/reader034/viewer/2022050306/5f6e88ab2ebff23d4828e4a2/html5/thumbnails/14.jpg)
14
February 13, 2012 ECE 152A - Digital Design Principles 27
Counter Design with T Flip-Flops
� Using D flip-flops, inputs are derived directly
from next state maps
� D = Q+
� Using T flip flops
� Excitation table (used for design)
� T = Q XOR Q+
� Need to find inputs to T flip-flops
� Mapping state changes
� Q → Q+ requires T = ?
February 13, 2012 ECE 152A - Digital Design Principles 28
Counter Design with T Flip-Flops
� T Flip-Flop Excitation Table
� T = Q XOR Q+
011
101
110
000
TQ+Q
![Page 15: L7 - Flip-Flops and Sequential Circuit Design...4 February 13, 2012 ECE 152A -Digital Design Principles 7 Reading Assignment Roth 11 Latches and Flip-Flops 11.5 S-R Flip-Flop 11.6](https://reader034.vdocuments.us/reader034/viewer/2022050306/5f6e88ab2ebff23d4828e4a2/html5/thumbnails/15.jpg)
15
February 13, 2012 ECE 152A - Digital Design Principles 29
Counter Design with T Flip-Flops
� State Variable A� TA = A+ (XOR) A
BC
A00 01
A=0
A=1
11 10
A+ =1
BC
A00 01
0
1
11 10
T=1
T=1A+ =1A+ =1 A+ =1
A+ = AB’ + AC’ + A’BC = DA TA = BC
February 13, 2012 ECE 152A - Digital Design Principles 30
Counter Design with T Flip-Flops
� State Variable B� TB = B+ (XOR) B
BC
A00 01
0
1
11 10
B+ =1
BC
A00 01
0
1
11 10
T=1
T=1B+ =1
B+ =1
B+ =1
B+ = B’C + BC’ = DB TB = C
B=0 B=1
T=1
T=1
![Page 16: L7 - Flip-Flops and Sequential Circuit Design...4 February 13, 2012 ECE 152A -Digital Design Principles 7 Reading Assignment Roth 11 Latches and Flip-Flops 11.5 S-R Flip-Flop 11.6](https://reader034.vdocuments.us/reader034/viewer/2022050306/5f6e88ab2ebff23d4828e4a2/html5/thumbnails/16.jpg)
16
February 13, 2012 ECE 152A - Digital Design Principles 31
Counter Design with T Flip-Flops
� State Variable C� TC = C+ (XOR) C
BC
A00 01
0
1
11 10
C+ =1
BC
A00 01
0
1
11 10
T=1
T=1C+ =1C+ =1
C+ =1
C+ = C’ = DC TC = 1
T=1
T=1
T=1
T=1
T=1
T=1
C=1 C=0C=0
February 13, 2012 ECE 152A - Digital Design Principles 32
Counter Design with T Flip-Flops
� Implement design using T Flip-Flops with
asynchronous preset and clear
� Asynchronous preset (PRN) and clear (CLRN)
override clock and other inputs
� Preset : Q → 1, Clear : Q → 0
� Used to initialize system (all flip-flops) to known state
� Bubbles indicate “low true” or “active low”
� TA = BC, TB = C, TC = 1
![Page 17: L7 - Flip-Flops and Sequential Circuit Design...4 February 13, 2012 ECE 152A -Digital Design Principles 7 Reading Assignment Roth 11 Latches and Flip-Flops 11.5 S-R Flip-Flop 11.6](https://reader034.vdocuments.us/reader034/viewer/2022050306/5f6e88ab2ebff23d4828e4a2/html5/thumbnails/17.jpg)
17
February 13, 2012 ECE 152A - Digital Design Principles 33
Counter Design with T Flip-Flops
� Schematic
February 13, 2012 ECE 152A - Digital Design Principles 34
Counter Design with T Flip-Flops
� Timing Diagram
� QA toggles when B = C = 1
� QB toggles when C = 1
� QC toggles on every clock edge
![Page 18: L7 - Flip-Flops and Sequential Circuit Design...4 February 13, 2012 ECE 152A -Digital Design Principles 7 Reading Assignment Roth 11 Latches and Flip-Flops 11.5 S-R Flip-Flop 11.6](https://reader034.vdocuments.us/reader034/viewer/2022050306/5f6e88ab2ebff23d4828e4a2/html5/thumbnails/18.jpg)
18
February 13, 2012 ECE 152A - Digital Design Principles 35
Counter Design with JK Flip-Flops
� State Diagram
100 111
011
000
010
February 13, 2012 ECE 152A - Digital Design Principles 36
Counter Design with JK Flip-Flops
� State Table
010111
XXX011
XXX101
111001
000110
110010
XXX100
001000
C+B+A+CBA
NSPS
![Page 19: L7 - Flip-Flops and Sequential Circuit Design...4 February 13, 2012 ECE 152A -Digital Design Principles 7 Reading Assignment Roth 11 Latches and Flip-Flops 11.5 S-R Flip-Flop 11.6](https://reader034.vdocuments.us/reader034/viewer/2022050306/5f6e88ab2ebff23d4828e4a2/html5/thumbnails/19.jpg)
19
February 13, 2012 ECE 152A - Digital Design Principles 37
Counter Design with JK Flip-Flops
� Next State Maps
BC
A00 01
0
1
11 10
X
1
X1
BC
A00 01
0
1
11 10
BC
A00 01
0
1
11 10
X
1
X
X
1 X
1A+ = B’ = DA
B+ = A + BC’ = DB
C+ = AB’ + BC’ = DC
X
X
X
11
February 13, 2012 ECE 152A - Digital Design Principles 38
Counter Design with JK Flip-Flops
� JK Flip-Flop Excitation Table
� Recall JK state diagram
� Create excitation table from state diagram
� Q+ = JQ’ + K’Q
1 0
JK = X1
JK = 1X
JK = 0XJK = X0
0X11
1X01
X110
X000
KJQ+Q
![Page 20: L7 - Flip-Flops and Sequential Circuit Design...4 February 13, 2012 ECE 152A -Digital Design Principles 7 Reading Assignment Roth 11 Latches and Flip-Flops 11.5 S-R Flip-Flop 11.6](https://reader034.vdocuments.us/reader034/viewer/2022050306/5f6e88ab2ebff23d4828e4a2/html5/thumbnails/20.jpg)
20
February 13, 2012 ECE 152A - Digital Design Principles 39
Counter Design with JK Flip-Flops
� State Variable A
� A+ = B’
BC
A00 01
A=0
A=1
11 10
A+=X
BC
A00 01
0
1
11 10
A+=XA+=1
A+=1
KA = B
A+=X
BC
A00 01
0
1
11 10
JA = B’
X
X X
X
X X
1 X0 0 X X
X X 0 1
February 13, 2012 ECE 152A - Digital Design Principles 40
Counter Design with
JK Flip-Flops
� State Variable B
� B+ = A + BC’
BC
A00 01
0
1
11 10
B+=1
BC
A00 01
0
1
11 10
B+=X
B+=X
B+=X
KB = A’C
B=0 B=1
B+=1B+=1
BC
A00 01
0
1
11 10
JB = A
X
X X
X
X
X
0
X
1
X
X X
X
1
0
0
![Page 21: L7 - Flip-Flops and Sequential Circuit Design...4 February 13, 2012 ECE 152A -Digital Design Principles 7 Reading Assignment Roth 11 Latches and Flip-Flops 11.5 S-R Flip-Flop 11.6](https://reader034.vdocuments.us/reader034/viewer/2022050306/5f6e88ab2ebff23d4828e4a2/html5/thumbnails/21.jpg)
21
February 13, 2012 ECE 152A - Digital Design Principles 41
Counter Design with
JK Flip-Flops
� State Variable C
� C+ = AB’ + BC’
BC
A00 01
0
1
11 10
C+=1
BC
A00 01
0
1
11 10
C+=1
KC = 1
C=1 C=0C=0
BC
A00 01
0
1
11 10
JC = A + B
X
X X
0
1
X 1
X
X
X X
X X
X1
1C+=X
C+=X
C+=X