第7章 时序逻辑设计原理

185
制制 制制制 1 制7制 制制制制制制制制 制制制制制制制 制制制制制制 制制制制制制 制制制制制制制制制

description

数字逻辑设计及应用. 第7章 时序逻辑设计原理. 锁存器和触发器 同步时序分析 同步时序设计. 基本概念. 逻辑电路分为两大类: 组合逻辑电路 ( c ombinational logic circuit) 时序逻辑电路 ( sequential logic circuit). 任何时刻的输出仅取决与当时的输入. 电路特点:无反馈回路、无记忆元件. 任一时刻的输出不仅取决与当时的输入, 还取决于过去的输入序列. 电路特点:有 反馈回路 、有 记忆元件. X0 Y0. X1 Y1. Xn Yn. C1. C2. 串 行 - PowerPoint PPT Presentation

Transcript of 第7章 时序逻辑设计原理

Page 1: 第7章   时序逻辑设计原理

制作:金燕华1

第 7 章 时序逻辑设计原理 锁存器和触发器 同步时序分析 同步时序设计

数字逻辑设计及应用

Page 2: 第7章   时序逻辑设计原理

制作:金燕华2

基本概念逻辑电路分为两大类:组合逻辑电路( combinational logic circuit )

时序逻辑电路( sequential logic circuit )

任何时刻的输出仅取决与当时的输入

任一时刻的输出不仅取决与当时的输入,还取决于过去的输入序列

电路特点:无反馈回路、无记忆元件

电路特点:有反馈回路、有记忆元件

Page 3: 第7章   时序逻辑设计原理

制作:金燕华3

思考:能否只用一片 1 位全加器进行串行加法??

C1

S0

X0 Y0

C0

X YCI CO

S

X YCI CO

S

X YCI CO

SC0

S0 S1 Sn

X0 Y0 X1 Y1 Xn Yn串行加法器

C1 C2

X YCI CO

SC2

S1

X1 Y1

C1

反馈利用反馈和时钟控制

C3

S2

X2 Y2

C2

Page 4: 第7章   时序逻辑设计原理

制作:金燕华4

暂存

X YCI CO

SCi+1

Si

Xi Yi

Ci

X YCI CO

S

X YCI CO

S

X YCI CO

SC0

S0 S1 Sn

X0 Y0 X1 Y1 Xn Yn串行加法器

C1 C1

时钟控制

需要具有记忆功能的逻辑单元,能够暂存运算结果。

利用反馈和时钟控制

Page 5: 第7章   时序逻辑设计原理

制作:金燕华5

7.1 双稳态元件

Q

Q_L

1

10

0 Q

Q_L

电路有两种稳定状态: Q = 1 ( 1 态 ) 和 Q = 0 ( 0 态 )

—— 双稳电路( bistable )

只要一接电源,电路就随机出现两种状态中的一种,并永久地保持这一状态。

0

01

1

Page 6: 第7章   时序逻辑设计原理

制作:金燕华6

Vin1

Vout1

Vin2

Vout2

Vout2

Vin2

= Vin2

= Vout2

稳态 stable

亚稳态 metastableQ

Q_L

Vin1 Vout1

Vin2 Vout2

Page 7: 第7章   时序逻辑设计原理

制作:金燕华7

所有的时序电路对亚稳态都是敏感的

亚稳态特性

稳态 稳态

亚稳态

随机噪声会驱动工作于亚稳态点的电路转移到一个稳态的工作点上去

Q

Q_L从一个“稳态”转换到另一个“稳态”需加一定宽度的脉冲(足够的驱动)

Page 8: 第7章   时序逻辑设计原理

制作:金燕华8

7.2 锁存器与触发器—— 是大多数时序电路的基本构件

锁存器( Latch )根据输入,直接改变其输出(无使能端)有使能端时,在时钟信号的有效电平之内都可根据数据直接改变其输出状态

触发器( Flip-Flop , F/F )只在时钟信号的有效边沿改变其输出状态

Page 9: 第7章   时序逻辑设计原理

制作:金燕华9

7.2 锁存器与触发器 S-R 锁存器 具有使能端的 S-R 锁存器 D 锁存器 边沿触发式 D 触发器 具有使能端的边沿触发式 D 触发器 扫描触发器 主从式触发器( S-R 、 J-K ) 边沿触发式 J-K 触发器 T 触发器

Page 10: 第7章   时序逻辑设计原理

制作:金燕华10

S-R 锁存器

Q

QL

R

S

( 1 ) S = R = 0

电路维持原态

工作原理:0

0

Q

QL

或非门 非门

Qn+1 = Qn

QLn+1 = QLn

新态

原态

Page 11: 第7章   时序逻辑设计原理

制作:金燕华11

S-R 锁存器

Q

QL

R

S

工作原理:1

0

( 2 ) S = 0, R = 1

a. 原态: Qn=0 , QLn=1

0

1

新态: Qn+1=0 , QLn+1=1

b. 原态: Qn=1 , QLn=0

新态: Qn+1=0 , QLn+1=1

锁存器清 0 : Qn+1=0 QLn+1=1

即使 S,R 无效( =0 )锁存器仍能锁定 0 态

Reset1

0

(a)

Q

QL

R

S

1

0

0

1(b)

0

010

1

Page 12: 第7章   时序逻辑设计原理

制作:金燕华12

S-R 锁存器

Q

QL

R

S

工作原理:0

1

( 3 ) S = 1, R = 0

a. 原态: Qn=1 , QLn=0

1

0

新态: Qn+1=1 , QLn+1=0

b. 原态: Qn=0 , QLn=1

新态: Qn+1=1 , QLn+1=0

锁存器置 1 : Qn+1=1 QLn+1=0

即使 S,R 无效( =0 )锁存器仍能锁定 1 态

Set0

1

(a)

Q

QL

R

S

0

1

1

0(b)

0

0

1

1

0

Page 13: 第7章   时序逻辑设计原理

制作:金燕华13

S-R 锁存器

Q

QL

R

S

工作原理:( 3 ) S = R = 1

0

0

Qn+1 = QLn+1 = 0

当 S,R 无效( =0 )时,

1

1

Q

QN

0

0

亚稳态,对噪声敏感状态不确定

“ 禁止”

Page 14: 第7章   时序逻辑设计原理

制作:金燕华14

S-R 锁存器的功能描述

S Q

R QL

逻辑符号

S Q

R Q

逻辑符号

Q

QL

R

S

reset

set

清 0

置 10 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

S R

010011

0*0*

Qn Qn+1

状态转移真值表

0 00 11 01 1

S R

维持原态0 11 0

0* 0*

Q QL

功 能 表

Page 15: 第7章   时序逻辑设计原理

制作:金燕华15

状态图

S-R 锁存器的功能描述

0

0

0 1

1 1

0

1

00 01 11 10Qn

SRQn+1

Qn+1 = S + R’·Qn

S·R = 0特征方程 约束条件

0 1

S=1,R=0

S=0,R=1

S=XR=0

S=0R=X

0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

S R

010011

0*0*

Qn Qn+1

状态转移真值表

Page 16: 第7章   时序逻辑设计原理

制作:金燕华16

tpw(min)

0 00 11 01 1

S R

维持原态0 11 0

0* 0*

Q QL

S

R

Q

tpLH(SQ) tpLH(SQ)

S

R

Q

QL

传播延迟

最小脉冲宽度

Page 17: 第7章   时序逻辑设计原理

制作:金燕华17

S-R 锁存器的动作特点输入信号在全部有效电平内,都能直接改变锁存器的状态(直接置位-复位触发器)

输入端需遵守约束条件抗干扰能力最低

当 S=R=1 ,然后同时取消时 S 和 R 端输入信号脉冲宽度过小 S 和 R 端输入信号同时取反

锁存器进入亚稳态

Page 18: 第7章   时序逻辑设计原理

制作:金燕华18

S - R 锁存器( latch )

S_L = R_L = 1

1 11 00 10 0

S_L R_L

维持原态0 11 0

1* 1*

Q QL

S-R 锁存器功能表

电路维持原态S_L = 1, R_L = 0 Q = 0, QL = 1

S_L = 0, R_L = 1 Q = 1, QL = 0

S_L = R_L = 0 Q=QL=1 ,不定状态

Q

QL

S_L

R_L

S

R清 0置 1不定

S Q

R Q

逻辑符号

Page 19: 第7章   时序逻辑设计原理

制作:金燕华19

具有使能端的 S-R 锁存器

S

R

C

Q

QL

S_L

R_L

0 X X1 0 01 0 11 1 01 1 1

C S R

维持原态维持原态

0 11 0

1* 1*

Q QL

功能表

(1). C = 0 时: 维持原态(2). C = 1 时:与 S-R 锁存器相

似注意:当 S=R=1 时,若 C 由 10 , 则下一状态不可预测。

逻 辑 符 号

SCR

Q

Q

—— 又称“时钟 S-R 锁存器”

Page 20: 第7章   时序逻辑设计原理

制作:金燕华20

0 X X1 0 01 0 11 1 01 1 1

C S R

维持原态维持原态

0 11 0

1* 1*

Q QL时钟 S-R 锁存器时序图

Q

S

R

C

动作特点:输入信号在时钟(使能端)有效期间,都能直接改变触发器的状态。

Page 21: 第7章   时序逻辑设计原理

