6.5.5 同步时序逻辑电路设计举例例:
设计一个,111…,序列检测器,用来检测串行二进制序列,要求每当连续输入 3个 (或 3个以上 )1时,
检测器输出为 1,否则输出为 0。 其典型输入输出序列如下:
输入 x,0 1 1 1 0 1 1 1 1 0
输出 Z,0 0 0 1 0 0 0 1 1 0
解,? 作状态图和状态表
0A0/0
0/0
0/0
0/0
B
1/0
D
1/1
1/1
C
1/0
现 态次态 /输出 Z
x=0 x=1
A
B
C
D
A/0
A/0
A/0
A/0
B/0
C/0
D/1
D/1
状态化简用观察法可得最大等效类为,(A),(B),(C,D)
令 C= (C,D),可得下列最简状态表现 态次态 /输出 Z
x=0 x=1
A
B
C
A/0
A/0
A/0
B/0
C/0
C/1
现 态次态 /输出 Z
x=0 x=1
A
B
C
D
A/0
A/0
A/0
A/0
B/0
C/0
D/1
D/1
状态分配,? AB,BC,AC应相邻
AB,AC应相邻
AB应相邻
A应为逻辑 0
A
B
0 1
0
1
y1
y2现 态次态 /输出 Z
x=0 x=1
A
B
C
A/0
A/0
A/0
B/0
C/0
C/1
C
现态
y2 y1
次态 y2(n+1)y1(n+1)/输出 Z
x=0 x=1
0 0
0 1
1 0
00/0
00/0
00/0
01/0
10/0
10/1
现 态次态 /输出 Z
x=0 x=1
A
B
C
A/0
A/0
A/0
B/0
C/0
C/1
A
B
0 1
0
1
y1
y2
C
现 态
y2 y1
次 态
y2(n+1y1(n+1)
0 0
0 1
1 0
1 1
0 0
0 1
1 0
1 1
输 入
x
激励函数
J2 K2 J1 K1
0 0
0 0
0 0
d d
0 1
1 0
1 0
d d
0 d 0 d
0 d d 1
d 1 0 d
d d d d
0 d 1 d
1 d d 1
d 0 0 d
d d d d
0
0
0
0
1
1
1
1
输 出
Z
0
0
0
d
0
0
1
d
Q Q(n+1) J K
0 d1 d
d 1d 0
0 00 1
1 01 1
确定激励函数和输出函数表达式:
选用 J- K触发器
xy2
0 d
d0
00 01
0
1
y1 11 10
d 0
d 1J2 xy
2
d 1
dd
00 01
0
1
y1 11 10
0 d
d dK2 xy
2
0 0
dd
00 01
0
1
y1 11 10
0 1
d dJ1
xy2
d d
d1
00 01
0
1
y1 11 10
d d
d 1K1
xy2
0 0
d0
00 01
0
1
y1 11 10
1 0
d 0Z
现态
y2 y1
0 0
0 1
1 0
1 1
0 0
0 1
1 0
1 1
输入
x
激励函数
J2 K2 J1 K1
0 d 0 d
0 d d 1
d 1 0 d
d d d d
0 d 1 d
1 d d 1
d 0 0 d
d d d d
0
0
0
0
1
1
1
1
输 出
Z
0
0
0
d
0
0
1
d
J2=xy1,k2=x
J1=xy2,k1=1
Z=xy2
画电路图
J2=xy1,k2=x
J1=xy2,k1=1
Z=xy2
K1 CK2 C
y2
CP
x
y1
z
y2
&
y1
1
&
J1J2
&
分析:
由于电路有冗余状态,11”,一旦电路进入,11”状态,
不管输入为 0还是 1,经过一个时钟周期后,电路应自动进入有效状态,否则电路存在“挂起”现象。
分析方法为:
确定无效状态的次态,由于无效状态的次态为 d,
所以在化简的卡诺图中,被卡诺圈圈起的 d为 1,没有被卡诺圈圈起的 d为 0。然后判断无效状态的次态是否为有效状态或是否存在“挂起”现象。
xy2
0 d
d0
00 01
0
1
y1 11 10
d 0
d 1J2
xy2
d 1
dd
00 01
0
1
y1 11 10
0 d
d dK2
xy2
0 0
dd
00 01
0
1
y1 11 10
0 1
d dJ1
xy2
d d
d1
00 01
0
1
y1 11 10
d d
d 1K1
xy2
0 0
d0
00 01
0
1
y1 11 10
1 0
d 0Z
现 态
y2 y1
次 态
y2(n+1y1(n+1)
0 0
0 1
1 0
1 1
0 0
0 1
1 0
1 1
输 入
x
激励函数
J2 K2 J1 K1
0 0
0 0
0 0
0 0
0 1
1 0
1 0
1 0
0 d 0 d
0 d d 1
d 1 d 1
0 1 0 1
0 d 1 d
1 d d 0
d 0 d 0
1 0 0 1
0
0
0
0
1
1
1
1
输 出
Z
0
0
0
0
0
0
1
1
xy2
0 0
d0
00 01
0
1
y1 11 10
1 0
d 0Z
Z=xy1y2
现态
y2 y1 x=0 x=1
0 0
0 1
1 1
1 0
00/0
00/0
00/0
00/0
01/0
10/0
10/0
10/1
次态 y2(n+1)y1(n+1)/Z
000
0/0
0/0
0/0
0/0
01
1/0
11
1/0
1/1
10
1/0
修改后的电路图:
K1 CK2 C
y2
CP
x
y1
z
y2
&
y1
1
&
J1J2
&
例,设计一个三位串行奇偶校验电路。当电路串行接收了三位二进制数后,如果 1的个数为偶数,则电路输出为 1;否则为 0。当接收了三位二进制数后,电路返回初始状态。
解,? 作状态图和状态表
F
B
A
C
G
0/0
0/0
1/0
1/0
D E
0/0 1/0
0/11/0 0/01/1 0/0
1/1 0/11/0
现态 次态 /输出x=0 x=1
A
B
C
D
E
F
G
B/0
D/0
F/0
A/1
A/0
A/0
A/1
C/0
E/0
G/0
A/0
A/1
A/1
A/0
现态 次态 /输出x=0 x=1
A
B
C
D
E
F
G
B/0
D/0
F/0
A/1
A/0
A/0
A/1
C/0
E/0
G/0
A/0
A/1
A/1
A/0
状态化简现态 次态 /输出x=0 x=1
A
B
C
D
E
B/0
D/0
E/0
A/1
A/0
C/0
E/0
D/0
A/0
A/1
状态分配,?DE应相邻
BC,DE应相邻
ABC应 两两 相邻
A应为逻辑 0
现态 次态 /输出x=0 x=1
A
B
C
D
E
B/0
D/0
E/0
A/1
A/0
C/0
E/0
D/0
A/0
A/1
y3y2
A B
00 01
0
1
y1 11 10
C D
E
Y3Y2Y1
次态 /输出
x=0 x=1
000
010
110
100
101
010/0
100/0
101/0
000/1
000/0
110/0
101/0
100/0
000/0
000/1
现态 次态 /输出x=0 x=1
A
B
C
D
E
B/0
D/0
E/0
A/1
A/0
C/0
E/0
D/0
A/0
A/1
y3y2
A B
00 01
0
1
y1 11 10
C D
E
Y3Y2Y1
次态 /输出
x=0 x=1
000
001
010
011
100
101
110
111
010/0
ddd/d
100/0
ddd/d
000/1
000/0
101/0
ddd/d
110/0
ddd/d
101/0
ddd/d
000/0
000/1
100/0
ddd/d
d
00 01 11 10
00
01
11
10
xy3y
2y1
00
dd
0
0d 0
D2
1 0 1
d d
0 0
00 01 11 10
00
01
11
10
xy3y
2y1
11
dd
0
0d 0
D3
0 0 1
d
d d
1 1
00 01 11 10
00
01
11
10
xy3y
2y1
10
dd
0
0d 0
D1
0 0 0
d
d d
0 1
00 01 11 10
00
01
11
10
xy3y
2y1
00
dd
0
0d 1
Z
0 1 0
d
d d
0 0
Y3Y2Y1
次态 /输出
x=0 x=1
000
001
010
011
100
101
110
111
010/0
ddd/d
100/0
ddd/d
000/1
000/0
101/0
ddd/d
110/0
ddd/d
101/0
ddd/d
000/0
000/1
100/0
ddd/d
D3=Y2+XY3
D2=Y3Y2
D1=XY3Y2+XY3Y2
=Y2(X?Y3)
Z=XY1+XY3Y2Y1
列出激励函数和输出函数表达式:
画逻辑电路图:(略)。
00 01 11 10
00
01
11
10
xy3y
2y1
11
11
0
00 0
D3
0 0 1
1
1 1
1 1
00 01 11 10
00
01
11
10
xy3y
2y1
10
10
0
00 0
D1
0 0 0
0
0 1
0 1
00 01 11 10
00
01
11
10
xy3y
2y1
00
00
0
01 0
D2
1 0 1
1
0 0
0 0
00 01 11 10
00
01
11
10
xy3y
2y1
00
00
0
00 1
Z
0 1 0
1
1 1
0 0
分析:
Y3Y2Y1
次态 /输出
x=0 x=1
000
001
010
011
100
101
110
111
010/0
010/0
100/0
100/0
000/1
000/0
101/0
101/0
110/0
110/1
101/0
101/1
000/0
000/1
100/0
100/1
00 01 11 10
00
01
11
10
xy3y
2y1
00
00
0
00 1
Z
0 1 0
0
0 0
0 0
Z=XY3Y2Y1+XY3Y2Y1
修改后的画逻辑电路图:(略)。
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
0 0 0 0
例,用 JK触发器,设计一个 8421BCD码十进制计数器。
解,( 1)建立原始状态图和原始状态表。
nQ3 nQ2 nQ1 nQ0 13?nQ 12?nQ 11?nQ 10?nQ
00 01 11 10
00 1 1 d 1
01 0 0 d 0
11 0 0 d d
10 1 1 d d
00 01 11 10
00 0 0 d 0
01 1 1 d 0
11 0 0 d d
10 1 1 d d
00 01 11 10
00 0 1 d 0
01 0 1 d 0
11 1 0 d d
10 0 1 d d
( 2)求输出函数和激励函数。
00 01 11 10
00 0 0 d 1
01 0 0 d 0
11 0 1 d d
10 0 0 d d
Q3Q2
Q1Q0
Q3n+1
Q3Q2
Q1Q0
Q0n+1
Q3Q2
Q1Q0
Q2n+1
Q3Q2
Q1Q0
Q1n+1
303012
1
3 QQQQQQQ
n
201201
1
2 )( QQQQQQQ
n
10103
1
1 QQQQQQ
n
0
1
0 QQ
n
030123,QKQQQJ
01012012,QQQQKQQJ
01031,QKQQJ
1,1 00 KJ
特征方程组:
激励函数:
00 01 11 10
00 1 1 d 1
01 0 0 d 0
11 0 0 d d
10 1 1 d d
00 01 11 10
00 0 0 d 0
01 1 1 d 0
11 0 0 d d
10 1 1 d d
00 01 11 10
00 0 1 d 0
01 0 1 d 0
11 1 0 d d
10 0 1 d d
00 01 11 10
00 0 0 d 1
01 0 0 d 0
11 0 1 d d
10 0 0 d d
Q3Q2
Q1Q0
Q3n+1
Q3Q2
Q1Q0
Q0n+1
Q3Q2
Q1Q0
Q2n+1
Q3Q2
Q1Q0
Q1n+1
1010→1011 1011→0100 1100→1101
1101→0100 1110→1111 1111→0000
( 3)自启动检查。
14
0 1 2
15
43
1011
1213
9 8 7 56
状态转移关系图为使电路不至于出现挂起现象,需要检查不在计数循环中的状态的转移关系。共有 6个未使用的状态。凡在化简时被圈入的任意项,其取值为 1,没有被圈入的任意项取值为 0。从而得到这 6个未使用状态的次态为:
1010→1011 1011→0100 1100→1101
1101→0100 1110→1111 1111→0000
CP
Q1 Q2 Q3Q0J
0
C
K0
& J1
C
K1
& J2
C
& K2
& J3
C
K3
( 4)画逻辑图。
030123,QKQQQJ
01012012,QQQQKQQJ
01031,QKQQJ
1,1 00 KJ
y2 y1 y0
x=0 x=1
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
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
1
1
1
1
1
1
1
例,设计一个三位串行输入输出移位寄存器。要求数据在移位寄存器中传输是由低位到高位依次进行的。该移位寄存器有一个输入端 X,输出则为触发器状态输出。
解,( 1)建立原始状态图和原始状态表。
)1(2?ny)1(1?ny)1(0?ny
00 01 11 10
00 0 0 1 1
01 0 0 1 1
11 0 0 1 1
10 0 0 1 1
00 01 11 10
00 0 0 0 0
01 1 1 1 1
11 1 1 1 1
10 0 0 0 0
00 01 11 10
00 0 0 0 0
01 0 0 0 0
11 1 1 1 1
10 1 1 1 1
( 2)求输出函数和激励函数。
xy2
y1y0
y0n+1
xy2
y1y0
y2n+1
xy2
y1y0
y1n+1
2121
1
2 yyyyy
n
1010
1
1 yyyyy
n
00
1
0 xyyxy
n
1212,yKyJ
0101,yKyJ
xKxJ 00,
特征方程组:
激励函数:
( 4)画逻辑图。
J0
K0
C
Q0 J1
K1
C
Q1 J2
K2
C
Q2
y0 y1 y2
1CP
x
1212,yKyJ
0101,yKyJ
xKxJ 00,