数字逻辑第二版(毛法尧)习题答案 下载本文

习题四

4.1 图4.55所示为一个同步时序逻辑电路,试写出该电路的激励函数和输出函数表达式。 解:输出函数:

Z?x1x2y1y3;

Y1?x1?y1;Y2?x1?y2;

激励函数:

T?Z?x1x2y1y3; J?Y1?x1?y1; K?Y2?x1?y2; D?Y1?x1?y1。

4.2 已知状态表如表4.45所示,作出相应的状态图。 解:状态图为:

4.3 已知状态图如图4.56所示,作出相应的状态表。 解:相应的状态表为:

4.4 图4.57

所示状态图表示一个同步时序逻辑电路处于其中某一个未知状态,。为了确定这个初始状态,可加入一个输入序列,并观察输出序列。如果输入序列和相应的输出序列为00/0、01/1、00/0、10/0、11/1,试确定该同步时序电路的初始状态。

解:为分析问题的方便,下面写出状态表: 时,时

当输入序列和相应的输出序列为00/0A、B、C、D都符合条件,但当序列为01/1要转为B态或C态,就排除了A、D态;

16

下一个序列为00/0时,B、C保持原态,接着序列为10/0时,B态转为A态,C态转为D态,但当最后一个序列为11/1时,只有D态才有可能输出1,这就排除了B态。故确定该同步时序电路的初始状态为C态。

即C(初态)→(00/0)→C→(01/1)→C→(00/0)→C→(10/0)→D→(11/1)→C 4.5 分析图4.58所示同步电路,作出状态图和状态表,并说明该电路的逻辑功能。 解:激励方程:

J1?Q1Q2;K1?xQ2?Q1Q2;J2?xQ2;K2?Q2; 输出方程: Z1?Q1;Z2?Q2。 ∴各触发器的状态方程为:

n?1Q1?J1Q1?K1Q1=Q1Q2Q1?xQ2?Q1Q2Q1=xQ1Q2;

n?1?J2Q2?K2Q2=xQ2Q2?Q2Q2=0; Q2

由图可见,该电路的逻辑功能为:在时钟脉冲作用下,输入任意序列x均使电路返回00状态。

4.6 图4.59为一个串行加法器逻辑框图,试作出其状态图和状态表。 解: 状态图和状态表为: 4.7 作1010序列检测

器的状态图,已知输入、输出序列为输入:0 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 1 0 输出:0 0 0 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0

解:1010序列检测器的状态图如右。

4.8 设计一个代码检

测器,电路串行输入余3码,当输入非法数字时电路输出为0,否则输出为1,试作出状态图。

解:余3码的非法数字有六个,即0000,0001,0010,1101,1110,1111。 故其原始状态图为:

17

4.9 简化表4.46所示的完全确定状态表。

解:表4.46所示的完全确定状态表的隐含表为:

考察给定的状态表,比较状态C和F。不论输入x是1还是0,它们所产生的输出都相同。当x=0时,所建立的次态也相同;但当x=1时,它们的次态不相同: N(C,1)=A N(F,1)=D

于是状态C,F能否合并,取决于状态A,D能否合并。

对于状态A和D。不论输入x是1还是0,它们所产生的输出都分别相同。当x=1时,它们的次态为现态的交错,但当x=0时,它们的次态却不相同:

N(A,0)=E N(D,0)=B

因此,状态A,D能否合并,取决于状态B,E能否合并。

对于状态B和E。不论输入x是1还是0,它们所产生的输出都分别相同。但当x=0时,它们的次态不同: N(B,0)=A N(E,0)=D 当x=1时,它们所建立的次态也不相同: N(B,1)=F N(E,1)=C

可以发现:状态CF、AD和BE能否各自合并,出现如上循环关系:

显然,由于这个循环中的各对状态,在不同的现输入下所产生的输出是分别相同的,因而从循环中的某一状态时出发,都能保证所有的输入序列下所产生的输出序列都相同。所以,循环中各对状态分别可以合并。令

A={A,D}, B={B,E} C={C,F} 代入原始状态表中简化后,再令D、E代替G、H,可得最小化状态表。 4.10 简化表4.47所示的不完全确定状态表。

解:由给定的不完全确定状态表画出隐含表,可以得出全部相容状态对有五个,为: (A,B)、(C,D)、(C,E)、(A,D)、(B,C), 从这五个相容状态对可以看出它们本身就是最大相容类。

18

作出闭覆盖表寻找最小闭覆盖。

从闭覆盖表可以得出两种最小化方案及对应的最小化状态表: 从这两个方案可以看出,方案一相容类数目最少,是最佳方案。

4.11 按照状态分配基本原则,将表4.48所示的状态表转换成二进制状态表。 解:给定的状态表中共有A、B、C、D四个状态,其中B态和C态是可以合并的最大相容类,可看成一个状态,如B态。则根据状态分配原则1),A和B应分配相邻代码;根据状态分配原则2),A和B,B和D应分配相邻代码;根据状态分配原则3),A和B、B和D分配相邻代码,根据状态分配原则状态B的代码应分配为00。

从分配二进制代码的卡诺图得码分配结果:B为00;A为01;D10。C为11是不会出现的状态,可无关项处理。

于是可得二进制状态表。 4.12 若分别用J-K、T和D触发器作同步时序电路的存储电路,试根据表4.49所示的二进制状态表设计同步时序电路,并进行比较。

解:下面画出了分别用J-K、T和D触发器作同步时序电路的存储电路时的激励函数和输出函数卡诺图:

19

应4),代为作

∴各触发器的激励函数和输出函数的表达式如下:

J2?y1?x;K2?y1?x;J1?x?y2?xy2?x?y2;K1?x;

T2?y1?xy2?xy2?y1?x?y2;T1?xy2y1?xy1?xy2?xy2y1?x(y1?y2);

D2?y2y1?xy1;

D1?x?y2?xy1?xy2y1=x(y2?y1)?xy2y1?x?y2y1?xy2y1=x?(y2y1)

Z?y2y1

各逻辑电路为:

由此可见,使用JK触发器线路较为简单,门电路较少,成本较低。

4.13 设计一个能对两个二进制数X=x1,x2,┅,xn和Y=y1, y 2,┅, y n进行比较的同步时序电路,其中,X,Y串行地输入到电路的x,y输入端。比较从x1, y 1开始,依次进行到xn, y n。电路有两个输出Zx和Zy,若比较结果X>Y,则Zx为1,Zy为0;若X<Y,则Zy为1,Zx为0;若X=Y,则Zx 和 Zy都为1。要求用尽可能少的状态数作出状态图和状态表,并作尽可能的逻辑门和触发器来实现。

解:两个数进行比较时,先比较高位,然后比较低位。

若xi= y i=0或1,两个输出Zx 和 Zy=1,还应比较低一位,若还相等,则两个输出不变。,若所有的位的数都相等,最后输出Zx 和 Zy=1,表示比较结果X=Y。

比较过程中若出现某一位数不等,则比较结束。xi> y i时输出Zx=1,Zy=0,比较结果X>Y;xi<y i时输出Zx=0,Zy=1,比较结果X<Y。

因题意要求要求用尽可能少的状态数作出状态图和状态表,并作尽可能的逻辑门和触发

器来实现,故采用Moore型电路,用两个D触发器,这两个触发器的输出就是电路的输出,其中y 2表示Zy,y 1表示Zx。用A、B、C三个状态分别表示X=Y、X<Y、X>Y。

20