制作:金燕华21

D 锁存器

D = 1 时, Q = 1

C = 0 ,

Q

QL

S

R

D

C

数据输入端

控制端ENABLE

CLK 、 G

输出状态保持不变输出随输入状态而改变C = 1 ,

D = 0 时, Q = 0Q = D

透明锁存器

C D Q QL

1 0 0 11 1 1 0

0 X 保 持

D 锁存器功能表

D Q

C Q

逻辑符号

Page 22: 第7章   时序逻辑设计原理

制作:金燕华22

特征方程: Qn+1 = D ( C=1 )

0 1

D=1

D=0

D=1D=0

01

D

01

Qn+1

状态转移真值表

D 锁存器的功能描述

状态图

Page 23: 第7章   时序逻辑设计原理

制作:金燕华23

Q

D

C

tpLH(CQ)

tpHL(DQ)

tpLH(DQ) tpHL(CQ)

在 C 的下降沿附近有一个时间窗这段时间内 D 输入一定不能变化

tsetup

建立时间setup time

thold

保持时间hold time

D 锁存器的时序图

Page 24: 第7章   时序逻辑设计原理

制作:金燕华24

锁存器的应用D QC Q

D QC Q

D QC Q

D QC Q

DIN[3:0] WR DOUT[3:0]RD

Page 25: 第7章   时序逻辑设计原理

制作:金燕华25

锁存器的应用

Q D

Q C

XYCI

Si

Ci+1

Xi

Yi

Ci

SCO

CLK

暂存

X YCI CO

SCi+1

Si

Xi Yi

Ci

时钟控制

串行输入、串行输出注意:时钟同步

再谈串行输入加法器的实现

Page 26: 第7章   时序逻辑设计原理

制作:金燕华26

《数字逻辑》期中考试安排时间: 11 月 6 日 星期六 下午 14:30~16:30地点: 1 ~ 70 人文 301

71 ~ 105 人文 225

106 ~ 120 人文 116

Page 27: 第7章   时序逻辑设计原理

制作:金燕华27

第 7 章 时序逻辑设计原理

锁存器和触发器 同步时序分析 同步时序设计

数字逻辑设计及应用

Page 28: 第7章   时序逻辑设计原理

制作:金燕华28

内容回顾时序逻辑电路

输出取决于输入和过去状态电路特点:有反馈回路、有记忆元件

双稳态元件Q

Q_L

0 态 和 1 态 稳态 稳态

亚稳态注意:亚稳态特性

Page 29: 第7章   时序逻辑设计原理

制作:金燕华29

内容回顾时序逻辑电路

输出取决于输入和过去状态电路特点:有反馈回路、有记忆元件

双稳态元件Q

Q_L

0 态 和 1 态

如何加入控制信号??

Q

QL

R

S

Page 30: 第7章   时序逻辑设计原理

制作:金燕华30

内容回顾锁存器与触发器

Q

QL

R

S

Q

QL

S_L

R_L

S

R

C

D

C

具有使能端的 S-R 锁存器S-R 锁存器

D 锁存器

S-R 锁存器

有约束条件

Page 31: 第7章   时序逻辑设计原理

制作:金燕华31

利用 COMS 传输门的 D 锁存器

QL

Q

TG

TG

D

C

EN

EN_L

A B

CMOS 传输门

TG

Page 32: 第7章   时序逻辑设计原理

制作:金燕华32

利用 COMS 传输门的 D 锁存器

QL

Q

TG1

TG2

D

CC = 0

TG1 断开

TG2 连通

保持原态

Q_L

Q

Page 33: 第7章   时序逻辑设计原理

制作:金燕华33

利用 COMS 传输门的 D 锁存器

QL

Q

TG1

TG2

D

CC = 1

TG1 连通

TG2 断开 QL = D’

Q = D

C D Q QL

1 0 0 11 1 1 0

0 X 保 持

功能表

Page 34: 第7章   时序逻辑设计原理

制作:金燕华34

锁存器的应用D QC Q

D QC Q

D QC Q

D QC Q

DIN[3:0] WR DOUT[3:0]RD

Page 35: 第7章   时序逻辑设计原理

制作:金燕华35

锁存器的应用

Q D

Q C

XYCI

Si

Ci+1

Xi

Yi

Ci

SCO

CLK

暂存

X YCI CO

SCi+1

Si

Xi Yi

Ci

时钟控制

串行输入、串行输出注意:时钟同步

再谈串行输入加法器的实现

Page 36: 第7章   时序逻辑设计原理

制作:金燕华36

触发器

只在时钟信号的边沿改变其输出状态

CLK

正边沿上升沿

负边沿下降沿

Page 37: 第7章   时序逻辑设计原理

制作:金燕华37

触发器从功能上分

D 触发器、 S-R 触发器、 J-K 触发器、 T 触发器

从结构上分主从结构触发器、边沿触发器

其他类型触发器带使能端的触发器、扫描触发器施密特触发器、单稳态触发器

Page 38: 第7章   时序逻辑设计原理

制作:金燕华38

D 触发器

D QC Q

D Q

C Q

Q

QL

D

CLK

CLK=0 时,

CLK=1 时,

主锁存器工作,接收输入信号 Qm = D

从锁存器不工作,输出 Q 保持不变

主锁存器不工作, Qm 保持不变从锁存器工作,将 Qm 传送到输出端

主 master 从 slaveQm

—— 主从结构

Page 39: 第7章   时序逻辑设计原理

制作:金燕华39

D

CLK

Q

Qm

D QC Q

D Q

C Q

Q

QL

D

CLK

Qm

Page 40: 第7章   时序逻辑设计原理

制作:金燕华40

D

CLK

Q

D CLK Q QL

0 0 11 1 0

X 0 保 持X 0 保 持

功能表

D Q

CLK Q

逻辑符号

表示边沿触发特性

Page 41: 第7章   时序逻辑设计原理

制作:金燕华41

D

CLK

Q

D

CLK

Q

D 锁存器

D 触发器 —— 边沿有效

—— 电平有效

Page 42: 第7章   时序逻辑设计原理

制作:金燕华42

触发器的应用利用触发器作为移位寄存器(图 1 )

思考:能否将触发器改为锁存器 ( 图2)D

CLK

Q1

Q

D QC Q

D Q

C Q

QD

CLK

latch latch

(图 1 )

Q1

D Q

CLK Q

D Q

CLK Q

QD

CLK

F / F F / F

(图 1 )

Q1

Page 43: 第7章   时序逻辑设计原理

制作:金燕华43

D 触发器的定时参数 传播延迟( CLKQ )

tpLH(CQ)

tpHL(CQ)

tsetup

建立时间 thold 保持时间

建立时间(输入信号先于时钟到达的时间) 保持时间(有效时钟沿后输入信号保持的时间)

D

CLK

Q

Page 44: 第7章   时序逻辑设计原理

制作:金燕华44

利用 CMOS 传输门实现 —— 主从结构从触发器主触发器

回顾:利用 COMS 传输门的 D 锁存器

Page 45: 第7章   时序逻辑设计原理

制作:金燕华45

CLK

Q

QL

D

利用与非门传输门实现 —— 主从结构具有预置和清零端的正边沿 D 触发器PR_L

CLR_L PRD Q CLK Q

CLR

PR ( preset )、 CLR ( clear )相当于: S ( set ) 、 R ( reset )

通常用于初始化电路状态、测试等

Page 46: 第7章   时序逻辑设计原理

制作:金燕华46

具有预置和清零端的正边沿 D 触发器时序图

CLK

PR_L

CLR_L

QL

Page 47: 第7章   时序逻辑设计原理

制作:金燕华47

维持阻塞结构 D 触发器

Page 48: 第7章   时序逻辑设计原理

制作:金燕华48

负边沿触发的 D 触发器

D QC Q

D Q

C Q

Q

QN

D

CLK

D Q

CLK Q

D QC Q

D Q

C Q

Q

QL

D

CLK

正边沿触发

Page 49: 第7章   时序逻辑设计原理

制作:金燕华49

2 选 1多路复用器

具有使能端的 D 触发器

D Q

CLK Q

D

EN

CLK

Q

QL

EN 有效( =1 ) 选择外部 D 输入EN 无效( =0 ) 选择触发器当前的输出

D QEN

CLK Q

逻辑符号

Page 50: 第7章   时序逻辑设计原理

制作:金燕华50

扫描触发器功能表: P392 图 7-22(b)

D Q

CLK Q

D

TE

CLK

Q

QLTI

TE = 0 正常操作 Q=D TE = 1 进入测试模式

测试使能端

测试输入端

D TETI

CLK

Q

Q

逻辑符号

Page 51: 第7章   时序逻辑设计原理

制作:金燕华51

TE = 0 正常操作 TE = 1 进行测试

每个触发器的输出端 Q 都与后一个触发器的 TI 端连接 TIN 端扫入一组测试向量(需若干个时钟触发沿) 再经过若干个时钟的正常操作( TE=0 ) 可以在 TO 端观察(扫出)电路的新状态

TIN

CLKTE

TO

Page 52: 第7章   时序逻辑设计原理

制作:金燕华52

主从式 S-R 触发器

S QCR Q

S QCR Q

C

S

R

Q

QN

SCR

Q

Q

