Digital Logic Design and Application (数字逻辑设计及应用)

Download Report

Transcript Digital Logic Design and Application (数字逻辑设计及应用)

Digital Logic Design and Application (数字逻辑设计及应用)
Chapter 7 Sequential Logic
Design Principles
( 时序逻辑设计原理 )

Latches and Flip-Flops
(锁存器和触发器 )
 Clocked Synchronous State-Machine Analysis
(同步时序分析)
 Clocked Synchronous State-Machine Design
(同步时序设计)
1
Introduction
 Combinational
circuit
 Outputs
depend solely on the present
combination of the circuit inputs’ values
• Vs. sequential circuit: Has “memory” that impacts outputs too
b=0 Digital F=0
System
b=0 Digital F=0
System
b=1 Digital F=1
System
b=1 Digital F=1
System
b=0 Digital F=1
System
(a)
2
if b=0, then F=0
if b=1, then F=1
(b)
Cannot determine value of
F solely from present
input value
Digital Logic Design and Application (数字逻辑设计及应用)
Basic Concepts (基本概念)
Logic Circuits are Classified into
Two Types (逻辑电路分为两大类):
 Combinational
Logic Circuit
(组合逻辑电路)
 Sequential
Logic Circuit
(时序逻辑电路)
3
Digital Logic Design and Application (数字逻辑设计及应用)
Basic Concepts (基本概念)
 Combinational Logic Circuit
(组合逻辑电路)
Outputs Depend Only on its Current Inputs.
(任何时刻的输出仅取决与当时的输入)
Character of Circuit: No Feedback Circuit,
No Memory Device
(电路特点:无反馈回路、无记忆元件)
4
Digital Logic Design and Application (数字逻辑设计及应用)
Basic Concepts (基本概念)
 Sequential Logic Circuit
(时序逻辑电路)
Outputs Depend Not Only on its Current Inputs,
But also on the Past Sequence of Inputs.
(任一时刻的输出不仅取决与当时的输入,
还取决于过去的输入序列)
Character of Circuit: Have Feedback Circuit,
Have Memory Device
(电路特点:有反馈回路、有记忆元件)
5
Digital Logic Design and Application (数字逻辑设计及应用)
Basic Concepts (基本概念)
 Sequential Logic Circuit
(时序逻辑电路)
Finite-State Machine: Have Finite States.
(有限状态机:有有限个状态。)
A Clock Signal is Active High if state changes occur at
the clock’ Rising Edge or when the clock is High, and
Active Low in the complementary case.
(时钟信号高电平有效是指在时钟信号的上升沿或时
钟的高电平期间发生变化。)
6
Digital Logic Design and Application (数字逻辑设计及应用)
Basic Concepts (基本概念)
 Sequential Logic Circuit
(时序逻辑电路)
Clock Period: The Time between Successive
transitions in the same direction.
(时钟周期:两次连续同向转换之间的时间。)
Clock Frequency: The Reciprocal of the Clock Period
(时钟频率:时钟周期的倒数。)
7
Figure 7-1
Digital Logic Design and Application (数字逻辑设计及应用)
Basic Concepts (基本概念)
 Sequential Logic Circuit
(时序逻辑电路)
Clock Tick: The First Edge of Pulse in a clock
period or sometimes the period itself.
(时钟触发沿:时钟周期内的第一个脉冲边沿,或时
钟本身。)
Duty Cycle: The Percentage of time that the clock
signal is at its asserted level.
(占空比:时钟信号有效时间与时钟周期的百分比。)
8
Figure 7-1
Digital Logic Design and Application (数字逻辑设计及应用)
串
行
加 0
法
器
X0 Y0
X
CI
S
X1 Y1
Y
X
C1
CO
CI
S0
S
Xn Yn
Y
C2
CO
X
CI
S1
思考:能否只用一片1位
全加器进行串行加法??
C
Sn
X201 Y
Y201
X
X
CI
C201
利用反馈和时钟控制
S
Y
CO
反馈
S210
9
S
Y
CO
C312
Digital Logic Design and Application (数字逻辑设计及应用)
串
行
加 0
法
器
X0 Y0
X
CI
S
X1 Y1
Y
X
C1
CO
CI
S0
S
Y
C1
CO
需要具有记忆功能
的逻辑单元,能够
暂存运算结果。
10
X
CI
S1
S
Y
CO
C
Sn
Xi Yi
利用反馈和时钟控制
时钟控制
Xn Yn
Ci
X
CI
S
暂存
Si
Y
CO
Ci+1
Digital Logic Design and Application (数字逻辑设计及应用)
7.1 Bistable Elements (双稳态元件)
0
1
1
0
Q
1
Q_L
0
0
1
Q
Q_L
It has Two Stable State: Q = 1 ( HIGH ) and Q = 0 ( LOW )
(电路有两种稳定状态:Q = 1 ( 1态 ) 和 Q = 0 ( 0态 ))
—— Bistable Circuit(双稳电路)
11
Digital Logic Design and Application (数字逻辑设计及应用)
7.1 Bistable Elements (双稳态元件)
0
1
12
1
0
Q
1
Q_L
0
0
1
Q
Q_L
When Power is first Applied to the circuit, it
Randomly Comes up in One State or the Other
and Stays there Forever.
( 只要一接电源,电路就随机出现两种状态中的一种,
并永久地保持这一状态。)
Digital Logic Design and Application (数字逻辑设计及应用)
Vin1
Vout1
Q
Vout1
= Vin2
Vin2
Vout2
亚稳态 metastable
Q_L
Vin1
= Vout2
Vout2
13
稳态 stable
Vin2
Vin2
Vout2
Digital Logic Design and Application (数字逻辑设计及应用)
Metastable Behavior
(亚稳态特性)
Random Noise will tend to Drive a circuit that is
Operating at the Metastable Point toward one
of the Stable operating point.
( 随机噪声会驱动工作于亚稳态点的电路转移到一个
稳态的工作点上去 )
Q
14
Q_L
Digital Logic Design and Application (数字逻辑设计及应用)
Metastable Behavior
(亚稳态特性)
Apply a definite Pulse Width from a Stable
state to the Other.
(从一个“稳态”转换到另一个“稳态”
需加一定宽度的脉冲(足够的驱动))
亚稳态
所有的时序电路对
亚稳态都是敏感的
稳态
15
稳态
Digital Logic Design and Application (数字逻辑设计及应用)
7.2 Latches and Flip-Flops
(锁存器与触发器)
—— The Basic Building Blocks of most
Sequential Circuits.
(大多数时序电路的基本构件)
 Latches(锁存器)
 根据输入,直接改变其输出(无使能端)
 有使能端时,在使能信号的有效电平之内都可根
据输入直接改变其输出状态
16
Digital Logic Design and Application (数字逻辑设计及应用)
7.2 Latches and Flip-Flops
(锁存器与触发器)
—— The Basic Building Blocks of most
Sequential Circuits.
(大多数时序电路的基本构件)
 Flip-Flops(
F/F,触发器)
 只在时钟信号的有效边沿改变其输出状态
17
Digital Logic Design and Application (数字逻辑设计及应用)
7.2 Latches and Flip-Flops
(锁存器与触发器)

S-R Latch (S-R锁存器)

S-R Latch with Enable
(具有使能端的S-R锁存器)

D Latch (D锁存器)

Edge-Triggered D Flip-Flops
(边沿触发式D触发器)

Edge-Triggered D Flip-Flops with Enable
(具有使能端的边沿触发式D触发器)
18
Digital Logic Design and Application (数字逻辑设计及应用)
7.2 Latches and Flip-Flops
(锁存器与触发器)

Scan Flip-Flops
(扫描触发器)

Master/Slave Flip-Flops (S-R、J-K)
(主从式触发器)

Edge-Triggered J-K Flip-Flops
(边沿触发式J-K触发器)

T Flip-Flop
(T触发器)
19
Digital Logic Design and Application (数字逻辑设计及应用)
S-R Latches (S-R锁存器)
R
工作原理:
0
Q
(1)S = R = 0
电路维持原态
S
QL
0
或非门  非门
Q
QL
20
Qn+1 = Qn
新
原
态 QLn+1 = QLn 态
Digital Logic Design and Application (数字逻辑设计及应用)
S-R Latches (S-R锁存器)
R
(a)
1
工作原理:
0
Q
1
(2)S = 0, R = 1
锁存器清0:Qn+1=0 QLn+1=1
0
S
1
0
即使S,R无效(=0)
锁存器仍能锁定0态
QL
a. 原态:Qn=0,QLn=1
n+1
新态:Q
n+1
=0,QL
=1
R
n+1
新态:Q
n+1
=0,QL
=1
1
10
b. 原态:Qn=1,QLn=0
21
Reset
0
1
S
0
0
Q
(b)
0
1 QL
Digital Logic Design and Application (数字逻辑设计及应用)
S-R Latches (S-R锁存器)
R
0
工作原理:
1
Q
0
(a)
(3)S = 1, R = 0
锁存器置1:Qn+1=1 QLn+1=0
1
S
0
1
即使S,R无效(=0)
锁存器仍能锁定1态
0
0
1
R
QL
a. 原态:Qn=1,QLn=0
n+1
新态:Q
n+1
=1,QL
n
01
=0
n
b. 原态:Q =0,QL =1
n+1
新态:Q
22
Set
n+1
=1,QL
1
0
=0
S
1
Q
(b)
0
QL
Digital Logic Design and Application (数字逻辑设计及应用)
S-R Latches (S-R锁存器)
R
1
0
工作原理:
Q
(3)S = R = 1 “禁止”
Qn+1 = QLn+1 = 0
S
0
1
QL
当S,R无效(=0)时,
0
Q
亚稳态,对噪声敏感
状态不确定
23
0
QN
Digital Logic Design and Application (数字逻辑设计及应用)
S-R Latches (S-R锁存器)
Reset R
Q
(清0)
(置1)
Set S
QL
Function Table
(功 能 表)
S R
24
0
0
1
1
0
1
0
1
状态转移真值表
Q QL
维持原态
0 1
1 0
0* 0*
Logic Symbol
(逻辑符号)
S
Q
R
Q
QL
S R
Qn
Qn+1
0
0
0
0
1
1
1
1
0
1
0
1
0
1
0
1
0
1
0
0
1
1
0*
0*
0
0
1
1
0
0
1
1
Digital Logic Design and Application (数字逻辑设计及应用)
Qn+1 SR
00
Qn
0
1
特征
方程
0
0
1
0
n+1
Q
11


状态转移真值表
1
1
= S + R’·Qn
S=1,R=0
0
1
S=0,R=1
25
10
S·R = 0 约束条件
状态图
S=0
R=X
01
S=X
R=0
S R
Qn
0
0
0
0
1
1
1
1
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1
n+1
Q
0
1
0
0
1
1
0*
0*
Digital Logic Design and Application (数字逻辑设计及应用)
S R
0
0
1
1
0
1
0
1
Q QL
S
维持原态
0 1
1 0
0* 0*
R
Q
QL
S
R
最小
脉冲
宽度
传播 Q
延迟
tpLH(SQ)
26
tpHL(RQ)
tpw(min)
Figure 7-8
Digital Logic Design and Application (数字逻辑设计及应用)
S-R锁存器的动作特点
 输入信号在全部有效电平内,都能直接改变
锁存器的状态(直接置位-复位触发器)
 输入端需遵守约束条件
 抗干扰能力最低
 当S=R=1,然后同时取消时
 S和R端输入信号脉冲宽度过小
 S和R端输入信号同时取反
27
锁存器进
入亚稳态
第7章作业

7.4(7.2)
 7.5(7.3)
 7.7(7.5)
 7.12(7.9)
 7.13(7.10)
 7.16(7.13)
 7.17(7.14)
 7.18(7.15)
 7.19(7.16)
28

7.20(7.19)
 7.21(7.20)(c)
7.41(7.27)
 7.43(7.28)
 7.46(7.34)
 7.51(7.47)
 7.52(7.49)
 7.77(7.68)
