数值比较器就是对两个数A、B进行比较,以便判断其大小的逻辑电路。
一、1位数值比较器
图4.21是1位数值比较器的逻辑图。它有两个输入端,分别输入数值A和数值B。两个数值进行比较时有三种结果:A>B、A=B以及A<B。所以它有三个输出端。
图4.21 1位数值比较器
根据逻辑表达式4.6可以列出真值表如表4.12所示。
表4.12 1位数值比较器真值表
由表4.12可以看出,当A<B (A=0,B=1) 时只有Y(A<B)=1,其余输出端为“0”;当A=B(A=0,B=0和A=1,B=1)时Y(A=B)=1;当A>B (A=1,B=0) 时Y(A>B)=1。该电路可以根据输出端的逻辑状态,判断出输入的两个1位二进制数A、B的大小。完成的是1位数值比较的逻辑功能,所以它是1位数值比较器。在实际应用中往往需要比较两个多位二进制数,就需要把上面的1位数值比较器合理的连接起来使用,组成多位数值比较器
当两个多位二进制数需要比较时,应该从高位到低位,逐位进行比较,而且只有当高位相等时,才有必要比较相邻的低一位,一直到最低一位。例如两个4位二进制数,A=A3A2A1A0、B=B3B2B1B0进行比较时,如果A3>B3说明A>B;如果A3<B3说明A<B;只有当A3=B3时,需要比较A2和B2,按此方法从高位到低位依次进行比较,即可以得出最后的比较结果。按照此思路设计出的中规模数值比较器有多种。例如74LS521、74LS686 为8位数值比较器、CC4585为4位数值比较器等等。图4.22(a)为74LS686管脚排列图,图4.22(b)为CC4585管脚排列图。74LS686功能表如表4.13所示。
图4.22 数值比较器管脚排列图
表4.13 74LS686功能表
174LS686可以对两个8位数进行逐位比较。由表4.13可以看出,当P=Q输出端为低电平时表示两个8位数完全相等;当P>Q输出端为低电平时表示P8位数大于Q8位数;当两个输出端都输出高电平(即不相等,也不大于)时表示P8位数小于Q8位数。
G1和G2 为控制端,低电平有效。即G1 = G2=0时比较器正常工作, G1 = G2 =1时比较器不工作。
图4.22(b)中的CC4585为4位数值比较器。为了扩展逻辑功能,设计了低位比较输入端。内部结构要求,只比较两个4位数时,要求“输入A<B”=0、“输入A=B”=1、“输入A>B”=1。