回顾:有使能端的 S-R 锁存器 C 的有效电平期间,输入直接改变触发器的状态 输入信号需要遵守约束条件

希望输出在一个时钟周期内只变化一次—— 采用主从结构

Page 53: 第7章   时序逻辑设计原理

制作:金燕华53

亚 稳 态主锁存器输出

主从式 S-R 触发器的内部时序

暂时忽略延迟时间等动态特性

C

亚 稳 态

Page 54: 第7章   时序逻辑设计原理

制作:金燕华54

亚 稳 态

是不是边沿触发??C

亚 稳 态

虽然输出在一个时钟周期只可能变化一次但不能算是边沿触发

Page 55: 第7章   时序逻辑设计原理

制作:金燕华55

SCR

Q

Q

D QC Q

D Q

C Q

Q

QN

D

CLK

D Q

CLK Q

思考:同样是主从结构, 为什么由 D 锁存器构成的可以称为边沿 D 触发器, 而由 S-R 锁存器构成的不能称为边沿 S-R 触发器?

S QCR Q

C

S

R

Q

QL

S QCR Q 延迟输出

C 无效时输出变化

动态输入指示边沿触发

Page 56: 第7章   时序逻辑设计原理

制作:金燕华56

主从式 J-K 触发器消除主从 S-R 触发器存在的约束条件利用反馈消除主从 S-R 触发器存在的约束条件

Qn+1 = S + R’·Q

S·R = 0 (约束条件)

主从 S-R 触发器特征方程

S QCR Q

C

S

R

Q

QL

S QCR Q

S = J·Q’

R = K·Q

总满足 S·R=0

J

K

C

Page 57: 第7章   时序逻辑设计原理

制作:金燕华57

主从式 J-K 触发器消除主从 S-R 触发器存在的约束条件利用反馈消除主从 S-R 触发器存在的约束条件

Qn+1 = S + R’·Q

S·R = 0 (约束条件)

主从 S-R 触发器特征方程

S = J·Q’

R = K·Q

总满足 S·R=0

Qn+1 = S + R’·Q

= J·Q’ + (K·Q)’·Q

= J·Q’ + (K’+Q’)·Q = J·Q’ + K’·Q

主从 J-K 触发器特征方程

Q —— 当前状态(原态、现态)Q* —— 下一状态(新态、次态)

Q* = J·Q’ + K’·Q

Q* = S + R’·Q

Page 58: 第7章   时序逻辑设计原理

制作:金燕华58

J K Q

0 0 0 11 01 1

保持清 0置 1翻转

功能表

JCK

Q

Q

逻辑符号

C

J

Qm

Q

K

01

C=1 期间,J的变化只引起Qm 改变一次

1 箝位

S QCR Q

Q

QL

S QCR Q

J

K

C

主 从Qm

Page 59: 第7章   时序逻辑设计原理

制作:金燕华59

J K Q

0 0 0 11 01 1

保持清 0置 1翻转

功能表

JCK

Q

Q

逻辑符号

C

K

Qm

Q

J 1

0

C=1 期间J,K 的变化可能引起Qm

的变化,但只能改变一次

0 箝位

S QCR Q

Q

QL

S QCR Q

J

K

C

主 从Qm

Page 60: 第7章   时序逻辑设计原理

制作:金燕华60

J和 K 输入在 C=1 期间保持不变

每个 C 周期的高电平阶段关心输入端 J 、 K 的变化;每个 C 周期的低电平阶段关心触发器状态 Q 的变化。

0

1

0

1

0

0

0

1

1

1 1 0

Page 61: 第7章   时序逻辑设计原理

制作:金燕华61

具有多输入端的 J-K 触发器

S QCR Q

Q

QL

S QCR Q

J2K1

C

主 从QmJ1

K2

J = J1J2

K = K1K2

Page 62: 第7章   时序逻辑设计原理

制作:金燕华62

边沿 J-K 触发器

Q* = D = J·Q’ + K’·Q

时钟上升沿(正边沿)有效不会出现“箝位”现象

J

K

CLK

Q

QL

D Q

CLK

Page 63: 第7章   时序逻辑设计原理

制作:金燕华63

利用门电路传输延迟时间的边沿 J-K 触发器

两个与或非门组成基本 RS 触发器

门 G3G4 的传输延迟时间大于基本 RS 触发器的翻转时间

Page 64: 第7章   时序逻辑设计原理

制作:金燕华64

第 7 章 时序逻辑设计原理

锁存器和触发器 同步时序分析 同步时序设计

数字逻辑设计及应用

Page 65: 第7章   时序逻辑设计原理

制作:金燕华65

内容回顾

SCR

Q

Q

D Q

CLK Q

主从 S-R 触发器S QCR Q

C

S

R

Q

QL

S QCR Q 延迟输出

C 无效时输出变化

动态输入指示边沿触发D Q

C QD Q

C Q

Q

QN

D

CLK 主从 D 触发器

Page 66: 第7章   时序逻辑设计原理

制作:金燕华66

S QCR Q

Q

QL

S QCR Q

J2K1

C

主 从QmJ1

K2

S QCR Q

Q

QL

S QCR Q

J

K

C

主 从Qm

主从 J-K 触发器

Page 67: 第7章   时序逻辑设计原理

制作:金燕华67

内容回顾同样是主从结构, 由 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

Page 68: 第7章   时序逻辑设计原理

制作:金燕华68

边沿 J-K 触发器

Q* = D = J·Q’ + K’·Q

时钟上升沿(正边沿)有效不会出现“箝位”现象

J

K

CLK

Q

QL

D Q

CLK

Page 69: 第7章   时序逻辑设计原理

制作:金燕华69

T触发器在每个时钟脉冲有效沿都会改变状态(翻转)

Q

QT

T ( toggle )

触发器EN Q

T Q

具有使能端的T触发器

T

Q

Page 70: 第7章   时序逻辑设计原理

制作:金燕华70

利用 D 、 J-K 触发器实现 T触发器 利用 D 触发器实现 D : Q* = D

T : Q* = Q’

D = Q’

利用 J-K 触发器实现 JK : Q* = J·Q’ +

K’·Q

T : Q* = Q’

J = K = 1

T

Q

QND Q

CLK QT

Q

QN

J QCLK

K Q

1

Page 71: 第7章   时序逻辑设计原理

制作:金燕华71

具有使能端的 T触发器的可能电路

T : Q* = EN·Q’ + EN’·Q

01

EN

维持 Q翻转 Q’

Q*

功能表

JK : Q* = J·Q’ + K’·Q

D : Q* = D

Page 72: 第7章   时序逻辑设计原理

制作:金燕华72

其他结构的触发器维持阻塞结构

利用门电路传输延迟时间的边沿 J-K 触发器

J

CLK

K QL

QPRL

CLRL

CLK

D

Q

QL

Page 73: 第7章   时序逻辑设计原理

制作:金燕华73

锁存器与触发器小结锁存器和触发器

—— 电平有效和边沿有效的区别按照逻辑功能的不同特点,通常可分为

S-R 触发器(锁存器) D 触发器(锁存器) J-K 触发器 T 触发器

每种触发器的功能表特征方程状态图

Page 74: 第7章   时序逻辑设计原理

制作:金燕华74

S-R 触发器(锁存器)

SCR

Q

Q

时钟 S-R 锁存器

0 00 11 01 1

S R

维持清 0置 1

0*

Q

功 能 表

0 00 11 01 1

S R

维持清 0置 1

1*

Q

功 能 表

主从 S-R 触发器

SCR

Q

Q

1 11 00 10 0

SL RL

维持清 0置 1

1*

Q0 1*0

基本 S-R 锁存器

S Q

R Q

(或非门)

S Q

R Q

(与非门)

Page 75: 第7章   时序逻辑设计原理

制作:金燕华75

0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

S_L R_L

1*1*110001

Qn Qn+1

低电平有效 S-R 锁存器状态转移真值表

1

1 0

0

0

1

0

1

00 01 11 10Qn

S_LR_LQn+1

Q* = S_L’ + R_L·Q

= S+ R’·Q

约束条件: S_L + R_L = 1

S’+R’=1 S·R=0

特征方程

Q* = S+ R’·QS·R=0 (约束条件)

Page 76: 第7章   时序逻辑设计原理

制作:金燕华76

S-R 触发器(锁存器)

0 00 11 01 1

S R

维持01

1*

Q

功能表

状态图

0 1

S=1,R=0

S=0,R=1

S=XR=0

S=0R=X

特征方程

Q* = S+ R’·Q

S·R=0 (约束条件)

Page 77: 第7章   时序逻辑设计原理

制作:金燕华77

J-K 触发器

0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

J K

01001110

Qn Qn+1

状态转移真值表

维持

清 0

置 1

翻转

0

0

0 1

1 1

1

0

0

1

00 01 11 10Qn

JKQn+1

特征方程

Q* = J·Q’ + K’·Q

Page 78: 第7章   时序逻辑设计原理

制作:金燕华78

J-K 触发器

0 00 11 01 1

J K

维持清 0置 1翻转

Q*

功能表

特征方程

Q* = J·Q’ + K’·Q

状态图

0 1

J=1,K=X

J=X,K=1

J=XK=0

J=0K=X

Page 79: 第7章   时序逻辑设计原理

制作:金燕华79

状态图

D 触发器(锁存器)