Digital Logic Design and Application (数字逻辑设计及应用)
A Class Problem ( 每课一题 )
Draw the Output Waveform of the S-R Latch
S
R
Q
29
Digital Logic Design and Application (数字逻辑设计及应用)
Chapter 7 Sequential Logic
Design Principles
( 时序逻辑设计原理 )

Latches and Flip-Flops
(锁存器和触发器 )
 Clocked Synchronous State-Machine Analysis
(同步时序分析)
 Clocked Synchronous State-Machine Design
(同步时序设计)
30
Digital Logic Design and Application (数字逻辑设计及应用)
Review of Last Class (内容回顾)
 时序逻辑电路
 输出取决于输入和过去状态
 电路特点:有反馈回路、有记忆元件
 双稳态元件
注意:亚稳态特性
亚稳态
Q
Q_L
0态 和 1态
31
稳态
稳态
Digital Logic Design and Application (数字逻辑设计及应用)
Review of Last Class (内容回顾)
 时序逻辑电路
 输出取决于输入和过去状态
 电路特点:有反馈回路、有记忆元件
 双稳态元件
如何加入控制信号??
Q
R
Q
S
QL
Q_L
0态 和 1态
32
Digital Logic Design and Application (数字逻辑设计及应用)
S - R latch(锁存器)
S S_L
R R_L
S_L = R_L = 1
S-R锁存器功能表
Q
QL
S_L R_L
1
1
0
0
QL
维持原态
0 1 清0
1 0 置1
1* 1* 不定
电路维持原态
S_L = 1, R_L = 0 Q = 0, QL = 1
33
1
0
1
0
Q
逻辑符号
S_L = 0, R_L = 1
Q = 1, QL = 0
S
Q
S_L = R_L = 0
Q=QL=1,不定状态
R
Q
Digital Logic Design and Application (数字逻辑设计及应用)
S-R Latch with Enable
(具有使能端的S-R锁存器)
S
—— 又称“时钟S-R锁存器”
S_L
Q
C
R
QL
R_L
(1). C = 0时: 维持原态
(2). C = 1时: 与S-R锁存器相似
注意:当S=R=1时,若C由10,
则下一状态不可预测。
34
功能表
C S R
0
1
1
1
1
逻
辑
符
号
X
0
0
1
1
Q
QL
X 维持原态
0 维持原态
0 1
1
1 0
0
1* 1*
1
S
C
R
Q
Q
Digital Logic Design and Application (数字逻辑设计及应用)
时钟S-R锁存器时序图
动作特点:输入信号在时钟
(使能端)有效期间,都能
直接改变触发器的状态。
C
S
R
Q
35
C S R
0
1
1
1
1
X
0
0
1
1
Q
QL
X 维持原态
0 维持原态
1
0 1
0
1 0
1
1* 1*
Digital Logic Design and Application (数字逻辑设计及应用)
数据
输入端 D
控制端 C
ENABLE
CLK
D Latch (D锁存器)
S
逻辑符号
Q
Q
C
Q
QL
R
C = 0, 输出状态保持不变
C = 1, 输出随输入状态而改变
When D = 1,Q = 1
When D = 0,Q = 0
36
D
Q=D
Transparent Latch
(透明锁存器)
D锁存器功能表
C D Q QL
1 0
1 1
0 X
0 1
1 0
保持
Level-Sensitive D Latch
 SR
latch requires
careful design to
ensure SR=11
never occurs
 D latch relieves
designer of that
burden
D
D latch
S
S1
C
Q
R1
R
 Inserted
inverter
ensures R always
opposite of S
D
Q
C
Q
D latch symbol
37
Level-Sensitive D Latch
1
D
C
0
D S
S1
1
0
1
S1
D latch
C
0
Q
1
R1
Q
38
0
1
0
R1
R
Digital Logic Design and Application (数字逻辑设计及应用)
Function Description of a D Latch
(D锁存器的功能描述)
状态转移真值表
D
0
1
特征方程:Qn+1 = D(C=1)
Qn+1
状态图
0
1
D=1
D=0
0
1
D=0
39
D=1
Digital Logic Design and Application (数字逻辑设计及应用)
S R
0
0
1
1
0
1
0
1
Q QL
S
维持原态
0 1
1 0
0* 0*
R
Q
QL
S
R
最小
脉冲
宽度
传播 Q
延迟
tpLH(SQ)
40
tpHL(RQ)
tpw(min)
Figure 7-8
Digital Logic Design and Application (数字逻辑设计及应用)
Timing Parameters for a D Latch
(D锁存器的时序图)
C
D
Q
tpLH(CQ)
tpLH(DQ)
tpHL(CQ)
tpHL(DQ)
在C的下降沿附近有一个时间窗
这段时间内D输入一定不能变化
41
tsetup
thold
Setup Time
Hold Time
(建立时间)
(保持时间)
Digital Logic Design and Application (数字逻辑设计及应用)
D Latch with CMOS Transmission Gate
(利用CMOS传输门的D锁存器)
C
TG
D
QL
TG
TG
EN_L
A
42
EN
B
CMOS传输门
Q
Digital Logic Design and Application (数字逻辑设计及应用)
D Latch with CMOS Transmission Gate
(利用CMOS传输门的D锁存器)
C=0
C
TG1 断开
D
TG2 连通
Q_L
Q
保持原态
43
QL
TG1
TG2
Q
Digital Logic Design and Application (数字逻辑设计及应用)
D Latch with CMOS Transmission Gate
(利用CMOS传输门的D锁存器)
C=1
C
TG1 连通
D
TG2 断开
QL = D’
Q=D
QL
TG1
TG2
功能表
C D Q QL
44
1 0
1 1
0 X
0 1
1 0
保持
Q
Digital Logic Design and Application (数字逻辑设计及应用)
Applications
of Latches
(锁存器的应用)
DIN[3:0] WR
45
D
C
Q
Q
D
C
Q
Q
D
C
Q
Q
D
C
Q
Q
RD
DOUT[3:0]
Digital Logic Design and Application (数字逻辑设计及应用)
Xi
Yi
Ci
X
S
Y
CO
CI
Si
Ci+1
串行输入、串行输出
Q
Q
D
C
注意:时钟同步
CLK
时钟控制
再谈串行输入
加法器的实现
46
Applications
of Latches
(锁存器的应用)
Xi Yi
Ci
X
CI
S
暂存
Si
Y
CO
Ci+1
3.2
Storing One Bit
Example Requiring Bit Storage
 Flight
attendant call
button
 Press
call: light turns
on
 Stays
on after button
released
a
Call
button
Cancel
button
Blue light
Bit
Storage
1. Call button pressed –
light turns on
Call
button
Cancel
button
47
1
1
Blue light
Bit
Storage
2. Call button released –
light stays on
Storing One Bit – Flip-Flops
3.2
Example Requiring Bit Storage
 Press
cancel: light
turns off

Stays off after button released
 Logic
gate circuit to
implement this?
Call
button
Cancel
button
Bit0
Storage
Blue light
3. Cancel button pressed –
light turns off
Q
Call
Cancel
Doesn’t work. Q=1 when Call=1, but doesn’t
stay 1 when Call returns to 0
Need some form of “feedback” in the circuit
48
48
First attempt at Bit Storage
 Need
some sort of feedback
 Does
circuit below do what we want?
Q
S
t
49
49
First attempt at Bit Storage
No:
Once Q becomes 1 (when S=1), Q
stays 1 forever – no value of S can
bring Q back to 0
S0
0
t
S
1
0
t
1
0
1
Q
50 0
Q S1
0 0
t
S1
Q
0
0
t
S1
Q
1
1
t
S0
Q
1
1
t
Q
1
Bit Storage Using an SR Latch

Does the circuit to the
right, with crosscoupled NOR gates,
do what we want?
S (set)
 Yes!
 How
did someone
come up with that
circuit?
 Maybe just trial and
error, a bit of insight...
51
SR latch
Q
R (reset)
Bit Storage Using an SR Latch
S=0
0
1
R=1
S1
0
R1
0
t 1
0
Q 1
0
52
S=0
t
1
S=1
t
t
S=0
0
1
1
0
1
1
0 Q
0
1Q
0
0 Q
R=0
R=0
R=0
Recall NOR…
t
0
0
0
1
1Q X
1
0
Example Using SR Latch for Bit
Storage
 SR
latch can serve as bit storage in
previous example of flight-attendant
call button
 Call=1
Q
: sets Q to 1
stays 1 even after Call=0
 Cancel=1
Call
button
Cancel
button
: resets Q to 0
Blue light
Bit
Storage
53
53
Example Using SR Latch for Bit
Storage
 But,
there’s a problem...
Call
button
1
S
0
Blue light
C ancel
button
Q
R
1
54
54
Problem with SR Latch
 Problem
 If
S=1 and R=1 simultaneously, we don’t know
what value Q will take
1
S
R
0
1
0
1
t
0
1
Q
0
55
55
Problem with SR Latch
 Problem
 If
S=1 and R=1 simultaneously, we don’t know
what value Q will take
Q may oscillate. Then, because one path will
be slightly longer than the other, Q will
eventually settle to 1 or 0 – but we don’t know
which. Known as a race condition.
t
Q
56
1
0
1
0
56
Problem with SR Latch
 Designer
might try to avoid problem
using external circuit
 Circuit
should prevent SR from ever being 11
 But 11 can occur due to different path delays
Call
button
External circuit
Call
S
SR latch
Q
57
Cancel
button
Cncl
R
Problem with SR Latch
 Assume
1 ns
delay per gate.
The longer path
from Call to R
than from Call to
S causes SR=11
for short time –
could be long
enough to cause
oscillation
58
1
Call 0
Cncl
1
0
1
S 0
SR = 11
R 1
0
2 ns
Problem with SR Latch
 Glitch
reset
Call
button
can also cause undesired set or
External circuit
Call
S
SR latch
Q
Cancel
button
59
Cncl
R
Suppose this wire has 4 ns delay
Problem with SR Latch
Call
Cncl
S
R
60
1
0
1
0
1
0
SR = 01
(undesired
glitch)
1
0
4 ns
Solution: Level-Sensitive SR Latch
Level-sensitive SR latch
Add enable input “C”
S
S1
 Only let S and R change
when C=0

 Ensure
circuit in front of
SR never sets SR=11,
except briefly due to path
delays
 Set C=1 after time for S and
R to be stable
 When C becomes 1, the
