组合逻辑电路在逻辑功能上的特点是任意时刻的输出仅仅取决于该时刻的输入,与电路原来的状态无关。
这里有一个思维训练题,为什么是一致检测电路呢?只有当A B C同时为1或同时为0时,最终结果才是1。
由于门电路延迟时间的关系,可能会使逻辑电路产生错误输出。这种现象称为竞争冒险。
竞争:在一个组合电路当中,当某一个变量经过两条以上的路径到达输出端的时候,由于每条路径上的延迟时间的不同,到达终点的时间就会有先有后,这一现象称作竞争。
冒险:逻辑门因输入端的由于竞争存在时间差,这个时间差会导致电路的输出产生与预期之外的窄的脉冲,这种输出产生不应有的尖峰干扰脉冲(又称过渡干扰脉冲)的现象叫做冒险。
分类
静态
(1) 功能冒险,是指由于电路中两个或者以上的信号发生变化时,由于电路和器件本身的特性导致的到达时间差而产生的冒险。功能冒险较之于逻辑冒险更难处理。
(2) 逻辑冒险,是指电路中只有一个信号发生变化却导致了输出产生冒险的现象。顾名思义,这是由于电路的逻辑设计的不合理导致。
动态
动态冒险是指当输入有变化时,输出应有变化,但输出在变化的过程中出现短暂的错误。
检查竞争冒险的常用方法:
1.逻辑表达式化简法
如果输出端门电路的两个输入信号A和A’是输入变量A经过两个不同的传输途径而来,则当输入变量发生变化时,输出端就可能产生尖峰脉冲。
故对于输出端的逻辑函数在一定条件下能化简成:
Y=A+A’ , 存在 “0” 型竞争;
Y=AA’ ,存在 “1” 型竞争;
的情况下,则判定一定有竞争冒险现象。
例:对于逻辑函数Y=AB+A’C
当B=C=1时,Y=A+A’,故此函数存在竞争冒险。
2.卡洛图法
即如果一个逻辑函数的表达式的卡洛图中所画圈没有重叠并且相切,则判定有竞争冒险。(本质上还是利用上面的方法,只是比较直观形象的判断)
对于以下卡洛图,左图存在竞争冒险,而由图不存在竞争冒险。
消除竞争冒险的方法:
1.增加冗余项,消除逻辑冒险。(卡洛图)
1)存在竞争的情况下,增加冗余项,实现输出消除毛刺。
例:逻辑表达式如下:Y = A’BC + AB
当B = C = 1时, 电路存在“0”型竞争。增加项:冗余项 B&C
更变后:Y = A’BC + AB + BC (利用消去冗余项公式)
2)还有卡诺图法,在两个相切的圆之间,相切接触的地方增加一个连接圆。
对于上面的卡洛图,在相切的位置增加冗余项 B’C,故函数表达式Y=A’B’+AC+B’C
ps 还有一些其他的暂时看不懂就没加
优先编码器
普通编码器每次只能输入一个信号。而优先编码器可以同时输入几个信号,但在设计时已经将各输入信号的优先顺序排好。当几个信号同时输入时,优先权最高的信号优先编码
划重点:编码没有信号时,使能输出端ES有信号。
划重点:GS为扩展输出端,有编码信号输入时表现为有信号
问:将多片8线-3线优先编码器74148扩展为多线编码器的一般方法是什么?
答:设n个芯片相连,最高位芯片EI非作为编码器使能输入端,其他位芯片EI非和上一位EO非相连,GS非、A1、A2、A3为各芯片相与,其他An、An-1、…A4自最高位芯片开始依次以GS非作为输出
注意,这里左边是低位芯片,右边是高位芯片。
以下内容需要重点研究:
尝试着解释一下,因为每个器件都只有两个输入端,于是我们固定让输入端为 I 0 I_0 I0和 I 1 I_1 I1,也就是最低的两位,高位通过使能端控制。
74138译码器
注意:G1,G2A和G2B是控制端,相当于译码器的开关。只有控制端都有效时,译码器打开,才可以进行译码,否则不能译码。结合高电平和低电平有效,只有G1是高电平有效,而G2A和G2B是低电平有效,也就是说,只有当G1为高电平,G2A,G2B都为低电平的时候,译码器才能正常工作,其他情况均不能。
数据传输过程中,有时需要将数据分配到不同的数据通道上,能够完成这种功能的电路称为数据分配器,亦称多路分配器、多路调节器,简称DEMUX,其电路为单输入、多输出形式。其原理框图如图1所示。(所以数据分配器是一路输入,一路输出)
数据分配器和译码器的联系与区别
带有使能输入端的二进制译码器通常即可用作数据分配器,n线- 2 n 2^n 2n线译码器即为1路- 2 n 2^n 2n路数据分配器。
A1A0为地址信号,也就是说A1A0的二进制组成的数值就是要选择的地址,选择的地址的内容就是F的输出。在此题中为D3
4选1数据选择器真值表
4选1数据选择器真值表
8选1数据选择器真值表
2片的4选1实现8选1
——思路1:加使能端
使能端是芯片的一个输入引脚,或者电路的一个输入端口,只有该引脚激活,芯片才能工作,通常情况下为高电平有效,若符号上面有一横,则表示低电平有效。
思路:利用地址变量产生所有的最小项,通过输入信号Di的不同取值,选取组成逻辑函数所需的最小项。
第二种题型(进阶)
第三种题型(终极)
问:数据选择器和二进制译码器都可以实现组合逻辑函数,它们的设计方法有何不同?
答:数据选择器可以有多个输入一个输出,而二进制译码器相反
前提知识