时序电路·专题02·时序电路的分析与设计-时序电路概念

一、【同步】时序电路的【分析】

同步时序电路的分析实际上是一个【读图、识图】的过程∶按照给定的时序电路,通过分析其状态和输出信号在输入变量和时钟作用下的转换规律,理解其逻辑功能和工作特性。

下面首先介绍分析同步时序电路的一般步骤,然后通过例题加深对分析方法的理解。

1-1:分析同步时序逻辑电路的一般步骤

(1)根据给定的同步时序电路导出下列逻辑方程组①对每个触发器导出激励方程,组成【激励方程组】;②将各触发器的激励方程代入相应触发器的特性方程,得到各触发器的转换方程,组成【转换方程组】;③对应每个输出变量导出输出方程,组成【输出方程组】。

上述①和③推导出同步时序电路中全部组合电路的特性,而②则推导出电路的状态转换特性。

(2)根据【转换】方程组和【输出】方程组,列出电路的【转换表】或【状态表】,画出【状态图】和【时序图】(3)确定电路的逻辑功能,必要的话,可用文字详细描述。

上述步骤是分析同步时序电路的一般化过程,实际分析中可根据具体情况增、减执行,最终达到明确电路的功能即可。

1-2:同步时序逻辑电路分析举例

——1)序列信号检测器(可控二进制计数器)

时序电路·专题02·时序电路的分析与设计-时序电路概念
时序电路·专题02·时序电路的分析与设计-时序电路概念
时序电路·专题02·时序电路的分析与设计-时序电路概念

(5)逻辑功能分析

时序电路·专题02·时序电路的分析与设计-时序电路概念

观察状态图和时序图可知,图6.2.1 的电路是一个由信号 AA 控制的可控二进制计数器, CPCP 为计数脉冲。

A=0A=0 时停止计数,电路状态保持不变;

A=1A=1 时,在 CPCP 上升沿到来后电路状态值加1。

一旦计数到11状态, YY 输出1,且电路状态将在下一个 CPCP 上升沿回到00。输出信号 YY 的【下降沿】可用于触发进位操作。

该电路亦可作为【序列信号检测器】,用来检测同步脉冲信号序列 AA 中1的个数,一旦检测到四个1状态(这四个1状态可以不连续),电路输出 Y Y则出现一次从1到0的跳变。

观察图6.2.3的时序图

时序电路·专题02·时序电路的分析与设计-时序电路概念

在第9个和第10个 CPCP 脉冲之间,输入信号 AA 出现短时间的0电平”毛刺”,如图中箭头①所示,结果引起输出 YY 也相应变化。

注意: YY 第一次为1时, A=1A=1 , Q1Q0=11Q_{1}Q_{0}=11 ,可知对应 Y=1Y=1YY 第二次为1时, AA 出现了毛刺,也就是出现短暂为0的情况,因为电路属于米利型,输出变量会受到输入变量 AA 的影响,查表可知,当 A=0A=0Q1Q0=11Q_{1}Q_{0}=11 时, Y=0Y=0 ,所以才会出现箭头②所示的情况!

倘若信号 AA 的这个”毛刺” 是外界干扰造成的(输入信号的引线有时可能较长,易捡拾干扰信号),计数器将输出两次进位触发脉冲沿,如图6.2.3中箭头②所示。

时序电路·专题02·时序电路的分析与设计-时序电路概念

如果删除图6.2.1中 AA 和与门 G2G_{2} 输入之间的连线,将电路转化为穆尔型,则能使输出信号 YY 仅取决于电路的状态,其变化始终与时钟同步,而输入信号 AA 影响电路状态的时间仅限于 CPCP 脉冲上升沿前后的瞬间,发生错误的概率将降低到较低的程度,从而提高了电路的抗干扰性能。当然,修改后的电路逻辑功能也将稍有变化。

——2)可逆二进制计数器

时序电路·专题02·时序电路的分析与设计-时序电路概念
时序电路·专题02·时序电路的分析与设计-时序电路概念

(5)逻辑功能分析

由状态图可以看出,图6.2.4所示电路是一个可逆二进制计数器。

