数字电路与系统设计课件.ppt
《数字电路与系统设计课件.ppt》由会员分享,可在线阅读,更多相关《数字电路与系统设计课件.ppt(127页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第4章 时序逻辑电路分析与设计第4章 时序逻辑电路分析与设计4.1 同步时序电路分析同步时序电路分析4.2 触发器级同步时序电路设计触发器级同步时序电路设计4.3 模块级同步时序电路设计模块级同步时序电路设计*4.4 异步计数器分析与设计异步计数器分析与设计第4章 时序逻辑电路分析与设计4.1 同步时序电路分析同步时序电路分析4.1.1 触发器级电路分析触发器级电路分析 要确定一个用触发器构成的同步时序电路的功能,通常需要经过以下几个分析步骤:根据给定电路写出输出方程组、激励方程组和次态方程组;根据上述三个方程组列出电路的状态表;根据状态表画出电路的状态图,必要时还可画出电路的工作波形;根据状
2、态图(或状态表、工作波形)确定电路的逻辑功第4章 时序逻辑电路分析与设计 【例4-1】分析图4-1所示同步时序电路的功能,并画出电路的工作波形。图 4-1 例4-1的电路第4章 时序逻辑电路分析与设计解解 输出方程组输出方程组激励方程组 将激励函数代入JK触发器的次态方程 ,得次态方程组:第4章 时序逻辑电路分析与设计 表表4-1 例例4-1状态表状态表第4章 时序逻辑电路分析与设计图 4-2 例4-1的状态图第4章 时序逻辑电路分析与设计图 4-3 例4-3的电路工作波形第4章 时序逻辑电路分析与设计 由状态图可见,当输入X=0时,电路始终处于保持状态;当输入X=1时,电路呈现出来一个CP脉
3、冲状态加1的特点,且当电路处于状态11(3)时,下一个CP 脉冲到来后状态变为00且产生Z=1输出,为四进制加法计数。因此,本电路为一个可控同步四进制加法计数器,X为控制端,Z为进位输出。当控制端X=0时,维持原态;X=1时,进行四进制加法计数。第4章 时序逻辑电路分析与设计 【例4-2】分析图4-4所示同步时序电路的功能,并画出电路的工作波形。图 4-4 例4-2的电路第4章 时序逻辑电路分析与设计解解 输出方程组激励方程组:次态方程组:第4章 时序逻辑电路分析与设计表表4-2 例例4-2状态表状态表第4章 时序逻辑电路分析与设计图 4-5 例4-2的状态图第4章 时序逻辑电路分析与设计 从
4、状态图可见,状态“11”是一个死循环,因此,图4-4所示电路是一个非自启动电路,加电工作时必须先清0。清0后,电路处于状态“00”。如果X=Y(即XY=00或11),维持状态“00”,输出GEL=010;如果XY(即XY=10),电路进入状态“10”,输出GEL=100;如果XY(即XY=01),电路进入状态“01”,输出GEL=001。一旦电路进入状态“10”或“01”,将不再进行状态转换,而是停止在这些状态上。由此可以判断,该电路是一个高位先入的串行二进制数比较器,X和Y是比较器的两个串行数据输入端,G、E、L是 XY、X=Y、XY等三种比较结果的输出端。第4章 时序逻辑电路分析与设计图
5、4-6 例4-2的电路工作波形第4章 时序逻辑电路分析与设计 模块级电路分析模块级电路分析 【例【例4-3】图4-7电路由两片4位二进制同步可预置加法计数器74161和少量逻辑门组成,试分析其功能。图 4-7 例4-3的电路第4章 时序逻辑电路分析与设计 解解 两片74161的连接电路极为相似,如果不考虑级联问题,二者完全相同。当QDQCQBQA=0100时,下一个CP脉冲将QDQCQBQA置为1000;当QDQCQBQA=1100时,下一个CP脉冲将QDQCQBQA置为0000。可见,每一片74161都是一个5421BCD码计数器。第4章 时序逻辑电路分析与设计 现在来看两片74161的级联
6、关系。虽然二者的CP端都与时钟脉冲CP相连,但右侧74161的计数控制端P受与门输出控制,而与门输入接左侧74161的QD、QC。只有当左侧74161处于“1100”状态即“9”状态时,下一个CP脉冲到来时右侧74161才能计数,同时左侧74161回到“0000”状态。也就是说,每来10个CP脉冲,左侧74161构成的5421BCD计数器向右侧74161构成的5421BCD计数器输出一个进位脉冲,使右侧5421BCD码计数器状态加1。因此,该电路是一个两位5421BCD码计数器,其中左侧74161构成个位计数器,右侧74161构成十位计数器。第4章 时序逻辑电路分析与设计【例【例4-4】分析图
7、4-8所示电路的功能。图 4-8 例4-4的电路第4章 时序逻辑电路分析与设计 解解 本题电路的存储器件只有1片74194,从连接情况看,它构成模8扭环形计数器。其它器件都是围绕74194来发挥作用的。画出电路的全状态图,有助于电路功能的分析。根据移位寄存器74194和译码器74154的功能特点,容易画出电路的全状态图,如图4-9所示。从状态图可见,这是一个自启动的值发生器,周期性地在输出端Z3Z2Z1Z0依次产生3、1、4、1、5、9、2、6等8位值的8421BCD码输出。第4章 时序逻辑电路分析与设计图 4-9 例4-4电路的全状态图第4章 时序逻辑电路分析与设计4.2 触发器级同步时序电
8、路设计触发器级同步时序电路设计 4.2.1 设计步骤设计步骤 (1)导出原始状态图或状态表。(2)状态化简。(3)状态分配。(4)(4)触发器选型。(5)(5)导出输出和激励函数表达式。(6)(6)检查多余状态,打破无效循环。(7)(7)画电路图。第4章 时序逻辑电路分析与设计4.2.2 导出原始状态图或状态表导出原始状态图或状态表 1.状态定义法状态定义法 状态定义法的基本思路是,认真分析电路要实现的功能,定义输入、输出变量和用来记忆输入历史的若干状态,然后分别以这些状态为现态,在不同的输入条件下确定电路的次态和输出,由此得到电路的原始状态图或状态表。本书将这种设计方法称为状态定义法,定义状
9、态的原则是“宁多勿缺”,使原始状态图或状态表全面、准确地体现设计要求的逻辑功能。多余的状态可以在状态化简时消除。第4章 时序逻辑电路分析与设计 【例【例4-5】导出“1111”序列检测器的原始状态图和状态表。当连续输入四个或四个以上的1时,电路输出为1;其它情况下电路输出为0。解解 上一章介绍移位寄存器的应用时,已经介绍过序列检测器。此处“1111”序列检测器的功能是:对输入X逐位进行检测,若输入序列中出现“1111”,则最后一个1输入时,输出Z为1;若随后的输入仍为1,输出继续为1。其它情况下,输出Z为0。显然,该序列检测器应该记住收到X中连续的1的个数,因此可以定义以下状态:第4章 时序逻
10、辑电路分析与设计 状态S0:表示未收到1,已收到的输入码是0。状态S1:表示已收到一个1。状态S2:表示已收到两个连续的1,即已收到11。状态S3:表示已收到三个连续的1,即已收到111。状态S4:表示已连续收到四个或四个以上的1。分别以S0S4为现态,按照功能要求确定在不同输入条件下的输出和次态,即可得到完整的原始状态图,如图4-10所示。第4章 时序逻辑电路分析与设计图 4-10 例4-5的原始状态图第4章 时序逻辑电路分析与设计 当电路处于状态S0时,表明电路未收到1。若此时输入X=0,则电路的输出为0,次态仍为S0;若此时输入X=1,则电路收到第一个1,进入收到一个1的状态,输出为0,
11、次态为S1。当电路处于S1时,表明电路已收到一个1。若此时输入X=0,接收1111的过程被打断,前面刚收到的1作废,电路返回到未收到有效1的状态,输出为0,次态为S0;若此时输入X=1,则电路连续收到两个1,进入连续收到两个1的状态,输出为0,次态为S2。第4章 时序逻辑电路分析与设计 当电路处于S2时,表明电路已连续收到两个1。若此时输入X=0,则接收1111的过程被打断,前面刚连续收到的11作废,电路返回到未收到有效1的状态,输出为0,次态为S0;若此时输入X=1,则电路连续收到三个1,进入连续收到三个1的状态,输出为0,次态为S3。当电路处于S3时,表明电路已收到三个连续的1。若此时输入
12、X=0,则接收1111的过程被打断,前面刚连续收到的111作废,电路返回到未收到有效1的状态,输出为0,次态为S0;若此时输入X=1,则电路连续收到四个1,进入连续收到四个1的状态,输出为1,次态为S4。第4章 时序逻辑电路分析与设计 当电路处于S4时,表明电路已收到四个或四个以上连续的1。若输入X=0,则接收1111的过程被打断,前面连续收到的多个1作废,电路返回到未收到有效1的状态,输出为0,次态为S0;若此时输入X=1,则电路已连续收到四个以上的1,根据题意,输出为1,次态仍为S4,电路停留在状态S4。第4章 时序逻辑电路分析与设计 由原始状态图得到原始状态表,如表4-3所示。从原始状态
13、表可以清楚地看出,S3和S4状态在相同的输入下有相同的次态和输出,说明二者的作用是等价的,因此S3和S4是等价状态,可以合并为一个状态。合并等价状态前,电路有5个状态,需要3个触发器才能实现;合并等价状态后,电路只有4个状态,用两个触发器就可以实现。由此可见状态化简对于简化电路、降低成本是非常重要的。第4章 时序逻辑电路分析与设计表表4 3 表表4-5的原始状态表的原始状态表第4章 时序逻辑电路分析与设计 2.列表法列表法 列表法的基本思路是:n位序列检测器需要记忆前面收到的n-1位,即需要2n-1个状态来记忆输入的历史,分别表示收到全0到全1的2n-1种情况,再根据收到的第n位,决定电路的输
14、出和次态,从而得到电路的原始状态表和状态图。列表法本质上也属于状态定义法,只不过先导出原始状态表,后导出原始状态图。这种方法特别适合序列长度较短的重叠型多序列检测。对于不允许输入序列码重叠的序列检测器,不能采用列表法,因为它不能区分前面的0或1是否已经被用过。此外,如果输入序列属于分组输入,也不能采用列表法,因为它也无法区分输入0、1的分组。第4章 时序逻辑电路分析与设计 【例【例4-6】某序列检测器有一个输入X和一个输出Z,当收到的输入序列为“101”或“0110”时,在上述序列的最后一位到来时,输出Z=1,其它情况下Z=0,允许输入序列码重叠。试列出其原始状态表。解解 本题中是指,序列“1
15、01”中的最后一位1可以作为下一组“101”序列的第一个1,后两位“01”也可以作为下一组“0110”序列的前两位;同理,序列“0110”的最后一位0可以作为下一组“0110”序列的第一个0,后两位的“10”也可以作为下一组“101”序列的前两位。第4章 时序逻辑电路分析与设计 本例也可以采用上例的状态定义法,先画出原始状态图,再列出原始状态表。此处采用列表法直接得到原始状态表。由于要检测的最长序列是0110,即n=4,所以电路要记住已收到的前3位数码。前3位数码共有000111等8种不同的取值,为此,设置S0S7 8个状态来分别记忆这8种不同取值。以S0S7为现态,结合当前第4位的输入值X就
16、可以确定输出Z的取值和电路的次态,从而得到电路的原始状态表,如表4-4所示。第4章 时序逻辑电路分析与设计表表4 4 例例4-6原始状态表原始状态表第4章 时序逻辑电路分析与设计 表4-4中状态S0S7左边的数码是各状态记忆的已收到的前面三位数码。当电路的现态是S0时,表示已收到000。若此时的输入是X=0,则收到的4位数码为0000、3位数码为000,均不是要检测的序列,所以输出Z=0;电路需要记住的后3位数码是000,所以次态是S0。若X=1,则收到的4位数码是0001、3位数码是001,也不是要检测的序列,所以输出Z=0;电路需要记住的后3位数码是001,所以次态是S1。由此构成了表4-
17、4中的第000行。第4章 时序逻辑电路分析与设计 当电路的现态是S1时,表示已收到001。若输入X=0,则收到的4位数码是0010、3位数码是010,仍不是要检测的序列,所以输出Z=0;电路需要记住的后三位数码是010,所以次态是S2。若X=1,则收到的4位数码是0011、3位数码是011,也不是要检测的序列,所以输出Z=0;电路需要记住的后三位数码是011,所以次态是S3。由此构成了表4-4中的第001行。第4章 时序逻辑电路分析与设计 当电路的现态是S2时,表示已收到010。若输入X=0,则收到的4位数码是0100、3位数码是100,都不是要检测的序列,所以输出Z=0;电路需要记住的后三位
18、数码是100,所以次态是S4。若X=1,则收到的4位数码是0101,不是要检测的序列,但3位数码是101,是要检测的序列,所以输出Z=1;电路需要记住的后三位数码是101,所以次态是S5。由此构成了表4-4中的第010行。第4章 时序逻辑电路分析与设计 3 树干分支法树干分支法 状态定义法和列表法中,状态的含义非常清楚,但在实际设计过程中,人们有时候并不需要预先将各个状态的含义定义得一清二楚,只要整个状态图或状态表能满足设计功能要求即可。此时可采用树干分支法直接画出原始状态图,省却逐个定义状态的麻烦。树干分支法的基本思路是:将要检测的序列作为树干,其余输入组合作为分支,先一厢情愿画树干,然后再
19、画分支,由此得到电路的原始状态图和状态表。树干分支法和状态定义法一样,适合所有的序列检测。但对于多序列检测,因需要多个树干而使得原始状态数较多,这是树干分支法的不足之处。第4章 时序逻辑电路分析与设计 【例4-7】用树干分支法画出重叠型和非重叠型“1010”序列检测器的原始状态图。解:解:无论是否允许重叠,序列检测器的树干都是“1010”,因此可以先画出“1010”这条树干,如图4-11所示。实际上,采用树干分支法画好原始状态图的树干后,各个状态的含义就已经清楚了,只不过一开始未定义而已。例如本例中,状态A作为初始状态表示未收到有效的“1”,状态B表示收到1个有效的“1”,状态C表示收到“10
20、”,状态D表示收到“101”,状态E表示收到“1010”。第4章 时序逻辑电路分析与设计图 4-11“1010”序列检测器的树干第4章 时序逻辑电路分析与设计图 4-12“1010”序列检测器的原始状态图第4章 时序逻辑电路分析与设计 重叠型和非重叠型“1010”序列检测器的原始状态图仅在电路处于状态E时有所不同。状态E表示电路已经检测到“1010”序列,如果是重叠型序列检测器,则后面的两位“10”可以作为下一组“1010”的前面两位“10”,因此再收到1时应转向收到“101”的状态D;如果是非重叠型序列检测器,因已经检测到了“1010”,所以后面的两位“10”不可再用,应从下一位开始重新检测
21、“1010”,因此再收到1时应转向收到第一个“1”的状态B。第4章 时序逻辑电路分析与设计 【例4-8】画出重叠型“101”和“010”双序列检测器的原始状态图。解解 该序列检测器有两条树干,一条是“101”,另一条是“010”,其树干和完整的原始状态图如图4-13所示。图 4-13 重叠型“101”、“010”双序列检测器的原始状态图(a)树干;(b)完整状态图第4章 时序逻辑电路分析与设计 【例【例4-9】某同步时序电路有两个输入X1、X0和一个输出Z,当连续两个或两个以上的时钟脉冲作用期间X1、X0都保持不变且取值相同时,电路输出Z=1,否则Z=0。画出其原始状态图。解解 在连续两个或两
22、个以上的时钟脉冲作用期间X1、X0都保持不变且取值相同,即指X1X0连续输入序列为00 00 00或11 11 11,因此,可得原始状态图如图4-14所示。第4章 时序逻辑电路分析与设计图 4-14 例4-9的原始状态图第4章 时序逻辑电路分析与设计 【例4-10】某同步时序电路对高位先入的串行5421BCD码进行误码检测,每当检测到一个错误码组时,在输入码组的最后一位到来时输出Z=1,其它情况下Z=0。检测完一组代码后回到初始状态,准备检测下一个码组。试画出其原始状态图。解解 这是一种分组码检测器,需要检测的错误码组有6个:0101、0110、0111、1101、1110和1111。由于需要
23、记忆位数,所以可以按照细胞分裂的结构将各种输入情况全部记忆下来,这样状态数虽然多一些,但每个状态的含义特别清楚,画状态图时不易出错。第4章 时序逻辑电路分析与设计图 4-15 例4-10的原始状态图第4章 时序逻辑电路分析与设计4.2.3 状态化简状态化简 一般情况下原始状态图或原始状态表都存在多余状态,因此必须进行状态化简,消除多余状态。状态化简是建立在状态等价概念的基础上的。设Si 和Sj是原始状态图或状态表的两个状态,如果在任意一个输入序列作用下以Si为初始状态产生的输出序列,与同一个输入序列作用下以Sj为初始状态产生的输出序列完全相同,那么就称状态Si和状态Sj相互等价,记作SiSj。
24、相互等价的两个或多个状态可以合并为一个状态。对于完全确定的状态表,有观察法和隐含表法两种状态化简方法。第4章 时序逻辑电路分析与设计 1.观察化简法观察化简法 将原始状态表中的状态与等价状态的定义进行比较,从中找出等价状态的化简方法称为观察化简法,也称为合并条件化简法。但前面的状态等价定义不便使用,通常是按照下面的变通条件来判断两个状态是否等价的。如果在所有输入条件下,两个状态对应的输出相同,且对应的次态满足下列条件之一,则这两个状态相互等价:次态相同;维持现态或次态交错变化;次态互为隐含条件。第4章 时序逻辑电路分析与设计 次态交错是指状态Si的次态是Sj,状态Sj的次态是Si。次态互为隐含
25、条件是指状态S1和S2等价的前提条件是状态S3和S4等价,而S3和S4等价的前提条件又是状态S1和S2等价,此时,S1和S2等价,S3和S4也等价。相互等价的状态的集合称为等价类,全体等价状态的集合称为最大等价类。等价类可以用括号表示,例如S1和S2是等价状态,即S1S2,等价类记为(S1,S2)。一个等价类中的所有状态可以合并为1个状态,记为(S1,S2)=(S1)。第4章 时序逻辑电路分析与设计 等价状态具有传递性,即如果S1S2、S2S3,则有S1S2S3,即S1、S2、S3相互等价,最大等价类记为(S1,S2,S3)。观察化简法就是要找出原始状态表中所有的最大等价类,将每个最大等价类合
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字电路 系统 设计 课件
限制150内