特征方程: Q* = D

0 1

D=1

D=0

D=1D=0

有使能端得 D 触发器: Q* = EN·D + EN’·Q

Page 80: 第7章   时序逻辑设计原理

制作:金燕华80

T触发器

特征方程: Q* = Q’

Q

QT

有使能端的 T触发器: Q* = EN·Q’ + EN’·Q

EN Q

T Q

说明: 传统中文教材中认为 T 触发器的特征方程为: Q* = T·Q’ + T’·Q

Page 81: 第7章   时序逻辑设计原理

制作:金燕华81

不同类型触发器间的相互转换

利用 D 触发器实现S-R 触发器 J-K 触发器T触发器

利用 J-K 触发器实现S-R 触发器D 触发器T触发器

Page 82: 第7章   时序逻辑设计原理

制作:金燕华82

关于电路结构和逻辑功能

同一逻辑功能的触发器可用不同电路结构实现 主从结构的 D 触发器、维持阻塞结构的 D 触发器

用同一电路结构可做成不同逻辑功能的触发器 维持阻塞结构的: D 触发器、 J-K 触发器

电路构成的不同形式 下一状态 Q* 与现态 Q 及输入之间在稳态下的逻辑关系

Page 83: 第7章   时序逻辑设计原理

制作:金燕华83

动态参数—— 保证触发器在工作时能可靠翻转

锁存器的动态参数输入信号宽度: tW ≥ 2tpd

传输延迟时间: tPLH / tPHL

从输入信号到达,到触发器输出新态稳定建立 与非: tPLH = tpd 、 tPHL = 2tpd

或非: tPLH = 2tpd 、 tPHL = tpd

说明: tpd表示一个门的延迟时间

Page 84: 第7章   时序逻辑设计原理

制作:金燕华84

触发器的动态参数 建立时间 tset

输入信号应先于时钟信号到达的时间

保持时间 thold

时钟信号到达后,输入信号需要保持的时间

最高时钟频率 fmax

为保证触发器可靠翻转,时钟脉冲必须满足的参数

传输延迟时间 tpHL/tpLH

从时钟脉冲触发边沿算起,到触发器建立起新状态

Page 85: 第7章   时序逻辑设计原理

制作:金燕华85

时序逻辑电路的分析和设计

Page 86: 第7章   时序逻辑设计原理

制作:金燕华86

时序逻辑电路

反馈时序电路( feedback sequential

circuit )采用“门电路+反馈回路”实现记忆功能

状态机( state machine )用触发器构造电路,用时钟控制状态转换

CLKtper

tH tL 周期: tper 频率: 1/tper

占空比: tH/tper 、 tL/tper

—— 有限状态机( finite-state machine )

概念:时钟周期、时钟频率、占空比、时钟触发沿

Page 87: 第7章   时序逻辑设计原理

制作:金燕华87

时序逻辑电路结构

下一 状态 逻辑

F

状态 存储器

时钟

输出 逻辑

G

输入输出

时钟信号

激励 当前状态

下一状态: F (当前状态,输入)输出: G (当前状态,输入)

组合电路

状态存储器:由激励信号得到下一状态

激励方程驱动方程

输出方程

转移方程

—— 状态机结构

Page 88: 第7章   时序逻辑设计原理

制作:金燕华88

时序逻辑电路同步时序电路

异步时序电路

—— 时钟同步状态机存储元件状态的变化是在同一时钟信号操作下同时发生的

存储元件状态的变化不是同时发生的

Mealy型

Moore型输出信号取决于存储电路状态和输入信号

输出信号仅取决于存储电路状态

Page 89: 第7章   时序逻辑设计原理

制作:金燕华89

下一 状态 逻辑

F

状态 存储器

时钟

输出 逻辑

G

输入输出

时钟信号

激励 当前状态

下一 状态 逻辑

F

状态 存储器 时钟

输出 逻辑

G

输入 输出

时钟信号

激励 当前状态 输出流水线 存储器

时钟

Moore 机:输出只与状态有关

Mealy 机:输出取决于状态和输入

输出

Page 90: 第7章   时序逻辑设计原理

制作:金燕华90

7.3 时钟同步状态机分析

基本步骤:确定下一状态函数 F 和输出函数 G

将 F 代入触发器的特征方程得到下一状态 Q*

利用 Q* 、 G 构造状态 / 输出表画出状态图、波形图(可选)检查电路是否可以自启动描述电路功能

clocked synchronous state machine

Page 91: 第7章   时序逻辑设计原理

制作:金燕华91

EN

EN’

Q0

Q0’

Q1

Q1’

EN

MAX

Q0

Q1

CLK

D0

D1

当前状态

激励

输出输入

时钟信号

下一状态逻辑 产生激励信号 状态存储器 输出逻辑

例:时钟同步状态机( D 触发器)

Page 92: 第7章   时序逻辑设计原理

制作:金燕华92

EN

EN’

Q0

Q0’

Q1

Q1’

EN

MAX

Q0

Q1

CLK

D0

D1

1 、由电路得到激励方程 D0 = Q0·EN’ + Q0’·EN

D1 = Q1·EN’ + Q1’·Q0·EN + Q1·Q0’·EN

2 、由电路得到输出方程MAX = Q1·Q0·EN

3 、由激励方程和触发器特征方程 得到转移方程(状态方程) D 触发器特征方程: Q* = D

Q0* = Q0·EN’ + Q0’·EN

Q1* = Q1·EN’ + Q1’·Q0·EN

+ Q1·Q0’·EN

Page 93: 第7章   时序逻辑设计原理

制作:金燕华93

4 、由转移方程和输出方程得到状态 /输出表

00110110

01011010

00000001

状态转换表EN Q1 Q0 Q1* Q0* MAX

0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

Q0* = Q0·EN’ + Q0’·EN

Q1* = Q1·EN’ + Q1’·Q0·EN + Q1·Q0’·EN

MAX = Q1·Q0·EN

S

0 00 11 01 1

EN0 1

00, 001, 010, 011, 0

01, 010, 011, 000, 1

Q1*Q0*, MAXQ1Q0

Page 94: 第7章   时序逻辑设计原理

制作:金燕华94

5 、画状态图

00

EN=0MAX=0

01EN=1

MAX=0

EN=1MAX=1

EN=0MAX=0

EN=0MAX=0

EN=0MAX=0

11EN=1

MAX=010

EN=1MAX=0

逻辑功能描述:具有使能端 EN 的 2 位二进制加法计数器电路输出与输入有关 —— Mealy 机

S

0 00 11 01 1

EN0 1

00,001,010,011,0

01,010,011,000,1

Q1*Q0*, MAXQ1Q0

Page 95: 第7章   时序逻辑设计原理

制作:金燕华95

6 、画时序图

Page 96: 第7章   时序逻辑设计原理

制作:金燕华96

transitiontable

state table state/outputtable

说 明可以给每个状态命名

通常用 S 表示当前状态, S* 表示下一状态

Page 97: 第7章   时序逻辑设计原理

制作:金燕华97

EN

EN’

Q0

Q0’

Q1

Q1’

EN

MAX

Q0

Q1

CLK

D0

D1

Mealy 机 Moore 机MAXS

MAXS

=Q1·Q0

Page 98: 第7章   时序逻辑设计原理

制作:金燕华98

对应的 Moore 机的状态表和状态图

Page 99: 第7章   时序逻辑设计原理

制作:金燕华99

状态机的定时图

Page 100: 第7章   时序逻辑设计原理

制作:金燕华100

Y = X· Q2 · Q1

J1 = (X’· Q2’)’

K1 = (X· Q2’)’ J2 = X’· Q1

K2 = (X’· Q1’)’

1 、由电路得到激励方程

2 、由电路得到输出方程

CP

X YJ QCLK

K Q

&&

&&

J QCLK

K Q

&&

FF1FF2

= X+Q2

例:时钟同步状态机分析( J-K 触发器)

Page 101: 第7章   时序逻辑设计原理

制作:金燕华101

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

= X’· Q1· Q2’ + X’· Q1’· Q2 Q2* = J2· Q2’ + K2’· Q2

Y = X· Q2 · Q1

J1 = (X’· Q2’)’

K1 = (X· Q2’)’ J2 = X’· Q1

K2 = (X’· Q1’)’

1 、由电路得到激励方程

2 、由电路得到输出方程

= X+Q2

Page 102: 第7章   时序逻辑设计原理

制作:金燕华102

4 、由状态方程和输出方程列状态转换表

Q1* = Q2·Q1’ + X·Q1’ + X·Q2’·Q1

Q2* = X’· Q1· Q2’ + X’· Q1’· Q2

Y = X· Q2 · Q1

00101110

01100000

00000001

状态转换表 X Q2 Q1 Q2* Q1* Y

0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

S

0 00 11 01 1

X0 1

00, 010, 011, 000, 0

01, 001, 001, 000, 1

Q2*Q1*, YQ2Q1

X’· Q2’· Q1 + X’· Q2· Q1’

Page 103: 第7章   时序逻辑设计原理

制作:金燕华103

00

1/00/0

5 、画状态图

S

0 00 11 01 1

X0 1

00, 010, 011, 000, 0

01, 001, 001, 000, 1

Q2*Q1*, YQ2Q1

01

1/0 1/0

10

0/0

11

0/0

0/0