A=0A=0 时,进行【递增】计数,每来一个时钟脉冲,计数器值 Q1Q0Q_{1}Q_{0} 加1,依次为 00→01→10→1100→01→10→11 。每经过4个时钟脉冲作用后,电路的状态循环一次。在进行【递增】计数时,可以利用 ZZ 信号的【下降沿】触发【进位】操作;

A=1A=1 时,进行【递减】计数,依次为 11→10→01→0011→10→01→00ZZ 端在Q1Q0Q_{1}Q_{0}为11时输出1。在【递减】计数时则可用 ZZ 信号的【上升沿】触发【借位】操作。

注意:在进行“递增”计数时,只有 ZZ 由1变0了,才表明计数完成,因此利用 ZZ 信号的“下降沿”触发“进位”信号;而在进行“递减”计数时,由于要借位才能进行操作,所以当 ZZ 由0变为1时,才表明计数开始,因此利用 ZZ 信号的“上升沿”触发“借位”信号。

——3)脉冲分配器或节拍脉冲产生器(自校正)

时序电路·专题02·时序电路的分析与设计-时序电路概念
时序电路·专题02·时序电路的分析与设计-时序电路概念
时序电路·专题02·时序电路的分析与设计-时序电路概念

根据转换表可画出电路的状态图如图6.2.8 所示。由图可见,001、010、100 三个状态形成闭合回路,电路正常工作时,其状态总是按照回路中的箭头方向循环变化。这三个状态构成了有效序列,称它们为有效状态,其余的五个状态则称为无效状态。

从状态图还可以看出,无论电路的初始状态如何,经过若干 CPCP 脉冲之后,总能进入有效状态。若电路能从无效状态经一定过程自动进入有效状态,则称其为具有【自校正】能力。

因此,该电路是具有【自校正】能力的同步时序电路。

(5)逻辑功能分析

仅由转换表是不太容易观察该电路逻辑功能的,而由状态图可见,电路的有效状态是三位循环码。

时序电路·专题02·时序电路的分析与设计-时序电路概念

从时序图可以看出,电路正常工作时,各触发器的 QQ 端轮流出现一个脉冲信号,其宽度为一个 CPCP 周期,即 1Tcp1 T_{cp} ,循环周期为 3Tcp3 T_{cp} ,这个动作可以看作是在 CPCP 脉冲作用下,电路把宽度为1Tcp1 T_{cp}的脉冲依次分配给 Q0Q_{0}Q1Q_{1}Q2Q_{2} 各端。

因此,电路的功能为脉冲分配器或节拍脉冲产生器。

二、【同步】时序电路的【设计】

时序电路设计又称为时序电路综合,其任务是根据给定的逻辑功能需求,选择适当的逻辑器件,设计出符合要求的时序电路。

本节讨论的用触发器及门电路设计同步时序电路的方法是时序电路设计的基础,也是用VerilogHDLVerilog HDL 对时序电路进行描述及使用可编程逻辑器件设计时序电路的基础。了解这些设计方法,亦有助于理解已有集成时序电路产品的内部结构和工作原理。

2-1: 设计同步时序逻辑电路的一般步骤

设计同步时序电路的一般过程如图6.3.1所示。

时序电路·专题02·时序电路的分析与设计-时序电路概念

下面对设计过程中的主要步骤加以说明。

1、由给定的逻辑功能建立原始【状态图】和原始【状态表】

通常,所要设计的时序电路的逻辑功能是通过文字、图形或波形图来描述的,首先必须把它们变换成规范的状态图和状态表。这种直接从图文描述得到的状态图和状态表分别称为【原始状态图】和【原始状态表】。这个过程是对实际问题进行分析的过程,具体做法是∶

(1)明确电路的【输入】条件和相应的【输出】要求,分别确定【输入】变量和【输出】变量的数目和名称。同步时序电路的时钟脉冲 CPCP (或 CP¯\bar{CP} )一般不作为输入变量考虑。

(2)找出所有可能的【状态】以及状态转换之间的【关系】和输入【条件】。不同的状态以字符来命名。可以假定一个初始状态,以该状态作为现态,根据输入条件确定输出及次态。以此类推,直到把每一个状态的输出和向下一个可能转换的状态全部找出后,则建立起【原始状态图】。

