冒险现象的识别(精选3篇)
冒险现象的识别 篇1
竞争冒险是数字电路中普遍存在的一种现象。如果一个数字电路从一个稳定状态转换到另一个稳定状态时, 其中某个门电路的两个输入信号同时向相反方向变化, 称该电路存在竞争。如果不考虑门电路的延时, 竞争不会影响逻辑门的输出。竞争的结果不一定产生冒险, 但当数字电路在某一瞬间出现非预期信号时, 此时产生了冒险。
由冒险现象产生的毛刺, 通常对电路的触发清零端、触发复位端、时钟端、锁存器的门控端和专用芯片的控制端等产生严重的影响, 会使电路发生错误动作, 从而造成数字系统的逻辑混乱, 尤其对尖峰脉冲或脉冲边沿敏感的电路更是如此。可见, 在组合逻辑电路中对冒险现象的判断与消除十分的重要。
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软件等方法来查找冒险现象都是比较传统的, 具有最普遍的意义。在消除冒险方法中, 代数法和卡诺图法简便, 但局限性比较大, 不适合输入变量较多及较复杂的电路;脉冲取样法简单而且不需要增加电路元件就可以从根本上消除毛刺, 但要求脉冲与输入信号同步, 而且对取样脉冲的宽度, 极性, 作用时间都有严格的要求;电容滤波法简单易行, 但输出电压的波形边沿会随之变形, 仅适合对输出波形前、后沿要求不高。因此对于不同的电路应给予不同方法来消除毛刺, 从而达到方便易行低成本的目的。
参考文献
[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) .
冒险现象的识别 篇2
在清除计算机病毒的过程中,有些类似计算机病毒的现象纯属由计算机硬件或软件故障引起,同时有些病毒发作现象又与硬件或软件的故障现象相类似,如引导型病毒等。这给用户造成了很大的麻烦,许多用户往往在用各种查杀病毒软件查不出病毒时就去格式化硬盘,不仅影响了硬盘的寿命,而且还不能从根本上解决问题。所以,正确区分计算机的病毒与故障是保障计算机系统安全运行的关键。
一、计算机病毒的现象
在一般情况下,计算机病毒总是依附某一系统软件或用户程序进行繁殖和扩散, 病毒发作时危及计算机的正常工作,破坏数据与程序,侵犯计算机资源,
计算机在感染病毒后,总是有一定规律地出现异常现象:
1.屏幕显示异常,屏幕显示出不是由正常程序产生的画面或字符串,屏幕显示混乱;
2.程序装入时间增长,文件运行速度下降;
3.用户没有访问的设备出现工作信号;
4.磁盘出现莫名其妙的文件和坏块, 卷标发生变化;
5.系统自行引导;
6.丢失数据或程序,文件字节数发生变化;
7.内存空间、磁盘空间减小;
8.异常死机;
9.磁盘访问时间比平时增长;
10.系统引导时间增长。
冒险现象的识别 篇3
对于理想的组合逻辑电路, 有两个基本假设。第一, 电路中的连线和继承门电路都没有延迟, 即器件无延迟。第二, 电路中多个信号发生变化是完成的, 即输入瞬时变。但是, 在实际的电路中, 信号通过连线和集成门多有一定的延迟, 信号的变化需要一定的过渡时间, 且变化有先有后。由于电路本身无法达到理想。电路也就相应的无法达到理想。在输入信号变化的瞬间, 输入端有可能出现一些不正确的尖峰信号, 这些尖峰信号的出现, 称为冒险现象[1]。
如果输入信号变化前后, 稳定输出相同, 而在转换间有冒险, 称为静态冒险。如果输入信号变化前后为1, 而转换瞬间出现0的毛刺, 这种静态冒险称为0冒险。如果输入信号变化前后为0, 而转换瞬间出现1的毛刺, 这种静态冒险称为1冒险。
如果在得到最终稳定输出之前, 输出出现了多次变化, 即中间经历的瞬态0-1或1-0, 这种冒险称为动态冒险。
冒险的出现, 可能给逻辑电路带来错误的输出, 同时, 也会造成电路的不稳定[2]。因此, 判断冒险并对此加以避免就显得尤为重要。下面, 本文将介绍一下判断组合逻辑电路中冒险现象的卡诺余子图法。
2 卡诺余子图法
应该说对卡诺图并不陌生。卡诺图就是将真值表变换成方格图的形式, 按格雷码的规则来排列变量的取值组合, 从而得到的真值图。卡诺图与真值表只是形式不同, 其实质还是一样的。
言归正传, 来讲讲什么是卡诺余子图?要讲卡诺余子图, 不得不提到余子式。余子式是线性代数中的概念。就是将行列式中某行某列的元素去掉所得的新的行列式[3]。仿照该定义法, 将输入信号中没有变的元素在卡诺图中保留下来, 其余的一律去掉所得的新的图。不同的是:余子式是去掉某行某列, 而卡诺余子图是保留某行某列, 但还是可以如此定义。对图1, 如果从001001变到010100, 那么其卡诺余子图就是如图3的形式;对图2, 如果从010101变到111000, 那么其卡诺余子图就是如图4的形式。
可以看出, 卡诺余子图就是按照输入信号的变化将不变的元素在卡诺图中剔除, 所以卡诺余子图具有和卡诺图一样的性质[4,5]。
3 标准卡诺余子图
可以看到有时候, 在卡诺余子式中, 变化前后的变量并不一定位于卡诺余子图的顶, 如图3。这对使用卡诺余子图很不方便, 于是想到能不能将卡诺余子图标准化?答案是肯定的。由于卡诺余子图具有卡诺图一样的对称性, 那么卡诺余子图的前缘和后缘可以看做连在一起的。于是可以将输入变化前量移到卡诺余子图的左上角, 这样所得到的信徒就叫标准卡诺余子图。
这样, 上面的卡诺余子图就可以标准化为:
4 变化路径
上面讨论了输入信号的变化, 知道, 很难使每个变量达到同时变化。当然了, 如果可以的话, 讨论也就没有意义了。既然变量的变化有先有后, 那么就可以在卡诺余子图上描绘出它的变化路径。
但是对于变量的变化究竟哪个先哪个后, 事先是不知道的。同样, 如果可以的话, 讨论也就没有意义了。只能将它所有的变化路径描绘出来。
首先要弄清楚一点, 虽然变量的变化有先有后, 但是对于单个变量而言, 它只能变化一次。然后通过描绘变化路径, 得出一条规律:对于标准卡诺余子图而言, 变化路径只可能从左上角开始, 沿右下或左下前进。
5 和谐
下面介绍一下卡诺余子图中和谐的概念。所谓和谐, 可以分两种情况:第一, 卡诺余子图中全部都是1或者全部都是0 (严格和谐) ;第二, 卡诺余子图中, 1或者0都分布在以变化后的输入信号为一个顶点的矩形区域内 (广义和谐) 。之所以称之为和谐, 就是因为这样的卡诺余子图中不存在1与0的交叉分布, 也可以说不存在竞争。总而言之, 和谐就是1与0无交叉地分布在变化前后两输入信号之间。上面的图4和图5, 都是和谐的。
6 用卡诺余子图判断有无冒险现象的存在
有了上面的一系列介绍, 便可以开始判断冒险了。
第一步, 根据逻辑表达式, 画出卡诺图。
第二步, 将输入信号中不变的变量保留, 构成卡诺余子图。
第三步, 将卡诺余子图化为标准形式。 (这一步可有可无, 但有时候没有这步不好判断, 如图3) 。
第四步, 如果卡诺余子图不和谐, 那么这个变化的过程就存在冒险现象;如果卡诺余子图和谐, 那么这个变化的过程就不存在由输入信号变化有先有后而引起的冒险现象。
下面来简单论证一下该方法的正确性。
知道输入信号的变化是有原则的, 第一, 前后不变的变量在整个过程中也不变;第二, 前后变化的变量在变化中也只变化一次。有第一条原则, 可以将卡诺图简化为卡诺余子图。由第二条原则, 得出了关于变化路径的一条规律:对于标准卡诺余子图而言, 变化路径只可能从左上角开始, 沿右下或左下前进。这样一旦卡诺余子图不和谐, 就会在变化过程中出现1-0-1或0-1-0的变化, 就有可能带来冒险现象, 而如果卡诺余子图和谐, 就不会有1-0-1或0-1-0的变化, 就不会有由输入信号变化有先后而引起的冒险现象。
可以看出该方法可以很好地判断动态冒险和有输入信号变化不同步产生的静态冒险。而由于门的延迟而导致的冒险现象, 由于不涉及到卡诺图, 无法用这个方法判断。但是可以由逻辑表达式来判断:如果将变化前后恒定的量代入逻辑表达式中, 出现形如的式子, 就有可能出现冒险现象。图2中, 如果将b=1和e=0代入逻辑表达式中, 就成了有可能出现由于门的延迟造成的静态冒险。
7 如何避免出现冒险现象
有很多方法来避免冒险现象的产生, 如引入取样脉冲或者在输出端接滤波电容。这里只就如何在卡诺余子图上找避免冒险的方法进行论述。
这个方法就是:在原逻辑表达式后增加多余项, 该多余项就是整个卡诺余子图的表达式。对于广义和谐而言, 由于它对应的是动态冒险, 所以没有必要追加多余项, 就可以将由逻辑门的延迟造成的冒险也一并避免了。就拿图2这个例子来说, 如果加上整个卡诺余子图的表达式即修改逻辑设计为就可以很好地避免冒险的出现。
8 结语
运用卡诺余子图法, 可以很好地判断动态冒险和有输入信号变化不同步产生的冒险现象。至于由门的延迟造成份额冒险现象, 因为不涉及到变化路径等卡诺余子图的内容, 所以不能由卡诺余子图法判断。因此该方法还是具有一定的局限性。而用卡诺余子图法修改逻辑设计, 虽然理论上可行, 但若应用于大规模集成电路中, 实现的难度将会很大。
但没必要避免所有的逻辑冒险。只要针对关键电路加以改进来避免逻辑冒险即可。
摘要:在组合逻辑电路中, 不可避免地会遇到冒险现象。在卡诺图中剔除掉输入信号中不变的变量, 构成卡诺余子图。而卡诺余子图法, 就是通过观察所得的卡诺余子图是否广义和谐来判断是否存在冒险现象。在卡诺余子图的基础上, 提出了避免冒险现象的方法, 从而系统化了冒险现象的判断。
关键词:卡诺余子图,标准卡诺余子图,路径,和谐
参考文献
[1]宁帆, 张玉艳.数字电路与逻辑设计[M].北京:人民邮电出版社, 2008.
[2]王毓银.数字电路逻辑设计[M].北京:高等教育出版社, 2009.
[3]王传玉.线性代数[M].北京:北京大学出版社, 2008.
[4]王索芹.卡诺图在组合逻辑电路竞争冒险中的应用[J].才智, 2011, 18 (2) :55-56.
【冒险现象的识别】推荐阅读:
安全的冒险论文07-24
双子的冒险之旅08-01
冒险的风险最小10-24
冒险王的故事11-12
一次难忘的冒险作文07-28
冒险家的名言名句10-02
董天的冒险世界想象作文07-14
我的冒险之旅作文600字11-24
动车冒险记的学生作文07-03
以冒险为话题的作文1000字05-24