1/1

X/Y

状态 00 :开始判断状态 01 :输入一个 1状态 10 :连续输入 10状态 11 :连续输入 100

逻辑功能: 1001 序列检测器输入端连续输入 1001 时,输出 1

Page 104: 第7章   时序逻辑设计原理

制作:金燕华104

练习:同步时钟状态机分析

1

1 、

2 、

Page 105: 第7章   时序逻辑设计原理

制作:金燕华105

1

Y = Q2 · Q3

练习 1

J1 = (Q2· Q3)’

K1 = 1 J2 = Q1

K2 = (Q1’· Q3’)’ J3 = Q1· Q2

K3 = Q2

1 、由电路得到激励方程

2 、由电路得到输出方程

Page 106: 第7章   时序逻辑设计原理

制作:金燕华106

Y = Q2 · Q3

J1 = (Q2· Q3)’

K1 = 1 J2 = Q1

K2 = (Q1’· Q3’)’ J3 = Q1· Q2

K3 = Q2

1 、由电路得到激励方程

2 、由电路得到输出方程

3 、得到状态转换方程

J-K 触发器特征方程为: Q* = J·Q’ + K’·Q

Q1* = J1· Q1’ + K1’· Q1

Q2* = J2· Q2’ + K2’· Q2

Q3* = J3· Q3’ + K3’· Q3

= (Q2· Q3)’· Q1’

= Q1· Q2’ + Q1’· Q3’· Q2

= Q1· Q2· Q3’ + Q2’· Q3

Page 107: 第7章   时序逻辑设计原理

制作:金燕华107

00011100

00000011

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

0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

Y*1

*2

*3 QQQ123 QQQ

01101000

10101000

Page 108: 第7章   时序逻辑设计原理

制作:金燕华108

00011100

00000011

0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

Y*1

*2

*3 QQQ123 QQQ

01101000

10101000

4 、列状态转换表5 、画状态转换图

000/0

Q3Q2Q1/Y010/0

011/0100/0

101/0

110/1 001/0

111/1

逻辑功能描述:能自启动的模 7 加法计数器,对时钟信号计数,输出为进位脉冲

自启动的

Page 109: 第7章   时序逻辑设计原理

制作:金燕华109

6 、画时序图(可选) 注意是主从 J-K 触发器

Page 110: 第7章   时序逻辑设计原理

制作:金燕华110

练习 2

1 、列驱动方程、状态方程、输出方程

D1 = Q1’

D2 = AQ1Q2

Q1* = D1 = Q1’

Q2* = D2 = AQ1Q2

Y = A’·Q2·Q1 + A·Q2’·Q1’

Page 111: 第7章   时序逻辑设计原理

制作:金燕华111

2 、列状态转换表

A Q2 Q1

0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

Q2* Q1* Y

0 1 01 0 01 1 00 0 11 1 10 0 00 1 01 0 0

Q1* = Q1’

Q2* = AQ1Q2

Y = A’·Q2·Q1 + A·Q2’·Q1’

S

0 00 11 01 1

A0 1

01, 010, 011, 000, 1

11, 100, 001, 010, 0

Q2*Q1*, YQ2Q1

Page 112: 第7章   时序逻辑设计原理

制作:金燕华112

3 、画状态转换图

S

0 00 11 01 1

A0 1

01, 010, 011, 000, 1

11, 100, 001, 010, 0

Q2*Q1*, YQ2Q1

功能描述:可逆计数器A=0 加法, A=1减法

Page 113: 第7章   时序逻辑设计原理

制作:金燕华113

触发器的特征方程

S-R 触发器Q* = S+ R’·QS·R=0 (约束条件)

J-K 触发器 Q* = J·Q’ + K’·Q

D 触发器 Q* = D

有使能端得 D 触发器: Q* = EN·D + EN’·Q

T 触发器 Q* = Q’

有使能端的 T触发器: Q* = EN·Q’ + EN’·Q

Page 114: 第7章   时序逻辑设计原理

制作:金燕华114

J-K 触发器

0 00 11 01 1

J K

维持清 0置 1翻转

Q*

功能表

特征方程

Q* = J·Q’ + K’·Q

状态图

0 1

J=1,K=X

J=X,K=1

J=XK=0

J=0K=X

Page 115: 第7章   时序逻辑设计原理

制作:金燕华115

时序逻辑电路结构—— 状态机结构

下一 状态 逻辑

F

状态 存储器

时钟

输出 逻辑

G

输入输出

时钟信号

激励 当前状态

激励方程(驱动方程)状态方程(转移方程)输出方程

组合逻辑

Page 116: 第7章   时序逻辑设计原理

制作:金燕华116

下一 状态 逻辑

F

状态 存储器

时钟

输出 逻辑

G

输入输出

时钟信号

激励 当前状态

Moore 机:输出只与状态有关

Mealy 机:输出取决于状态和输入

下一 状态 逻辑

F

状态 存储器 时钟

输出 逻辑

G

输入 输出

时钟信号

激励 当前状态 输出流水线 存储器

时钟

输出

Page 117: 第7章   时序逻辑设计原理

制作:金燕华117

EN

EN’

Q0

Q0’

Q1

Q1’

EN

MAX

Q0

Q1

CLK

D0

D1

当前状态

激励

输出

时钟信号

下一状态逻辑 产生激励信号 状态存储器 输出逻辑

例:时钟同步状态机

输入

Page 118: 第7章   时序逻辑设计原理

制作:金燕华118

EN

EN’

Q0

Q0’

Q1

Q1’

EN

MAX

Q0

Q1

CLK

D0

D1

1 、由电路得到激励方程: D0 = … D1 = …2 、由电路得到输出方程: MAX = …3 、由激励方程和触发器特征方程得到状态转移方程 Q1* = … Q0* = …

4 、由转移方程和输出方程得到状态 /输出表

输入 状态 下一状态 输出组合 Q1Q0 Q1*Q0* MAX

5 、画状态图

当前状态

下一状态

输入= …输出= …

6 、画时序图(可选)

分析逻辑功能

Page 119: 第7章   时序逻辑设计原理

制作:金燕华119

转移表 状态表 状态 /输出表

说 明可以给每个状态命名

通常用 S 表示当前状态, S* 表示下一状态

具有使能端 EN 的 2 位二进制加法计数器

Page 120: 第7章   时序逻辑设计原理

制作:金燕华120

EN

EN’

Q0

Q0’

Q1

Q1’

EN

MAX

Q0

Q1

CLK

D0

D1

Mealy 机 Moore 机MAXS

MAXS

=Q1·Q0

MAX =

EN·Q1·Q0

Mealy 机

具有使能端 EN 的 2 位二进制加法计数器

Page 121: 第7章   时序逻辑设计原理

制作:金燕华121

具有使能端 EN 的 2 位二进制加法计数器

Moore 机 Mealy 机

S*/MAX 或 S*,MAX

Page 122: 第7章   时序逻辑设计原理

制作:金燕华122

Moore 机 Mealy 机

MAX

MAXS

Page 123: 第7章   时序逻辑设计原理

制作:金燕华123

CP

X YJ QCLK

K Q

&&

&&

J QCLK

K Q

&&

Y = X· Q2 · Q1

J1 = (X’· Q2’)’

K1 = (X· Q2’)’ J2 = X’· Q1

K2 = (X’· Q1’)’

1 、由电路得到激励方程

2 、由电路得到输出方程

FF1FF2

= X+Q2

Page 124: 第7章   时序逻辑设计原理

制作:金燕华124

Q2* = J2· Q2’ + K2’· Q2

Q1* = Q2·Q1’ + X·Q1’ + X·Q2’·Q1

Q2* = X’· Q1· Q2’ + X’· Q1’· Q2 Y = X· Q2 · Q1

J1 = (X’· Q2’)’

K1 = (X· Q2’)’ J2 = X’· Q1

K2 = (X’· Q1’)’

1 、由电路得到激励方程

2 、由电路得到输出方程

= X+Q2

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

= X’· Q1· Q2’ + X’· Q1’· Q2

Page 125: 第7章   时序逻辑设计原理

制作:金燕华125

4 、由状态方程和输出方程列状态转换表

Q1* = Q2·Q1’ + X·Q1’ + X·Q2’·Q1

Q2* = X’· Q1· Q2’ + X’· Q1’· Q2

Y = X· Q2 · Q1

00101110

01100000

00000001

状态转换表 X Q2 Q1 Q2* Q1* Y

0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

00, 010, 011, 000, 0

01, 001, 001, 000, 1

S

0 00 11 01 1

X0 1

Q2*Q1*, YQ2Q1

Page 126: 第7章   时序逻辑设计原理

制作:金燕华126

00

1/00/0

逻辑功能:当 X 连续出现 1001 时 Y 输出 1 —— 1001 序列检测器

5 、画状态图

S

0 00 11 01 1

X0 1

00, 010, 011, 000, 0

01, 001, 001, 000, 1

Q2*Q1*, YQ2Q1

01

1/0 1/0

10

0/0

11

0/0

0/0

1/1

X/Y

X: 0100100111001100100…Y: 0000100000001000100…

Page 127: 第7章   时序逻辑设计原理

制作:金燕华127

练习:同步时钟状态机分析

1

1 、

2 、

Page 128: 第7章   时序逻辑设计原理

制作:金燕华128

