一种大量减少用于在数字逻辑电路中确定两个多比特向量之间的差是否等于给定的数或处于给定的两个数之间的所需逻辑和计算时间的改进技术。在一个示例实施例中,通过在数字逻辑电路中接收第一N比特向量A[N-1:0]和第二N比特向量B[N-1:0],其中,N为非零正数。然后通过使用A[N-1:0]和~B[N-1:0]执行按比特AND(A[N-1:0]&~B[N-1:0])运算来获得第三N比特向量。此外,通过使用A[N-1:0]和~B[N-1:0]执行按比特XOR(A[N-1:0]^~B[N-1:0])来获得第四N比特向量。然后基于第三N比特向量和第四N比特向量中的比特模式,断定第一N比特向量A[N-1:0]与第二N比特向量B[N-1:0]之间的差等于给定的数或在两个数(+m和+n,m<n)的给定范围内,从而实现该技术。
【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及数字逻辑电路,更具体地说,涉及数字集成电路内的比较逻辑单元。
技术介绍
两个多比特向量的比较是在数字逻辑电路中执行的普通运算。在数字逻辑 电路中执行相等性的比较运算也是普通的。此外,有时需要确定两个多比特向量在值 上是否相差特定量。例如,经常需要执行比较运算来找出两个多比特向量之间的差是否等于+1、+2.......+η。常常还需要确定,当m和η 二者都已知时,两个多比特向量Α与Β之间的差是否在+m到+η的范围内,其中m<n,即,评估不等式 +m ≤ A-B≤ +n。传统上,在数字逻辑电路中,对两个多比特向量执行比较运算以检查相等性,例如 Α ==Β+η,将需要N比特加法器/减法器,之后跟随N比特比较器。此外, 用于执行运算以确定两个向量之间的差是否在特定范围内的传统技术需要至少一个加法 器/减法器和多个比较器。通常,数字逻辑电路内的每个加法器/减法器需要相当大量的 逻辑门,这需要大的硅面积。此外,这导致了明显的时延。
技术实现思路
根据主题的一方面,提供一种用于在数字逻辑电路内对两个多比特向量进行比较 的方法,该方法包括以下步骤在所述数字逻辑电路中接收第一 N比特向量Α和第 二 N比特向量Β,其中,N为非零正数,通过使用Α和 Β执行按比 特AND (A & B )运算来获得第三N比特向量,其中,通过对第二 N比特向量 B中的每个比特进行反转来获得 B ,通过使用A 和 B执 行按比特XOR (A )运算来获得第四N比特向量,并且基于第三N比特 向量和第四N比特向量中的比特模式,断定A与B之间的差是否等于给定 的数或处于两个数+m和+η的给定范围内,其中,m < η。附图说明现将参照附图仅以示例的方式描述本专利技术实施例,在附图中图1示出用于实现数字逻辑电路内的比较运算的根据本主题的实施例的流程图;图2示出在根据本主题的实施例的数字逻辑电路中,当两个多比特向量之间的差 等于+1时,用于实现比较运算的装置的框图;图3示出在根据本主题的实施例的数字逻辑电路中,当两个多比特向量之间的差 等于+2时,用于实现比较运算的装置的框图;图4示出在根据本主题的实施例的数字逻辑电路中,当两个多比特向量之间的差 等于+3时,用于实现比较运算的装置的框图5示出在根据本主题的实施例的数字逻辑电路中,当两个多比特向量之间的差 等于0或等于+1时,用于实现比较运算的装置的框图。具体实施例方式在本专利技术各种实施例的以下详细描述中,参照形成本专利技术的一部分的附图,并且 在附图中通过说明的方式示出其中可以实践本专利技术的具体实施例。充分详细地描述这些 实施例,以使得本领域技术人员能够实践本专利技术,并且应理解,在不脱离本专利技术范围的情况 下,可以利用其它实施例,并且可以进行改变。因此,以下详细描述不应看作限制的意义,并 且本专利技术的范围仅由所附权利要求限定。文中通篇可互换地使用术语“多比特向量”和“N比特向量”。此外,文中通篇可互 换地使用术语第一 N比特向量、第一 N比特向量A、以及A。此外,文中通篇 可互换地使用术语第二 N比特向量、第二 N比特向量B、以及B。同时,文中 通篇可互换地使用术语“0到1”以及“0- > 1”。另外,在数字逻辑电路的情况下,符号“0” 和“1”用于将0和1的值分别表示为低逻辑电平和高逻辑电平。同时,文中通篇相等性逻辑Α ==Β+η被表示为并用于等价形式 A-B == η、Α + B+1 == η、以及 A + B = =n-l。为了当η = 1时相等性逻辑对于比较运算保持为真,,Α+ Β之 和应产生0。类似地,为了对于η = 2相等性为真,Α+ Β必须产生1,等寸。图1示出用于当两个操作数之间的差等于+η(对于给定的η)或者在两个给定的 数,即+m和+η的范围内时,对两个多比特向量执行比较运算的示例方法100。在步骤110, 方法100由接收第一 N比特向量Α和第二 N比特向量Β而开始。N比特向 量可以是任何多比特向量。在一些实施例中,所述N比特向量是8比特向量、16比特向量、 24比特向量、32比特向量或64比特向量。在步骤120,对Β执行按比特反转,以获得 B ,S卩,通过对 Β的每个比特进行反转获得 Β。在步骤130,通过使用接收到的Α 和所获得的 Β执行按比特AND(A& Β)运算来获得第三N比 特向量。在步骤140,通过使用接收到的Α和所获得的 Β执行按比特 X0R(A)运算来获得第四N比特向量。在步骤150,基于第三N比特向量和第四N比特向量中的比特模式,断定接收到的 Α与Β之间的差等于+η (对于给定的η)或者处于+m和+η的范围内(当m 和η是给定的,并且111 < η时)。例如,步骤150可以基于第三N比特向量和第四N比特向 量中的比特模式来确定接收到的Α与Β之间的差是否是0或1。以下示例 描述比较运算的具体情况情况(1)当η = ι 时,等式 A = = Β+η 的估计 (A_EQ_B_PLUS_1)在某些实施例中,对于n = 1的比较运算,即,接收到的A 与B 之间 的差等于+1 (即A = = B +1),在步骤150,上述方法100确定当将A 与 Β相加时是否得到0。以下示例表使用8比特向量示出方法100。 g 第一8 比特向量 A 0 10 110 10 0 B 10 10 0 110 0第三8 比特向量 AND (A& B) 000000100第四8 比特向量 X0R(A" B) 1111110 0 0在以上示例中可见,对于任意比特位置g的右边,A和 B的所有 比特等于0,这使得0作为求和比特,并且不产生进位。在以上示例表中,在任意比特位置g 处A和 B 二者的比特都等于1,由此产生0作为求和比特,并且产生进位。 在任意比特位置g左边的所有比特位置,要么A具有1,要么 B具有1,但 二者不都具有1,从而它们可以传播进位,并且产生0的和。因此,从以上示例表可见,检测A-B = = 1或等效地A + B = =0的问题等同于借助第三N比特向量和第四N比特向量在A和 B中识别是否存在以上比特模式,第三N比特向量和第四N比特向量表征如下1.当从右到左扫描第四N比特向量比特时,发现仅一次0到1比特转变2.第三N比特向量仅在0到1比特转变比特位置(即任意比特位置g)处具有一 个1在这些实施例中,在步骤150,方法100进一步确定在第三N比特向量中,在与第四 N比特向量中发生0到1比特转变的位置相对应的比特位置中的比特是否等于1,并且其余 比特等于0。此外,在步骤150,方法100确定第四N比特向量中是否仅出现一次0到1比 特转变。方法100于是断定第一 N比特向量A与第二 N比特向量B之间的 差等于 +1,或者方法 100 断定 A -B = = +1。假设LSB是最右边的比特,通过在第四N比特向量比特与向右右移一个比特位置 的相同比特之间执行按比特XOR运算来完成第四N比特向量比特中的0-> 1比特转变的 检测,由此产生第五N比特向量。在将比特向右移位的同时,将最左边比特或MSB拷贝到因 右移而产生的空位置。通过在第三N比特向量与第五N比特向量之间按比特XOR运算来 生成第六N比特向量。在这些实施例中,本文档来自技高网...
【技术保护点】
一种用于在数字逻辑电路中对第一N比特向量A[N-1:0]和第二N比特向量B[N-1:0]执行比较运算的方法,其中N为非零正数,所述方法包括:执行所述B[N-1:0]的按比特反转,以获得~B[N-1:0];通过使用所述A[N-1:0]和所述~B[N-1:0]执行按比特AND(A[N-1:0]&~B[N-1:0])运算来获得第三N比特向量;通过使用所述A[N-1:0]和所述~B[N-1:0]执行按比特XOR(A[N-1:0]^~B[N-1:0])运算来获得第四N比特向量;基于所述第三N比特向量和所述第四N比特向量中的比特模式,断定所述A[N-1:0]与所述B[N-1:0]之间的差等于给定的数或在两个数+m和+n的给定范围内,其中,m<n。
【技术特征摘要】
【国外来华专利技术】...
【专利技术属性】
技术研发人员:阿比吉特吉里,
申请(专利权)人:模拟装置公司,
类型:发明
国别省市:US[美国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。