在数字系统中,特别是在计算机中都需具有运算功能,一种简单的运算就是比较两个数a和b的大小。数值比较器就是对两数a、b进行比较,以判断其大小的逻辑电路。比较结果有a>b、a<b以及a=b三种情况。
1.一位数值比较器
1位数值比较器是多位比较器的基础。当a和b都是1位数时,它们只能取0或1两种值,由此可写出1位 数值比较器的真值表,如表1所示。
表1 1位数值比较器的真值表
由真值表得到如下逻辑表达式:
fa>b=ab
fa<b=ab
fa=b=a·b+ab
由以上逻辑表达式可画出如图1所示的逻辑电路。实际应用中,可根据具体情况选用逻辑门。
图1 1位数值比较器的逻辑图
2.两位数值比较器
现在分析比较两位数字a1a0和 b1b0的情况。利用1位比较器的结果,可以列出简化的真值表,如表2所示。为了减少符号的种类,不再使用字母l,而以(ai>bi)、(ai<bi)、(ai=bi)直接表示逻辑函数。可以由真值表对两位比较器作如下简要概述。
表2 真值表
当高位(a1、b1)不相等时,无需比较低位(a0、b0),两个数的比较结果就是高位比较的结果。当高位相等时,两数的比较结果由低位比较的结果决定。由表2可以写出如下逻辑表达式:
根据表达式画出逻辑图,如图2所示。电路利用了1位数值比较器的输出作为中间结果。它所依据的原理是,如果两位a1a0和b1b0的高位不相等,则高位比较结果就是两数比较结果,与低位无关。这时,由于中间函数(a1=b1)=0,使与门g1、g2、g3均封锁,而或门都打开,低位比较结果不能影响或门,高位比较结果则从或门直接输出。如果高位相等,即(a1=b1)=1,使与门g1、g2、g3均打开,同时由(a1>b1)=0和(a1<b1)=0作用,或门也打开,低位的比较结果直接送达输出端,即低位的比较结果决定两数的大、小或者相等。
图2 两位数值比较逻辑图