1

Y = Q2 · Q3

练习 1

J1 = (Q2· Q3)’

K1 = 1 J2 = Q1

K2 = (Q1’· Q3’)’ J3 = Q1· Q2

K3 = Q2

1 、由电路得到激励方程

2 、由电路得到输出方程

Page 129: 第7章   时序逻辑设计原理

制作:金燕华129

Y = Q2 · Q3

J1 = (Q2· Q3)’

K1 = 1 J2 = Q1

K2 = (Q1’· Q3’)’ J3 = Q1· Q2

K3 = Q2

1 、由电路得到激励方程

2 、由电路得到输出方程

3 、得到状态转换方程

J-K 触发器特征方程为: Q* = J·Q’ + K’·Q

Q1* = J1· Q1’ + K1’· Q1

Q2* = J2· Q2’ + K2’· Q2

Q3* = J3· Q3’ + K3’· Q3

= (Q2· Q3)’· Q1’

= Q1· Q2’ + Q1’· Q3’· Q2

= Q1· Q2· Q3’ + Q2’· Q3

Page 130: 第7章   时序逻辑设计原理

制作:金燕华130

00011100

00000011

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

0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

Y*1

*2

*3 QQQ123 QQQ

01101000

10101000

Page 131: 第7章   时序逻辑设计原理

制作:金燕华131

00011100

00000011

0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

Y*1

*2

*3 QQQ123 QQQ

01101000

10101000

4 、列状态转换表5 、画状态转换图

000/0

Q3Q2Q1/Y010/0

011/0100/0

101/0

110/1 001/0

111/1

逻辑功能描述:能自启动的模 7 加法计数器,对时钟信号计数,输出为进位脉冲

Page 132: 第7章   时序逻辑设计原理

制作:金燕华132

6 、画时序图(可选)

Page 133: 第7章   时序逻辑设计原理

制作:金燕华133

练习 2

1 、列驱动方程、状态方程、输出方程

D1 = Q1’

D2 = AQ1Q2

Q1* = D1 = Q1’

Q2* = D2 = AQ1Q2

Y = A’·Q2·Q1 + A·Q2’·Q1’

Page 134: 第7章   时序逻辑设计原理

制作:金燕华134

2 、列状态转换表

A Q2 Q1

0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

Q2* Q1* Y

0 1 01 0 01 1 00 0 11 1 10 0 00 1 01 0 0

0 01/0 10/0 00/1 11/01 11/1 00/0 10/0 01/0

A

Q2Q1

00 01 11 10

Q2*Q1* / Y

Q1* = Q1’

Q2* = AQ1Q2

Y = A’·Q2·Q1 + A·Q2’·Q1’

Page 135: 第7章   时序逻辑设计原理

制作:金燕华135

3 、画状态转换图

功能描述:可逆计数器,A=0 加法, A=1减法

0 01/0 10/0 00/1 11/01 11/1 00/0 10/0 01/0

A

Q2nQ1

n

00 01 11 10

Page 136: 第7章   时序逻辑设计原理

制作:金燕华136

Page 137: 第7章   时序逻辑设计原理

制作:金燕华137

时钟同步状态机设计

数字逻辑设计及应用

Page 138: 第7章   时序逻辑设计原理

制作:金燕华138

7.4 时钟同步状态机设计根据命题构造状态 / 输出表状态化简(状态最小化)状态编码(选择状态变量)建立转移 / 输出表,得到状态和输出方程选择触发器作为状态存储器构造激励表,得到激励方程画逻辑电路图

Page 139: 第7章   时序逻辑设计原理

制作:金燕华139

同步时钟状态机设计举例设计入门:两个简单的例子

设计一个 3 位二进制模 8 计数器 设计一个 110 序列检测器

状态表设计举例例一( P408 );例二( P419 );例三

( P421 )

状态图设计(雷鸟车尾灯 )猜谜游戏

Page 140: 第7章   时序逻辑设计原理

制作:金燕华140

1 、逻辑抽象,得到状态图(表)

2 、状态编码取自然二进制数 000~111作为 S0 ~ S7 的编码

对时钟信号计数,可不用输入 —— Moore 机取进位信号为输出变量需要 8 个有效状态

设计一个 3 位二进制模 8 计数器

S0/0 S1/0

S3/0

S4/0

S2/0

S5/0

S7/1

S6/0

000

111

110

101

001

010

011

100

Page 141: 第7章   时序逻辑设计原理

制作:金燕华141

3 、构造转移 /输出表,求取 状态转移方程 和 输出方程

S0/0 S1/0

S3/0

S4/0

S2/0

S5/0

S7/1

S6/0

0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

Q2 Q1 Q0 Q2*Q1*Q0* C

S0

S1

S2

S3

S4

S5

S6

S7

0 0 10 1 00 1 11 0 01 0 11 1 01 1 10 0 0

00000001

000

111

110

101

001

010

011

100

Page 142: 第7章   时序逻辑设计原理

制作:金燕华142

0

1

Q1Q0

Q2

Q0*

00 01 11 10

1 0 0 1

1 0 0 1

3 、构造转移 /输出表,求取 状态转移方程 和 输出方程

Q0* = Q0’0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

Q2 Q1 Q0 Q2*Q1*Q0* C

0 0 10 1 00 1 11 0 01 0 11 1 01 1 10 0 0

00000001

Page 143: 第7章   时序逻辑设计原理

制作:金燕华143

0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

0 0 10 1 00 1 11 0 01 0 11 1 01 1 10 0 0

00000001

Q2 Q1 Q0 Q2*Q1*Q0* C

0

1

Q1Q0

Q2

Q1*

00 01 11 10

0 1 0 1

0 1 0 1

Q0* = Q0’

Q1* = Q1’·Q0 + Q1·Q0’

3 、构造转移 /输出表,求取 状态转移方程 和 输出方程

Page 144: 第7章   时序逻辑设计原理

制作:金燕华144

0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

0 0 10 1 00 1 11 0 01 0 11 1 01 1 10 0 0

00000001

Q2 Q1 Q0 Q2*Q1*Q0* C Q0* = Q0’

输出方程: C = Q3· Q2· Q1

Q1* = Q1’·Q0 + Q1·Q0’

0

1

Q1Q0

Q2

Q2*

00 01 11 10

0 0 1 0

1 1 0 1

Q2* = Q2’·Q1·Q0 +

Q2·Q1’ + Q2·Q0’

3 、构造转移 /输出表,求取 状态转移方程 和 输出方程

Page 145: 第7章   时序逻辑设计原理

制作:金燕华145

Q0* = Q0’

Q1* = Q1’·Q0 + Q1·Q0’

Q2* = Q2’·Q1·Q0 + Q2·Q1’ + Q2·Q0’

4 、触发器选型,得到激励方程

翻转 Q* = Q’ ( T触发器)Q* = EN·Q’ + EN’·Q

Q1* = Q1’·Q0 + Q1·Q0’

= Q2’·Q1·Q0 + Q2· (Q1’+Q0’)

= Q2’·Q1·Q0 + Q2· (Q1·Q0’)’

EN1 = Q0

EN2 = Q1·Q0

EN0 = 1选择有使能端的 T触发器

Page 146: 第7章   时序逻辑设计原理

制作:金燕华146

5 、画逻辑电路图

EN0 = 1

EN1 = Q0

EN2 = Q1·Q0

C = Q3· Q2· Q1

1CLK

Q0

Q1

Q2

C

Page 147: 第7章   时序逻辑设计原理

制作:金燕华147

1 、得到状态转换表

用 A 表示输入数据;用 Z 表示检测结果。

开始,等待第一个 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

设计一个 110 串行数据检测器

状态 SA

0 1

S*/Z

电路检测到输入连续出现 110 时,输出为 1

Mealy机

Page 148: 第7章   时序逻辑设计原理

制作:金燕华148

1 、得到状态转换表

STA STA/0 A1/0

A1 STA/0 A11/0

A11 OK/1 A11/0

OK STA/0 A1/0

状态 SA

0 1

S*/Z

2 、状态化简(状态最小化)

识别等效状态 ,如果两个状态 对于所有输入组合产生相同的输出 对于每种输入组合具有同或等效的下一状态

STA/1

S*/Z

STA/0STA A1/0

3 、状态编码

000110

000111

Page 149: 第7章   时序逻辑设计原理

制作:金燕华149

000110

0

Q1Q000 01 11 10

0

1

A0 1

0 0 0

d

d

Z

00/0

Q1Q000 01 11 10

0

1

A00/0 00/1

01/0 10/0 10/0

dd/d

dd/d

4 、得到状态方程和输出方程

STA STA/0 A1/0

A1 STA/0 A11/0

A11 STA/1 A11/0

状态 SA

0 1

S*/Z

Page 150: 第7章   时序逻辑设计原理

制作:金燕华150

00/0

Q1Q000 01 11 10

0

1

A00/0 00/1

01/0 10/0 10/0

dd/d

dd/d

4 、得到状态方程和输出方程

0

Q1Q000 01 11 10

0

1

A0 1

0 0 0

d

d

Z

Z = A’·Q1

0

Q1Q000 01 11 10

0

1

A0 0

0 1 1

d

d

Q1*

Q1* = A·Q1 + A·Q0

0

Q1Q000 01 11 10

0

1

A0 0

