当前位置:文档之家› 第7章 时序逻辑设计原理(5)

第7章 时序逻辑设计原理(5)


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)’
激励方程
D2 = Q1·Q3’·A’ + Q1·Q3·A + Q1·Q2·B
D3 = Q2’·Q3’·A + Q1·A
D3
思考:最小成本法D3=?
D1 = Q2’·Q3’ + Q1
激励方程
D2 = Q1·Q3’·A’ + Q1·Q3·A + Q1·Q2·B
D3 = Q2’·Q3’·A + Q1·A
Q1=0 10 d
11
Q1=1 10
0
1
1
1
1
1
1
0
最小成本,未用状态作为无关项 D2 = Q1·Q3’·A’ + Q3·A+ Q2·B
D1 = Q2’·Q3’ + Q1 D2 = Q1·Q3’·A’ + Q1·Q3·A + Q1·Q2·B
D1
思考:最小成本法D1=?
D1 = Q2’·Q3’ + Q1

选择复位时容易进入的状态作为初始状态


使每次转移时要发生改变的状态变量数最小化
使一组相关状态中不变化的状态变量数最大化 发现和利用问题描述中的对称性 将状态变量组分解为有明确含义的位或字段,相对 于状态机的输入效果或者输出特性 可以使用多余最小值的状态变量数(便于分解) 未用状态的考虑

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
1
1
1
0
输出方程:Z = Q1·Q2
D2 AB 00 01 11 10 Q2Q3
00 0 01 0 11 0 Q1=0 10 0
最小冒险,未用状态初始状态
S
IDLE
转移表达式
H’·L’·R’ L·H’·R’ R·H’·L’ H+L·R H’·R’ H+R H’·R’ H+R 1 H’·L’ H+L
S*
IDLE L1 R1 LR3 L2 LR3 L3 LR3 IDLE R2 LR3 R3 LR3 IDLE IDLE
Q2*Q1*Q0*
0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 0
R3
1 H’·L’
H+L
R1
1 H’·L’ H+L
R2
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
3、得到转移列表 P427
合理的状态赋值
1、构造状态图
P408
例: 设计一个具有2个输入(A、B),1个输出(Z) 的时钟同步状态机,Z为1的条件是:


在前2个脉冲触发沿上,A的值相同 或者
从上一次第1个条件为真起,B的值一直为1
1、构造状态转换表
S 初始状态 INIT A上捕获一个0 A0 A上捕获一个1 A1 A上连续两个0 OK0 A上连续两个1 OK1 00 01
方法二
利用状态转移表和激励表得到激励方程
功能表 J K Q 激励表 Q Q* J K
0 0 1 1
0 保持 1 清0 0 置1 1 翻转
0 0 1 1
0 1 0 1
0 1 d d
d d 1 0
方法一:利用状态方程和特征方程设计
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
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
因B而OK,A为1 OK1B
状态含义
A0 OK0B OK1 OK1
S*
1
1
因B而OK,A为0 OK0B OK0 OK0 OK1B A1
方法二:利用激励表进行J-K触发器设计
Q1Q2Q3 000 100 101 110 111 AB 00 100 01 100 110 100 110 11 101 10 101 101 Z 0 0 0 1 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
1、构造状态图 无二义性的
IDLE:全灭 L1:左边1个灯亮 L2:左边2个灯亮 L3:左边3个灯亮 R1:右边1个灯亮
H’·L’·R’ L3
L2 1 1
L1
1 L·H’·R’ L 1
IDLE
1 R R·H’·L’
H+L·R H
LR3
R2:右边2个灯亮
R3:右边3个灯亮 LR3:全亮
R3
1 R2 1
雷鸟车尾灯
输入:左转L、右转R、应急闪烁H(hazard)、时钟 输出:控制6个灯亮或灭 —— 可以完全由状态控制
LC
LB
LA
RA
RB
RC
直接利用状态控制输出 输 出 IDLE:全灭 L1:左边1个灯亮 L2:左边2个灯亮 L3:左边3个灯亮 R1:右边1个灯亮
状态
R2:右边2个灯亮
R3:右边3个灯亮 LR3:全亮
利用卡诺图化简,教材P418
Q1Q2Q3 000 100 101 110 111 AB 00 01 11 10 100 100 101 101 1d,0d,0d 1d,0d,0d 1d,0d,1d 1d,0d,1d 110 110 101 101 d0,1d,0d d0,1d,0d d0,0d,1d d0,0d,1d 100 100 111 111 d0,0d,d1 d0,0d,d1 d0,1d,d0 d0,1d,d0 110 110 111 101 d0,d0,0d d0,d0,0d d0,d0,1d d0,d1,1d 100 110 111 111 d0,d1,d1 d0,d0,d1 d0,d0,d0 d0,d0,d0 J1K1 , J2K2 , J3K3 Q1*Q2*Q3* Z 0 0 0 1 1
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
110 1Байду номын сангаас0
101 111
111 101
110
111 111
100
110
111
J1K1 , J2K2 , J3K3 Q1*Q2*Q3*
3
8!
OK0
OK0
单热点的
A1 OK1
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)
合理的状态赋值
101 A1
OK0 110 OK1 111
100 A0
100 A0
OK1 OK1 111 111
OK1 101 111 A1 111 OK1 OK1 111
0
1 1
Z,D1,D2,D3
使用D触发器
OK0 OK0 110 110 100 OK0 A0 110
Q1*Q2*Q3* D1 D2 D3 S*
转移/激励表
4、根据状态表和状态编码构造转移/输出表
Q1Q2Q3 S 5个“输入”变量: AB 00 100 A0 OK0 110 01 100 A0 11 101 A1 10 101 A1 101 A1 Z 0 0
A,B,Q1,Q2,Q3
4个“输出”变量:
INIT 000 100 A0
OK0 A1 110 101
= Q2’·Q3’·Q1’ + Q1
利用状态方程和特征方程设计
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 J3 = Q2’·A + Q1·A K3 = Q1’ + A’ Q3* = Q2’·Q3’·A + Q1·A = Q2’·Q3’·A + Q1·A·(Q3’+Q3) = (Q2’·A + Q1·A)·Q3’+ Q1·A·Q3
相关主题