本帖最后由 look_w 于 2017-9-22 21:26 编辑
冒险是由变量的竞争引起的。冒险又分为逻辑冒险和功能冒险。
逻辑冒险的判断方法有两种:
1. 代数法:在逻辑函数表达式中,若某个变量同时以原变量和反变量两种形式出现,就具备了竞争条件。去掉其余变量(也就是将其余变量取固定值0或1),留下有竞争能力的变量,如果表达式为 F=A+A~(因为上横杠打不出来,故用A~表示A的反变量,下同),就会产生0型冒险(F应该为1而实际却为0);如果表达式为 F=AA~,就会产生1型冒险。
—例—:表达式 F=AB+CB~,当A=C=1时,F=B+B~,在B发生跳变
时,可能出现0型冒险。
2. 卡诺图法:将函数填入卡诺图,按照函数表达式的形式圈好卡诺圈。
A/BC 00 01 11 10
0 0 0 0 1
1 0 1 1 1
F=AC+BC~的卡诺图(将101和111的1圈一起,010和110的
1圈一起,这里不好表示,自己画在
纸上)
通过观察发现,这两个卡诺圈相切。则函数在相切处两值间跳变时发生逻辑冒险。(前提是这两个卡诺圈没有被其他卡诺圈包围)
功能冒险的判断:
功能冒险是当多个输入信号同时变化的瞬间,由于变化快慢不同而引起的冒险。
卡诺图法:依然用上面的卡诺图,按同样函数圈好。F=AC+BC~中,ABC从111变为010时,A和C两个变量同时发生了跳变,若A先变化,则ABC的取值出现了过渡态011,由卡诺图可以知道此时函数输出为0,然而ABC在变化的前后的稳定状态输出值为1,此时就出现了0型冒险。这种由过渡态引起的冒险是由于电路的功能所致,因此成为功能冒险。
综合逻辑冒险和功能冒险:
-例- :F=CD+BD~+AC~,自己画及圈卡诺图,可以发现信号ABCD从0100变化到1101可能存在0型功能冒险,不存在逻辑冒险。从0111变化到1110不存在功能冒险,而可能存在逻辑冒险。 |