(3)根据原始状态图建立【原始状态表】。 由于以后所有的设计步骤都将在原始状态图或原始状态表的基础上进行,只有在它们全面、正确反映给定设计要求的条件下,才有可能获得成功的设计结果。

2、状态化简

原始状态图或原始状态表很可能隐含多余的状态,去除多余状态的过程称为【状态化简】,其目的是减少电路中触发器及门电路的数量,但不能改变原始状态图或原始状态表所表达的全部逻辑功能。

状态化简建立在等价状态的基础上∶如果两个状态分别作为现态,其任何相同输入所建立的次态及产生的输出均完全相同,则这两个状态称为等价状态。 凡是两个等价状态都可以合并成一个状态而不改变输入-输出关系。

3、状态分配

对每个状态指定一个特定的二进制代码,称为【状态分配】或【状态编码】。编码方案不同,设计出的电路结构也就不同。编码方案选择得当,设计出的电路可能工作更可靠,也可能结构相对简单。

首先,要确定状态编码的【位数】。同步时序电路的状态取决于触发器的状态组合,触发器的个数 NN 即状态编码的位数。 NN 与所要求的状态数 MM 须满足如下关系

时序电路·专题02·时序电路的分析与设计-时序电路概念

其次,要对每个状态确定编码。从 2N2^{N} 个状态中取 MM 个状态组合可能存在多种不同方案,随着 NN 值的增大,编码方案的数目会急剧增多,面对大量的编码方案是难以一一进行仔细比较的。一般来说,选取的编码方案应该有利于所选触发器的激励方程及输出方程的化简以及电路的稳定可靠。

有时,遵循状态变化的顺序,以二进制数自然递增顺序编码可简化电路。而使用具有一定特征的编码,如格雷码,则有利于降低输出信号产生竞争-冒险的可能性。

状态分配完成,则可将状态表中的状态名替换为状态编码,得到【转换表】。

4、选择触发器类型

触发器类型选择的余地实际上是非常小的。小规模集成电路的触发器产品,大多是 DD 触发器和JK JK 触发器,选择具有较强逻辑功能的 JKJK 触发器,有时可简化激励电路。

如前所述,很多可编程逻辑器件中采用 DD 触发器来实现时序电路设计,如有特殊要求,用 DD 触发器也非常容易构成其他逻辑功能的触发器。

5、确定激励方程组和输出方程组

根据【转换表】,用卡诺图或其他方式对逻辑函数进行化简,可求得电路的激励方程组和输出方程组。这两个方程组决定了同步时序电路的组合电路部分。

6、画出逻辑图,并检查【自校正】能力

按照前一步导出的激励方程组和输出方程组,可画出接近工程实现的逻辑电路图。

有些同步时序电路设计中会出现没有用到的无效状态,当电路上电后有可能陷入这些无效状态而不能退出。因此,设计的最后一步应检查电路是否能进入有效状态,即是否具有【自校正】能力。如果不能自校正,则需修改设计。

有些时序电路要求必须从指定的初始状态开始工作,而不允许从任何其他状态启动。这时,应利用触发器的直接置0、置1功能,在开始工作之前先将电路置为有效状态。

时序电路·专题02·时序电路的分析与设计-时序电路概念

图6.3.2(a)所示为一低电平手动复位信号产生电路,当按键开关按下,则产生低电平复位信号 \bar{RESET} ,按键抬起,系统则进入正常工作状态。

图6.3.2(b)是一种上电自动复位电路,它利用电容两端电压不能突变的原理,在上电之初将复位信号\bar{RESET}保持在低电平,将系统预置为初始状态。随着电源 +V_{cc} 通过电阻 R 对电容 C 充电,使 C 两端电压逐渐升高,经过一段时间之后,\bar{RESET}信号才跨越逻辑阈值转变为高电平,使系统脱离复位状态而进入正常工作状态。

虽然设计了复位电路的时序电路在正常工作时可不考虑自校正向题,但是,如果外界干扰等偶发因素使时序电路进入无效的循环状态,则可能出现所谓的”死机”现象,这是逻辑电路设计者不得不预先考虑的问题。

需要说明的是,上述步骤是设计同步时序电路的一般化过程,实际设计中并不是每一步都必须执行,可根据具体情况简化或省略一些步骤,这通过下面的设计实例可以看出。