1 0 0

d

d

Q0*

Q0* = A·Q1’·Q0’

Page 151: 第7章   时序逻辑设计原理

制作:金燕华151

选择 D 触发器

5 、得到激励方程

Q1* = A·Q1 + A·Q0

Q0* = A·Q1’·Q0’

D1 = A·Q1 + A·Q0

D0 = A·Q1’·Q0’

选择 J-K 触发器Q* = J·Q’ + K’·Q

= (A·Q1’)·Q0’ + 1’·Q0

= A·Q1 + A·Q0 ·(Q1+Q1’)

= A·Q1 + A·Q0 ·Q1 + A·Q0·Q1’

= A·Q1 + A·Q0·Q1’

J1 = A·Q0

K1 = A’

J0 = A·Q1’

K0 = 1

Page 152: 第7章   时序逻辑设计原理

制作:金燕华152

6 、检查电路的自启动性

当电路进入无效状态 11后,

A=0 时,

该电路是自启动的

Z = A’·Q1

Q1* = A·Q1 + A·Q0

Q0* = A·Q1’·Q0’7 、画逻辑电路图(略)

下一状态为 00A=1 时,下一状态为 10 1/011

0/1

000/0

01

1/0

0/0

10

1/0

1/0

0/1

状态表

Page 153: 第7章   时序逻辑设计原理

制作:金燕华153

状态表设计(例一)设计一个具有 2 个输入( A 、 B ), 1 个输出

( Z )的时钟同步状态机, Z 为 1 的条件是: 在前 2 个脉冲触发沿上, A 的值相同 从上一次第 1 个条件为真起, B 的值一直为 1

P408

Page 154: 第7章   时序逻辑设计原理

制作:金燕华154

SAB

00 01 11 10

S*

Z

状态含义

初始状态 INIT 0A0 A0 A1 A1

A0A 上捕获一个 0 A 上捕获一个 1 A1

0OK0 OK0

A 上连续两个 0 OK0

A1 A1

0A0 A0 OK1

A 上连续两个 1 OK1

OK1

1OK0 OK0 OK1B A1

因 B 而 OK , A 为 1 OK1B

1A0 OK0B OK1 OK1

因 B 而 OK , A 为 0 OK0B

1A0 OK0B OK1 OK1

1OK0 OK0 OK1B A1

1 、构造状态转换表

Page 155: 第7章   时序逻辑设计原理

制作:金燕华155

SAB

00 01 11 10

S*

Z

状态含义

1 、构造状态转换表

初始状态 INIT 0A0 A0 A1 A1

A0A 上捕获一个 0 A 上捕获一个 1 A1

0OK0 OK0

A 上连续两个 0 OK0

A1 A1

0A0 A0 OK1

A 上连续两个 1 OK1

OK1

1OK0 OK0 OK1B A1

因 B 而 OK , A 为 1 OK1B

1A0 OK0B OK1 OK1

因 B 而 OK , A 为 0 OK0B

1A0 OK0B OK1 OK1

1OK0 OK0 OK1B A1

2 、状态最小化

OK1

OK1

OK0

OK0

OK , A 值为 0

OK , A 值为 0

OK , A 值为 1

Page 156: 第7章   时序逻辑设计原理

制作:金燕华156

初始状态 INIT

A0A 上捕获一个 0 A 上捕获一个 1 A1

OK , A 值为 0 OK0

OK , A 值为 1 OK1

SAB

00 01 11 10

S*

Z

0A0 A0 A1 A1

0OK0 OK0 A1 A1

0A0 A0 OK1 OK1

1OK0 OK0 A1

1A0 OK1 OK1OK0

OK1

1 、构造状态转换表2 、状态最小化

真的需要一一尝试吗?合理的状态赋值( P412 )

3 、状态编码

最简单的 分解的 单热点的 准单热点的

从 23 中选 5种一共有 种8!5!×3!

5种编码 5 个状态,又有 5! 种

000100101110111

Page 157: 第7章   时序逻辑设计原理

制作:金燕华157

4 、根据状态表和状态编码构造转移 /输出表

INIT

A0

A1

OK0

OK1

SAB

00 01 11 10

S*

Z

0A0 A0 A1 A1

0OK0 OK0 A1 A1

0A0 A0 OK1 OK1

1OK0 OK0 A1

1A0 OK1 OK1OK0

OK1

000100

100 100

100 100

100

101110

101 101101 101

101

110 110

110 110110111

111 111

111 111111

Q1Q2Q3

Q1*Q2*Q3*

5 个输入变量:

A,B,Q1,Q2,Q3

4 个输出变量:

Z,D1,D2,D3

D1 D2 D3转移 / 激励

表5 、触发器选型,得到激励方程和输出方程

使用 D 触发器

Page 158: 第7章   时序逻辑设计原理

制作:金燕华158

AB

00 01 11 10Z

0

0

0

1

1

000

100

101

110

111

Q1Q2Q3

100 100

100 100

100

101 101

101 101110 110

110 110 101

110

111 111

111 111

111

Q1*Q2*Q3*D1 D2 D3

Q2Q3AB

00 01 11 10

00

01

11

10Q1=0

D2

Q2Q3AB

00 01 11 10

00

01

11

10Q1=1

0 0 0 0

1 1 0 0

0 0 1 1

0 1 1 1

1 1 1 0

0 0 0 0

0 0 0 0

0 0 0 0

最小冒险,未用状态初始状态

输出方程: Z = Q1·Q2

Page 159: 第7章   时序逻辑设计原理

制作:金燕华159

Q2Q3AB

00 01 11 10

00

01

11

10Q1=0

D2

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

最小冒险,未用状态初始状态

Q2Q3AB

00 01 11 10

00

01

11

10Q1=1

1 1 0 0

0 0 1 1

0 1 1 1

1 1 1 0

D2 = Q1·Q3’·A’ + Q1·Q3·A

+ Q1·Q2·B

Q2Q3AB

00 01 11 10

00

01

11

10Q1=0

D2

0 0 0 0

d d d d

d d d d

d d d d

最小成本,未用状态作为无关项

D2 = Q1·Q3’·A’ + Q3·A+ Q2·B

Page 160: 第7章   时序逻辑设计原理

制作:金燕华160

D1

D2 = Q1·Q3’·A’ + Q1·Q3·A + Q1·Q2·B

D1 = Q2’·Q3’ + Q1

思考:最小成本法 D1 =?

Page 161: 第7章   时序逻辑设计原理

制作:金燕华161

D3

D3 = Q2’·Q3’·A + Q1·A

D2 = Q1·Q3’·A’ + Q1·Q3·A + Q1·Q2·B

D1 = Q2’·Q3’ + Q1

激励方程D3 = Q2’·Q3’·A + Q1·A

思考:最小成本法 D3 =?

Page 162: 第7章   时序逻辑设计原理

制作:金燕华162

6 、画逻辑电路图(略)

D3 = Q2’·Q3’·A + Q1·A

D2 = Q1·Q3’·A’ + Q1·Q3·A + Q1·Q2·B

D1 = Q2’·Q3’ + Q1

激励方程D3 = Q2’·Q3’·A + Q1·A

输出方程: Z = Q1·Q2

说明: 最小冒险法 所有未用状态 “安全”状态( P415 图 7-52 ) 最小成本法 所有未用状态的下一状态作为无关项 电路的激励方程简单,不够安全( P416 图 7-53 )

Page 163: 第7章   时序逻辑设计原理

制作:金燕华163

用 J-K 触发器设计方法一

利用状态方程和触发器特征方程得到激励方程方法二

利用状态转移表和激励表得到激励方程激励表

Q Q*

0 00 11 01 1

J K

0 d1 dd 1d 0

J K Q

0 0 0 11 01 1

保持清 0置 1翻转

功能表

Page 164: 第7章   时序逻辑设计原理

制作:金燕华164

J-K 触发器特征方程: Q* = J·Q’ + K’·Q

利用状态方程和特征方程设计

Q1* = Q2’·Q3’ + Q1

= Q2’·Q3’·(Q1’+Q1) + Q1

= Q2’·Q3’·Q1’+ Q2’·Q3’·Q1 + Q1

= Q2’·Q3’·Q1’ + Q1

Q3* = Q2’·Q3’·A + Q1·A

Q2* = Q1·Q3’·A’ + Q1·Q3·A + Q1·Q2·B

Q1* = Q2’·Q3’ + Q1

状态方程

J1 = Q2’·Q3’

K1 = 0

Page 165: 第7章   时序逻辑设计原理

制作:金燕华165

J-K 触发器特征方程: Q* = J·Q’ + K’·Q

利用状态方程和特征方程设计

Q3* = Q2’·Q3’·A + Q1·A

Q2* = Q1·Q3’·A’ + Q1·Q3·A + Q1·Q2·B

Q1* = Q2’·Q3’ + Q1

状态方程

Q3* = Q2’·Q3’·A + Q1·A

= Q2’·Q3’·A + Q1·A·(Q3’+Q3)

= (Q2’·A + Q1·A)·Q3’+ Q1·A·Q3J3 = Q2’·A + Q1·A

K3 = Q1’ + A

J1 = Q2’·Q3’

K1 = 0

Page 166: 第7章   时序逻辑设计原理

制作:金燕华166

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’)

= Q1’ + Q3’·A·B’ + Q3·A’·B’

