组合逻辑电路中冒险现象的判断和消除方法

2022-10-16

竞争冒险是数字电路中普遍存在的一种现象。如果一个数字电路从一个稳定状态转换到另一个稳定状态时, 其中某个门电路的两个输入信号同时向相反方向变化, 称该电路存在竞争。如果不考虑门电路的延时, 竞争不会影响逻辑门的输出。竞争的结果不一定产生冒险, 但当数字电路在某一瞬间出现非预期信号时, 此时产生了冒险。

由冒险现象产生的毛刺, 通常对电路的触发清零端、触发复位端、时钟端、锁存器的门控端和专用芯片的控制端等产生严重的影响, 会使电路发生错误动作, 从而造成数字系统的逻辑混乱, 尤其对尖峰脉冲或脉冲边沿敏感的电路更是如此。可见, 在组合逻辑电路中对冒险现象的判断与消除十分的重要。

1 冒险现象的判断

判断竞争电路中是否产生冒险, 一般有四种方法, 即代数法、卡诺图法、计算机辅助分析法、实验法。

1.1 代数法

在n变量的逻辑函数表达式中, 给n-1个变量以特定取值 (0或1) 后, 表达式中仅保留某个具有竞争能力的变量x, 使逻辑函数表达式变成x+x或x·x形式, 则可以判断该表达式的电路中存在冒险。

1.2 卡诺图法

在逻辑函数的卡诺图中, 函数的每个与项 (或项) 对应卡诺图上一个卡诺圈, 若两个卡诺圈相切, 则相切处将会发生冒险。

1.3 计算机辅助分析法

代数法和卡诺图法虽然简单, 但有很大的局限性, 因为实际的逻辑电路输入变量通常会比较多, 并且有可能多个输入变量同时发生变化。在这种情况下, 很难利用上述的方法判断所有的冒险现象。计算机辅助分析法是通过在计算机上运行数字电路的模拟程序, 迅速地查找到电路中的冒险现象, 例如EDA软件和某些基于功能仿真的算法。

1.4 实验法

实验法是检验电路是否存在冒险现象的最有效、最可靠的方法。它是利用实验手段检查冒险的方法, 即在逻辑电路的输入端, 加入信号所有可能的组合状态, 用逻辑分析仪或示波器, 捕捉出可能出现的冒险现象。这种方法, 虽然有点繁琐, 但却是最可靠的方法。

2 消除冒险现象的方法

当逻辑电路中出现冒险现象时, 可能会对电路的正常工作造成极大的不利, 此时必须设法消除冒险现象。常用的消除冒险现象的方法也有四种, 即代数法、卡诺图法、取样脉冲法、输出端加滤波电容法。

2.1 代数法

逻辑表达式1p=AB+C, 当B=C=1时可改写为1p=A+, 存在冒险现象, 此时若在p1式中加上—“1”电平, 便可以消除冒险。而且这个1电平必须是出现冒险瞬间时输入的“1”电平, 这样不影响p1逻辑关系的与项才行。将p1改写成1p=A+与项BC=1可以做到。见图1, 虚线部分是后加的。

2.2 卡诺图法

卡诺图法消除竞争冒险实质上和代数法是一致的, 应根据条件采用何种方法来消除竞争冒险。

从卡诺图上看, 既然问题出在两个卡诺圈的相切处, 只要增加一些卡诺圈将两个互不搭接的卡诺圈——搭接起来, 就可已实现消除冒险的目的, 所以卡诺图法也叫增加多余项法。还以逻辑表达式1p=AB+为例, 见图2, 其中虚线的卡诺圈为后添加的, 添加后的逻辑表达式为1p=AB++BC。

2.3 取样脉冲法

一般来说, 多个输入发生状态变化时冒险是难以消除的, 当组合电路的冒险影响了整个系统的工作时, 可以用取样的方法解决。取样脉冲仅在输出处于稳定值的期间到来, 以保证输出正确的结果, 在没有取样脉冲期间, 输出的信息是无效的。常用的取样脉冲的极性和所加位置如图3所示。如图4 (a) 所示的逻辑电路, p的高电平出现在电路到达稳定状态以后, 所以G0~G3每个门的输出都不会出现尖峰脉冲。但需注意, 这时G0~G3正常的输出信号将变成脉冲信号, 而且它们的宽度与取样脉冲相同。

2.4 输出端加滤波电容法

组合电路中由竞争冒险产生的毛刺, 一般都是低频分量少而高频分量很丰富的信号, 由此, 可以在组合电路的输出端添加一积分器 (低通滤波器) , 从而达到通高频阻低频的作用。为了能消除毛刺, 必须要正确选择积分电路的时间常数τ=RC。时间常数要比毛刺的宽度大, 以达到消除毛刺的目的, 但也不能太大, 以免使信号形状出现不能允许的畸变。RC的值一般都是通过实验的方法来确定的。如L=A⋅C+A⋅B+A⋅C逻辑表达式, 逻辑电路见图5 (a) , 在输出端加积分电路后, 得到比较平滑的信号, 见图5 (b) 。

3 结语

在数字系统设计中, 冒险现象的消除问题是必须要解决的。通过代数法, 卡诺图和EDA软件等方法来查找冒险现象都是比较传统的, 具有最普遍的意义。在消除冒险方法中, 代数法和卡诺图法简便, 但局限性比较大, 不适合输入变量较多及较复杂的电路;脉冲取样法简单而且不需要增加电路元件就可以从根本上消除毛刺, 但要求脉冲与输入信号同步, 而且对取样脉冲的宽度, 极性, 作用时间都有严格的要求;电容滤波法简单易行, 但输出电压的波形边沿会随之变形, 仅适合对输出波形前、后沿要求不高。因此对于不同的电路应给予不同方法来消除毛刺, 从而达到方便易行低成本的目的。

摘要:随着科学技术的发展, 数字电路在实际应用中起到了举足轻重的作用, 例如PLD、FPGA等, 而在组合逻辑电路中产生的竞争与冒险现象, 会对某些数字系统产生不良影响甚至混乱。本文主要讨论了对组合逻辑电路中冒险现象的判断方法及消除冒险现象的基本方法。

关键词:组合逻辑,竞争冒险,判断方法,消除方法

参考文献

[1] 胡晓光.数字电子技术基础[D].北京:北京航天航空大学, 2007, 3.

[2] 曹汉房.数字电路与逻辑设计基础[M].北京:电子工业出版社, 2007, 7.

[3] 岳怡.数字电路与数字电子技术[M].西北:西北工业大学出版社, 2000, 12.

[4] 何伟, 张玲.消除CPLD/FPGA器件中的毛刺[J].重庆大学学报, 2002, 25 (12) .

[5] 宣丽萍.FPGA器件的竞争与冒险现象及消除方法[J].现代电子技术, 2005, 10.

[6] 孙加存.浅析FPGA/PLD设计中的竞争与冒险问题[J].大众科技, 2005 (4) .

[7] 戴欣平.电气控制电路的“竞争”与“冒险”现象剖析[J].电工技术, 2003 (11) .

本文来自 99学术网(www.99xueshu.com),转载请保留网址和出处

上一篇:廊坊市排水防涝模拟信息共享服务平台下一篇:基于风险控制的锅炉烟气脱硝脱硫工艺技术探讨