2-2:同步时序电路设计举例

——1)同步递增 8421 BCD计数器

例6.3.1 用 D 触发器设计一个同步递增 8421 BCD 计数器。

解∶计数器实际上是对时钟脉冲进行计数,每到来一个时钟脉冲触发沿,计数器改变一次状态。

在每个时钟脉冲作用下,计数器的状态输出编码值加1,编码顺序与 8421 BCD码一致。每经过10个时钟脉冲,计数器完成一个计数周期,共有10个状态,可用0~9十个数字命名各个状态。

由于电路的状态数、状态转换关系及状态编码等都是明确的,因此设计过程较简单,没有必要拘泥于上一小节所述的设计步骤。

时序电路·专题02·时序电路的分析与设计-时序电路概念
注意:最后一个状态是“0000”,而不是“1010”
时序电路·专题02·时序电路的分析与设计-时序电路概念
时序电路·专题02·时序电路的分析与设计-时序电路概念
时序电路·专题02·时序电路的分析与设计-时序电路概念

——2)序列编码检测器

例6.3.2 :试设计一序列编码检测器,当检测到输入信号出现 110 序列编码(按自左至右的顺序)时,电路输出为1,否则输出为0。要求用同步时序电路实现。

解:(1)由给定的逻辑功能建立原始【状态图】和原始【状态表】

从给定的逻辑功能可知,电路有一个输入信号A 和一个输出信号 Y ,电路功能是对输入信号的编码序列进行检测,一旦检测到信号 A 出现连续编码为110序列时,输出为1。检测到其他编码序列,则输出均为0。

时序电路·专题02·时序电路的分析与设计-时序电路概念

设电路的初始状态为 a ,如图6.3.6中大箭头所指。 在此状态下,电路输出 Y=0 ,这时可能的输入有 A=0A=1 两种情况。

CP 脉冲相应边沿到来时,若 A=0 ,则是收到0,应保持在状态 a 不变;若 A=1 ,则转向状态 b ,表示电路收到一个1。

当在状态 b 时,若输入 A=0 ,则表明连续输入编码为10,不是110,则应回到初始状态 a ,重新开始检测;若 A=1 ,则进入状态 c ,表示已连续收到两个1。

在状态 c 时,若 A=0 ,表明已收到序列编码110,则输出 Y=1,并进入状态 d ;若 A=1 ,则收到的编码为111,应保持在状态 c 不变,看下一个编码输入是否为 A=0 ;由于尚未收到最后的0,故输出仍为0。

在状态 d ,若输入 A=0 ,则应回到状态 a ,重新开始检测;若 A=1 ,电路应转向状态 b ,表示在收到110之后又重新收到一个1,已进入下一轮检测;在 d 状态下,无论 A 为何值,输出 Y 均为0。

根据上述分析,可以得出如图6.3.6所示的原始状态图和表6.3.2的原始状态表。

时序电路·专题02·时序电路的分析与设计-时序电路概念
时序电路·专题02·时序电路的分析与设计-时序电路概念
注意:确定激励信号的时候需要用到“次态”,画卡诺图的时候,是根据“现态”来画的。

(6)画出逻辑图

根据激励方程组和输出方程画出逻辑图,如图6.3.9所示。

时序电路·专题02·时序电路的分析与设计-时序电路概念

(7)检查自校正能力

最后还应检查该电路的自校正能力。当电路进入无效状态 10 后,由激励方程组和输出方程可知,若 A=0 ,则次态为00;若 A=1 ,则次态为11,电路能自动进入有效序列。

时序电路·专题02·时序电路的分析与设计-时序电路概念

但从输出来看,若电路在无效状态 10,当 A=0 时,输出错误地出现 Y=1 。为此,需要对输出方程做适当修改,即将输出信号 Y 的卡诺图里无关项 Q_{1}\bar{Q_{0}}\bar{A} 不画在包围圈内,则输出方程变为 Y=Q_{1}Q_{0}\bar{A} 。 根据此式对图6.3.9也做相应的修改即可。

如果发现所设计的电路不能自校正,则应修改设计。