J2 = Q1·Q3’·A’ + Q1·Q3·A

K2 = Q1’ + Q3’·A·B’ + Q3·A’·B’

J1 = Q2’·Q3’

K1 = 0

J3 = Q2’·A + Q1·A

K3 = Q1·A

Page 167: 第7章   时序逻辑设计原理

制作:金燕华167

AB 00 01 11 10

Z

0

0

0

1

1

000

100

100 100

100 100

100

101

110

101 101

101 101

101

110 110

110 110

110111

111 111

111 111

111

Q1Q2Q3

Q1*Q2*Q3*J1K1 , J2K2 , J3K3

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

利用激励表进行 J-K 触发器设计

Page 168: 第7章   时序逻辑设计原理

制作:金燕华168

AB 00 01 11 10

Z

0

0

0

1

1

000

100

100 100

100 100

100

101

110

101 101

101 101

101

110 110

110 110

110111

111 111

111 111

111

Q1Q2Q3

Q1*Q2*Q3*J1K1 , J2K2 , J3K3

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

利用卡诺图化简,教材 P418

Page 169: 第7章   时序逻辑设计原理

制作:金燕华169

合理的状态赋值 选择复位时容易进入的状态作为初始状态 使每次转移时要发生改变的状态变量数最小化 使一组相关状态中不变化的状态变量数最大化 发现和利用问题描述中的对称性

将状态变量组分解为有明确含义的位或字段,相对于状态机的输入效果或者输出特性

可以使用多余最小值的状态变量数(便于分解)未用状态的考虑

Page 170: 第7章   时序逻辑设计原理

制作:金燕华170

例二:“ 1” 计数器( P419 )对两个输入 X 和 Y 同时计数,当 1 的个数为 4 的整数倍时输出为 1

1起始状态 S0 S0

XY 00 01 11 10

Z含义 S

S*

S1

收到一个 1 S1

S2

收到两个 1 S2

S1

0S1 S2 S3

收到三个 1 S3

S2

0S2 S3 S0 S3

S3 S0 S1 S0 0

00011110

Page 171: 第7章   时序逻辑设计原理

制作:金燕华171

例三:组合锁( P421 )

Page 172: 第7章   时序逻辑设计原理

制作:金燕华172

雷鸟车尾灯

LALBLC RA RB RC

输入:左转 L 、右转 R 、应急闪烁H ( hazard )、时钟输出:控制 6 个灯亮或灭 —— 可以完全由状态控制

Page 173: 第7章   时序逻辑设计原理

制作:金燕华173

IDLE :全灭L1 :左边 1 个灯亮L2 :左边 2 个灯亮L3 :左边 3 个灯亮R1 :右边 1 个灯亮R2 :右边 2 个灯亮R3 :右边 3 个灯亮LR3 :全亮

状态

输 出直接利用状态控制输出

Page 174: 第7章   时序逻辑设计原理

制作:金燕华174

1 、构造状态图

IDLE :全灭L1 :左边 1 个灯亮L2 :左边 2 个灯亮L3 :左边 3 个灯亮R1 :右边 1 个灯亮R2 :右边 2 个灯亮R3 :右边 3 个灯亮LR3 :全亮

IDLE

L1

L

L2

1

L3

1

1

R1

R

R2

1

R3

1

1

LR3H

1

H’·L’·R’H+L·R

L·H’·R’

R·H’·L’

无二义性的

Page 175: 第7章   时序逻辑设计原理

制作:金燕华175

IDLE

L1

L

L2

1

L3

1

1

R1

R

R2

1

R3

1

1

LR3H

1

H’·L’·R’H+L·R

L·H’·R’

R·H’·L’

1 、构造状态图

完备性 离开某一状态的弧线上的所有转移表达式的逻辑和为 1 。

无二义性的 H’·R’

H+R

H+RH’·R’

H’·L’ H’·L’

H+L

H+L

改进

互斥性 离开某一状态的弧线上的任意一对转移表达式的逻辑积为 0

Page 176: 第7章   时序逻辑设计原理

制作:金燕华176

2 、状态编码Q2Q1Q0

0 0 00 0 10 1 10 1 01 0 11 1 11 1 01 0 0

1 、构造状态图

IDLEL1L2L3R1R2R3

LR3

合理的状态赋值

3 、得到转移列表 P427

Page 177: 第7章   时序逻辑设计原理

制作:金燕华177

2 、状态编码1 、构造状态图

3 、得到转移列表 P427

H’·L’·R’

L·H’·R’

R·H’·L’

0 0 00 0 00 0 00 0 0 H+L·R

0 0 00 0 11 0 11 0 0

IDLE

Q2Q1Q0 S 转移表达式 S* Q2*Q1*Q0*

IDLE

L1

R1

LR3

Page 178: 第7章   时序逻辑设计原理

制作:金燕华178

Q2Q1Q0 S 转移表达式 S* Q2*Q1*Q0*

H’·L’·R’L·H’·R’R·H’·L’H+L·R

0 0 00 0 00 0 00 0 0

0 0 00 0 11 0 11 0 0

IDLE

IDLEL1R1LR3

L10 0 10 0 1

L2LR3

0 1 11 0 0

H’·R’H+R

L20 1 10 1 1

L3LR3

0 1 01 0 0

H’·R’H+R

L30 1 0 IDLE 0 0 01

R11 0 11 0 1

R2LR3

1 1 11 0 0

H’·L’H+L

R21 1 11 1 1

R3LR3

1 1 01 0 0

H’·L’H+L

R31 1 0 IDLE 0 0 01LR31 0 0 IDLE 0 0 01

11

1

1

Q0* =

Q2’·Q1’·Q0’·(L·H’·R’)

+ Q2’·Q1’·Q0’·(R·H’·L’)

+ Q2’·Q1’·Q0·(H’·R’)

+ Q2·Q1’·Q0·(H’·L’)

= Q2’·Q1’·Q0’· H’·(LR)

+ Q2’·Q1’·Q0·(H’·R’)

+ Q2·Q1’·Q0·(H’·L’)

用转移表综合状态机 P428

Page 179: 第7章   时序逻辑设计原理

制作:金燕华179

猜谜游戏机( P430 )

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 表示猜对

Page 180: 第7章   时序逻辑设计原理

制作:金燕华180

G1’·G2’·G3’·G4’

G1’·G2’·G3’·G4’

G1’·G2’·G3’·G4’

G1’·G2’·G3’·G4’

4 个灯( G1 ~ G4 )由时钟控制轮流亮起

(没有按钮按下)S1

L1=1

S4L4=1

S2L2=1

S3L3=1

Page 181: 第7章   时序逻辑设计原理

制作:金燕华181

G1’·G2’·G3’·G4’

G1’·G2’·G3’·G4’

G1’·G2’·G3’·G4’

G1’·G2’·G3’·G4’

S1L1=1

S4L4=1

S2L2=1

S3L3=1

如果按下的按钮与亮的灯对应,

则猜对( SOK )

SOK

G1·G2’·G3’·G4’

G1’·G2·G3’·G4’

G1’·G2’·G3·G4’

G1’·G2’·G3’·G4

Page 182: 第7章   时序逻辑设计原理

制作:金燕华182

G1’·G2’·G3’·G4’

G1’·G2’·G3’·G4’

G1’·G2’·G3’·G4’

G1’·G2’·G3’·G4’

S1L1=1

S4L4=1

S2L2=1

S3L3=1

SOK

G1·G2’·G3’·G4’

G1’·G2·G3’·G4’

G1’·G2’·G3·G4’

G1’·G2’·G3’·G4

否则猜错( Serr )

SerrERR=1

G2+G3+G4

G1+G3+G4

G1+G2+G4

G1+G2+G3

Page 183: 第7章   时序逻辑设计原理

制作:金燕华183

G1’·G2’·G3’·G4’

G1’·G2’·G3’·G4’

G1’·G2’·G3’·G4’

G1’·G2’·G3’·G4’

S1L1=1

S4L4=1

S2L2=1

S3L3=1

SOK

G1·G2’·G3’·G4’

G1’·G2·G3’·G4’

G1’·G2’·G3·G4’

G1’·G2’·G3’·G4

SerrERR=1

G2+G3+G4

G1+G3+G4

G1+G2+G4

G1+G2+G3

G1+G2+G3+G4

G1’·G2’·G3’·G4’G1’·G2’·G3’·G4’

G1+G2+G3+G4

状态转换图

Page 184: 第7章   时序逻辑设计原理

制作:金燕华184

1 、状态转换图2 、状态编码

3 、转移列表

状态S

编码Q2Q1Q0

S1S2S3S4

SOKSERR

0 0 00 0 10 1 10 1 01 0 01 0 1

1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1

1 X X X X 0 1 X X X 0 0 1 X X 0 0 0 1 X 0 0 0 0 0 0 0 0 0 1

用输出作为状态编码L1 L2 L3 L4 ERR

无关项的使用L1 L2 L3 L4 ERR

P432表 7-18

P433 表 7-19 P434 表 7-21

Page 185: 第7章   时序逻辑设计原理

制作:金燕华185

第 7 章作业( P468 ) 7.3 7.5 7.9 7.10 7.13 7.14 7.16 7.18 7.20(c)

7.27 7.28 7.32 7.34 7.38 7.47 7.49