CN111597770A - 快速查找数据最高有效比特位的电路装置及查找方法 - Google Patents
快速查找数据最高有效比特位的电路装置及查找方法 Download PDFInfo
- Publication number
- CN111597770A CN111597770A CN202010428020.4A CN202010428020A CN111597770A CN 111597770 A CN111597770 A CN 111597770A CN 202010428020 A CN202010428020 A CN 202010428020A CN 111597770 A CN111597770 A CN 111597770A
- Authority
- CN
- China
- Prior art keywords
- value
- bit
- data
- circuit
- significant bit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 23
- 230000008569 process Effects 0.000 claims description 6
- 238000001514 detection method Methods 0.000 abstract description 7
- 238000004519 manufacturing process Methods 0.000 abstract description 2
- 230000008054 signal transmission Effects 0.000 abstract description 2
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000010606 normalization Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
一种查找数据最高有效比特位的电路装置,包括N级数据选择器,用于根据选择信号确定出数据位宽的低位部分是否向后续的电路中进行传输;N级或门,用于对每一部分数据位宽的高位部分进行位或运算。本发明还公开了一种查找数据最高有效比特位的方法,本发明应用在数据最高有效位检测时,电路结构简单,复杂度低,使用的逻辑门电路较少,能有效减小电路在芯片实现时占用的面积,降低生产成本;本发明可大幅度减小信号传输的延时,加快电路的时钟频率,提高系统的工作效率。
Description
技术领域
本发明涉及集成电路设计领域,尤其涉及一种快速查找数据最高有效比特位的电路装置及查找方法。
背景技术
在对定点数据进行归一化处理时,需要放大或缩小一定的比例来实现,放大或缩小通过移位来实现。由于最高有效位的位置在不同数据中是不固定的,因此在确定其具体位置并不容易。比如,在定义了小数位宽和整数位宽都是8比特的16位定点数据为xxxx_xxxx_xxxx_xxxx,如以下三个数据(低位移出的比特位忽略):
0001_0011_0100_0011=0000_0001_0011_0100*24--------式1
0000_0111_0101_0010=0000_0001_1101_0100*22--------式2
0000_0000_0001_0010=0000_0001_0010_0000*2-4----------式3
其最高有效位分别是Data[12],Data[10]和Data[4],进行归一化时分别需要右移的位数为4,2和-4。位于最高有效位后面的逻辑“1”,即较低位的逻辑“1”是不影响数据移位的位数的,不进行处理计算。
采用时序电路实现如图1所示,以32位的二进制数据为例,则MSB(MostSignificant Bit)(即b31)最先输入到检测电路,LSB(Least Significant Bit)(即b0)最后输入,每个时钟移动一位,并有相应的循环加法器cnt进行计数,b31输入到电路和cnt值为0为同一时钟周期,当遇到第一个逻辑“1”时(即最高有效位)时锁住相应的计数值,该计数值出现在lock信号有效的下一个周期,将此值记为P,P值即为最高有效位所处二进制数据中的位置。
当P[4:0]=5’b00000时,则需要S的值来判断是否有M当中是否有“1”存在,即S=1’b1时,说明最高位1为M[0],若S=1’b0,则说明M=32’h00000000,即M所有的比特位都不为“1”。
时序电路当中要得出P[4:0]周期数最快为1个,最慢为31个,因此整个电路的工作效率为31个时钟周期处理一个32比特的数据。以次类推,若要处理64位的数据则需要63个周期,128位数据则需要127个周期,效率非常低。若记WIDTH(M)为数据M的位宽,Tclk为时钟周期,数据最高有效位所处位置值的输出周期数为Ncycle,则结果输出所需时间为D0=Tclk*Ncycle=Tclk*(WIDTH(M)-1)-----------------------式4
结果的输出所需要的周期数与位宽成线性关系,效率很低。
采用组合逻辑进行有效位位置检测的电路结构如图2所示,以M[31]为最高优先级。当M[31]=“1”时,输出P=5’d31,当M[31]=“0”而M[30]=“1”,输出P=5’d30,依次类推到M[1]。当P=5’b0时,则需要S的值来判断是否有M当中是否有“1”存在,即S=1’b1时,说明最高位1为M[0],若S=1’b0,则说明M=32’h00000000,即所有比特位都不为“1”。
P值的输出需要数据通过逐级传输,通过的数据选择器共有31级,假定单级的延时为d1,因此最长路径的延时为
D1=d1*31----------------------式5
因此当数据的位宽为WIDTH(M)位时,则最长延时为
D1=d1*(WIDTH(M)-1)----------------------式6
该组合逻辑电路的延时与数据的位宽成线性关系,数据位宽加倍时将会导致电路工作的频率减半,严重影响电路的工作效率。
在图1所示电路对应的式4中,可以得知延时D0=Tclk*WIDTH(M),电路的处理需要经过若干个时钟周期,结果的输出所需要的周期数个数与位宽成线性关系,因而电路延时非常严重,对于需要在单个周期内得出数据结果是不可能的。
在图2的组合逻辑电路中,延时D1=d1*(WIDTH(M)-1),其关键路径的延时和位宽之间也成线性关系,对于16位的数据则需要15个选择器的级联传输,而32位数据更需要多达31个选择器的级联。在不使用流水线技术的前提下,其组合逻辑长延时路径的特点将导致整个电路的工作频率大幅度降低。
对于采用图1和图2方式进行处理的电路,都面临着长延时的问题,导致电路的工作效率低下,尤其是第二种组合逻辑方式实现的电路,虽然缩短到了一个时钟周期内完成输出,但由于关键路径长,有很长的传输延时,会极大影响时钟的频率,影响整个电路的工作效率。
发明内容
有鉴于此,本发明的主要目的在于提供一种快速查找数据最高有效比特位的电路装置及查找方法,以期至少部分地解决上述技术问题中的至少之一。
为了实现上述目的,作为本发明的一方面,提供了一种快速查找数据最高有效比特位的电路装置,包括:
N级数据选择器,用于根据选择信号确定出数据位宽的低位部分是否向后续的电路中进行传输;
N级或门,用于对每一部分数据位宽的高位部分进行位或运算。
其中,所述电路的关键路径的时延为:
D2=(d1+d2)*N;
其中,d1为数据选择器的延时,d2为或门的延时,N为选择器的级数。
作为本发明的另一方面,还提供了一种快速查找数据最高有效比特位的查找方法,包括以下步骤:
将数据M分成两部分,若M的位宽不是2的幂次方,则高位补齐使其位宽扩展为2的幂次方。以M位宽为32位为例,则高位部分为M[31:16],低位部分为M[15:0],高位部分经过位或运算后生成信号P[4],P[4]作为M[31:16]和M[15:0]的选择信号;
当M[31:16]中含有“1”时,P[4]的值为“1”,则M1的值为M[31:16],此时最高有效位就在M[31:16]之间,此时M[15:0]的值将不再传输到后续电路中进行处理;当M[31:16]中不含“1”时,P[4]的值为“0”,则M1的值为M[15:0];
当M1[15:8]中含有“1”时,P[3]的值为“1”,则M2的值为M1[15:8],此时最高有效位就在M1[15:8]之间,此时M1[7:0]的值将不再传输到后续电路中进行处理;当M1[15:8]中不含“1”时,P[3]的值为“0”,则M2的值为M1[7:0];
当M2[7:4]中含有“1”时,P[2]的值为“1”,则M3的值为M2[7:4],此时最高有效位就在M2[7:4]之间,此时M2[3:0]的值将不再传输到后续电路中进行处理;当M2[7:4]中不含“1”时,P[2]的值为“0”,则M3的值为M2[3:0];
当M3[3:2]中含有“1”时,P[1]的值为“1”,则M4的值为M3[3:2],此时最高有效位就在M3[3:2]之间,此时M3[1:0]的值将不再传输到后续电路中进行处理;当M3[3:2]中不含“1”时,P[1]的值为“0”,则M4的值为M3[1:0];
P[0]的值为M4[1],S值为M4[0];
在上述过程中,P[4:0]的值即为最高位1出现的位置,即P[4:0]的值为W,则表示最高有效位为M[W]。
其中,所述查找方法对于数据位宽不等于2的幂次方的情况,只需要将其高位补齐到最接近的2的幂次方数值即可适用。
其中,当所述P[4:0]=5’b00000时,则需要S的值来判断是否有M当中是否有1存在,即S=I’b1时,说明最高位1为M[0],若S=I’b0,则说明M=32’h00000000,所有比特位都为0。
基于上述技术方案可知,本发明的快速查找数据最高有效比特位的电路装置及查找方法相对于现有技术至少具有如下有益效果中的一部分:
本发明应用在数据最高有效位检测时,电路结构简单,复杂度低,使用的逻辑门电路较少,能有效减小电路在芯片实现时占用的面积,降低生产成本;本发明可大幅度减小信号传输的延时,加快电路的时钟频率,提高系统的工作效率。将数据从中间分割进行检测,此二分法的检测思路可以指数级提高检测的效率,本应用于类似的检测电路当中。
附图说明
图1为现有技术中的利用时序逻辑电路实现查找数据最高有效比特位的电路示意图;
图2为现有技术中的利用组合逻辑进行有效位位置检测的电路结构示意图;
图3为本发明实施例的电路装置结构示意图。
具体实施方式
本发明的电路装置是使用组合逻辑的方式,缩短从输入数据到输出数据之间关键路径的长度,使得电路的传输延时减小,提高所处系统电路的工作频率。
具体的,本发明公开了一种快速查找数据最高有效比特位的电路装置,包括:
N级数据选择器,用于根据选择信号确定出数据位宽的低位部分是否向后续的电路中进行传输;
N级或门,用于对每一部分数据位宽的高位部分进行位或运算。
其中,所述电路的关键路径的时延为:
D2=(d1+d2)*N;
其中,d1为数据选择器的延时,d2为或门的延时,N为选择器的级数。
本发明还公开了一种快速查找数据最高有效比特位的查找方法,包括以下步骤:
将数据M分成两部分,若M的位宽不是2的幂次方,则高位补齐使其位宽扩展为2的幂次方。以M位宽为32位为例,则高位部分为M[31:16],低位部分为M[15:0],高位部分经过位或运算后生成信号P[4],P[4]作为M[31:16]和M[15:0]的选择信号;
当M[31:16]中含有“1”时,P[4]的值为“1”,则M1的值为M[31:16],此时最高有效位就在M[31:16]之间,此时M[15:0]的值将不再传输到后续电路中进行处理;当M[31:16]中不含“1”时,P[4]的值为“0”,则M1的值为M[15:0];
当M1[15:8]中含有“1”时,P[3]的值为“1”,则M2的值为M1[15:8],此时最高有效位就在M1[15:8]之间,此时M1[7:0]的值将不再传输到后续电路中进行处理;当M1[15:8]中不含“1”时,P[3]的值为“0”,则M2的值为M1[7:0];
当M2[7:4]中含有“1”时,P[2]的值为“1”,则M3的值为M2[7:4],此时最高有效位就在M2[7:4]之间,此时M2[3:0]的值将不再传输到后续电路中进行处理;当M2[7:4]中不含“1”时,P[2]的值为“0”,则M3的值为M2[3:0];
当M3[3:2]中含有“1”时,P[1]的值为“1”,则M4的值为M3[3:2],此时最高有效位就在M3[3:2]之间,此时M3[1:0]的值将不再传输到后续电路中进行处理;当M3[3:2]中不含“1”时,P[1]的值为“0”,则M4的值为M3[1:0];
P[0]的值为M4[1],S值为M4[0];
在上述过程中,P[4:0]的值即为最高位1出现的位置,即P[4:0]的值为W,则表示最高有效位为M[W]。
其中,所述查找方法对于数据位宽不等于2的幂次方的情况,只需要将其高位补齐到最接近的2的幂次方数值即可适用。
其中,当所述P[4:0]=5’b00000时,则需要S的值来判断是否有M当中是否有1存在,即S=1’b1时,说明最高位1为M[0],若S=1’b0,则说明M=32’h00000000,所有的比特位都为0。
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。
如图3所示的电路装置中,M为32位位宽的数据。将M其分成两部分,高位部分为M[31:16],低位部分为M[15:0],高位部分经过位或运算后生成信号P[4],P[4]作为M[31:16]和M[15:0]的选择信号。
其中的M1的位宽为16位(即M1[15:0]),其值为M[31:16]或M[15:0],当M[31:16]中含有“1”时,P[4]的值为“1”,则M1的值为M[31:16],此时最高有效位就在M[31:16]之间,因此M[15:0]的值将不再传输到后续电路中进行处理,反之M1的值为M[15:0]。M2与M1的关系和M1与M0的关系是类似的,M1[15:8]中有“1”时,P[3]为“1”,M2的值为M1[15:8],否则M2的值为M1[7:0],依次类推,直到2比特位宽的M4。
P[4:0]的值即为最高位1出现的位置,比如P[4:0]的值为12,则表示最高有效位为M[12]。需要特别说明的是,当P[4:0]=5’b00000时,则需要S的值来判断是否有M当中是否有1存在,即S=i’b1时,说明最高位1为M[0],若S=1’b0,则说明M=32’h00000000,所有比特位都为0。
从图3所示的电路装置中可看出,整个电路的最长延时路径为4级数据选择器和4级或门,约定数据选择器的延时为d1,或门的延时为d2,则电路的关键路径的延时为D2=(d1+d2)*4---------------------------式7
推广到一般情况,记WIDTH(M)为数据M的位宽,且满足
2K-1<WIDTH(M)≤2K,其中K为正整数,
此时若有
WIDTH(M)≠2K---------------------------式8
则将其高位补“0”,使得
WIDTH(M)=2K---------------------------式9
则有
D2=(d1+d2)*N---------------------------式10
其中
N=K-1---------------------------式11
延时和数据位宽之间是对数关系,即数据位宽增加一倍,总延时仅仅增加了一个选择器和或门的延时。相对于图1和图2的电路结构,这个延时变化是非常小的。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种查找数据最高有效比特位的电路装置,其特征在于,包括
N级数据选择器,用于根据选择信号确定出数据位宽的低位部分是否向后续的电路中进行传输;
N级或门,用于对每一部分数据位宽的高位部分进行位或运算。
2.根据权利要求1所述的电路装置,其特征在于,所述电路的关键路径的时延为:
D2=(d1+d2)*N;
其中,d1为数据选择器的延时,d2为或门的延时,N为选择器的级数。
3.一种查找数据最高有效比特位的查找方法,采用如权利要求1或2所述的电路装置,其特征在于,包括以下步骤:
将数据M分成两部分,若M的位宽不是2的幂次方,则高位补齐使其位宽扩展为2的幂次方。以M位宽为32位为例,则高位部分为M[31:16],低位部分为M[15:0],高位部分经过位或运算后生成信号P[4],P[4]作为M[31:16]和M[15:0]的选择信号;
当M[31:16]中含有“1”时,P[4]的值为“1”,则M1的值为M[31:16],此时最高有效位就在M[31:16]之间,此时M[15:0]的值将不再传输到后续电路中进行处理;当M[31:16]中不含“1”时,P[4]的值为“0”,则M1的值为M[15:0];
当M1[15:8]中含有“1”时,P[3]的值为“1”,则M2的值为M1[15:8],此时最高有效位就在M1[15:8]之间,此时M1[7:0]的值将不再传输到后续电路中进行处理;当M1[15:8]中不含“1”时,P[3]的值为“0”,则M2的值为M1[7:0];
当M2[7:4]中含有“1”时,P[2]的值为“1”,则M3的值为M2[7:4],此时最高有效位就在M2[7:4]之间,此时M2[3:0]的值将不再传输到后续电路中进行处理;当M2[7:4]中不含“1”时,P[2]的值为“0”,则M3的值为M2[3:0];
当M3[3:2]中含有“1”时,P[1]的值为“1”,则M4的值为M3[3:2],此时最高有效位就在M3[3:2]之间,此时M3[1:0]的值将不再传输到后续电路中进行处理;当M3[3:2]中不含“1”时,P[1]的值为“0”,则M4的值为M3[1:0];
P[0]的值为M4[1],S的值为M4[0];
在上述过程中,P[4:0]的值即为最高位1出现的位置,即P[4:0]的值为W,则表示最高有效位为M[W]。
4.根据权利要求3所述的查找方法,其特征在于,所述查找方法对于数据位宽不等于2的幂次方的情况,只需要将其高位补齐到最接近的2的幂次方数值即可适用。
5.根据权利要求3所述的查找方法,其特征在于,当所述P[4:0]=5’b00000时,则需要S的值来判断是否有M当中是否有1存在,即S=1’b1时,说明最高位1为M[0],若S=1’b0,则说明M=32’h00000000,所有的比特位都为0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010428020.4A CN111597770A (zh) | 2020-05-19 | 2020-05-19 | 快速查找数据最高有效比特位的电路装置及查找方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010428020.4A CN111597770A (zh) | 2020-05-19 | 2020-05-19 | 快速查找数据最高有效比特位的电路装置及查找方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111597770A true CN111597770A (zh) | 2020-08-28 |
Family
ID=72183749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010428020.4A Pending CN111597770A (zh) | 2020-05-19 | 2020-05-19 | 快速查找数据最高有效比特位的电路装置及查找方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111597770A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09116413A (ja) * | 1995-10-20 | 1997-05-02 | Toshiba Corp | 論理回路及びその設計方法 |
KR19990003845A (ko) * | 1997-06-26 | 1999-01-15 | 배순훈 | 디지털 시스템의 절대값 계산방법 및 장치 |
CN1756079A (zh) * | 2004-09-30 | 2006-04-05 | 中国科学院微电子研究所 | 一种可任意编程的分频器电路及方法 |
CN102664637A (zh) * | 2012-04-12 | 2012-09-12 | 北京中科晶上科技有限公司 | 确定二进制数据前导零个数的方法及装置 |
CN105245319A (zh) * | 2015-08-25 | 2016-01-13 | 福州瑞芯微电子股份有限公司 | 一种数据流低功耗选择方法及系统 |
CN110515587A (zh) * | 2019-08-30 | 2019-11-29 | 上海寒武纪信息科技有限公司 | 乘法器、数据处理方法、芯片及电子设备 |
-
2020
- 2020-05-19 CN CN202010428020.4A patent/CN111597770A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09116413A (ja) * | 1995-10-20 | 1997-05-02 | Toshiba Corp | 論理回路及びその設計方法 |
KR19990003845A (ko) * | 1997-06-26 | 1999-01-15 | 배순훈 | 디지털 시스템의 절대값 계산방법 및 장치 |
CN1756079A (zh) * | 2004-09-30 | 2006-04-05 | 中国科学院微电子研究所 | 一种可任意编程的分频器电路及方法 |
CN102664637A (zh) * | 2012-04-12 | 2012-09-12 | 北京中科晶上科技有限公司 | 确定二进制数据前导零个数的方法及装置 |
CN105245319A (zh) * | 2015-08-25 | 2016-01-13 | 福州瑞芯微电子股份有限公司 | 一种数据流低功耗选择方法及系统 |
CN110515587A (zh) * | 2019-08-30 | 2019-11-29 | 上海寒武纪信息科技有限公司 | 乘法器、数据处理方法、芯片及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Smith et al. | Designing asynchronous circuits using NULL convention logic (NCL) | |
US5060243A (en) | Ripple counter with reverse-propagated zero detection | |
US5045854A (en) | Integrated high speed synchronous counter with asynchronous read-out | |
Kim et al. | Bitwise competition logic for compact digital comparator | |
US7886210B2 (en) | Apparatus for pipelined cyclic redundancy check circuit with multiple intermediate outputs | |
CN101140511A (zh) | 串行进位二进制加法器 | |
Hyun et al. | Constant-time synchronous binary counter with minimal clock period | |
US8136010B2 (en) | Apparatus for pipelined cyclic redundancy check circuit with multiple intermediate outputs | |
WO2018204898A1 (en) | Fast binary counters based on symmetric stacking and methods for same | |
Frustaci et al. | Designing high-speed adders in power-constrained environments | |
CN111597770A (zh) | 快速查找数据最高有效比特位的电路装置及查找方法 | |
Sarkar et al. | The set of reversible 90150 cellular automata is regular | |
Asadi et al. | A new low power 32× 32-bit multiplier | |
US9294099B2 (en) | Hybrid synchronous/asynchronous counter | |
US10749530B1 (en) | Programmable divider with glitch-free load circuit | |
US20040243658A1 (en) | High speed adder | |
Prasanna et al. | N-BIT DIGITAL COMPARATOR ARCHITECTURES FOR DIGITAL SIGNAL PROCESSING APPLICATIONS: A REVIEW | |
Song et al. | An 8B/10B parallel encoder design for the polarity pre-processing | |
Nithyashree et al. | A Unique Approach towards Serial Parallel Multiplier to Reduce Number of Components | |
Sami et al. | An energy-efficient gated Johnson counter using redundant switching technique | |
Paidi et al. | A novel high speed leading zero counter for floating point units | |
Joe et al. | Design of Low Power High Speed Hybrid Adder | |
Acharya et al. | A method to design a comparator for sampled data processing applications | |
KR101846417B1 (ko) | 다중 입력을 위한 비교 방법 및 디지털 비교기 | |
CN118860329A (zh) | 一种二进制百分比运算电路和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |