数字逻辑设计第七章(5)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7、画逻辑电路图(略)
1/0
0/0
0/1
01 1/0 10 1/0
A=1时,下一状态为 10
该电路是自启动的
1/0
状态表
16
状态表设计(例一) P408
设计一个具有2个输入(A、B),1个输出(Z)的
时钟同步状态机,Z为1的条件是:
在前2个脉冲触发沿上,A的值相同
从上一次第1个条件为真起,B的值一直为1
21
D2 AB 00 01 11 10 Q2Q3
00 0 01 0 11 0 Q1=0 10 0
最小冒险,未用状态初始状态
Q1Q2Q3 000 100 101 110 111 AB 00 01 11 10 100 100 101 101 110 110 101 101 100 100 111 111 110 110 111 101 100 110 111 111 Q1*Q2*Q3* D1 D2 D3 Z 0 0 0 1 1
0
0 0 0
0
0 0 0
0
0 0 0
AB
Q2Q3
00 01 11
00 01 11 10 1 0 0 1 0 1 0 1 1 0 1 1
Q1=1 10
22
1
1
1
0
输出方程:Z = Q1·Q2
D2 AB 00 01 11 10 Q2Q3
00 0 01 0 11 0 Q1=0 10 0
最小冒险,未用状态初始状态
S2/0 010
S3/0 011 S4/0 100
2、状态编码
取自然二进制数 000~111 作为 S0 ~ S7 的编码
4
3、构造转移/输出表,求取 状态转移方程 和 输出方程
Q2 Q1 Q0 Q2*Q1*Q0* C S0 S1 S2 S3 S4 S5 S6 S7 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 111 S7/1 110 S6/0 101 S5/0
输出方程:Z = Q1·Q2
6、画逻辑电路图(略)
说明: 最小冒险法 所有未用状态 “安全”状态( P415图7-52 ) 最小成本法 所有未用状态的下一状态作为无关项 电路的激励方程简单,不够安全( P416图7-53)
17
1、构造状态转换表
S 初始状态 INIT A上捕获一个0 A0 A上捕获一个1 A1 A上连续两个0 OK0 A上连续两个1 OK1 00 01
AB 11 10
Z
A0 OK0
A0
A0 OK0
A0
A1
A1
A1
A1
0
0 0 1 1
OK1 OK1
OK0 OK0 OK1B A1 A0 OK0B OK1 OK1
C
10
设计一个110串行数据检测器
电路检测到输入连续出现110时,输出为1 用A表示输入数据;用Z表示检测结果。
1、得到状态转换表
状态S
A 0 1
开始,等待第一个1 STA STA/0 A1/0 A上捕获一个1 A1 A上连续捕获11 A11 A上连续捕获110 OK STA/0 A11/0 OK/1 A11/0 STA/0 A1/0 S*/Z
A1 A1
0 1 1
A上捕获一个 1 A1 A0 最简单的 分解的 OK,A值为1 OK1
000 100
A0
OK1 OK1 0 准单热点的 OK1 OK1
OK0 OK0 A0 OK0
101
110 111
S*
真的需要一一尝试吗?合理的状态赋值(P412)
20
4、根据状态表和状态编码构造转移/输出表
Q1Q2Q3 S 5个输入变量: INIT 000 A,B,Q1,Q2,Q3 100 A0 4个输出变量: 101 A1 Z,D1,D2,D3 OK0 110 使用D触发器 OK1 111 AB 00 100 A0 OK0 110 01 100 A0 11 101 A1 10 101 A1 101 A1 Z 0 0
STA/0 A11/0 STA/1 A11/0
S*/Z
13
Q1Q 0 A
00
01
Z
4、得到状态方程和输出方程
11 10
0 0 1 0
0 0
d d
1 0
Q1Q0 00 01 11 10 A 0 00/0 00/0 dd/d 00/1 1 01/0 10/0 dd/d 10/0 Q1Q0 Q0*
00 01 11 10
Q* = EN·Q’ + EN’·Q
选择有使能端的T触发器
= Q2’·Q1·Q0 + Q2· (Q1’+Q0’)
= Q2’·Q1·Q0 + Q2· (Q1·Q0’)’ EN2 = Q1·Q0
9
5、画逻辑电路图
1 Q0
CLK
EN0 = 1 EN1 = Q0 Q1
EN2 = Q1·Q0
C = Q3· Q2·Q1 Q2
OK0 101 110 A1
100 A0
100 A0
OK1 111 OK1 111
OK1 111 101 A1 111 OK1 OK1 111
0
1 1
OK0 110 OK0 110 100 A0 OK0 110
转移/激励表
Q1*Q2*Q3* D1 D2 S*D3
5、触发器选型,得到激励方程和输出方程
Mealy机
11
识别等效状态 ,如果两个状态 对于所有输入组合产生相同的输出 对于每种输入组合具有同或等效的下一状态 1、得到状态转换表
0 1 2、状态化简 (状态最小化) 00 00 STA STA/0 A1/0 状态S A
3、状态编码
01 01
A1 OK
STA/0 A11/0 STA/1 OK/1 A11/0 STA/0 S*/Z A1/0 S*/Z
数字逻辑设计及应用
时钟同步状态机设计
1
7.4 时钟同步状态机设计
根据命题构造状态/输出表
状态化简(状态最小化)
状态编码(选择状态变量)
建立转移/输出表,得到状态和输出方程
选择触发器作为状态存储器 构造激励表,得到激励方程 画逻辑电路图
2
同步时钟状态机设计举例
设计入门:两个简单的例子
因B而OK,A为1 OK1B
状态含义
18
A0 OK0B OK1 OK1
S*
1
1
因B而OK,A为0 OK0B OK0 OK0 OK1B A1
1、构造状态转换表 2、状态最小化
S 00 01 初始状态 INIT A上捕获一个0 A0 A上捕获一个1 A1 A上连续两个 OK ,A值为0 0 OK0 A上连续两个 OK ,A值为1 1 OK1
激励方程
D2 = Q1·Q3’·A’ + Q1·Q3·A + Q1·Q2·B
D3 = Q2’·Q3’·A + Q1·A
D3
思考:最小成本法D3=?
25
D1 = Q2’·Q3’ + Q1
激励方程
D2 = Q1·Q3’·A’ + Q1·Q3·A + Q1·Q2·B
D3 = Q2’·Q3’·A + Q1·A
00 01 11
Q1=0 10 d
最小成本,未用状态作为无关项 D2 = Q1·Q3’·A’ + Q3·A+ Q2·B
Q1=1 10
23
1
1
1
0
D1 = Q2’·Q3’ + Q1 D2 = Q1·Q3’·A’ + Q1·Q3·A + Q1·Q2·B
D1
思考:最小成本法D1=?
24
D1 = Q2’·Q3’ + Q1
AB 11 10
Z
A0 OK0
A0
A0 OK0
A0
A1
A1
A1
A1
0
0 0 1 1
OK1 OK1
OK0 OK0 OK1B OK1 A1 A0 OK0B OK0 OK1 OK1
因B而OK,A为1 OK1B
状态含义
19
A0 OK0B OK0 OK1 OK1
S*
1
1
因 B而 OK ,A为 OK , A值为 0 0 OK0B OK0 OK0 OK1B OK1 A1
5
S1/0 001
S2/0 010
S3/0 011 S4/0 100
3、构造转移/输出表,求取 状态转移方程 和 输出方程
Q2 Q1 Q0 Q2*Q1*Q0* C 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 1wk.baidu.com0 1 0 0 0 0 0 0 0 0 1 Q0* = Q0’ Q0* Q Q 1 0 00 01 Q2 0 1 1 1 0 0
11 10
0 0 1 1
6
3、构造转移/输出表,求取 状态转移方程 和 输出方程
Q2 Q1 Q0 Q2*Q1*Q0* C 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 Q0* = Q0’ Q1* = Q1’·Q0 + Q1·Q0’
D2 = Q1·Q3’·A’ + Q1·Q3·A + Q1·Q2·B D2 AB 00 01 11 10 Q2Q3
00 0 0 d d d 0 d d d 0 d d d
0
0 0 0
0
0 0 0
0
0 0 0
AB
01 d
00 01 11 10 1 0 0 1 0 1 0 1 1 0 1 1 11 d
Q2Q3
设计一个3位二进制模8计数器 设计一个110序列检测器
状态表设计举例
例一(P408);例二(P419);例三(P421)
状态图设计(雷鸟车尾灯 猜谜游戏
3
)
设计一个3位二进制模8计数器
1、逻辑抽象,得到状态图(表)
对时钟信号计数,可不用输入 000 S0/0 —— Moore机 取进位信号为输出变量 需要8个有效状态 111 S7/1 110 S6/0 101 S5/0 S1/0 001
11 10 A11
12
Q1Q 0 A
00
01
Z
4、得到状态方程和输出方程
11 10
0 0 1 0 状态S
0 0
d d A 0
1 0
Q1Q0 00 01 11 10 A 0 00/0 00/0 dd/d 00/1 1 01/0 10/0 dd/d 10/0 1
00 STA 01 A1 10 A11
STA/0 A1/0
Q1* Q Q 1 0 00 01 Q2
0 1 0 0 1 1
11 10 0 0 1 1
7
3、构造转移/输出表,求取 状态转移方程 和 输出方程
Q2 Q1 Q0 Q2*Q1*Q0* C 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 Q0* = Q0’ Q1* = Q1’·Q0 + Q1·Q0’ Q2* = Q2’·Q1·Q0 + Q2·Q1’ + Q2·Q0’ 11 10 1 0 0 1
Q2* Q Q 1 0 00 01 Q2 0 1 0 1 0 1
输出方程:C = Q3· Q2·Q1
8
4、触发器选型,得到激励方程
Q0* = Q0’ EN0 = 1 Q1* = Q1’· ’·Q Q0 + Q1·Q0’ EN1 = Q0 Q2* = Q2’·Q1·Q0 + Q2·Q1’ + Q2·Q0’ 翻转 Q* = Q’(T触发器)
Z = A’·Q1 Q 1Q0 A Q1*
00 01 11 10
A
0 0
1 0
0
1
d d
0
1
0 0
1 1
0 0
d d
0 0
Q1* = A·Q1 + A·Q0
14
Q0* = A·Q1’·Q0’
5、得到激励方程
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’
选择J-K触发器
Q* = J·Q’ + K’·Q J1 = A·Q0 K1 = A’ J0 = A·Q1’ K0 = 1
15
6、检查电路的自启动性
Q0* = A·Q1’·Q0’ Q1* = A·Q1 + A·Q0 Z = A’·Q1 当电路进入无效状态11后, A=0时, 下一状态为 00 0/0 00 0/1 11
1、构造状态转换表
AB 从2 中选5种一共有 种 5!×3! S Z 00 01 11 10 2、状态最小化 5种编码5个状态,又有5!种 初始状态 INIT A0 A0 A1 A1 0 3、状态编码 A上捕获一个0 A0 OK,A值为0 OK0
3
8!
OK0
OK0
单热点的
A1 OK1