(精)《数字逻辑》第5章 组合逻辑电路——最新.ppt

(精)《数字逻辑》第5章 组合逻辑电路——最新.ppt

* 利用互补律可以合并2项。 经变换后,使3个输入变量M、N、P接数据选择器的3位地址输入A2、A1、A0,1个输入变量Q接数据输入。 注意,如果输出不包含地址输入组成的某个最小项mi,则可以写成mi*0的形式,即对应的Di=0。 * 数据选择器的输出Y即为所求的Z 在一些数字系统(例如数字计算机)中经常需要比较两个数值的大小。能够比较两个数值大小的逻辑电路称为数值比较器。 这里我们学习的数值比较器是指“量值”比较器。 可以看出,输出FA=B即是A与B同或的结果。 级联输入端用于芯片的扩展——若2片7485组成8位数值比较器,则将低位片的输出FA>B、FA=B、FA<B与高位片的级联输入端IA>B、IA=B、IA<B相连,从而将低位数的比较结果告诉高位片,组成更多位的数值比较器。 最后一行表示:当2个4位二进制数大小相等时,输出FA>B、FA=B、FA<B与级联输入IA>B、IA=B、IA<B相等,即由低位的比较结果决定整个数的比较结果。 低位片实现对低4位数A3~A0与B3~B0的比较,高位片实现对高4位数A7~A4与B7~B4的比较。 若高4位分别相等(A7~A4=B7~B4),同时A3~A0=B3~B0,则低位片的输出FA>B、FA=B、FA<B为010,高位片的级联输入IA>B、IA=B、IA<B也为010,由功能表的最后一行可以得出,高位片的输出FA>B、FA=B、FA<B也为010,即可推出A=B。 为了程序书写的方便,利用位拼接运算符分别将4位输入组成2个4位reg型向量,则只要比较这两个向量的大小,而不必逐位比较——HDL的抽象描述能力强。 若要把一个Group展开为单独的几个信号,只要在波形编辑器中选中该Group,然后单击右键,在快捷菜单中选择Ungroup即可。 关于竞争-冒险:信号在FPGA内部通过连线和逻辑门时,都有一定的延时;信号的高低电平转换需要一定的过渡时间 多路信号经不同路径到达逻辑电路的会合点有先有后,称为“竞争”;逻辑电路产生错误输出的现象称为“冒险” (Hazard)。 任何一个门电路,只要两个输入信号同时向相反的方向变化,其输出端都可能产生不正确的输出,称为“毛刺”(Glitch)。 当输入包含奇数个“1”时,FOD=1,FEV=0;当输入包含偶数个“1”时,FOD=0,FEV=1。显然,判奇输出端与判偶输出端互非。 根据“模2加”运算的性质,可以由n个(1位)二进制数相加的和为1或0判断输入有奇数个“1”还是有偶数个“1”。 奇偶校验器不仅有判断输入数据中为1的个数为偶数或奇数的功能,还有奇偶产生的功能,通常称为奇偶校验器/产生器。 一个简单的奇偶校验系统利用两片8位奇偶校验器/产生器检测8位数据传输是否正确。 在发送端利用奇产生器使由D0~D7和FOD组成的9位数据中1的个数一定是奇数;然后在接收端利用奇校验器判断是否FOD=1,FEV=0,若是,则数据传输正确,否则数据传输有差错。 奇产生器——无论D0~D7中1的个数为偶数还是奇数,加上片?的FOD后,组成9位数据中1的个数一定是奇数。 奇校验器——若片? 的FOD=1 ,FEV=0,表示数据传输正确;若片? 的FOD=0 ,FEV=1,表示数据传输有差错。 若原数据D0~D7中有偶数个1,则片1的FOD=1,也即片2的ODD=1,EVEN=0。当传输无误时,根据真值表第3行,片2的FOD=1,FEV=0,表示数据传输正确;若传输过程中有一个数据位发生差错,则片2接收的A~H中1的个数变为奇数,根据真值表第4行,片2的FOD=0 ,FEV=1,表示数据传输有差错。 若原数据D0~D7中有奇数个1,则片1的FOD=0,片2的ODD=0,EVEN=1。在传输无误时,根据真值表第1行,片2的FOD=1,FEV=0,表示数据传输正确;若传输过程中有一个数据位发生差错,则片2接收的A~H中1的个数变为偶数,根据真值表第2行,片2的FOD=0 ,FEV=1,表示数据传输有差错。 由于片?的ODD=1, EVEN=0,则根据真值表的第3、4行判断输出FOD 关键:怎样描述一组输入数据中为1的个数是奇数或偶数?——利用异或运算(也称为“模2加”运算)的性质:当n个(1位)二进制数“模2加”时,若和为1,表示n个数中有奇数个“1”;若和为0,表示有偶数个“1”。 若异或结果为1,表示n个数中有奇数个“1”, FE_SIGNAL = 1;若异或结果为0,表示有偶数个“1”, FE_SIGNAL = 0。 当某逻辑电路的输出作为时钟信号、清零信号或置位信号驱动后续电路时,一定要避免产生毛刺!否则后续电

文档评论(0)

1亿VIP精品文档

相关文档