当前位置:
文档之家› 电子科大-数电-数字逻辑设计第七章(5)
电子科大-数电-数字逻辑设计第七章(5)
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
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
最小冒险,未用状态初始状态
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
因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
STA/0 A11/0 STA/1 A11/0
S*/Z
13
Q 1Q0 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
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
激励方程
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
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
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触发器)
OK0 101 110 A1
100 A0
100 A0
OK1 111 OK1 111
OK1 111 101 A1 Βιβλιοθήκη 11 OK1 OK1 1110
1 1
OK0 110 OK0 110 100 A0 OK0 110
转移/激励表
Q1*Q2*Q3* D1 D2 S*D3
5、触发器选型,得到激励方程和输出方程
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、根据状态表和状态编码构造转移/输出表
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
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
输出方程:Z = Q1·Q2
6、画逻辑电路图(略)
说明: 最小冒险法 所有未用状态 “安全”状态( P415图7-52 ) 最小成本法 所有未用状态的下一状态作为无关项 电路的激励方程简单,不够安全( P416图7-53)
Z = A’·Q1 Q1Q0 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’
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
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’
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