跳过主要内容

AN-CM-259数字幅度/身份比较器

内容

术语和定义

LSB.至少有很大的比特
lut.查找表
最高有效位最重要的一点
xnor.一种数字逻辑门,如果两个输入相同(都是1或0),则输出为真(1或高)。

参考

对于相关的文件和软件,请访问:

//www.wsdof.com/configurable-mixed-signal

下载我们的免费GreenPAK软件设计师(1]以打开。gp文件[2],并查看所提出的电路设计。使用GreenPAK开发工具(3.可以在几分钟内将设计冻结到您自己定制的集成电路中。雷竞技电竞平台Dialog Semiconductor提供完整的申请资料库[4],包括设计实例,以及对Dialog IC的功能和模块的解释。

  1. GreenPak Designer软件,《软件下载及用户指南》,Dialog Semiconductor雷竞技电竞平台
  2. AN-CM-259数字幅度/标识比较器.GPGreenPAK设计文件,对话框半导体雷竞技电竞平台
  3. GreenPak开发工具GreenPAK开发工具网页,对话框半导体雷竞技电竞平台
  4. GreenPAK应用笔记GreenPAK应用笔记网页,Dialog半导体雷竞技电竞平台
  5. SLG64533V,数据表,对话半导体。雷竞技电竞平台

介绍

数字比较被认为是在执行算术或逻辑操作时在数字系统中使用的重要方法之一。它广泛用于CPU,微控制器,组合和通信系统,专门设计用于比较二进制数的相对幅度。该比较用于测试一个二进制字表示的一个数字是否大于,等于或小于其他号码。有两种主要类型的数字比较器可用:Identity比较器和幅度比较器。

这个应用笔记描述了如何实现一个8位身份比较器和一个4位幅度比较器。本应用笔记包括概念和电路设计。

GreenPAKIC提供所有必要的组件,更高的成本可配置IC,可以在几分钟内进行配置。另一个优势GreenPAK剩余的电路是否可用作其他用途。

这说明了一个数字比较器IC与完整的测试验证。该设计是稳健的和商业上可行的。

我们用Arduino程序对这个设计进行了自动测试。该程序将所有可能的二进制组合呈现给GreenPAK比较器输入并检查匹配输出。请参阅结果部分7

8位身份比较器

理论

身份比较器是一种只有一个输出的数字比较器。当A = B时,要么都是1(高),要么都是0(低)。这种比较器可以通过逻辑门(XNOR和and门)的组合实现,如图所示图1.对于8位数字,比较器将数字的每一位与XNOR门进行比较。两个8位数字只有在每个位相同的情况下才相等。

输入:需要比较的两个数字的位(A, B),每个数字8位。

输出:一个输出端,如果A = B,输出端变为高电平。

相等比较器的电路由每对输入位的一个独占的NOR门(XNOR)组成。如果两个输入相等(都是逻辑1或逻辑0),则输出逻辑1。XNOR门的输出组合在一个AND门中,只有当所有XNOR门的输出都是高的(XNOR输入是匹配的),输出才会高。

图1:8位恒等比较器逻辑图

GreenPAK设计

要设计的电路需要18个引脚;8个引脚作为第一个数字的输入(例如A), 8个引脚为第二个数字,如果两个数字相等,则输出为高,否则为低。它还包括一个使能输入来激活电路。

GreenPAKSLG46533V有18个输入/输出,外加25个模块,可以配置为逻辑门。因此,它适用于构造电路的功能。

逻辑函数XNOR被认为负责检测比特的相似性;例如,如果输入的两个比特相等(无论是0还是1),它的输出给出逻辑1;因此XNOR门是一个1位比较器。

完整的比较器以节的形式构建,这意味着1位比较器使用XNOR门构建;然后XNOR输出连接到一个3位LUT,以创建一个2位比较器。这个过程已经重复了四次,目的是创建四个2位比较器。

这四个比较器的输出连接到一个4-Bit AND gate,构建一个8-bit比较器,最终结果通过PIN19得到,而PIN20是使能输入,如图所示图2

表1显示引脚编号和匹配每个引脚的功能,其中PIN19是电路的唯一输出。

图2:2位身份比较器块
图3:3位LUT0配置
图4:身份比较器设计
表1:用于身份比较器的GreenPAK pin Map
GreenPAK销
功能
GreenPAK销
功能
GreenPAK销
功能
1
VDD
8
A3
15
A6
2
A0
9
B3
16
B6
3.
B0
10
A4
17
A7
4
A1
11
接地
18
B7
5
B1
12
B4
19
平等(产出)
6
A2
13
A5
20.
启用
7
B2
14
B5

4比特大小比较

理论

幅度比较器电路比较两个数字或二进制数(考虑A和B)并确定它们的相对幅度。它也可以用来表示相等,但有两个额外的输出,一个是当单词A大于单词B时的逻辑1,另一个是当单词A小于单词B时的逻辑1。

三个二进制引脚用于表示比较的输出为A > B, A < B,或A = B。

图5显示一个4位比较器的框图,它比较两个4位长度的数字。它的输出表示A, B之间的关系。

比较过程从比较4位二进制数时的最高有效位(MSB)开始。

如果存在平等A = B,则比较下一个最低位,依此类推,直到它到达最后一位(LSB)。如果平等仍然存在,则两种数字被认为是相等的。

否则,如果发现不等式,则A > B或A < B,并确定这两个数之间的关系,并忽略任何额外的低阶位之间的比较。

此比较器的输出逻辑语句是:

如果a3 = 1和b3 = 0 ------------------------------------------------------> a大于b(a> b)。或

如果A3 = B3, A2 = 1和B2 = 0 , ---------------------------------------------> > b或

如果A3 = B3、A2 = B2和A1 = 1, B1 = 0 --------------------------------> A >。或

如果A3 = B3, A2 = B2, A1 = B1、A0 = 1 = 0 ----------------------> A >。

可以根据上述语句编写输出A> B逻辑表达式

G= a3 b3 ' +(a3 xnor b3) a2 b2 ' +(a3 xnor b3) (a2 xnor b2) a1 b1 ' +(a3 xnor b3) (a2 xnor b2) (a1 xnor b1) a0 b0 '

以类似的方式,L (a

L= a3 ' b3 + (a3 xnor b3) a2 ' b2 + (a3 xnor b3) (a2 xnor b2) a1 ' b1 + (a3 xnor b3) (a2 xnor b2) (a1 xnor b1) a0 ' b0

当一个数的所有个位与另一个数的相应位完全匹配时,等量输出就会变高。那么A=B输出的逻辑表达式为

E = (a3 xnor b3) (a2 xnor b2) (a1 xnor b1) (a0 xnor b0)

根据上述输出的布尔表达式,该比较器的电路可以使用如下图5所示的标准逻辑门来实现。在这里,XNOR门的四个输出然后合并在一个和门中,以给出二进制变量E (A = B)。A>B和A

输入:需要比较的两个数字的位(A、B),每个数字4位,I2C引脚,连接两个ic比较8位数字时的级联输入。

输出:三个输出端子,每个用于平等(a = b),大于(a> b),小于(a

图5:幅度比较器逻辑图

GreenPAK设计

设计包括三个部分;第一个负责检测发现A> B条件;第二个负责检查发现相等(A = B),而最后一个有关检查A

块2L0, 2L1, 2L2和2L3被配置为XNOR门,比较两个数字和检测相等的位对。

块3L0,3L1,3L2和3L3检测是否达到了A> B条件,其中A3和B3在首发通过3比特Lut0测试。如果A3> B3(即A3 = 1,B3 = 0,则测试A3和B3)高信号出现在PIN17上,但如果它们相等,则会朝向两个比特A2,B2的较差的移动移动,并且通过3位LUT1发生比较;等待其余部分。

块3L5,3L14,3L15和3L16检查是否满足了以前方法重复的 B上(即Ax = 0,Bx = 1)。

该设计配备了用于级联的引脚,使多个电路连接在一起,大于4位的数字可以进行比较。

这些输入被检查的情况下,A = B条件为所有较高的重要输入的电路;因此,有一个移动到较低的有效位的其他电路保持比较。

根据这种比较的结果,通过电路的高显著性输出来获得整数比较的结果。

级联位使用如图所示的3L3、3L12和3L6块进行测试图6

表2表示幅度比较器最终电路的真值表。

图6:幅度比较器设计
表2:数量级比较器真值表
输入
输出
比较
级联
A3 B3
a2b2
A1 B1
A0 B0
< B
A = B
A >
< B
A = B
A >
A3> B3.
X
X
X
X
X
X
0
0
1
A3 = B3
A2> B2
X
X
X
X
X
0
0
1
A3 = B3
A2 = B2
A1 > B1
X
X
X
X
0
0
1
A3 = B3
A2 = B2
A1 = B1
A0 >
X
X
X
0
0
1
A3 = B3
A2 = B2
A1 = B1
A0 =
0
0
1
0
0
1
A3 = B3
A2 = B2
A1 = B1
A0 =
0
1
0
0
1
0
A3 = B3
A2 = B2
A1 = B1
A0 =
1
0
0
1
0
0
A3 < B3
X
X
X
X
X
X
1
0
0
A3 = B3
A2 < B2
X
X
X
X
X
1
0
0
A3 = B3
A2 = B2
A1 < B1
X
X
X
X
1
0
0
A3 = B3
A2 = B2
A1 = B1
A0 <
X
X
X
1
0
0
表3:GreenPAK PINs星等比较器地图
GreenPAK销
功能
GreenPAK销
功能
GreenPAK销
功能
1
VDD
8
SCL.
15
我(A = B)
2
-
9
SDA
16
我(a
3.
A0
10
B2
17
A> B.
4
B0
11
接地
18
A = B.
5
A1
12
A3
19
A
6
B1
13
B3
20.
-
7
A2
14
我(A >)
图7:SLG46533V PINS示意图

比较器的级联

可以通过级联两个4位比较器来构建8位比较器以比较两个8位数。图8下面显示了这个比较器的电路连接,其中低阶比较器的输出与高阶比较器I(A < B)、I(A = B)和I(A > B)的级联输入相连接。

一个高信号必须连接到下比较器的A = B级联输入,而另外两个级联输入A < B & A > B必须连接到一个低信号。这也适用于单个IC,如果只有两个4位字被比较。比较的最终结果出现在高阶4位比较器的三个输出上。

图8:8位幅度比较器组成

结果

为了确保设计能够正常运行,使用外部微控制器电路进行自动测试,以测试该电路可能遇到的所有情况。

比较器包含8个输入,每个数字4个;因此,可能产生的案件数量是256个。

为Arduino板编写了一个程序,并与最终的设计相连接。该程序的功能是为输入生成所有可能的二进制格式,读取每种情况的输出,并验证其正确性。图9下面显示了测试后的串行监视器。

应用程序可以在项目附带的文件中找到。

图9:测试过程后的串行监视器输出

结论

本应用笔记已经描述了2种类型的数字比较器电路的设计;身份和幅度。的GreenPAKIC已经提高了所需数字电路的高效率。此外,电路的设计廉价,设计短暂的设计时间,并提供完整的测试IC。