stable S and R value passes
through the two AND gates
to the SR latch’s S1 R1
inputs.
61
C
Q
R
R1
S
C
R
Q
Q
Level-sensitive SR
latch symbol
Solution: Level-Sensitive SR Latch
Level-sensitive SR latch
Call
S
S1
Clk C
R
Cncl
62
R1
Glitch on R (or
S) doesn’t affect
R1 (or (S1)
Call 1
0
1
Cncl 0
S 1
0
R 1
0
Q
C 1
0
S1 1
0
R1 1
0
Correct
Values when
enabled
Digital Logic Design and Application (数字逻辑设计及应用)
Flip-Flops (触发器)
Change its outputs only at the Rising or Falling
Edge of a controlling CLK signal.
(只在时钟信号的边沿改变其输出状态)
Positive-Edge
Rising-Edge
(正边沿
上升沿)
63
CLK
Negative-Edge
Falling-Edge
(负边沿
下降沿)
Digital Logic Design and Application (数字逻辑设计及应用)
Flip-Flops (触发器)
 从功能上分
 D触发器、S-R触发器、J-K触发器、T触发器
 从结构上分
 主从结构触发器、边沿触发器
 其他类型触发器
 带使能端的触发器、扫描触发器
 施密特触发器、单稳态触发器
64
D Flip-Flop
 Flip-flop:
Bit storage that stores on clock
edge
 One design – master-servant
= 0 – master enabled, loads D, appears
at Qm. Servant disabled.
 Clk = 1 – Master disabled, Qm stays same.
Servant latch enabled, loads Qm, appears at
Qs.
 Thus, value at D (and hence at Qm) when
Clk changes from 0 to 1 gets stored into
servant
 Clk
65
D Flip-Flop
Can we design bit storage that only stores a value on
the rising edge of a clock signal?
rising edges
D latch
Dm Qm
D
Cm
master
Clk
D flip-flop
D latch 
Q
Ds Qs
Q
Cs Qs
servant
Clk
Clk
D/Dm
Cm
Qm/Ds
Cs
Qs
Note: Hundreds of different flip-flop designs exist
66
D Flip-Flop

Solves problem of not knowing through how
many latches a signal travels when C=1
 In
figure below, signal travels through
exactly one flip-flop, for Clk_A or Clk_B
 Why?
 Because
on rising edge of Clk, all four flipflops are loaded simultaneously – then all
four no longer pay attention to their input,
until the next rising edge. Doesn’t matter
how long Clk is 1.
67
D Flip-Flop
1
Y
D1 Q1
1
D2 Q2
D3 Q3
D4 Q4
Two latches
inside each
flip-flop
Clk
Clk_A
Clk_B
68
68
Digital Logic Design and Application (数字逻辑设计及应用)
D Flip-Flops (D触发器)
—— 主从结构
D
Master(主)
Slave (从)
Qm
Q
D Q
D Q
C Q
QL
C Q
CLK
CLK=0时, 主锁存器工作,接收输入信号 Qm = D
从锁存器不工作,输出 Q 保持不变
CLK=1时, 主锁存器不工作,Qm 保持不变
69
从锁存器工作,将 Qm 传送到输出端
Digital Logic Design and Application (数字逻辑设计及应用)
D
CLK
CLK
D
Qm
Q
70
D Q
C Q
Qm
D Q
C Q
Q
QL
Digital Logic Design and Application (数字逻辑设计及应用)
逻辑符号
D
Q
CLK Q
表示边沿触发特性
CLK
D
Q
71
D CLK Q QL
0
1
X
X
0
1
0 1
1 0
保持
保持
功
能
表
Digital Logic Design and Application (数字逻辑设计及应用)
D锁存器 ——电平有效
CLK
D
Q
CLK
D
Q
72
D触发器 —— 边沿有效
Digital Logic Design and Application (数字逻辑设计及应用)
Applications of Flip-Flops
(触发器的应用)
利用触发器作为移位寄存器(图1)
思考:能否将触发
器改为锁存器(图2)
F/F
D
D
Q
Q1
CLK Q
D
73
Q
D
Q
Q
CLK Q
(图1)
CLK
latch
CLK
Q1
F/F
D
CLK
D Q
C Q
Q1
latch
D Q
C Q
(图2)
Q
Problem with Level-Sensitive D
Latch
D
latch still has problem (as does SR
latch)
 When
C=1, through how many latches will
a signal travel?
 Depends on how long C=1
74
74
Problem with Level-Sensitive D
Latch
– signal may travel through multiple
latches
Clk_B – signal may travel through fewer
latches
Clk_A
Y
1
D1 Q1
C1
1?
D2 Q2
C2
1?
D3 Q3
C3
Clk
Clk_A
75
Clk_B
1?
D4 Q4
C4
Problem with Level-Sensitive D
Latch
D latch
D1
0–>1
S1
D2
0–>1
0–>1
D latch
S2
0–>1
C2
C1
D3Q3 D4Q4
C3 C4
R1
Clk
76
Q1
0–>1
R2
1–>0
1–>0
(a)
Q2
0–>1
Problem with Level-Sensitive D
Latch
Long clock
Clk
D1
Q1/D2
S2
R2
Q2
2nd latch set
(b)
Short clock
Clk
D1
Q1/D2
S2
R2
Q2
77
Q1 doesn't change
(c )
Flight-Attendant Call Button Using
D Flip-Flop

D flip-flop will store bit
 Inputs are Call, Cancel, and present value of D
flip-flop, Q
 Truth table shown below
Call
button
Cancel
button
Call
Comb.
Cncl Circuit
Clk
Q
78
D
D
Q
Q
Blue
light
L
Flight-Attendant Call Button Using
D Flip-Flop
Preserve
value: if
Q=0, make
D=0; if
Q=1, make
D=1
Cancel -make D=0
Call -make D=1
Let’s give
priority to
Call -make D=1
79
Call
button
Cancel
button
Blue
D Q light
Call
Cancel
Clk
Q
Q
Circuit derived from
truth table, using
combinational logic
design process
Digital Logic Design and Application (数字逻辑设计及应用)
Timing Parameters for a D Flip-Flops
(D触发器的定时参数)

Propagation Delay (传播延迟(CLKQ))

建立时间(输入信号先于时钟到达的时间)

保持时间(有效时钟沿后输入信号保持的时间)
D
CLK
Q
tpLH(CQ)
80
tpHL(CQ)
tsetup
(建立时间
thold
(保持时间)
Digital Logic Design and Application (数字逻辑设计及应用)
利用CMOS传输门实现 —— 主从结构
Master (主触发器)
Slave (从触发器)
回顾:利用COMS传输门的D锁存器
81
Clock Signal
 Flip-flop
Clk inputs
typically connect to
one clock signal
 Coming
from an
oscillator
component
82
Osc.
Clk
Clock Signal
 Generates
periodic pulsing signal
 Below: "Period" = 20 ns,
"Frequency" = 1/20 ns = 50 MHz
 "Cycle"
is duration of 1 period (20
ns); below shows 3.5 cycles
Freq.
Period
100 GHz
10 GHz
1 GHz
100 MHz
10 MHz
0.01 ns
0.1 ns
1 ns
10 ns
100 ns
Period/Freq shortcut: Remember 1 ns  1 GHz
1
Clk
0
Time: 0 ns
0
10 ns
1
20 ns
0
30 ns
1
40 ns
0
50 ns
1
60 ns
0
83
83
第7章作业

7.4(7.2)
 7.5(7.3)
 7.7(7.5)
 7.12(7.9)
 7.13(7.10)
 7.16(7.13)
 7.17(7.14)
 7.18(7.15)
 7.19(7.16)
84

7.20(7.19)
 7.21(7.20)(c)
7.41(7.27)
 7.43(7.28)
 7.46(7.34)
 7.51(7.47)
 7.52(7.49)
 7.77(7.68)
Digital Logic Design and Application (数字逻辑设计及应用)
A Class Problem ( 每课一题 )
Draw the Output Waveform of the D FlipFlop
CLK
D
Q
85
Digital Logic Design and Application (数字逻辑设计及应用)
Chapter 7 Sequential Logic
Design Principles
( 时序逻辑设计原理 )

Latches and Flip-Flops
(锁存器和触发器 )
 Clocked Synchronous State-Machine Analysis
(同步时序分析)
 Clocked Synchronous State-Machine Design
(同步时序设计)
86
HDL语言相关网站
互动教学空间(教师社区) -网络学堂-通信与信
息工程学院 –0195-ASIC设计 -李广军
 http://222.197.165.195/wlxt/course.aspx?cour
seid=0195
 互动教学空间(教师社区) -网络学堂-电子工程
学院 -0124-数字系统EDA技术- 沈晓峰
 http://222.197.165.195/wlxt/course.aspx?cour
seid=0124


87
□-授课教案 □-教学录像
Digital Logic Design and Application (数字逻辑设计及应用)
Review of Last Class (内容回顾)
 锁存器与触发器
R
Q
S
QL
S-R锁存器 S-R锁存器
具有使能端的S-R锁存器
有约束条件
S
D
C
S_L
Q
C
D锁存器
88
QL
R
R_L
Digital Logic Design and Application (数字逻辑设计及应用)
Positive-Edge-Triggered
D 主从结构
Flip-Flop
利用与非门传输门实现 ——
(具有预置和清零端的正边沿D触发器)
PR_L
D
Q
QL
CLK
CLR_L
PR(preset)、CLR(clear)
相当于: S(set) 、 R(reset)
通常用于初始化电路状态、测试等
89
PR
D
Q
CLK Q
CLR
Digital Logic Design and Application (数字逻辑设计及应用)
具有预置和清零端的正边沿D触发器时序图
CLK
PR_L
CLR_L
QL
90
Digital Logic Design and Application (数字逻辑设计及应用)
维持阻塞结构D触发器
91
Digital Logic Design and Application (数字逻辑设计及应用)
Negative-Edge-Triggered D Flip-Flop
(负边沿触发的D触发器)
D
D
Q
CLK Q
D Q
C Q
Q
QN
D Q
C Q
CLK
D
正边沿触发
CLK
92
D Q
C Q
D Q
C Q
Q
QL
Digital Logic Design and Application (数字逻辑设计及应用)
D Flip-Flop with Enable
(具有使能端的D触发器)
2-Input
Multiplexer
(2选1多路复用器)
EN有效(=1)
选择外部D输入
EN无效(=0)
选择触发器当前的输出
D
EN
CLK
93
D
Q
CLK Q
Q
QL
D
Q
EN
CLK Q
Logic Symbol
(逻辑符号)
Digital Logic Design and Application (数字逻辑设计及应用)
Scan Flip-Flop (扫描触发器)
Function Table (功能表):Figure 7-22(b)

TE = 0  正常操作 Q=D

TE = 1  进入测试模式
D
测试使能端  TE
测试输入端  TI
CLK
94
Logic Symbol
(逻辑符号)
D
Q
TE
TI
Q
CLK
D
Q
CLK Q
Q
QL
Digital Logic Design and Application (数字逻辑设计及应用)
TIN
TO
CLK
TE
95

TE = 0  正常操作

TE = 1  进行测试

每个触发器的输出端Q都与后一个触发器的TI端连接

TIN 端扫入一组测试向量(需若干个时钟触发沿)

再经过若干个时钟的正常操作(TE=0)

可以在TO端观察(扫出)电路的新状态
Digital Logic Design and Application (数字逻辑设计及应用)
Applications of Flip-Flops
(触发器的应用)
利用触发器作为移位寄存器(图1)
思考:能否将触发
器改为锁存器(图2)
F/F
D
D
Q
Q1
CLK Q
D
96
Q
D
Q
Q
CLK Q
(图1)
CLK
latch
CLK
Q1
F/F
D
CLK
D Q
C Q
Q1
latch
D Q
C Q
(图2)
Q
Digital Logic Design and Application (数字逻辑设计及应用)
Master/Slave S-R Flip-Flop
(主从式S-R触发器)
回顾:有使能端的S-R锁存器
 C的有效电平期间,输入直接改变触发器的状态
 输入信号需要遵守约束条件
希望输出在一个时钟周期内只变化一次
—— 采用主从结构
S
R
97
C
S
C
R
Q
Q
S
C
R
Q
Q
Q
QN
S
C
R
Q
Q
Digital Logic Design and Application (数字逻辑设计及应用)
主从式S-R触发器的内部时序
C
主锁存
器输出
亚 稳 态
亚 稳 态
暂时忽略延迟时间等动态特性
98
Digital Logic Design and Application (数字逻辑设计及应用)
是不是边沿触发??
C
亚 稳 态
亚 稳 态
虽然输出在一个时钟周期只可能变化一次
但不能算是边沿触发
99
Digital Logic Design and Application (数字逻辑设计及应用)
思考:同样是主从结构,
为什么由D锁存器构成的可以称为边沿D触发器,
而由S-R锁存器构成的不能称为边沿S-R触发器?
D
D Q
C Q
D Q
C Q
动态输入指示
边沿触发
Q
QN
D
Q
CLK Q
CLK
S
R
C
100
S
C
R
Q
Q
S
C
R
Q
Q
Q
QL
S
C
R
Q
Q
延迟输出
C无效时输出变化
Digital Logic Design and Application (数字逻辑设计及应用)
Master/Slave J-K Flip-Flop
(主从式J-K触发器)
消除主从S-R触发器存在的约束条件
利用反馈消除主从S-R触发器存在的约束条件
S = J·Q’
J
R = K·Q
K
总满足
S
S·R=0 C
C
R
主从S-R触发器特征方程
Qn+1 = S + R’·Q
101
S·R = 0(约束条件)
S
C
R
Q
Q
S
C
R
Q
Q
Q
QL
Digital Logic Design and Application (数字逻辑设计及应用)
Master/Slave J-K Flip-Flop
(主从式J-K触发器)
利用反馈消除主从S-R触发器存在的约束条件
消除主从S-R触发器存在的约束条件
S = J·Q’
R = K·Q
总满足
S·R=0
主从J-K触发器特征方程
Qn+1 = S + R’·Q
= J·Q’ + (K·Q)’·Q
= J·Q’ + (K’+Q’)·Q
= J·Q’
J·Q’ +
+ K’·Q
K’·Q
Q* =
主从S-R触发器特征方程
n+1
QQ* =
= SS +
+R’·Q
R’·Q
102
S·R = 0(约束条件)
Q —— 当前状态(原态、现态)
Q* —— 下一状态(新态、次态)
Digital Logic Design and Application (数字逻辑设计及应用)
S Q
C 主 Qm
R Q
J
K
S Q
C从
R Q
Q
Logic Symbol
(逻辑符号)
J
C
K
QL
C
1 箝位
C
J
K
Qm
Q
103
0
1
C=1期间,
J的变化只引起
Qm改变一次
Q
Q
Function Table
功能表
J K
0
0
1
1
Q
0 保持
1 清0
0 置1
1 翻转
Digital Logic Design and Application (数字逻辑设计及应用)
S Q
C 主 Qm
R Q
J
K
S Q
C从
R Q
逻辑符号
Q
J
C
K
QL
C
0 箝位
C
J
1
K
0
Qm
Q
104
J K
J,K的变化可
0
0
1
1
变化,但只
能改变一次
Q
功能表
C=1期间
能引起Qm的
Q
Q
0 保持
1 清0
0 置1
1 翻转
Digital Logic Design and Application (数字逻辑设计及应用)
J和K输入在C=1期间保持不变
0
1
0
1
1
0
0
1
0
1
1
0
每个C周期的高电平阶段关心输入端J、K的变化;
每个C周期的低电平阶段关心触发器状态Q的变化。
105
Digital Logic Design and Application (数字逻辑设计及应用)
具有多输入端的J-K触发器
J1
J2
K1
K2
S Q
S Q
Qm C 从
C主
R Q
R Q
C
J = J1J2
K = K1K2
106
Q
QL
Digital Logic Design and Application (数字逻辑设计及应用)
Edge-Triggered J-K Flip-Flop
(边沿J-K触发器)
J
K
D Q
CLK
CLK
Q* = D = J·Q’ + K’·Q
时钟上升沿(正边沿)有效
不会出现“箝位”现象
107
Q
QL
Digital Logic Design and Application (数字逻辑设计及应用)
利用门电路传输延迟时间的边沿J-K触发器
两个与或非门组成基本RS触发器
门G3G4的传输延迟时间大于基本RS触发器的翻转时间
108
Digital Logic Design and Application (数字逻辑设计及应用)
J
K
S Q
C 主 Qm
R Q
S Q
C从
R Q
Q
QL
C
Master/Slave J-K Flip-Flop
(主从J-K触发器)
J1
J2
K1
K2
C
109
S Q
S Q
Qm C 从
C主
R Q
R Q
Q
QL
Digital Logic Design and Application (数字逻辑设计及应用)
Edge-Triggered J-K Flip-Flop
(边沿J-K触发器)
J
K
D Q
CLK
CLK
Q* = D = J·Q’ + K’·Q
时钟上升沿(正边沿)有效
不会出现“箝位”现象
110
Q
QL
Digital Logic Design and Application (数字逻辑设计及应用)
T Flip-Flop (T触发器)
在每个时钟脉冲有效沿都会改变状态(翻转)
T(toggle)
触发器
T
Q
111
T
Q
EN
Q
具有使能端的
Q
T
Q
T触发器
Digital Logic Design and Application (数字逻辑设计及应用)
Use a D/J-k Flip-Flop to Design a T Flip-Flop
(利用D、J-K触发器实现T触发器)

利用D触发器实现
D:Q* = D
T
112

利用J-K触发器实现
JK:Q* = J·Q’ + K’·Q
T:Q* = Q’
T:Q* = Q’
D = Q’
J=K=1
D
Q
CLK Q
Q
QN
1
T
J
Q
CLK
K
Q
Q
QN
Digital Logic Design and Application (数字逻辑设计及应用)
Possible Circuits for a T Flip-Flop with Enable
(具有使能端的T触发器的可能电路)
功能表
EN
0
1
Q*
维持 Q
翻转 Q’
D:Q* = D
T:Q* = EN·Q’ + EN’·Q
JK:Q* = J·Q’ + K’·Q
113
Digital Logic Design and Application (数字逻辑设计及应用)
Other Structure Flip-Flops
(其他结构的触发器)
维持阻塞结构
利用门电路传输延迟时间的边沿J-K触发器
PRL
J
CLRL
Q
CLK
QL
D
114
Q
CLK
K
QL
Digital Logic Design and Application (数字逻辑设计及应用)
锁存器与触发器小结
 锁存器和触发器
—— 电平有效和边沿有效的区别
 按照逻辑功能的不同特点,通常可分为
 S-R触发器(锁存器)
 D触发器(锁存器)
 J-K触发器
 T触发器
115
每种触发器的
功能表
特征方程
状态图
Digital Logic Design and Application (数字逻辑设计及应用)
S-R Flip-Flops (Latches)
功能表
SR
0
0
1
1
基本S-R锁存器
Q
0 维持
1 清0
0 置1
1 0*
S
Q
R
Q
时钟S-R锁存器
S
C
R
Q
Q
(或非门)
主从S-R触发器
SL RL Q 0
S
Q
1*
1 1 维持
R
Q
0
1 0 清0
0 1 置1
(与非门)
0 0 1*
116
S
C
R
功能表
Q
Q
S R
0
0
1
1
Q
0 维持
1 清0
0 置1
1 1*
Digital Logic Design and Application (数字逻辑设计及应用)
Qn+1 S_LR_L
00
01
11
10
0

1
0
0
1

1
1
0
Qn
Q* = S_L’ + R_L·Q
= S+ R’·Q
约束条件:S_L + R_L = 1
S’+R’=1  S·R=0
特征
方程
117
Q* = S+ R’·Q
S·R=0(约束条件)
低电平有效S-R锁存器
状态转移真值表
S_L R_L Qn
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
Qn+1
1*
1*
1
1
0
0
0
1
Digital Logic Design and Application (数字逻辑设计及应用)
S-R Flip-Flops (Latches)
功能表
S R
0
0
1
1
0
1
0
1
特征方程
Q
维持
0
1
1*
Q* = S+ R’·Q
S·R=0(约束条件)
状态图
S=0
R=X
S=1,R=0
0
1
S=0,R=1
118
S=X
R=0
Digital Logic Design and Application (数字逻辑设计及应用)
J-K Flip-Flop
状态转移真值表
J K
0
0
0
0
1
1
1
1
119
0
0
1
1
0
0
1
1
Qn
0
1
0
1
0
1
0
1
Qn+1
0
1
0
0
1
1
1
0
Qn+1 JK
00
01
11
10
0
0
0
1
1
1
1
0
0
1
Qn
维持
清0
置1
特征方程
翻转
Q* = J·Q’ + K’·Q
Digital Logic Design and Application (数字逻辑设计及应用)
J-K Flip-Flop
状态图
J=1,K=X
功能表
J K
0
0
1
1
0
1
0
1
Q*
维持
清0
置1
翻转
J=0
K=X
0
1
J=X,K=1
特征方程
Q* = J·Q’ + K’·Q
120
J=X
K=0
Digital Logic Design and Application (数字逻辑设计及应用)
D Flip-Flops (Latches)
特征方程:Q* = D
状态图
D=0
D=1
0
1
D=1
D=0
有使能端得D触发器:Q* = EN·D + EN’·Q
121
Digital Logic Design and Application (数字逻辑设计及应用)
T Flip-Flop
T
Q
Q
特征方程:Q* = Q’
EN
Q
T
Q
有使能端的T触发器:
Q* = EN·Q’ + EN’·Q
说明:
传统中文教材中认为
T 触发器的特征方程为:
Q* = T·Q’ + T’·Q
122
Digital Logic Design and Application (数字逻辑设计及应用)
不同类型触发器间的相互转换
123
利用D触发器实现
利用J-K触发器实现
 S-R触发器
 S-R触发器
 J-K触发器
 D触发器
 T触发器
 T触发器
Digital Logic Design and Application (数字逻辑设计及应用)
关于电路结构和逻辑功能
电路构成的不同形式

下一状态Q* 与
现态Q及输入之间
在稳态下的逻辑关系
同一逻辑功能的触发器可用不同电路结构实现
 主从结构的D触发器、维持阻塞结构的D触发器

用同一电路结构可做成不同逻辑功能的触发器
 维持阻塞结构的:D触发器、J-K触发器
124
Digital Logic Design and Application (数字逻辑设计及应用)
动态参数
—— 保证触发器在工作时能可靠翻转
 锁存器的动态参数
 输入信号宽度:tW
≥ 2tpd
 传输延迟时间: tPLH
/ tPHL
从输入信号到达,到触发器输出新态稳定建立
与非:tPLH = tpd 、tPHL = 2tpd
或非:tPLH = 2tpd 、tPHL = tpd
说明: tpd表示一个门的延迟时间
125
Digital Logic Design and Application (数字逻辑设计及应用)
触发器的动态参数

建立时间 tset
 输入信号应先于时钟信号到达的时间

保持时间 thold
 时钟信号到达后,输入信号需要保持的时间

最高时钟频率 fmax
 为保证触发器可靠翻转,时钟脉冲必须满足的参数

传输延迟时间 tpHL/tpLH
 从时钟脉冲触发边沿算起,到触发器建立起新状态
126
第7章作业

7.4(7.2)
 7.5(7.3)
 7.7(7.5)
 7.12(7.9)
 7.13(7.10)
 7.16(7.13)
 7.17(7.14)
 7.18(7.15)
 7.19(7.16)
127

7.20(7.19)
 7.21(7.20)(c)
7.41(7.27)
 7.43(7.28)
 7.46(7.34)
 7.51(7.47)
 7.52(7.49)
 7.77(7.68)
Digital Logic Design and Application (数字逻辑设计及应用)
A Class Problem ( 每课一题 )
Draw the Output Waveform of the D FlipFlop
CLK
PR_L
CLR_L
Q
128
Digital Logic Design and Application (数字逻辑设计及应用)
Chapter 7 Sequential Logic
Design Principles
( 时序逻辑设计原理 )

Latches and Flip-Flops
(锁存器和触发器 )
 Clocked Synchronous State-Machine Analysis
(同步时序分析)
 Clocked Synchronous State-Machine Design
(同步时序设计)
129
兰州石化职业技术学院
—国家重点建设示范性高职高专
 青春啊,永远是美好的。可是真正的青春,
只属于那些永远力争上游的人,永远忘我劳
动的人,永远谦虚的人
 知识是从刻苦劳动中得来的,任何成就都是
刻苦劳动的结果。
 要想成就大事业,要在青春的时候着手。
 厚积薄发,成一番事业。
130
兰州石化职业技术学院
—国家重点建设示范性高职高专
 理想是美好的,但没有意志,理想不过是
瞬间的彩虹。
 一粥一饭,当思来之不易。
 半丝半缕,恒念物力维艰。
 养成健康人格,发挥个性特长
 培养实践能力,适应社会需求
131
兰州石化职业技术学院
—国家重点建设示范性高职高专
 真正的快乐,是对生活的乐观,对工作的愉
快,对事业的兴奋。

----(美)爱因斯坦
 一个人只有以他全部的力量和精力致力于某
一事业时,才能成为真正的大师。因此,只
有全力以赴,才能精通。

----(美)爱因斯坦
 参观游历皆学习。
132
Digital Logic Design and Application (数字逻辑设计及应用)
Review of Last Class (内容回顾)
Master/Slave S-R Flip-Flop
(主从S-R触发器)
S
S
C
R
R
Q
Q
S
C
R
Q
Q
C
D
CLK
133
D Q
C Q
D Q
C Q
Q
QL
S
C
R
Q
Q Postponed-Output
(延迟输出
C无效时输出变化)
Dynamic-Input Indicator
(动态输入指示
Q 边沿触发)
D
Q
QN
CLK Q
Master/Slave D Flip-Flop
(主从D触发器)
Digital Logic Design and Application (数字逻辑设计及应用)
Review of Last Class (内容回顾)
同样是主从结构,

由D锁存器构成的可以称为边沿D触发器

由S-R锁存器构成的不能称为边沿S-R触发器

主从结构的J-K触发器也不是边沿触发!!
(1箝位 和 0箝位)
D触发器的输出:Q* = D
S-R触发器的输出:Q* = S + R’·Q
J-K触发器的输出:Q* = J·Q’ + K’·Q
134
Digital Logic Design and Application (数字逻辑设计及应用)
锁存器与触发器小结
 锁存器和触发器
—— 电平有效和边沿有效的区别
 按照逻辑功能的不同特点,通常可分为
 S-R触发器(锁存器)
 D触发器(锁存器)
 J-K触发器
 T触发器
135
每种触发器的
功能表
特征方程
状态图
Digital Logic Design and Application (数字逻辑设计及应用)
S-R Flip-Flops (Latches)
功能表
SR
0
0
1
1
基本S-R锁存器
Q
0 维持
1 清0
0 置1
1 0*
S
Q
R
Q
时钟S-R锁存器
S
C
R
Q
Q
(或非门)
主从S-R触发器
SL RL Q 0
S
Q
1*
1 1 维持
R
Q
0
1 0 清0
0 1 置1
(与非门)
0 0 1*
136
S
C
R
功能表
Q
Q
S R
0
0
1
1
Q
0 维持
1 清0
0 置1
1 1*
Digital Logic Design and Application (数字逻辑设计及应用)
Qn+1 S_LR_L
00
01
11
10
0

1
0
0
1

1
1
0
Qn
Q* = S_L’ + R_L·Q
= S+ R’·Q
约束条件:S_L + R_L = 1
S’+R’=1  S·R=0
特征
方程
137
Q* = S+ R’·Q
S·R=0(约束条件)
低电平有效S-R锁存器
状态转移真值表
S_L R_L Qn
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
Qn+1
1*
1*
1
1
0
0
0
1
Digital Logic Design and Application (数字逻辑设计及应用)
S-R Flip-Flops (Latches)
功能表
S R
0
0
1
1
0
1
0
1
特征方程
Q
维持
0
1
1*
Q* = S+ R’·Q
S·R=0(约束条件)
状态图
S=0
R=X
S=1,R=0
0
1
S=0,R=1
138
S=X
R=0
Digital Logic Design and Application (数字逻辑设计及应用)
J-K Flip-Flop
状态转移真值表
J K
0
0
0
0
1
1
1
1
139
0
0
1
1
0
0
1
1
Qn
0
1
0
1
0
1
0
1
Qn+1
0
1
0
0
1
1
1
0
Qn+1 JK
00
01
11
10
0
0
0
1
1
1
1
0
0
1
Qn
维持
清0
置1
特征方程
翻转
Q* = J·Q’ + K’·Q
Digital Logic Design and Application (数字逻辑设计及应用)
J-K Flip-Flop
状态图
J=1,K=X
功能表
J K
0
0
1
1
0
1
0
1
Q*
维持
清0
置1
翻转
J=0
K=X
0
1
J=X,K=1
特征方程
Q* = J·Q’ + K’·Q
140
J=X
K=0
Digital Logic Design and Application (数字逻辑设计及应用)
D Flip-Flops (Latches)
特征方程:Q* = D
状态图
D=0
D=1
0
1
D=1
D=0
有使能端得D触发器:Q* = EN·D + EN’·Q
141
Digital Logic Design and Application (数字逻辑设计及应用)
T Flip-Flop
T
Q
Q
特征方程:Q* = Q’
EN
Q
T
Q
有使能端的T触发器:
Q* = EN·Q’ + EN’·Q
说明:
传统中文教材中认为
T 触发器的特征方程为:
Q* = T·Q’ + T’·Q
142
Digital Logic Design and Application (数字逻辑设计及应用)
不同类型触发器间的相互转换
143
利用D触发器实现
利用J-K触发器实现
 S-R触发器
 S-R触发器
 J-K触发器
 D触发器
 T触发器
 T触发器
Digital Logic Design and Application (数字逻辑设计及应用)
关于电路结构和逻辑功能
电路构成的不同形式

下一状态Q* 与
现态Q及输入之间
在稳态下的逻辑关系
同一逻辑功能的触发器可用不同电路结构实现
 主从结构的D触发器、维持阻塞结构的D触发器

用同一电路结构可做成不同逻辑功能的触发器
 维持阻塞结构的:D触发器、J-K触发器
144
Digital Logic Design and Application (数字逻辑设计及应用)
动态参数
—— 保证触发器在工作时能可靠翻转
 锁存器的动态参数
 输入信号宽度:tW
≥ 2tpd
 传输延迟时间: tPLH
/ tPHL
从输入信号到达,到触发器输出新态稳定建立
与非:tPLH = tpd 、tPHL = 2tpd
或非:tPLH = 2tpd 、tPHL = tpd
说明: tpd表示一个门的延迟时间
145
Digital Logic Design and Application (数字逻辑设计及应用)
触发器的动态参数

建立时间 tset
 输入信号应先于时钟信号到达的时间

保持时间 thold
 时钟信号到达后,输入信号需要保持的时间

最高时钟频率 fmax
 为保证触发器可靠翻转,时钟脉冲必须满足的参数

传输延迟时间 tpHL/tpLH
 从时钟脉冲触发边沿算起,到触发器建立起新状态
146
Digital Logic Design and Application (数字逻辑设计及应用)
Sequential Logic Circuit
Analysis and Design
(时序逻辑电路的分析和设计)
147
Digital Logic Design and Application (数字逻辑设计及应用)
Sequential Logic Circuit (时序逻辑电路)
—— Finite-State Machine(FSM, 有限状态机)

Feedback Sequential Circuit(反馈时序电路)
 采用“门电路+反馈回路”实现记忆功能

State Machine(状态机)
 用触发器构造电路,用时钟控制状态转换
概念:时钟周期、时钟频率、占空比、时钟触发沿
tH
CLK
148
tper
tL
周期:tper 频率:1/tper
占空比:tH/tper 、tL/tper
Digital Logic Design and Application (数字逻辑设计及应用)
Sequential Logic Circuit
Structure (时序逻辑电路结构)
——状态机结构
下一
状态
逻辑
F
Inputs
(输入)
Clock
Signal
(时钟
信号)
149
Excitation
(激励 )
状态
存储器
时钟
Current
State
(当前
状态)
Output
Logic
(输出
逻辑)
G
Outputs
输出
激励方程
驱动方程
组合
电路
下一状态:F(当前状态,输入)
输出:G(当前状态,输入)
状态存储器:由激励信号得到下一状态
输出方程
转移方程
Digital Logic Design and Application (数字逻辑设计及应用)
Sequential Logic Circuit (时序逻辑电路)
同步时序电路 —— 时钟同步状态机
存储元件状态的变化是在同一时钟信号操作下同时发生的
异步时序电路
存储元件状态的变化不是同时发生的

Mealy型
输出信号取决于存储电路状态和输入信号

Moore型
输出信号仅取决于存储电路状态
150
输入
下一
状态
逻辑
F
激励
状态 当前状态
存储器
时钟
时钟
信号
输出
逻辑
G
输出
Moore机:输出只与状态有关
Mealy机:输出取决于状态和输入
输入
时钟
信号
151
下一
状态
逻辑
F
激励
状态 当前状态
存储器
时钟
输出
逻辑
G
输出
流水线
输出
存储器
时钟
输出
Digital Logic Design and Application (数字逻辑设计及应用)
7.3 Clocked Synchronous State
Machine Analysis (时钟同步状态机分析)
 基本步骤:
 确定下一状态函数F
和输出函数G
 将F代入触发器的特征方程得到下一状态Q*
 利用Q*、G构造状态/输出表
 画出状态图、波形图(可选)
 检查电路是否可以自启动
 描述电路功能
152
Example: Clocked Synchronous State
Machine Analysis (D Flip-Flop)
下一状态逻辑 产生激励信号
EN
输入
状态存储器
输出逻辑
MAX
EN
EN’
D0
Q0
D1
Q1
Q0
Q0’
Q1
Q1’
153
CLK
时钟信号
激励
当前状态
输出
EN
EN
3、由激励方程和触发器特征方程
EN’
MAX
D0
Q0
D1
Q1
得到转移方程(状态方程)
Q0
D触发器特征方程:Q* = D
Q0’
Q0* = Q0·EN’ + Q0’·EN
Q1* =Q1
Q1·EN’ + Q1’·Q0·EN
Q1’
+ Q1·Q0’·EN
CLK
1、由电路得到激励方程
D0 = Q0·EN’ + Q0’·EN
2、由电路得到输出方程
MAX = Q1·Q0·EN
D1 = Q1·EN’ + Q1’·Q0·EN + Q1·Q0’·EN
154
Digital Logic Design and Application (数字逻辑设计及应用)
4、由转移方程和输出方程得到状态/输出表
Q0* = Q0·EN’ + Q0’·EN
Q1* = Q1·EN’ + Q1’·Q0·EN + Q1·Q0’·EN
MAX = Q1·Q0·EN
EN
S
0
1
00
01
10
11
00, 0
01, 0
10, 0
11, 0
01, 0
10, 0
11, 0
00, 1
Q1Q0
155
Q1*Q0*, MAX
状态转换表
EN
0
0
0
0
1
1
1
1
Q1 Q0 Q1* Q0* MAX
0 0 0 0
0
0 1 0 1
0
1 0 1 0
0
1 1 1 1
0
0 0 0 1
0
0 1 1 0
0
1 0 1 1
0
1 1 0 0
1
Digital Logic Design and Application (数字逻辑设计及应用)
5、State Diagram (画状态图)
逻辑功能描述:具有使能端EN的2位二进制加法计数器
电路输出与输入有关 —— Mealy机
EN=0
MAX=0
EN
S
0
1
00
01
10
11
00,0
01,0
10,0
11,0
01,0
10,0
11,0
00,1
Q1Q0
156
Q1*Q0*, MAX
00
EN=1
MAX=1
EN=0
MAX=0
11
EN=1
MAX=0
01
EN=0
MAX=0
EN=1
MAX=0
EN=1
10
MAX=0
EN=0
MAX=0
Digital Logic Design and Application (数字逻辑设计及应用)
6、Timing Diagram (画时序图)
Q0* = Q0·EN’ + Q0’·EN
Q1* = Q1·EN’ + Q1’·Q0·EN + Q1·Q0’·EN
MAX = Q1·Q0·EN
157
Digital Logic Design and Application (数字逻辑设计及应用)
Specification (说 明)
 可以给每个状态命名
 通常用S表示当前状态,S*表示下一状态
transition
table
158
state table
state/output
table
Digital Logic Design and Application (数字逻辑设计及应用)
Mealy机
EN
EN
EN’
Moore机
MAX
MAXS
D0
Q0
MAXS
=Q1·Q0
Q0
Q0’
D1
Q1
Q1’
CLK
159
Q1
Digital Logic Design and Application (数字逻辑设计及应用)
对应的Moore机
的状态表和状态图
160
Digital Logic Design and Application (数字逻辑设计及应用)
Timing Diagram for a State Machine
(状态机的定时图)
161
Digital Logic Design and Application (数字逻辑设计及应用)
Moore 机
Mealy 机
S*/MAX 或 S*,MAX
具有使能端EN的2位二进制加法计数器
162
Moore机
MAX
MAXS
163
Mealy机
第7章作业

7.4(7.2)
 7.5(7.3)
 7.7(7.5)
 7.12(7.9)
 7.13(7.10)
 7.16(7.13)
 7.17(7.14)
 7.18(7.15)
 7.19(7.16)
164

7.20(7.19)
 7.21(7.20)(c)
7.41(7.27)
 7.43(7.28)
 7.46(7.34)
 7.51(7.47)
 7.52(7.49)
 7.77(7.68)
Digital Logic Design and Application (数字逻辑设计及应用)
A Class Problem ( 每课一题 )
Draw the Output Waveform of the D FlipFlop
CLK
PR_L
CLR_L
Q
165
Digital Logic Design and Application (数字逻辑设计及应用)
Chapter 7 Sequential Logic
Design Principles
( 时序逻辑设计原理 )

Latches and Flip-Flops
(锁存器和触发器 )
 Clocked Synchronous State-Machine Analysis
(同步时序分析)
 Clocked Synchronous State-Machine Design
(同步时序设计)
166
Digital Logic Design and Application (数字逻辑设计及应用)
Review of Last Class (内容回顾)
同步时序电路 —— 时钟同步状态机
存储元件状态的变化是在同一时钟信号操作下同时发生的
异步时序电路
存储元件状态的变化不是同时发生的

Mealy型
输出信号取决于存储电路状态和输入信号

Moore型
输出信号仅取决于存储电路状态
167
Digital Logic Design and Application (数字逻辑设计及应用)
Review of Last Class (内容回顾)
 时钟同步状态机分析的基本步骤:
 确定下一状态函数F
和输出函数G
 将F代入触发器的特征方程得到下一状态Q*
 利用Q*、G构造状态/输出表
 画出状态图、波形图(可选)
 检查电路是否可以自启动
 描述电路功能
168
Digital Logic Design and Application (数字逻辑设计及应用)
Example: Clocked Synchronous State
Machine Analysis (J_K Flip-Flop)
X
&
&
&
&
J
Q
CLK
K FF1 Q
&
J
Q
CLK
K
Q
FF2
CP
1、由电路得到激励方程
J1 = (X’· Q2’)’ = X+Q2
K1 = (X· Q2’)’
2、由电路得到输出方程
169
J2 = X’· Q1
K2 = (X’· Q1’)’
Y = X· Q2 · Q1
&
Y
Digital Logic Design and Application (数字逻辑设计及应用)
3、得到状态转换方程
J-K触发器特征方程为:Q* = J·Q’ + K’·Q
Q1* = J1· Q1’ + K1’· Q1 = (X+Q2)· Q1’ + X· Q2’· Q1
= Q2·Q1’ + X·Q1’ + X·Q2’·Q1
Q2* = J2· Q2’ + K2’· Q2 = X’· Q1· Q2’ + X’· Q1’· Q2
1、由电路得到激励方程
J1 = (X’· Q2’)’ = X+Q2
K1 = (X· Q2’)’
2、由电路得到输出方程
170
J2 = X’· Q1
K2 = (X’· Q1’)’
Y = X· Q2 · Q1
Digital Logic Design and Application (数字逻辑设计及应用)
4、由状态方程和输出方程列状态转换表
Q1* = Q2·Q1’ + X·Q1’ + X·Q2’·Q1
Q21’ +
Q2* = X’·
X’·Q
Q21’·· Q
+ X’·
X’· Q
Q21·’·QQ12’
状态转换表
Y = X· Q2 · Q1
X
S
0
1
00
01
10
11
00, 0
10, 0
11, 0
00, 0
01, 0
01, 0
01, 0
00, 1
Q2Q1
171
Q2*Q1*, Y
X Q2 Q1 Q2* Q1*
0 0 0 0 0
0 0 1 1 0
0 1 0 1 1
0 1 1 0 0
1 0 0 0 1
1 0 1 0 1
1 1 0 0 1
1 1 1 0 0
Y
0
0
0
0
0
0
0
1
Digital Logic Design and Application (数字逻辑设计及应用)
5、画状态图
X
S
0
1
00
01
10
11
00, 0
10, 0
11, 0
00, 0
01, 0
01, 0
01, 0
00, 1
Q2Q1
Q2*Q1*, Y
状态00:开始判断
状态01:输入一个1
状态10:连续输入10
状态11:连续输入100
172
1/0
0/0
00
0/0
01
1/1
0/0
1/0
10
11
X/Y
1/0
0/0
逻辑功能:1001序列检测器
输入端连续输入1001时,输出1
X: 0100100111001100100…
Y: 0000100000001000100…
Digital Logic Design and Application (数字逻辑设计及应用)
练习:同步时钟状态机分析
1、
1
2、
173
Digital Logic Design and Application (数字逻辑设计及应用)
练习1
1
1、由电路得到激励方程
J1 = (Q2· Q3)’
K1 = 1
J2 = Q1
K2 = (Q1’· Q3’)’
2、由电路得到输出方程
Y = Q 2 · Q3
174
J3 = Q1· Q2
K3 = Q2
Digital Logic Design and Application (数字逻辑设计及应用)
3、得到状态转换方程
J-K触发器特征方程为:Q* = J·Q’ + K’·Q
Q1* = J1· Q1’ + K1’· Q1 = (Q2· Q3)’· Q1’
Q2* = J2· Q2’ + K2’· Q2 = Q1· Q2’ + Q1’· Q3’· Q2
Q3* = J3· Q3’ + K3’· Q3 = Q1· Q2· Q3’ + Q2’· Q3
1、由电路得到激励方程
J1 = (Q2· Q3)’
K1 = 1
J2 = Q1
K2 = (Q1’· Q3’)’
2、由电路得到输出方程
Y = Q 2 · Q3
175
J3 = Q1· Q2
K3 = Q2
Digital Logic Design and Application (数字逻辑设计及应用)
4、列状态转换表
Q1* = (Q2· Q3)’· Q1’
Q2* = Q1· Q2’ + Q1’· Q3’· Q2
Q3* = Q1· Q2· Q3’ + Q2’· Q3
Y = Q2 · Q3
Q1* = Q3’· Q1’ + Q2’· Q1’
Q2* = Q2’· Q1 + Q3’· Q2 · Q1’
Q3* = Q3’ · Q2· Q1 + Q3· Q2’
Y = Q3 · Q2
176
Q3 Q2 Q1 Q*3 Q2* Q1* Y
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
1
1
0
0
0
1
1
0
0
1
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
1
1
Digital Logic Design and Application (数字逻辑设计及应用)
4、列状态转换表
逻辑功能描述:
能自启动的模7 加法计数器,对
时钟信号计数,输出为进位脉冲
5、画状态转换图
自启动的
Q3 Q2 Q1 Q*3 Q2* Q1* Y
111/1
000/0
110/1
101/0
001/0
Q3Q2Q1/Y
100/0
177
011/0
010/0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
1
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
1
1
Digital Logic Design and Application (数字逻辑设计及应用)
6、画时序图(可选)
178
注意是主从J-K触发器
Digital Logic Design and Application (数字逻辑设计及应用)
练习2
1、列驱动方程、状态方程、输出方程
D1 = Q1’
D2 = AQ1Q2
Q1* = D1 = Q1’
Q2* = D2 = AQ1Q2
179
Y = A’·Q2·Q1 + A·Q2’·Q1’
Digital Logic Design and Application (数字逻辑设计及应用)
2、列状态转换表
Q1* = Q1’
Q2* = AQ1Q2
A Q2 Q1 Q2* Q1* Y
0
0
0
0
1
1
1
1
180
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
0
1
0
0
0
0
1
1
0
0
0
Y = A’·Q2·Q1 + A·Q2’·Q1’
A
S
0
1
00
01
10
11
01, 0
10, 0
11, 0
00, 1
11, 1
00, 0
01, 0
10, 0
Q2Q1
Q2*Q1*, Y
Digital Logic Design and Application (数字逻辑设计及应用)
3、画状态转换图
功能描述:可逆计数器
A=0加法,A=1减法
A
S
0
1
00
01
10
11
01, 0
10, 0
11, 0
00, 1
11, 1
00, 0
01, 0
10, 0
Q2Q1
181
Q2*Q1*, Y
Digital Logic Design and Application (数字逻辑设计及应用)
2、列状态转换表
Q1* = Q1’
Q2* = AQ1Q2
182
A Q2 Q 1
Q2* Q1* Y
0
0
0
0
1
1
1
1
0
1
1
0
1
0
0
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
0
1
0
1
0
0
0
0
1
1
0
0
0
Y = A’·Q2·Q1 + A·Q2’·Q1’
Q2 Q1
00
A
01
11
10
0 01/0 10/0 00/1 11/0
1 11/1 00/0 10/0 01/0
Q2*Q1* / Y
Digital Logic Design and Application (数字逻辑设计及应用)
3、画状态转换图
功能描述:可逆计数器,
A=0加法,A=1减法
Q2nQ1n
00
A
01
11
10
0 01/0 10/0 00/1 11/0
1 11/1 00/0 10/0 01/0
183
Digital Logic Design and Application (数字逻辑设计及应用)
Clocked Synchronous StateMachine Design
(时钟同步状态机设计)
184
Digital Logic Design and Application (数字逻辑设计及应用)
7.4 Clocked Synchronous State-Machine
Design (时钟同步状态机设计)

State/output table (根据命题构造状态/输出表)

State minimization(状态化简(状态最小化))

State assignment (状态编码(选择状态变量))

Transition/output table
(建立转移/输出表,得到状态和输出方程)

Chose a flip-flop type (选择触发器作为状态存储器)

Excitation equations (构造激励表,得到激励方程)

Draw a Logic Diagram (画逻辑电路图)
185
Digital Logic Design and Application (数字逻辑设计及应用)
7.4 Clocked Synchronous State-Machine
Design Example(时钟同步状态机设计举例)
 设计入门:两个简单的例子
 设计一个3位二进制模8计数器
 设计一个110序列检测器


 状态表设计举例
 例一(7.4.1);例二(7.4.6);例三(7.4.6)
 状态图设计(雷鸟车尾灯
 猜谜游戏
186

)
Digital Logic Design and Application (数字逻辑设计及应用)
Design a Modulo-8 3-bit Binary Counter
( 设计一个模8的 3 位二进制计数器)
1、 State/Output Table (逻辑抽象,得到状态图(表))
对时钟信号计数,可不用输入
—— Moore机
取进位信号为输出变量
需要8个有效状态
2、State Assignment
(状态编码)
取自然二进制数 000~111
187
作为 S0 ~ S7 的编码
000 S0/0
S1/0 001
111 S7/1
S2/0 010
110 S6/0
S3/0 011
101 S5/0
S4/0 100
Digital Logic Design and Application (数字逻辑设计及应用)
3、Create a Transition/Output table to obtain
the State transition and output equations
(构造转移/输出表,求取 状态转移方程和 输出方程)
Q2 Q1 Q0 Q2*Q1*Q0* C
S0
S1
S2
S3
S4
S5
S6
S7
188
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1
000 S0/0
S1/0 001
111 S7/1
S2/0 010
110 S6/0
S3/0 011
101 S5/0
S4/0 100
Digital Logic Design and Application (数字逻辑设计及应用)
3、Create a Transition/Output table to obtain
the State transition and output equations
(构造转移/输出表,求取 状态转移方程和 输出方程)
Q2 Q1 Q0 Q2*Q1*Q0* C
0
0
0
0
1
1
1
1
189
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1
Q0* = Q0’
Q0 * Q Q
1 0
00 01
Q2
0
1
11 10
1
0
0
1
1
0
0
1
Digital Logic Design and Application (数字逻辑设计及应用)
3、Create a Transition/Output table to obtain
the State transition and output equations
(构造转移/输出表,求取 状态转移方程和 输出方程)
190
Q2 Q1 Q0 Q2*Q1*Q0* C
Q0* = Q0’
0
0
0
0
1
1
1
1
Q1* = Q1’·Q0 + Q1·Q0’
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1
Q1* Q Q
1 0
00 01
Q2
11 10
0
0
1
0
1
1
0
1
0
1
Digital Logic Design and Application (数字逻辑设计及应用)
3、Create a Transition/Output table to obtain
the State transition and output equations
(构造转移/输出表,求取 状态转移方程和 输出方程)
191
Q2 Q1 Q0 Q2*Q1*Q0* C
Q0* = Q0’
0
0
0
0
1
1
1
1
Q1* = Q1’·Q0 + Q1·Q0’
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1
输出方程:C = Q2· Q1· Q0
Q2* = Q2’·Q1·Q0 +
Q2·Q1’ + Q2·Q0’
Q2* Q Q
1 0
00 01
Q2
11 10
0
0
0
1
0
1
1
1
0
1
Digital Logic Design and Application (数字逻辑设计及应用)
4、Choose a Flip-Flop Type, Obtain the
Excitation Equations
(触发器选型,得到激励方程)
Q0* = Q0’
翻转
EN0 = 1
Q* = Q’(T触发器)
Q* = EN·Q’ + EN’·Q
选择有使能端的T触发器
Q1* = Q1’·Q0 + Q1·Q0’
EN1 = Q0
Q2* = Q2’·Q1·Q0 + Q2·Q1’ + Q2·Q0’
= Q2’·Q1·Q0 + Q2· (Q1’+Q0’)
= Q2’·Q1·Q0 + Q2· (Q1·Q0)’
192
EN2 = Q1·Q0
Digital Logic Design and Application (数字逻辑设计及应用)
5、Draw a Logic Diagram (画逻辑电路图)
1
Q0
CLK
EN0 = 1
EN1 = Q0
EN2 = Q1·Q0
C = Q2· Q1· Q0
Q1
Q2
C
193
Digital Logic Design and Application (数字逻辑设计及应用)
Design a Serial Data Detector of 110
(设计一个110串行数据检测器)
电路检测到输入连续出现110时,输出为1
用A表示输入数据;用Z表示检测结果。
1、State/Output table
状态S
(得到状态转换表)
A
0
1
开始,等待第一个1  STA STA/0 A1/0
A上捕获一个1  A1
STA/0 A11/0
A上连续捕获11  A11
OK/1 A11/0
A上连续捕获110  OK
STA/0 A1/0
S*/Z
194
Mealy机
Digital Logic Design and Application (数字逻辑设计及应用)
识别等效状态 ,如果两个状态
 对于所有输入组合产生相同的输出
 对于每种输入组合具有相同或等效的下一状态
1、得到状态转换表
A
2、State
状态S
0
1
Minimization
00 00 STA STA/0 A1/0
(状态化简
(状态最小化))01 01 A1 STA/0 A11/0
195
3、State
Assignment
(状态编码)
11 10 A11
OK
OK/1 A11/0
STA/0
S*/ZA1/0
S*/Z
Digital Logic Design and Application (数字逻辑设计及应用)
Q1Q 0
A
00
01
0 0
1 0
状态S
00 STA
01 A1
10 A11
Z
11
10
0
d
1
0
d
0
A
0
1
STA/0 A1/0
STA/0 A11/0
STA/1 A11/0
S*/Z
196
4、State Equations and
Output Equations
(得到状态方程和输出方程)
Q1Q0
00
01
11
10
A
0 00/0 00/0 dd/d 00/1
1 01/0 10/0 dd/d 10/0
Digital Logic Design and Application (数字逻辑设计及应用)
Q1Q 0
A
00
01
0 0
1 0
Z
11
10
0
d
1
0
d
0
4、State Equations and
Output Equations
(得到状态方程和输出方程)
Q1Q0
00
01
11
10
A
0 00/0 00/0 dd/d 00/1
Z = A’·Q1
Q 1Q0
A
1 01/0 10/0 dd/d 10/0
Q1*
00
01
11
10
0 0
0
d
0
1 0
1
d
1
Q1* = A·Q1 + A·Q0
197
Q1Q0
A
Q0 *
00
01
11
10
0 0
0
d
0
1 1
0
d
0
Q0* = A·Q1’·Q0’
Digital Logic Design and Application (数字逻辑设计及应用)
5、Excitation Equations (得到激励方程)
Q0* = A·Q1’·Q0’ = (A·Q1’)·Q0’ + 1’·Q0
Q1* = A·Q1 + A·Q0 = A·Q1 + A·Q0 ·(Q1+Q1’)
= A·Q1 + A·Q0 ·Q1 + A·Q0·Q1’
= A·Q1 + A·Q0·Q1’
选择D触发器
D1 = A·Q1 + A·Q0
D0 = A·Q1’·Q0’
198
选择J-K触发器
Q* = J·Q’ + K’·Q
J1 = A·Q0
K1 = A’
J0 = A·Q1’
K0 = 1
Digital Logic Design and Application (数字逻辑设计及应用)
6、Check the Circuit Self-Startup
(检查电路的自启动性)
Q0* = A·Q1’·Q0’
Q1* = A·Q1 + A·Q0
7、Draw a Logic Diagram
(画逻辑电路图)(略)
Z = A’·Q1
1/0
0/0
00
当电路进入无效状态11后,
A=0时, 下一状态为 00
A=1时,下一状态为 10
该电路是自启动的
199
0/1
0/0
0/1
11
1/0
01
1/0
10
全状态图
1/0
Digital Logic Design and Application (数字逻辑设计及应用)
7.4.1 State Table Design Example
1
(状态表设计(例一))
Design a clocked synchronous state machine
with two inputs, A and B, and a single output
Z that is 1 if:
(设计一个具有2个输入(A、B),1个输出(Z)
的时钟同步状态机,Z为1的条件是:)
200
Digital Logic Design and Application (数字逻辑设计及应用)
7.4.1 State Table Design Example
1
(状态表设计(例一))

A had the same value at each of the two
previous clock ticks
( 在前2个脉冲触发沿上,A的值相同 )

B has been 1 since the last time that the first
condition was true.
( 从上一次第1个条件为真起,B的值一直为1 )
201
Digital Logic Design and Application (数字逻辑设计及应用)
1、State/output
Table
(构造状态转换表)
S
AB
00
01
11
10
A0
A0
A1
A1
0
A上捕获一个0  A0
OK0
OK0
A1
A1
0
A上捕获一个1  A1
A0
A0
初始状态  INIT
A上连续两个0  OK0
OK1 OK1
OK0 OK0 OK1B A1
0
1
A上连续两个1  OK1
A0 OK0B OK1 OK1
1
因B而OK,A为1  OK1B
A0 OK0B OK1 OK1
1
因B而OK,A为0  OK0B OK0 OK0 OK1B A1
状态含义
202
Z
S*
1
Digital Logic Design and Application (数字逻辑设计及应用)
1、构造状态转换表
S
AB
00
01
11
10
A0
A0
A1
A1
0
A上捕获一个0  A0
OK0
OK0
A1
A1
0
A上捕获一个1  A1
A0
A0
2、状态最小化
初始状态  INIT
A上连续两个0  OK0
OK,A值为0
OK1 OK1
OK0 OK0 OK1B
OK1 A1
0
1
A上连续两个1  OK1
OK,A值为1
A0 OK0B
OK0 OK1 OK1
1
因B而OK,A为1  OK1B
A0 OK0B
OK0 OK1 OK1
1
因B而OK,A为0
OK,A值为0  OK0B OK0 OK0 OK1B
OK1 A1
状态含义
203
Z
S*
1
Digital Logic Design and Application (数字逻辑设计及应用)
8!
3
种
1、构造状态转换表 从2 中选5种一共有
AB 5!×3!
S
Z
00
01
11
10
2、状态最小化
5种编码5个状态,又有5!种
初始状态  INIT
3、状态编码
A上捕获一个0  A0
A0
A0
A1
A1
0
OK0
OK0
A1
A1
0
A上捕获一个1
 A1
最简单的
分解的 A0
OK,A值为0  OK0
000
OK,A值为1  OK1
100
101
A0 OK1
单热点的
OK0 OK0
A0
OK0
OK1
OK1 0
准单热点的
A1
OK1 OK1
1
1
S*
110
111
真的需要一一尝试吗?合理的状态赋值(7.4.3)
204
Digital Logic Design and Application (数字逻辑设计及应用)
7.4.3 合理的状态赋值
205

选择复位时容易进入的状态作为初始状态

使每次转移时要发生改变的状态变量数最小化

使一组相关状态中不变化的状态变量数最大化

发现和利用问题描述中的对称性

将状态变量组分解为有明确含义的位或字段,相
对于状态机的输入效果或者输出特性

可以使用多余最小值的状态变量数(便于分解)

未用状态的考虑
Digital Logic Design and Application (数字逻辑设计及应用)
4、根据状态表和状态编码构造转移/输出表
S
Q1Q2Q3
5个输入变量:
INIT
000
A,B,Q1,Q2,Q3
100
A0
4个输出变量:
101
A1
Z,D1,D2,D3
OK0
110
OK1
111
使用D触发器
AB
01
11
10
100
A0
100
A0
101
A1
101
A1
0
OK0
110
OK0 101
110
A1
101
A1
0
A0 100
A0
100
OK0
110 OK0
110
OK1 111
OK1
111
0
OK1
111 101
A1
1
100
A0 OK0
110
111
OK1 OK1
111
1
S*D3
Q1*Q2*Q3*
D1 D2
转移/激励表
5、触发器选型,得到激励方程和输出方程
206
Z
00
D2 AB
00 01 11 10
Q2Q3
最小冒险,未用状态初始状态
00 0
0
0
0
01 0
0
0
0
11 0
0
0
0
000
100 100 101 101
0
Q1=0 10 0
0
0
0
100
110 110 101 101
0
101
100 100 111 111
0
00 01 11 10
110
110 110 111 101
1
00
1
1
0
0
111
100 110 111 111
1
01
0
0
1
1
11
0
1
1
1
Q1=1 10
1
1
1
0
AB
Q2Q3
207
Q1Q2Q3
AB
00
01
11
10
Q1*Q2*Q3*
D1 D2 D3
输出方程:Z = Q1·Q2
Z
Digital Logic Design and Application (数字逻辑设计及应用)
D2 AB
00 01 11 10
Q2Q3
00 0
0
0
0
01 0
0
0
0
11 0
0
0
0
Q1=0 10 0
0
0
0
AB
Q2Q3
00 01 11 10
00
1
1
0
0
01
0
0
1
1
11
0
1
1
1
Q1=1 10
1
1
1
0
208
最小冒险,未用状态初始状态
D2 = Q1·Q3’·A’ + Q1·Q3·A
+ Q1·Q2·B
D2 AB
00 01 11 10
Q2Q3
00 0
0
0
0
01 d
d
d
d
11 d
d
d
d
Q1=0 10 d
d
d
d
最小成本,未用状态作为无关项
D2 = Q1·Q3’·A’ + Q3·A+ Q2·B
Digital Logic Design and Application (数字逻辑设计及应用)
D1 = Q2’·Q3’ + Q1
D2 = Q1·Q3’·A’ + Q1·Q3·A + Q1·Q2·B
D1
思考:最小成本法D1=?
209
Digital Logic Design and Application (数字逻辑设计及应用)
D1 = Q2’·Q3’ + Q1
激励方程
D2 = Q1·Q3’·A’ + Q1·Q3·A + Q1·Q2·B
D3 = Q2’·Q3’·A + Q1·A
D3
思考:最小成本法D3=?
210
Digital Logic Design and Application (数字逻辑设计及应用)
D1 = Q2’·Q3’ + Q1
激励方程
D2 = Q1·Q3’·A’ + Q1·Q3·A + Q1·Q2·B
D3 = Q2’·Q3’·A + Q1·A
输出方程:Z = Q1·Q2
6、画逻辑电路图(略)
说明:
 最小冒险法
所有未用状态  “安全”状态(图7-50 )
 最小成本法
所有未用状态的下一状态作为无关项
电路的激励方程简单,不够安全
211
Digital Logic Design and Application (数字逻辑设计及应用)
7.4.5 Design with J-K Flip-Flops
(用J-K触发器设计)
 方法一
利用状态方程和触发器特征方程得到激励方程
 方法二
利用状态转移表和激励表得到激励方程
激励表
功能表
J K
0
0
1
1
212
Q
0 保持
1 清0
0 置1
1 翻转
Q Q*
J K
0
0
1
1
0
1
d
d
0
1
0
1
d
d
1
0
Digital Logic Design and Application (数字逻辑设计及应用)
Design with State Equations and
Characteristic Equations
(利用状态方程和特征方程设计)
J-K触发器特征方程:Q* = J·Q’ + K’·Q
Q1* = Q2’·Q3’ + Q1
状态方程
Q2* = Q1·Q3’·A’ + Q1·Q3·A + Q1·Q2·B
Q3* = Q2’·Q3’·A + Q1·A
J1 = Q2’·Q3’
K1 = 0
Q1* = Q2’·Q3’ + Q1
= Q2’·Q3’·(Q1’+Q1) + Q1
= Q2’·Q3’·Q1’+ Q2’·Q3’·Q1 + Q1
= Q2’·Q3’·Q1’ + Q1
213
Digital Logic Design and Application (数字逻辑设计及应用)
Design with State Equations and
Characteristic Equations
(利用状态方程和特征方程设计)
J-K触发器特征方程:Q* = J·Q’ + K’·Q
Q1* = Q2’·Q3’ + Q1
状态方程
Q2* = Q1·Q3’·A’ + Q1·Q3·A + Q1·Q2·B
Q3* = Q2’·Q3’·A + Q1·A
J1 = Q2’·Q3’
214
Q3* = Q2’·Q3’·A + Q1·A
K1 = 0
= Q2’·Q3’·A + Q1·A·(Q3’+Q3)
J3 = Q2’·A + Q1·A
= (Q2’·A + Q1·A)·Q3’+ Q1·A·Q3
K3 = Q1’ + A’
Digital Logic Design and Application (数字逻辑设计及应用)
Q2* = Q1·Q3’·A’ + Q1·Q3·A + Q1·Q2·B
= (Q1·Q3’·A’ + Q1·Q3·A)·(Q2’+Q2) + Q1·Q2·B
= (Q1·Q3’·A’ + Q1·Q3·A)·Q2’
+ (Q1·Q3’·A’ + Q1·Q3·A + Q1·B)·Q2
K2 = (Q1·Q3’·A’ + Q1·Q3·A + Q1·B)’
= (Q1’+Q3+A)·(Q1’+Q3’+A’)·(Q1’+B’)
J1 = Q2’·Q3’
K1 = 0
215
= Q1’ + Q3’·A·B’ + Q3·A’·B’
J3 = Q2’·A + Q1·A
J2 = Q1·Q3’·A’ + Q1·Q3·A
K3 = Q1·A
K2 = Q1’ + Q3’·A·B’ + Q3·A’·B’
Digital Logic Design and Application (数字逻辑设计及应用)
Design with the Excitation table
( 利用激励表进行J-K触发器设计)
Q1Q2Q3
000
100
101
110
111
216
AB
Z
00
01
11
10
100
100
101
101
0
110
110
101
101
0
100
100
111
111
0
110
110
111
101
1
100
110
111
111
1
1d,0d,0d 1d,0d,0d 1d,0d,1d 1d,0d,1d
d0,1d,0d d0,1d,0d d0,0d,1d d0,0d,1d
d0,0d,d1 d0,0d,d1 d0,1d,d0 d0,1d,d0
d0,d0,0d d0,d0,0d d0,d0,1d d0,d1,1d
d0,d1,d1 d0,d0,d1 d0,d0,d0 d0,d0,d0
J1K1
Q1*Q2*Q3*
, J2K2 , J3K3
Digital Logic Design and Application (数字逻辑设计及应用)
利用卡诺图化简
Q1Q2Q3
217
AB
00
01
11
10
Z
000
100
100
101
101
1d,0d,0d
1d,0d,0d
1d,0d,1d
1d,0d,1d
0
100
110
110
101
101
d0,1d,0d
d0,1d,0d
d0,0d,1d
d0,0d,1d
0
101
100
100
111
111
d0,0d,d1
d0,0d,d1
d0,1d,d0
d0,1d,d0
0
110
110
110
111
101
d0,d0,0d
d0,d0,0d
d0,d0,1d
d0,d1,1d
1
111
100
110
111
111
d0,d1,d1
d0,d0,d1
d0,d0,d0
d0,d0,d0
1
J1K1
Q1*Q2*Q3*
, J2K2 , J3K3
Digital Logic Design and Application (数字逻辑设计及应用)
7.4.6 Example 2: 1s-Counting Machine
(例二:“1”计数器)
对两个输入X和Y同时计数,
当X和Y输入1的个数和为4的整数倍时输出为1
含义
S
XY
01
11
10
起始状态  S0
S0
S1
S2
S1
1
01 收到一个1  S1
S1
S2
S3
S2
0
11 收到两个1  S2
S2
S3
S0
S3
0
10 收到三个1  S3
S3
S0
S1
S0
0
00
S*
218
Z
00
Digital Logic Design and Application (数字逻辑设计及应用)
7.4.6 Example 3: Combination Lock
(例三:组合锁)
219
7.5 Control the Tail Lights of Ford Thunderbird
(福特雷鸟车尾灯控制)
输入:左转L、右转R、应急闪烁H(hazard)、时钟
输出:控制6个灯亮或灭
—— 可以完全由状态控制
220
LC
LB
LA
RA
RB
RC
Digital Logic Design and Application (数字逻辑设计及应用)
直接利用状态控制输出
输 出
IDLE:全灭
L1:左边1个灯亮
L2:左边2个灯亮
L3:左边3个灯亮
R1:右边1个灯亮
R2:右边2个灯亮
R3:右边3个灯亮
LR3:全亮
221
状态
Digital Logic Design and Application (数字逻辑设计及应用)
1、构造状态图
无二义性的
IDLE:全灭
L2
1
1
L3
L1
L1:左边1个灯亮
1
L·H’·R’
L
1
L2:左边2个灯亮
L3:左边3个灯亮
H’·L’·R’
IDLE
R1:右边1个灯亮
R2:右边2个灯亮
R3:右边3个灯亮
LR3:全亮
1
R
R·H’·L’
R3
R1
1
1
R2
222
H+L·R
H
LR3
Digital Logic Design and Application (数字逻辑设计及应用)
1、构造状态图
无二义性的
Mutual Exclusion
(互斥性)
H’·R’
1
1
H’·R’
L3
离开某一状态的弧线
上的所有转移表达式的
逻辑和为1。
223
H+R
L1
1
离开某一状态的弧线
上的任意一对转移表达 H’·L’·R’
式的逻辑积为0
All Inclusion
(完备性)
改进
L2
IDLE
1
H+R
L·H’·R’
L
1
H+L·R
H
R
R·H’·L’
R3
LR3
H+L
R1
1
H’·L’
1
H’·L’
R2
H+L
Digital Logic Design and Application (数字逻辑设计及应用)
1、构造状态图
2、状态编码
IDLE
L1
L2
L3
R1
R2
R3
LR3
Q2Q1Q0
0 0 0
0 0 1
0 1 1
0 1 0
1 0 1
1 1 1
1 1 0
1 0 0
合理的状态赋值
224
3、得到转移列表 7-14
Digital Logic Design and Application (数字逻辑设计及应用)
1、构造状态图
2、状态编码
Q2Q1Q0
000
000
000
000
225
S
IDLE
3、得到转移列表 7-14
转移表达式
S*
Q2*Q1*Q0*
H’·L’·R’
L·H’·R’
IDLE
L1
0 0 0
0 0 1
R·H’·L’
H+L·R
R1
LR3
1 0 1
1 0 0
Digital Logic Design and Application (数字逻辑设计及应用)
Q2Q1Q0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0 1 1
0 1 1
0 1 0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1 0 0
226
S
转移表达式
S*
H’·L’·R’
L·H’·R’
R·H’·L’
H+L·R
H’·R’
H+R
IDLE
L1
R1
LR3
L2
LR3
0
0
1
1
0
1
0
0
0
0
1
0
H’·R’
H+R
1
L3
LR3
IDLE
0
1
0
1
0
0
H’·L’
H+L
R3
H’·L’
H+L
1
R2
LR3
R3
LR3
IDLE
1
1
1
1
0
1
0
1
0
0
0
Q0* =
1
1
Q2’·Q1’·Q0’·(L·H’·R’)
0
+ Q2’·Q1’·Q0’·(R·H’·L’)
1
0 + Q2’·Q1’·Q0·(H’·R’)
0
+ Q2·Q1’·Q0·(H’·L’)
0
0 = Q2’·Q1’·Q0’· H’·(LR)
1
+ Q2’·Q1’·Q0·(H’·R’)
0
+ Q2·Q1’·Q0·(H’·L’)
0
0
0
LR3
1
IDLE
0
0
0
IDLE
L1
L2
L3
R1
R2
Q2*Q1*Q0*
用转移表综合
状态机
Digital Logic Design and Application (数字逻辑设计及应用)
7.7 Guessing Game Machine
(猜谜游戏机)
4个灯(G1~G4)由时钟控制轮流亮起
如果按下的按钮(L1~L4)与亮的灯对应,则猜对
否则,ERR灯亮,表示猜错

输入:G1、G2、G3、G4(4个按钮)

输出:L1、L2、L3、L4、ERR(5个灯)

状态:6个,S1~S4对应L1~L4
Serr对应ERR;SOK表示猜对
227
Digital Logic Design and Application (数字逻辑设计及应用)
4个灯(G1~G4)
由时钟控制轮流亮起
G1’·G2’·G3’·G4’ (没有按钮按下)
S1
L1=1
S2
L2=1
G1’·G2’·G3’·G4’
S3
L3=1
G1’·G2’·G3’·G4’
S4
L4=1
228
G1’·G2’·G3’·G4’
Digital Logic Design and Application (数字逻辑设计及应用)
G1·G2’·G3’·G4’
S1
L1=1
G1’·G2’·G3’·G4’
G1’·G2·G3’·G4’
S2
L2=1
G1’·G2’·G3’·G4’
SOK
G1’·G2’·G3·G4’
S3
L3=1
G1’·G2’·G3’·G4’
G1’·G2’·G3’·G4
229
G1’·G2’·G3’·G4’
S4
L4=1
如果按下的按钮
与亮的灯对应,
则猜对(SOK)
Digital Logic Design and Application (数字逻辑设计及应用)
否则猜错(Serr)
G1·G2’·G3’·G4’
S1
L1=1
G2+G3+G4
G1’·G2’·G3’·G4’
G1’·G2·G3’·G4’
S2
L2=1
G1+G3+G4
Serr
ERR=1
G1’·G2’·G3’·G4’
SOK
G1’·G2’·G3·G4’
S3
L3=1
G1+G2+G4
G1’·G2’·G3’·G4’
G1’·G2’·G3’·G4
230
G1’·G2’·G3’·G4’
S4
L4=1
G1+G2+G3
Digital Logic Design and Application (数字逻辑设计及应用)
G1’·G2’·G3’·G4’
G1·G2’·G3’·G4’
S1
L1=1
G1’·G2’·G3’·G4’
G2+G3+G4
G1’·G2’·G3’·G4’
G1’·G2·G3’·G4’
G1+G3+G4
Serr
ERR=1
G1’·G2’·G3’·G4’
SOK
G1’·G2’·G3·G4’
G1+G2+
G3+G4
S3
L3=1
G1+G2+G4
G1+G2+
G3+G4
G1’·G2’·G3’·G4’
G1’·G2’·G3’·G4
231
S2
L2=1
G1’·G2’·G3’·G4’
S4
L4=1
G1+G2+G3
状态转换图
Digital Logic Design and Application (数字逻辑设计及应用)
1、状态转换图
2、状态编码
编码
状态 用输出作为状态编码
无关项的使用
Q2Q1Q0
S
L1 L2 L3 L4 ERR L1 L2 L3 L4 ERR
0 0 0
0 0 1
0 1 1
0 1 0
1 0 0
1 0 1
表7-15
232
S1
S2
S3
S4
SOK
SERR
1
0
0
0
0
0
0
1
0
0
0
0
0 0
0 0
1 0
0 1
0 0
0 0
表7-16
0
0
0
0
0
1
3、转移列表
1
0
0
0
0
0
X
1
0
0
0
0
X X
X X
1 X
0 1
0 0
0 0
表7-18
X
X
X
X
0
1
第7章作业

7.4(7.2)
 7.5(7.3)
 7.7(7.5)
 7.12(7.9)
 7.13(7.10)
 7.16(7.13)
 7.17(7.14)
 7.18(7.15)
 7.19(7.16)
233

7.20(7.19)
 7.21(7.20)(c)
7.41(7.27)
 7.43(7.28)
 7.46(7.34)
 7.51(7.47)
 7.52(7.49)
 7.77(7.68)