关于组合逻辑电路中竞争-冒险的研究
贾世胜
【摘 要】在组合逻辑电路中,当输入信号改变状态时,输出端可能出现由于竞争-冒险而产生的干扰脉冲信号,如果负载是对干扰脉冲信号十分敏感的电路,有可能引起电路的误动作,因此应该采取措施消除竞争-冒险.从理论上分析了组合逻辑电路竞争-冒险的产生,及其判断和消除的方法,同时运用EDA软件Protel 99 SE对组合逻辑电路中竞争-冒险的现象以及对提出的几种消除竞争-冒险的方法进行了仿真,结果与理论分析是一致的,达到了预期的效果. 【期刊名称】《现代电子技术》 【年(卷),期】2009(032)017 【总页数】4页(P185-187,190)
【关键词】组合逻辑电路;竞争-冒险;干扰消除;Protel 99 SE 【作 者】贾世胜
【作者单位】山东科技大学泰安校区,山东,泰安,271021 【正文语种】中 文 【中图分类】TP331.1 0 引 言
数字电路分为组合逻辑电路和时序逻辑电路两大类[1],是电子技术的重要组成部分,掌握数字电路的基本知识是设计计算机控制系统的基础。计算机控制系统性能
优劣的重要指标是其稳定性、可靠性和抗干扰性,这在很大程度上取决于构成其系统的基本部件的性能。组合逻辑电路中的门电路由于其本身的结构和工作情况,常常会发生竞争-冒险现象,这是电路本身内部产生的一种干扰,如果电路对这些干扰脉冲比较敏感,就可能使电路发生误动作而影响电路正常工作,因此应当设法消除竞争-冒险。
Protel 99 SE 是Protel公司推出的基于Windows平台的电路板设计软件,是目前国内最流行、应用最广的电路设计EDA软件之一。 可以完成原理图绘制、PCB图绘制以及电路仿真等。Protel 99 SE提供了多种分析工具,利用这些工具可以进行直流工作点分析、交流小信号分析、瞬态分析/傅里叶分析、噪声分析、直流传输函数分析、参数扫描分析、传输功能分析、温度扫描分析及蒙特卡罗分析等。本文是利用瞬态分析对组合逻辑电路的竞争-冒险现象及其消除的模拟仿真[2]。 1 组合逻辑电路的竞争-冒险
数字电路的基本门电路有与门、或门、非门,它们是构成各种复合逻辑门,以及组合逻辑电路、时序逻辑电路等复杂数字电路的基本逻辑单元[3]。
概括地可以将与门、或门、非门的逻辑功能总结为:与门“有0出0,全1出1”,或门“有1出1,全0出0”,非门“0非为1,1非为0” [4]。
上述基本门电路的逻辑功能,只是在输入和输出状态稳定情况下的逻辑功能。实际上,由于信号在传输过程中改变状态都要经历一段极短的过渡时间,或者信号传输路径不同而使信号到达输出端有先有后,从而在数字电路中,任何一个门电路只要有两个输入信号同时向相反方向变化,其输出端就可能产生干扰脉冲[3],这种现象称为竞争-冒险,如图1(a)所示为一与门电路。
其逻辑函数式为Y=A·B,当AB取值为01或10时,Y的值为0,然而在AB由01变为10的过程中输出端Y却产生了干扰脉冲,即产生了竞争-冒险,如图1(b)所示。
图1 与门电路的竞争-冒险 2 竞争-冒险的判断
在组合逻辑电路中,如果竞争-冒险是由单个输入变量改变状态引起的,可以很容易地用代数法和卡诺图法来确定。 2.1 代数法
代数法是从函数表达式的结构来判断是否具有产生竞争-冒险的条件。其具体方法是:
(1) 检查函数表达式中是否存在具备竞争条件的变量,即是否有某个变量X同时以原变量和反变量的形式出现在函数表达式中。
(2) 若有,则消去函数表达式中的其他变量,即将这些变量的各种取值组合依次代入函数式中,从而将它们从函数表达式中消去,只留下被研究的变量X。 (3) 若表达式最终结果为或的形式,则电路可能产生竞争-冒险,否则,不产生竞争-冒险。
例如,逻辑函数不难发现,当B=C=1时,变量A具备竞争条件,A的变化可能使电路产生竞争-冒险。 2.2 卡诺图法
卡诺图法是判断电路是否存在竞争-冒险的另一种方法,具体方法是: (1) 首先做出函数卡诺图,并画出与函数表达式中各“与”项对应的卡诺图。 (2) 检查有无几何相邻的乘积项,若没有,则无竞争-冒险,反之则有[3]。
仍以逻辑函数为例,其卡诺图如图2所示。由图可见,乘积项AB和是几何相邻的,故电路存在竞争-冒险。 图2 逻辑函数卡诺图
画出逻辑函数的仿真电路图,如图3所示。图中信号A为脉宽100 μs,周期200 μs,幅度为5 V的脉冲信号,B,C在初始的1.5 ms内为高电平,根据电路逻辑
功能,输出信号Y在1.5 ms内应全为高电平,但由图4所示的仿真波形可见,输出信号Y在1.5 ms内并不完全为高电平,说明存在竞争-冒险现象。 图3 竞争-冒险仿真电路 图4 竞争-冒险仿真波形 3 竞争-冒险的消除
消除竞争-冒险常用方法有:增加冗余项、接入滤波电容和引入封锁脉冲或选通脉冲 [1]。
3.1 增加冗余项消除竞争-冒险
增加冗余项的方法是通过在函数表达式中“加”上多余的“与”项或“乘”上多余的“或”项,使原函数不可能在某种条件下化成或的形式,从而消除可能产生的竞争-冒险,冗余项的选择可用代数法或卡诺图法。
代数法确定冗余项是根据逻辑代数中的冗余定理加入BC项后并不影响原函数逻辑功能,但可以消除竞争-冒险,BC项即为一个冗余项。 例如,逻辑函数式:即为所加的冗余项。
用卡诺图法来确定冗余项时,将几何相邻的最小项圈起来,则它对应的“与”项就是逻辑函数的冗余项,如图5所示,BC即为冗余项,分析结果与代数法一样。 逻辑函数添加冗余项后为画出其仿真电路图,如图6所示,其仿真波形如图7所示。可见原来产生的干扰脉冲不见了。 3.2 接入滤波电容消除竞争-冒险
由于竞争-冒险产生的干扰脉冲一般很窄,故可以在电路输出端并接一个不大的滤波电容来消除干扰脉冲。如图8所示,在产生竞争-冒险的电路接入滤波电容后,也可消除输出端的干扰脉冲,仿真波形如图9所示。 图5 确定冗余项的卡诺图
图6 增加冗余项消除竞争-冒险仿真电路
图7 增加冗余项消除竞争-冒险仿真波形 图8 接入滤波电容消除竞争-冒险仿真电路 图9 接入滤波电容消除竞争-冒险仿真波形 3.3 引入封锁脉冲或者选通脉冲消除竞争-冒险
为了消除因竞争-冒所产生的干扰脉冲,可以引入一个封锁脉冲或者选通脉冲,封锁脉冲是在输入信号发生竞争的时间内把可能产生干扰脉冲的门封住,从而消除竞争-冒险。选通脉冲是当电路输出端达到稳定状态之后起作用,从而使输出信号是正确的逻辑信号而不包含干扰脉冲。
引入封锁脉冲/选通脉冲消除竞争-冒险的仿真电路如图10所示,仿真波形如图11所示。由图可见,原来由于竞争-冒险产生的干扰脉冲在引入封锁脉冲P之后消失了。
图10 引入选通脉冲消除竞争-冒险仿真电路 图11 引入选通脉冲消除竞争-冒险仿真波形
通过对比图4和图7、图9、图11可见,原来在组合电路输出端Y出现的尖峰脉冲通过增加冗余项法、接入滤波电容法或引入封锁脉冲/选通脉冲后消失了,说明这些方法对消除组合逻辑电路的竞争冒险现象是行之有效的。 4 结 语
上述三种引入封锁脉冲或者选通脉冲的方法比较简单,而且不增加器件数目。但这种方法有一个局限性,就是必须找到一个合适的封锁脉冲或选通脉冲。接入滤波电容的方法简单易行,但输出电压波形随之变化,故只适用于对输出波形前后沿无严格要求的场合。增加冗余项,需增加额外电路,但增加了电路可靠性,如果运用得当,可以收到最理想的效果[1]。
门电路是构成数字电路的基本单元,可以组成各种复杂的数字电路和数字系统。对于数字电路的竞争-冒险现象,有的情况可以忽略不计,有的情况则可能影响电路
正常工作,应予以消除,实际工作中可以根据不同情况选择合理的方法,可以取得满意的效果。 参 考 文 献
[1] 阎石.数字电子技术基础[M].4版.北京:高等教育出版社,2000.
[2] 周兴华.单片机智能化产品C语言设计实例详解[M].北京:北京航空航天大学出版社,2006.
[3] 余孟尝.数字电子技术基础简明教程[M].3版.北京:高等教育出版社,2006. [4] 徐国和.电工学与工业电子学[M].北京:高等教育出版社,1993. [5] 毛法尧.数字逻辑[M].武汉:华中科技大学出版社,1996.
[6] 王振红,张常年.综合电子设计与实践[M].北京:清华大学出版社,2005. [7] 余家春.Protel 99 SE电路设计实用教程[M].北京:中国铁道出版社,2002.