方法是:在激励信号卡诺图的包围圈中,对无关项 × 的处理作适当修改,即原来取1圈入包围圈的,可试取0而不圈入包围圈,与上述对输出 Y 的处理方法类似。于是,得到新的激励方程组和逻辑图,然后再检查其自校正能力,直到能自校正为止。

三、【异步】时序电路的【分析】

本节主要讨论用【触发器】构成的【脉冲异步】时序电路的分析方法。

异步时序电路与同步时序电路的主要区别在于电路中【没有统一】的时钟脉冲,因而各存储电路不是同时更新状态,状态之间没有准确的时间分界。

3-1:分析过程的注意事项

在分析脉冲异步时序电路时必须注意以下几点:

(1)分析状态转换时必须考虑各触发器的时钟信号作用情况

异步时序电路中,由于各个触发器只有在其 CP_{n} (或\bar{CP_{n}},下标 n 表示电路中第 n 个触发器)端的信号有效时,才有可能改变状态。

因此,在分析状态转换时,首先应根据给定的电路列出各个触发器的【时钟信号方程组】,根据该方程组的各表达式分别确定相应触发器的CP_{n}(或 \bar{CP_{n}} )端是否有时钟信号的作用,并用变量 cp_{n}表示∶有作用,则令 cp_{n}=1 ;否则 cp_{n}=0

对于上升沿触发的触发器,当其CP_{n}端的信号由0变1时,cp_{n}=1;反之,对下降沿触发的触发器,则在 \bar{CP_{n}} 信号由1变0时, cp_{n}=1。然后再根据激励信号确定那些 cp_{n}=1的触发器的次态,cp_{n}=0的触发器则保持 原有状态不变。这里,cp_{n}不是一个逻辑变量,但参与各转换方程的逻辑运算。

(2)每一次状态转换必须从输入信号所能触发的第一个触发器开始逐级确定

同步时序电路的分析可以从任意一个触发器开始推导状态的转换,而异步时序电路每一次状态转换的分析必须从输入信号所能作用的第一个触发器开始推导,确定它的状态变化,然后根据它的输出信号分析下—个触发器的时钟信号以确定 cp_{n}的值,进一步决定该触发器是否发生状态转换。

像这样依次逐级分析,直到最后一个触发器。待全部触发器的转换状态导出后,才能最终确定电路的次态,填入转换表或状态图。

(3)每一次状态转换都有一定的时间延迟

同步时序电路的所有触发器几乎是同时更新状态的,与之不同,异步时序电路各个触发器之间的状态更新存在一定的延迟。

也就是说,从现态 S^{n} 到次态 S^{n+1} 的转换过程中有一段各触发器分别延迟更新状态的“不稳定”时间。在此期间,整个电路的状态是不确定的。只有当全部触发器的状态更新完毕,电路才进入新的”稳定”状态,即次态 S^{n+1}

因此,异步时序电路的输入信号(包括时钟信号)必须等待电路进入稳定状态之后才允许发生改变,否则电路会处在不确定的状态。

由于上述延迟时间的存在,对于同一系列的逻辑电路,类似功能的【同步】时序电路的速度要【快于】【异步】时序电路。

下面以两个实例来说明异步时序电路的分析过程。

3-2:实例分析

——1)异步二进制递减计数器&序列信号发生器

时序电路·专题02·时序电路的分析与设计-时序电路概念
时序电路·专题02·时序电路的分析与设计-时序电路概念
时序电路·专题02·时序电路的分析与设计-时序电路概念

——2)异步二进制(五态)递增计数器

时序电路·专题02·时序电路的分析与设计-时序电路概念
时序电路·专题02·时序电路的分析与设计-时序电路概念
时序电路·专题02·时序电路的分析与设计-时序电路概念

————

免责声明:文章内容来自互联网,本站仅作为分享,不对其真实性负责,如有侵权等情况,请与本站联系删除。
转载请注明出处:时序电路·专题02·时序电路的分析与设计-时序电路概念 https://www.zentong.com/zt/8241.html

(0)
上一篇 2024年7月4日 22:56:29
下一篇 2024年7月4日 22:56:55

相关推荐

联系我们

在线咨询: QQ交谈

邮件:362039258#qq.com(把#换成@)

工作时间:周一至周五,10:30-16:30,节假日休息