CN110377267B - 一种基于概率计算集中序列的有符号数的加/减法器 - Google Patents
一种基于概率计算集中序列的有符号数的加/减法器 Download PDFInfo
- Publication number
- CN110377267B CN110377267B CN201910678453.2A CN201910678453A CN110377267B CN 110377267 B CN110377267 B CN 110377267B CN 201910678453 A CN201910678453 A CN 201910678453A CN 110377267 B CN110377267 B CN 110377267B
- Authority
- CN
- China
- Prior art keywords
- bit
- data selector
- bit binary
- output
- selector mux
- 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.)
- Expired - Fee Related
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 24
- 230000001174 ascending effect Effects 0.000 claims description 12
- 238000009826 distribution Methods 0.000 claims description 8
- 230000000630 rising effect Effects 0.000 claims description 8
- 229910002056 binary alloy Inorganic materials 0.000 claims description 4
- 230000003247 decreasing effect Effects 0.000 claims description 3
- 238000000034 method Methods 0.000 abstract description 12
- 238000013528 artificial neural network Methods 0.000 abstract description 3
- 238000009825 accumulation Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 6
- 210000002569 neuron Anatomy 0.000 description 5
- 238000011160 research Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- NTSBMKIZRSBFTA-AIDOXSFESA-N Digoxigenin bisdigitoxoside Chemical compound C1[C@H](O)[C@H](O)[C@@H](C)O[C@H]1O[C@@H]1[C@@H](C)O[C@@H](O[C@@H]2C[C@@H]3[C@]([C@@H]4[C@H]([C@]5(CC[C@@H]([C@@]5(C)[C@H](O)C4)C=4COC(=O)C=4)O)CC3)(C)CC2)C[C@@H]1O NTSBMKIZRSBFTA-AIDOXSFESA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/491—Computations with decimal numbers radix 12 or 20.
- G06F7/492—Computations with decimal numbers radix 12 or 20. using a binary weighted representation within each denomination
- G06F7/4925—Adding; Subtracting
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
- Error Detection And Correction (AREA)
Abstract
一种基于概率计算集中序列的有符号数的加/减法器,属于集成电路领域,具体涉及一种集中序列的加/减法器。如何提供一种面向基于集中序列的有符号数的加/减法器的问题。主要用于对两个n+1位二进制有符号数进行加法或减法运算,其中,一个n+1位二进制有符号数由一位符号位SA和n位二进制数A所对应的数字位构成;另一个n+1位二进制有符号数由一位符号位SB和n位二进制数B所对应的数字位构成;符号确定模块根据接收的符号位SA和SB,获得运算方式,并根据确定的运算方式对两个n+1位二进制有符号数进行加法或减法运算。本发明主要适用于神经网络计算等既包含大量乘法运算也包含大量累加运算的场合。
Description
技术领域
本发明属于集成电路领域,具体涉及一种基于概率计算集中序列的加/减法器。
背景技术
概率计算是一种无权重的数值计算系统,它使用二进制随机比特流中“1”所占的比例来表征数据的大小。例如下式中,对于十进制小数0.25,用二进制表示为0.01,在概率计算中,可以用0001、0100、00100100等等表示。
(0.25)10=(0×20+0×2-1+1×2-2)10=(0.01)2
=(0001)SC4=(00100100)SC8=(11000000)SC8 (公式一);
概率计算的一个突出优点是,当数值按随机比特序列生成后,其原来复杂的算术运算可以由非常简单的硬件逻辑电路实现;例如,加法可以由一个数据选择器实现,乘法可以由一个与门实现,除法则可以由一个JK触发器实现等,但是由数据选择器实现的加法器为随机序列加法器,无法生成集中序列。
概率计算的另一个重要特征就是容错性,特别是针对由于外界辐射所带来的比特翻转错误。
在随机序列中,一个比特发生错误所带来的误差是十分微小的;以纯小数为例,比如序列00100100中,单比特翻转所带来的误差仅为1/8,但在传统二进制系统中,单比特翻转发生的错误幅度最高可达到0.5,这种特性得益于在概率计算中,其每个比特的权重都是同等的。
一个典型的概率计算系统,首先要包含序列生成器,序列生成器将信号转换为概率计算系统可以处理的随机比特序列。
概率计算系统可以处理的随机比特序列可以由图1所示传统的序列生成器得到,传统的序列生成器利用数字比较器,待转换的数值(可预先归一化到0~1之间,且用二进制表示)与N个0~1之间随机数逐次比较,可以得到所需的随机序列DN。
当图1电路产生的随机序列做基于与门的乘法运算时,精度并不能保证很高。已有研究证明采用确定分布的序列能够有效地改善基于与门的乘法运算的精确性,其基本思路是将两个序列的生成模式固定,其中一个序列呈集中分布(1集中在一端),另一个序列呈均匀分布(1在序列中呈近似等间隔分布)。
图6给出了一种集中分布序列的产生方法,待转换的数值(可预先归一化到0~N之间,且用二进制表示,N为序列长度)在时钟信号下持续做减1运算,其结果与0作比较,大于0时序列输出为1,减至等于0时序列输出为0且保持到转换结束,这样输出序列中的1集中位于序列的一端,称为集中序列。
由图1中两种序列的生成过程可以看出,它们均是将并行输入的二进制数据转换为1位串行输出的数据,序列长度为N个时钟周期。
目前的概率计算研究中,对于改善乘法运算性能的研究比较多,因为乘法运算的精度相对较低,是计算误差的主要来源;另一方面,如果计算过程中存在大量数据累加的情况时,加法运算的精度过低也会使最终计算的结果出现较大的累积误差。例如:在神经网络的计算过程中,第k+1层中某个神经元的输出等于与其连接的第k层中所有神经元与其相应权值积的累加和,如果每一层中都包含大量的神经元,则求和运算的次数是巨大的,单单提高乘积运算的精度不能够保证最终输出的精度。实际上,利用确定分布的序列也可以改善加法运算的精度,当使用集中序列做加/减法时,理论上精度可以达到定点运算的水平;而目前现有技术中只存在面向随机序列的加减法器,没有面向基于集中序列的加法和减法器,尤其是有符号数的加法和减法器设计暂无相关介绍,因此,以上问题亟需解决。
发明内容
本发明是为了解决如何提供一种面向基于集中序列的有符号数的加/减法器的问题,本发明提供了一种基于概率计算集中序列的有符号数的加/减法器。该集中序列的加/减法器能够将有符号二进制数转换为集中序列,并根据两个操作数的符号选择进行加法或者减法操作,得到求和或者求差的结果及其符号,与传统的基于数据选择器的随机序列加法器相比,精度获得极大的提升,可达到定点运算的水平。
一种基于概率计算集中序列的有符号数加/减法器,用于对两个n+1位二进制有符号数进行加法或减法运算,其中,
一个n+1位二进制有符号数由一位符号位SA和n位二进制数A所对应的数字位构成;
另一个n+1位二进制有符号数由一位符号位SB和n位二进制数B所对应的数字位构成;
0≤A<2n,0≤B<2n;
有符号数加/减法器包括缩放及数据选择模块、符号确定模块、序列生成模块、求和及缩放模块和符号生成模块,且求和及缩放模块的运算位数为n+1位;
符号确定模块,用于根据接收的两个n+1位二进制有符号数的符号位SA和SB,获得运算控制结果,且该运算控制结果用于对缩放及数据选择模块、序列生成模块和求和及缩放模块进行控制;
当符号确定模块输出的运算控制结果的取值为1或0,当取值为1时表示求差运算,当取值为0时表示求和运算;
符号生成模块,用于根据符号位SA、SB以及串行输出的序列DA、DB,获得两个n位二进制数A、B运算后的符号位SC,该符号位SC作为有符号数加/减法器符号位的输出结果;
所述序列DA和DB均呈集中分布,且序列DA和DB序列长度均为N,N=2n;
(一)当符号确定模块输出的运算控制结果为1时,缩放及数据选择模块将接收的两个n位二进制数A和B输出至序列生成模块,序列生成模块将两个n位二进制数A和B分别转换为串行输出的序列DA和DB,序列DA和DB通过求和及缩放模块进行求差运算,并将求差运算的结果n+1位二进制数C作为有符号数加/减法器的数字位的输出结果;
(二)当符号确定模块输出的运算控制结果为0时,缩放及数据选择模块对接收的两个n位二进制数A和B进行移位,从而使两个n位二进制数A和B均缩小一半,并将缩小一半后的两个n位二进制A’和B’输出至序列生成模块,序列生成模块将两个n位二进制数A’和B’分别转换为串行输出的序列DA和DB,并将序列DA和DB输出至求和及缩放模块,求和及缩放模块先对序列DA和DB进行求和运算,再将求和运算的结果n+1位二进制数C’进行移位,使二进制数C’放大一倍,变为n+1位二进制数C,n+1位二进制数C作为有符号数加/减法器的数字位的输出结果。
优选的是,缩放及数据选择模块包括1号移位寄存器、2号移位寄存器、数据选择器Mux1和数据选择器Mux2;
1号移位寄存器和2号移位寄存器均为n位移位寄存器;
数据选择器Mux1和数据选择器Mux2均为n位二选一数据选择器;
1号移位寄存器,用于接收n位二进制数A,并将n位二进制数A上所有数字位所对应的数值在最高位至最低位方向上右移一位,此时,最高位内为空,且在最高位补“0”,并输出从最高位至最低位方向上的n位数字位,使得n位二进制数A缩小至原来的一半,变为n位二进制数A’,并送至数据选择器Mux1的0输入端;
数据选择器Mux1的1输入端,用于接收n位二进制数A;
数据选择器Mux1的控制端用于接收符号确定模块输出的运算控制结果,当运算控制结果的取值为0时,数据选择器Mux1输出n位二进制A’,当运算控制结果的取值为1时,数据选择器Mux1输出n位二进制数A;
2号移位寄存器,用于接收n位二进制数B,并将n位二进制数B上所有数字位所对应的数值在最高位至最低位方向上右移一位,此时,最高位内为空,且在最高位补“0”,并输出从最高位至最低位方向上的n位数字位,使得n位二进制数B缩小至原来的一半,变为n位二进制数B’,并送至数据选择器Mux2的0输入端;
数据选择器Mux2的1输入端,用于接收n位二进制数B;
数据选择器Mux2的控制端用于接收符号确定模块输出的运算控制结果,当运算控制结果的取值为0时,数据选择器Mux2输出n位二进制B’,当运算控制结果的取值为1时,数据选择器Mux2输出n位二进制数B。
优选的是,符号确定模块采用异或门F1实现;
异或门F1的两个输入端分别用于接收两个n位二进制数的符号位SA和SB,异或门F1输出的结果为0或1,异或门F1输出的结果作为符号确定模块输出的运算控制结果。
优选的是,序列生成模块包括同或单元X1、同或单元X2、D触发器U1、D触发器U2、数据选择器Mux3、数据选择器Mux4、1号递增计数器、2号递增计数器和递减计数器;
D触发器U1和D触发器U2均为1位D触发器;
数据选择器Mux3为n位二选一数据选择器;
数据选择器Mux4为1位二选一数据选择器;
1号递增计数器、2号递增计数器和递减计数器均为n位计数器;
同或单元X1的第一输入端用于接收n位二进制数A或A’,同或单元X1的第二输入端用于接收数据选择器Mux3输出的n位二进制数,同或单元X1用于对接收的两个n位二进制数进行同或运算;
同或单元X2的第一输入端用于接收n位二进制数B或B’,同或单元X2的第二输入端用于接收2号递增计数器输出的n位二进制数,同或单元X2用于对接收的两个n位二进制数进行同或运算;
1号递增计数器的复位端、2号递增计数器的复位端、递减计数器的复位端、D触发器U1的复位端和D触发器U2的复位端同时连接,并均用于接收复位信号;
1号递增计数器、2号递增计数器和递减计数器的时钟信号端均用于接收时钟信号Clk,且三者在时钟信号Clk的作用下开始计数时钟信号Clk上升沿的个数;
1号递增计数器输出的n位二进制数输入至数据选择器Mux3的1输入端,递减计数器输出的n位二进制数输入至数据选择器Mux3的0输入端,数据选择器Mux3的控制端用于接收符号确定模块输出的运算控制结果;
同或单元X1的输出端与D触发器U1的时钟端连接,D触发器U1的D输入端与供电电源连接,D触发器U1的输出端Q与数据选择器Mux4的0输入端连接,D触发器U1的输出端与数据选择器Mux4的1输入端连接,数据选择器Mux4的控制端用于接收符号确定模块输出的运算控制结果,数据选择器Mux4的输出端用于串行输出序列DA;
优选的是,求和及缩放模块包括异或门F2、与门Y1、3号递增计数器、3号移位寄存器和数据选择器Mux5;
3号递增计数器为n+1位计数器;
3号移位寄存器为n+1位移位寄存器;
数据选择器Mux5为n+1位二选一数据选择器;
异或门F2的两个输入端分别用于接收串行输出的序列DA和DB,异或门F2的输出端与与门Y1的第一输入端连接,与门Y1的第二输入端用于接收时钟信号Clk,与门Y1的输出端与3号递增计数器的输入端连接,3号递增计数器的复位端用于接收复位信号,3号递增计数器的输出端同时与数据选择器Mux5的1输入端和3号移位寄存器的输入端连接,3号移位寄存器的输出端与数据选择器Mux5的0输入端连接,数据选择器Mux5的控制端用于接收符号确定模块输出的运算控制结果;
数据选择器Mux5的输出端作为有符号数加/减法器的输出端;
与门Y1,用于在时钟信号Clk作用下输出脉冲信号ClkS;
3号递增计数器用于对脉冲信号ClkS的脉冲个数进行计数,且3号递增计数器的两个输出端均用于输出n位二进制数C’;
3号移位寄存器,用于对接收的n+1位二进制数C’上所有数字位所对应的数值在最高位至最低位方向上左移一位,此时,最低位内为空,并在最低位补“0”,使二进制数C’放大一倍,变为n+1位二进制数C,并通过3号移位寄存器的输出端输出n+1位二进制数C。
优选的是,符号生成模块包括与门Y2、或门Z1、异或门F3、异或门F4、D触发器U3、数据选择器Mux6和数据选择器Mux7;与门Y2的第一输入端、异或门F3的第一输入端和数据选择器Mux6的0输入端均用于接收n位二进制数A的符号位SA;
与门Y2的第二输入端、异或门F3的第二输入端和数据选择器Mux6的1输入端均用于接收n位二进制数B的符号位SB;
与门Y2的输出端与数据选择器Mux7的0输入端连接,异或门F3的输出端与数据选择器Mux7的控制端连接,数据选择器Mux6的输出端与数据选择器Mux7的1输入端连接,数据选择器Mux7的输出端用于输出符号位SC;
或门Z1的第一输入端用于接收串行输出的序列DB,或门Z1的第二输入端用于接收串行输出的序列DA,
或门Z1的第二输入端与异或门F4的第一输入端连接,或门Z1的输出端与异或门F4的第二输入端连接,异或门F4的输出端与D触发器U3时钟端连接,D触发器U3的D输入端与供电电源连接;
D触发器U3的复位端用于接收复位信号,D触发器U3的输出端Q与数据选择器Mux6的控制端连接。
优选的是,T=N TD;
T为有符号数加/减法器的运算周期,TD为时钟信号Clk的周期。
本发明带来的有益效果是,本发明所述的一种基于概率计算集中序列的加/减法器可以将二进制输入操作数转换为1位串行输出的集中序列,并根据两个操作数的符号选择进行加法还是减法运算,得到求和或者求差的结果及其符号。与传统的基于数据选择器的随机序列加法器相比,由于采用了确定分布的序列,精度获得极大的提升,可达到定点运算的水平。
本发明所述的一种基于概率计算集中序列的加/减法器用于概率计算领域,尤其适用于神经网络计算等既包含大量乘法运算也包含大量累加运算的场合。
附图说明
图1为随机序列生成器的结构示意图;
图2是本发明所述的一种基于概率计算集中序列的有符号数加/减法器的原理示意图;
图3是符号生成模块5的电路原理图;⊕表示异或关系;
图4是以减法运算的情况为例,图3中符号生成模块5中关键节点的波形示意图;
图5为两个n位二进制数A和B转化成相应的序列DA和DB后的求和过程示意图;
图5(a)为两个n位二进制数A和B均为小于0.5的操作数时,序列DA和DB求和结果示意图;
图5(b)为两个n位二进制数A和B均为小于0.5的操作数时,序列DA和DB求和结果示意图;
图6为集中序列生成器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其它实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
参见图2说明本实施方式,本实施方式所述的一种基于概率计算集中序列的有符号数加/减法器,用于对两个n+1位二进制有符号数进行加法或减法运算,其中,
一个n+1位二进制有符号数由一位符号位SA和n位二进制数A所对应的数字位构成;
另一个n+1位二进制有符号数由一位符号位SB和n位二进制数B所对应的数字位构成;
0≤A<2n,0≤B<2n;
有符号数加/减法器包括缩放及数据选择模块1、符号确定模块2、序列生成模块3、求和及缩放模块4和符号生成模块5,且求和及缩放模块4的运算位数为n+1位;
符号确定模块2,用于根据接收的两个n+1位二进制有符号数的符号位SA和SB,获得运算控制结果,且该运算控制结果用于对缩放及数据选择模块1、序列生成模块3和求和及缩放模块4进行控制;
当符号确定模块2输出的运算控制结果的取值为1或0,当取值为1时表示求差运算,当取值为0时表示求和运算;
符号生成模块5,用于根据符号位SA、SB以及串行输出的序列DA、DB,获得两个n位二进制数A、B运算后的符号位SC,该符号位SC作为有符号数加/减法器符号位的输出结果;
所述序列DA和DB均呈集中分布,且序列DA和DB序列长度均为N,N=2n;
(一)当符号确定模块2输出的运算控制结果为1时,缩放及数据选择模块1将接收的两个n位二进制数A和B输出至序列生成模块3,序列生成模块3将两个n位二进制数A和B分别转换为串行输出的序列DA和DB,序列DA和DB通过求和及缩放模块4进行求差运算,并将求差运算的结果n+1位二进制数C作为有符号数加/减法器的数字位的输出结果;
(二)当符号确定模块2输出的运算控制结果为0时,缩放及数据选择模块1对接收的两个n位二进制数A和B进行移位,从而使两个n位二进制数A和B均缩小一半,并将缩小一半后的两个n位二进制A’和B’输出至序列生成模块3,序列生成模块3将两个n位二进制数A’和B’分别转换为串行输出的序列DA和DB,并将序列DA和DB输出至求和及缩放模块4,求和及缩放模块4先对序列DA和DB进行求和运算,再将求和运算的结果n+1位二进制数C’进行移位,使二进制数C’放大一倍,变为n+1位二进制数C,n+1位二进制数C作为有符号数加/减法器的数字位的输出结果。
本实施方式能够将有符号二进制数转换为集中序列,并根据两个操作数的符号选择进行加法或者减法操作,得到求和或者求差的结果及其符号,与传统的基于数据选择器的随机序列加法器相比,精度获得极大的提升,可达到定点运算的水平。
当本发明进行加法运算时,由于序列DA和DB序列长度均定值N,为了防止求和及缩放模块4输出的序列溢出,先将两个n位二进制数A和B进行缩小,并缩小至原来的一半,进行后续的序列转化及求和操作,求和后获得n+1位二进制数C’,再对n+1位二进制数C’进行放大一倍,变为n+1位二进制数C,避免了两个n+1位二进制有符号数进行加法运算后,避免了求和及缩放模块4输出的序列结果溢出导致n+1位二进制数C错误的问题。
而当本发明进行减法运算时,不存在数据溢出的问题,故可对接收的两个n+1位二进制有符号数,依次进行序列转化及求和的过程,最后输出求差结果。
本发明将接收的两个n+1位二进制有符号数的n位数字位和1位符号位分开进行处理,使得本发明所述的一种基于概率计算集中序列的有符号数加/减法器结构简单,运算过程简单易行。
参见图2说明本优选实施方式,本优选实施方式中,缩放及数据选择模块1包括1号移位寄存器、2号移位寄存器、数据选择器Mux1和数据选择器Mux2;
1号移位寄存器和2号移位寄存器均为n位移位寄存器;
数据选择器Mux1和数据选择器Mux2均为n位二选一数据选择器;
1号移位寄存器,用于接收n位二进制数A,并将n位二进制数A上所有数字位所对应的数值在最高位至最低位方向上右移一位,此时,最高位内为空,且在最高位补“0”,并输出从最高位至最低位方向上的n位数字位,使得n位二进制数A缩小至原来的一半,变为n位二进制数A’,并送至数据选择器Mux1的0输入端;
数据选择器Mux1的1输入端,用于接收n位二进制数A;
数据选择器Mux1的控制端用于接收符号确定模块2输出的运算控制结果,当运算控制结果的取值为0时,数据选择器Mux1输出n位二进制A’,当运算控制结果的取值为1时,数据选择器Mux1输出n位二进制数A;
2号移位寄存器,用于接收n位二进制数B,并将n位二进制数B上所有数字位所对应的数值在最高位至最低位方向上右移一位,此时,最高位内为空,且在最高位补“0”,并输出从最高位至最低位方向上的n位数字位,使得n位二进制数B缩小至原来的一半,变为n位二进制数B’,并送至数据选择器Mux2的0输入端;
数据选择器Mux2的1输入端,用于接收n位二进制数B;
数据选择器Mux2的控制端用于接收符号确定模块2输出的运算控制结果,当运算控制结果的取值为0时,数据选择器Mux2输出n位二进制B’,当运算控制结果的取值为1时,数据选择器Mux2输出n位二进制数B。
本优选实施方式给出了缩放及数据选择模块1的一种具体结构,且1号移位寄存器和2号移位寄存器均为n位移位寄存器,该n位移位寄存器可对接收的n位二进制数进行并行处理,数据选择器Mux1和数据选择器Mux2均为n位数据选择器,该n位数据选择器可对接收的n位二进制数进行并行处理。
具体应用时,缩放及数据选择模块1根据接收的运算控制信号,可确定两个n+1位二进制有符号数是进行加法或减法运算,根据运算方式对输出的数据进行选择,确定输出A、B或A’、B’;
当进行加法运算时,为了防止求和及缩放模块4输出的序列溢出,通过1号移位寄存器和2号移位寄存器对接收的两个n位二进制数A、B进行缩小,并缩小至原来的1倍,避免求和结果溢出。
参见图2说明本优选实施方式,本优选实施方式中,符号确定模块2采用异或门F1实现;
异或门F1的两个输入端分别用于接收两个n位二进制数的符号位SA和SB,异或门F1输出的结果为0或1,异或门F1输出的结果作为符号确定模块2输出的运算控制结果。
本优选实施方式中,符号位SA和SB的符号相同,则异或结果为0,可确定两个n位二进制数进行求和运算,符号位SA和SB的符号相同,则异或结果为1,可确定两个n位二进制数进行求差运算。
本优选实施方式提供了符号确定模块2的第一种具体结构,符号确定模块2仅仅通过一个异或门F1实现,结构简单,便于实现。
参见图2说明本优选实施方式,本优选实施方式中,序列生成模块3包括同或单元X1、同或单元X2、D触发器U1、D触发器U2、数据选择器Mux3、数据选择器Mux4、1号递增计数器、2号递增计数器和递减计数器;
D触发器U1和D触发器U2均为1位D触发器;
数据选择器Mux3为n位二选一数据选择器;
数据选择器Mux4为1位二选一数据选择器;
1号递增计数器、2号递增计数器和递减计数器均为n位计数器;
同或单元X1的第一输入端用于接收n位二进制数A或A’,同或单元X1的第二输入端用于接收数据选择器Mux3输出的n位二进制数,同或单元X1用于对接收的两个n位二进制数进行同或运算;
同或单元X2的第一输入端用于接收n位二进制数B或B’,同或单元X2的第二输入端用于接收2号递增计数器输出的n位二进制数,同或单元X2用于对接收的两个n位二进制数进行同或运算;
1号递增计数器的复位端、2号递增计数器的复位端、递减计数器的复位端、D触发器U1的复位端和D触发器U2的复位端同时连接,并均用于接收复位信号;
1号递增计数器、2号递增计数器和递减计数器的时钟信号端均用于接收时钟信号Clk,且三者在时钟信号Clk的作用下开始计数时钟信号Clk上升沿的个数;
1号递增计数器输出的n位二进制数输入至数据选择器Mux3的1输入端,递减计数器输出的n位二进制数输入至数据选择器Mux3的0输入端,数据选择器Mux3的控制端用于接收符号确定模块2输出的运算控制结果;
同或单元X1的输出端与D触发器U1的时钟端连接,D触发器U1的D输入端与供电电源连接,D触发器U1的输出端Q与数据选择器Mux4的0输入端连接,D触发器U1的输出端与数据选择器Mux4的1输入端连接,数据选择器Mux4的控制端用于接收符号确定模块2输出的运算控制结果,数据选择器Mux4的输出端用于串行输出序列DA;
本优选实施方式中,提供了序列生成模块3的一种具体结构,结构简单,便于实现,序列生成模块3将并行接收的数据,转化成串行输出的集中序列。
同或单元X1和同或单元X2均为2输入,且同或单元X1和同或单元X2的每个输入端均用于接收n位二进制数;
若输入至同或单元X1的两个n位二进制数之间相应数字位上操作数都对应相等,则同或单元X1输出为1,否则同或单元X1输出为0;
若输入至同或单元X2的两个n位二进制数之间相应数字位上操作数都对应相等,则同或单元X2输出为1,否则同或单元X2输出为0。
参见图2说明本优选实施方式,本优选实施方式中,求和及缩放模块4包括异或门F2、与门Y1、3号递增计数器、3号移位寄存器和数据选择器Mux5;
3号递增计数器为n+1位计数器;
3号移位寄存器为n+1位移位寄存器;
数据选择器Mux5为n+1位二选一数据选择器;
异或门F2的两个输入端分别用于接收串行输出的序列DA和DB,异或门F2的输出端与与门Y1的第一输入端连接,与门Y1的第二输入端用于接收时钟信号Clk,与门Y1的输出端与3号递增计数器的输入端连接,3号递增计数器的复位端用于接收复位信号,3号递增计数器的输出端同时与数据选择器Mux5的1输入端和3号移位寄存器的输入端连接,3号移位寄存器的输出端与数据选择器Mux5的0输入端连接,数据选择器Mux5的控制端用于接收符号确定模块2输出的运算控制结果;
数据选择器Mux5的输出端作为有符号数加/减法器的输出端;
与门Y1,用于在时钟信号Clk作用下输出脉冲信号ClkS;
3号递增计数器用于对脉冲信号ClkS的脉冲个数进行计数,且3号递增计数器的两个输出端均用于输出n位二进制数C’;
3号移位寄存器,用于对接收的n+1位二进制数C’上所有数字位所对应的数值在最高位至最低位方向上左移一位,此时,最低位内为空,并在最低位补“0”,使二进制数C’放大一倍,变为n+1位二进制数C,并通过3号移位寄存器的输出端输出n+1位二进制数C。
本优选的实施方式中,提供了求和及缩放模块4的一种具体结构,当本发明作用为减法器使用时,其求和及缩放模块4仅仅用于求和,当本发明作用为减法器使用时,先求和运算,再对求和结果进行放大,避免了加法运算时结果的溢出。
参见图6说明本优选实施方式,本优选实施方式中,符号生成模块5包括与门Y2、或门Z1、异或门F3、异或门F4、D触发器U3、数据选择器Mux6和数据选择器Mux7;与门Y2的第一输入端、异或门F3的第一输入端和数据选择器Mux6的0输入端均用于接收n位二进制数A的符号位SA;
与门Y2的第二输入端、异或门F3的第二输入端和数据选择器Mux6的1输入端均用于接收n位二进制数B的符号位SB;
与门Y2的输出端与数据选择器Mux7的0输入端连接,异或门F3的输出端与数据选择器Mux7的控制端连接,数据选择器Mux6的输出端与数据选择器Mux7的1输入端连接,数据选择器Mux7的输出端用于输出符号位SC;
或门Z1的第一输入端用于接收串行输出的序列DB,或门Z1的第二输入端用于接收串行输出的序列DA,
或门Z1的第二输入端与异或门F4的第一输入端连接,或门Z1的输出端与异或门F4的第二输入端连接,异或门F4的输出端与D触发器U3时钟端连接,D触发器U3的D输入端与供电电源连接;
D触发器U3的复位端用于接收复位信号,D触发器U3的输出端Q与数据选择器Mux6的控制端连接。
本优选实施方式中,图3为符号生成模块5的电路原理图,对于加法运算,即SA⊕SB=0的情况,数据选择器Mux7选择SA和SB的逻辑与作为加法运算结果的符号,即SC=SA SB。对于减法运算,即SA⊕SB=1的情况,运算结果的符号与两操作数中绝对值较大的一方相同,也就是Mux6要在SA和SB中二选一,选择信号是S-。
以图4所示减法运算的情况为例,图5(a)中|A|>|B|,则(DA⊕DB)DA始终保持低电平,因此符号生成器中D触发器U3的时钟输入端没有上升沿出现,D触发器U3的Q端始终保持其复位状态即低电平,则Mux6就选择SA作为减法运算结果的符号;图5(b)中中|A|<|B|,(DA⊕DB)DA存在上升沿,因此,D触发器U3的Q端将由低变高,Mux6就选择SB作为减法运算结果的符号。
参见图2说明本优选实施方式,本优选实施方式中,T=N TD;T为有符号数加/减法器的运算周期,TD为时钟信号Clk的周期。
参见图2对本发明进行原理分析:
假设输入加/减法器的两个n+1位二进制有符号操作数的绝对值分别为A和B,符号位分别为SA和SB;A和B相当于n位二进制无符号数,则有0≤A,B<2n,且有2n=N,T=N TD,加/减法器对数字位部分和符号位分别单独进行处理。
如果SA和SB相同,则说明两操作数要进行求和运算,如果SA和SB不同,则说明两操作数要进行求差运算;因此,将SA⊕SB的结果作为选择加法还是减法操作的控制信号,SA⊕SB=0进行加法运算,SA⊕SB=1则进行减法运算。
当SA⊕SB=0时,两操作数将进行求和运算,由于求和结果可能大于1,因此,将两操作数的绝对值各缩小一半,对于二进制表示的数来说,A和B分别右移1位即可,且最高位补零,得到新的绝对值A’和B’。其后的2选1数据选择器将根据SA⊕SB的值,即运算的类型,选择原值还是移位后的值进行下一步操作。
具体来说如果SA⊕SB=0,就选择A’和B’进行下一步操作,否则就选择A和B,此即:缩放及数据选择模块1的功能。
由于A、A’以及B、B’都是n位的二进制数,因此,缩放及数据选择模块1中的2选1数据选择器也是n位的,即:在两个n位的二进制数之间选择其中一个输出。
在图2中,凡是涉及处理多位信号的电路模块,其线条均加粗表示,例如:n位的寄存器,n位计数器,n位数据选择器,同或逻辑门的每个信号输入端均用于接收n位二进制数。
两操作数经过缩放及数据选择模块1的处理后就进入序列生成模块3,序列生成模块3的主体是递增和递减计数器,该部分完成并行输入数据到串行序列的转换。
计数器在时钟Clk的作用下开始计数,复位信号控制序列生成周期的开始。递增计数器在复位完成后由0开始计数到2n-1,递减计数器在复位完成后由2n-1开始负向计数到0,因此序列产生的周期为2n TD=NTD,即加/减法器的运算周期T。根据SA⊕SB的不同,分为两种情况说明:
在递增计数器的工作过程中,A和B分别与计数状态作比较,如果当前的计数值与A或B的值相同,则此时D触发器U1或U2的时钟输入端就会由低变高,即出现一个上升沿;由于U1和U2的数据输入端都恒接高电平,因此该上升沿将使D触发器U1或U2的输出端由其复位状态即高电平变为低电平。
DA和DB的高电平持续时间分别代表了A和B值的大小,即ATD和BTD,而DA和DB的总持续时间均等于NTD=T。
(2)当SA⊕SB=0情况下,序列生成模块(3)的输入为A’和B’,且选择U1的Q端作为DA输出;
与第一种情况不同,A’和B’将分别与递减计数器和递增计数器的状态作比较。如果A’与递减计数器当前的计数值一致,则D触发器U1的时钟输入端就会由低变高,即出现一个上升沿,该上升沿将使U1的输出端Q由其复位状态即低电平变为高电平。
DA的高电平持续时间代表了A’值的大小,总持续时间也等于NTD=T。
两种情况的不同点是,当SA⊕SB=0时,DA的高电平持续时间处于T的结束段,即(T-A’TD)~T,而当SA⊕SB=1时,DA的高电平持续时间处于T的开始段,即0~ATD;DB在两种情况下高电平持续时间均处于T的开始段,即0~BTD或0~B’TD。
得到DA和DB之后,运算进入求和及缩放模块4,DA和DB序列做异或运算然后再与时钟Clk做与运算,得到ClkS=(DA⊕DB)Clk;ClkS中包含时钟脉冲的个数与加/减运算结果的绝对值相等,即在SA⊕SB=0时,ClkS中的脉冲个数为A’+B’,在SA⊕SB=1时,ClkS中的脉冲个数为|A-B|。对ClkS中的脉冲进行计数,得到一个二进制数C’,并将其存入一个n+1位寄存器的低n位,最高位是0,则C’是n+1位的二进制数。
如果SA⊕SB=0,表明进行的是求和运算,由于求和运算伊始,对两个操作数的绝对值各缩小了一半,即分别右移一位,则此时要对C’左移一位,即放大一倍,得到n+1位的二进制数C;
如果SA⊕SB=1,则C’不需要移位。后序的n+1位的数据选择器根据SA⊕SB的值选择C’或者C作为加/减法器的最终输出。
验证部分:
图5为两个n位二进制数A和B转化成相应的序列DA和DB后的求和过程示意图;
如图5所示,两个操作数A和B转换成串行序列DA和DB后求和的结果,求和过程是对两序列做异或得到的,序列中高电平持续时间占总持续时间的比例等于操作数的大小,例如图5(a)中,DB的高电平持续时间为0.3T,T为有符号数加/减法器的运算周期,则表示B'=0.3,同理A'=0.4,A'+B'=0.7,可见DA⊕DB的高电平持续时间为0.7T,因此可推知两个不大于0.5的操作数做加法运算结果肯定无误。
另一方面,如果两个操作数并不都小于0.5,则加法运算的结果有可能有误,例如图5(b)中,DB的高电平持续时间为0.6T,表示B=0.6,同理A=0.8,A+B=1.4,而DA⊕DB的高电平持续时间为0.6T,不能反映真实的结果。出现错误的原因是,总持续时间T是固定的,它表示序列所能代表的最大值1,如果运算结果大于1,则序列无法表示出来。为保证求和运算正确,运算开始前要先把两个操作数无条件缩小一倍,因此两个操作数都不会大于0.5,进一步求和结果也不会超过1,这样求和的结果才不会出错,当然求和结束后,需将结果放大一倍才能得到想要的结果。
例如将图5(b)中的A和B都缩小一倍得到A'=0.5A=0.4,B'=0.5B=0.3,这样如图5(a)A'+B'=0.7,再放大一倍得到2(A'+B')=1.4,就是最终正确的结果。
当然需要指出的是,在图5的举例中,操作数采用了归一化后的值,由于A和B都是n位二进制整数,因此,0≤A<2n,0≤B<2n,且2n=N,而操作数转换成串行序列DA和DB后,DA和DB实际代表的数值分别是A/N和B/N,也就是A和B归一化的值,只要N足够大,序列表示可以达到任意表示精度,归一化不会影响结果的正确性。
虽然在本文中参照了特定的实施方式来描述本发明,但是应该理解的是,这些实施例仅仅是本发明的原理和应用的示例。因此应该理解的是,可以对示例性的实施例进行许多修改,并且可以设计出其它的布置,只要不偏离所附权利要求所限定的本发明的精神和范围。应该理解的是,可以通过不同于原始权利要求所描述的方式来结合不同的从属权利要求和本文中所述的特征。还可以理解的是,结合单独实施例所描述的特征可以使用在其它所述实施例。
Claims (7)
1.一种基于概率计算集中序列的有符号数加/减法器,用于对两个n+1位二进制有符号数进行加法或减法运算,其中,
一个n+1位二进制有符号数由一位符号位SA和n位二进制数A所对应的数字位构成;
另一个n+1位二进制有符号数由一位符号位SB和n位二进制数B所对应的数字位构成;
0≤A<2n,0≤B<2n;
其特征在于,有符号数加/减法器包括缩放及数据选择模块(1)、符号确定模块(2)、序列生成模块(3)、求和及缩放模块(4)和符号生成模块(5),且求和及缩放模块(4)的运算位数为n+1位;
符号确定模块(2),用于根据接收的两个n+1位二进制有符号数的符号位SA和SB,获得运算控制结果,且该运算控制结果用于对缩放及数据选择模块(1)、序列生成模块(3)和求和及缩放模块(4)进行控制;
当运算控制结果取值为1时表示求差运算,当运算控制结果取值为0时表示求和运算;
符号生成模块(5),用于根据符号位SA、SB以及串行输出的序列DA、DB,获得两个n位二进制数A、B运算后的符号位SC,该符号位SC作为有符号数加/减法器符号位的输出结果;
所述序列DA和DB均呈集中分布,且序列DA和DB序列长度均为N,N=2n;
(一)当符号确定模块(2)输出的运算控制结果为1时,缩放及数据选择模块(1)将接收的两个n位二进制数A和B输出至序列生成模块(3),序列生成模块(3)将两个n位二进制数A和B分别转换为串行输出的序列DA和DB,序列DA和DB通过求和及缩放模块(4)进行求差运算,并将求差运算的结果n+1位二进制数C作为有符号数加/减法器的数字位的输出结果;
(二)当符号确定模块(2)输出的运算控制结果为0时,缩放及数据选择模块(1)对接收的两个n位二进制数A和B进行移位,从而使两个n位二进制数A和B均缩小一半,并将缩小一半后的两个n位二进制A’和B’输出至序列生成模块(3),序列生成模块(3)将两个n位二进制数A’和B’分别转换为串行输出的序列DA和DB,并将序列DA和DB输出至求和及缩放模块(4),求和及缩放模块(4)先对序列DA和DB进行求和运算,再将求和运算的结果n+1位二进制数C’进行移位,使二进制数C’放大一倍,变为n+1位二进制数C,n+1位二进制数C作为有符号数加/减法器的数字位的输出结果。
2.根据权利要求1所述的一种基于概率计算集中序列的有符号数加/减法器,其特征在于,缩放及数据选择模块(1)包括1号移位寄存器、2号移位寄存器、数据选择器Mux1和数据选择器Mux2;
1号移位寄存器和2号移位寄存器均为n位移位寄存器;
数据选择器Mux1和数据选择器Mux2均为n位二选一数据选择器;
1号移位寄存器,用于接收n位二进制数A,并将n位二进制数A上所有数字位所对应的数值在最高位至最低位方向上右移一位,此时,最高位内为空,且在最高位补“0”,并输出从最高位至最低位方向上的n位数字位,使得n位二进制数A缩小至原来的一半,变为n位二进制数A’,并送至数据选择器Mux1的0输入端;
数据选择器Mux1的1输入端,用于接收n位二进制数A;
数据选择器Mux1的控制端用于接收符号确定模块(2)输出的运算控制结果,当运算控制结果的取值为0时,数据选择器Mux1输出n位二进制A’,当运算控制结果的取值为1时,数据选择器Mux1输出n位二进制数A;
2号移位寄存器,用于接收n位二进制数B,并将n位二进制数B上所有数字位所对应的数值在最高位至最低位方向上右移一位,此时,最高位内为空,且在最高位补“0”,并输出从最高位至最低位方向上的n位数字位,使得n位二进制数B缩小至原来的一半,变为n位二进制数B’,并送至数据选择器Mux2的0输入端;
数据选择器Mux2的1输入端,用于接收n位二进制数B;
数据选择器Mux2的控制端用于接收符号确定模块(2)输出的运算控制结果,当运算控制结果的取值为0时,数据选择器Mux2输出n位二进制B’,当运算控制结果的取值为1时,数据选择器Mux2输出n位二进制数B。
3.根据权利要求1所述的一种基于概率计算集中序列的有符号数加/减法器,其特征在于,符号确定模块(2)采用异或门F1实现;
异或门F1的两个输入端分别用于接收两个n位二进制数的符号位SA和SB,异或门F1输出的结果为0或1,异或门F1输出的结果作为符号确定模块(2)输出的运算控制结果。
4.根据权利要求1所述的一种基于概率计算集中序列的有符号数加/减法器,其特征在于,序列生成模块(3)包括同或单元X1、同或单元X2、D触发器U1、D触发器U2、数据选择器Mux3、数据选择器Mux4、1号递增计数器、2号递增计数器和递减计数器;
D触发器U1和D触发器U2均为1位D触发器;
数据选择器Mux3为n位二选一数据选择器;
数据选择器Mux4为1位二选一数据选择器;
1号递增计数器、2号递增计数器和递减计数器均为n位计数器;
同或单元X1的第一输入端用于接收n位二进制数A或A’,同或单元X1的第二输入端用于接收数据选择器Mux3输出的n位二进制数,同或单元X1用于对接收的两个n位二进制数进行同或运算;
同或单元X2的第一输入端用于接收n位二进制数B或B’,同或单元X2的第二输入端用于接收2号递增计数器输出的n位二进制数,同或单元X2用于对接收的两个n位二进制数进行同或运算;
1号递增计数器的复位端、2号递增计数器的复位端、递减计数器的复位端、D触发器U1的复位端和D触发器U2的复位端同时连接,并均用于接收复位信号;
1号递增计数器、2号递增计数器和递减计数器的时钟信号端均用于接收时钟信号Clk,且三者在时钟信号Clk的作用下开始计数时钟信号Clk上升沿的个数;
1号递增计数器输出的n位二进制数输入至数据选择器Mux3的1输入端,递减计数器输出的n位二进制数输入至数据选择器Mux3的0输入端,数据选择器Mux3的控制端用于接收符号确定模块(2)输出的运算控制结果;
同或单元X1的输出端与D触发器U1的时钟端连接,D触发器U1的D输入端与供电电源连接,D触发器U1的输出端Q与数据选择器Mux4的0输入端连接,D触发器U1的输出端与数据选择器Mux4的1输入端连接,数据选择器Mux4的控制端用于接收符号确定模块(2)输出的运算控制结果,数据选择器Mux4的输出端用于串行输出序列DA;
5.根据权利要求1所述的一种基于概率计算集中序列的有符号数加/减法器,其特征在于,求和及缩放模块(4)包括异或门F2、与门Y1、3号递增计数器、3号移位寄存器和数据选择器Mux5;
3号递增计数器为n+1位计数器;
3号移位寄存器为n+1位移位寄存器;
数据选择器Mux5为n+1位二选一数据选择器;
异或门F2的两个输入端分别用于接收串行输出的序列DA和DB,异或门F2的输出端与与门Y1的第一输入端连接,与门Y1的第二输入端用于接收时钟信号Clk,与门Y1的输出端与3号递增计数器的输入端连接,3号递增计数器的复位端用于接收复位信号,3号递增计数器的输出端同时与数据选择器Mux5的1输入端和3号移位寄存器的输入端连接,3号移位寄存器的输出端与数据选择器Mux5的0输入端连接,数据选择器Mux5的控制端用于接收符号确定模块(2)输出的运算控制结果;
数据选择器Mux5的输出端作为有符号数加/减法器的输出端;
与门Y1,用于在时钟信号Clk作用下输出脉冲信号ClkS;
3号递增计数器用于对脉冲信号ClkS的脉冲个数进行计数,且3号递增计数器的两个输出端均用于输出n位二进制数C’;
3号移位寄存器,用于对接收的n+1位二进制数C’上所有数字位所对应的数值在最高位至最低位方向上左移一位,此时,最低位内为空,并在最低位补“0”,使二进制数C’放大一倍,变为n+1位二进制数C,并通过3号移位寄存器的输出端输出n+1位二进制数C。
6.根据权利要求1所述的一种基于概率计算集中序列的有符号数加/减法器,其特征在于,符号生成模块(5)包括与门Y2、或门Z1、异或门F3、异或门F4、D触发器U3、数据选择器Mux6和数据选择器Mux7;与门Y2的第一输入端、异或门F3的第一输入端和数据选择器Mux6的0输入端均用于接收n位二进制数A的符号位SA;
与门Y2的第二输入端、异或门F3的第二输入端和数据选择器Mux6的1输入端均用于接收n位二进制数B的符号位SB;
与门Y2的输出端与数据选择器Mux7的0输入端连接,异或门F3的输出端与数据选择器Mux7的控制端连接,数据选择器Mux6的输出端与数据选择器Mux7的1输入端连接,数据选择器Mux7的输出端用于输出符号位SC;
或门Z1的第一输入端用于接收串行输出的序列DB,或门Z1的第二输入端用于接收串行输出的序列DA,
或门Z1的第二输入端与异或门F4的第一输入端连接,或门Z1的输出端与异或门F4的第二输入端连接,异或门F4的输出端与D触发器U3时钟端连接,D触发器U3的D输入端与供电电源连接;
D触发器U3的复位端用于接收复位信号,D触发器U3的输出端Q与数据选择器Mux6的控制端连接。
7.根据权利要求1所述的一种基于概率计算集中序列的有符号数加/减法器,其特征在于,T=N TD;
T为有符号数加/减法器的运算周期,TD为时钟信号Clk的周期。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910678453.2A CN110377267B (zh) | 2019-07-25 | 2019-07-25 | 一种基于概率计算集中序列的有符号数的加/减法器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910678453.2A CN110377267B (zh) | 2019-07-25 | 2019-07-25 | 一种基于概率计算集中序列的有符号数的加/减法器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110377267A CN110377267A (zh) | 2019-10-25 |
CN110377267B true CN110377267B (zh) | 2021-03-16 |
Family
ID=68256088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910678453.2A Expired - Fee Related CN110377267B (zh) | 2019-07-25 | 2019-07-25 | 一种基于概率计算集中序列的有符号数的加/减法器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110377267B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111835355B (zh) * | 2020-07-22 | 2023-07-25 | 中北大学 | 一种基于tdc的高重复速率的时间间隔数字转换器 |
CN112230883B (zh) * | 2020-10-14 | 2021-06-01 | 上海芯旺微电子技术有限公司 | 一种用于乘法器零标志位的产生电路、乘法器和检测方法 |
CN113031917B (zh) * | 2021-03-02 | 2022-10-14 | 北京航空航天大学 | 一种高速概率计算乘法器和计算方法 |
CN114553242B (zh) * | 2022-03-04 | 2023-04-25 | 电子科技大学 | 基于半概率计算的部分并行ldpc译码器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101489129A (zh) * | 2009-01-19 | 2009-07-22 | 山东大学 | 一种实现高速二维离散余弦变换的集成电路及方法 |
CN103746731A (zh) * | 2014-01-21 | 2014-04-23 | 电子科技大学 | 基于概率计算的多输入多输出检测器及检测方法 |
CN106059597A (zh) * | 2016-05-19 | 2016-10-26 | 电子科技大学 | 一种基于概率Turbo译码器的有符号概率计算单元 |
CN106603099A (zh) * | 2016-12-19 | 2017-04-26 | 四川理工学院 | 一种基于概率计算的单比特接收机信号检测方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8719686B2 (en) * | 2011-11-22 | 2014-05-06 | Lsi Corporation | Probability-based multi-level LDPC decoder |
-
2019
- 2019-07-25 CN CN201910678453.2A patent/CN110377267B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101489129A (zh) * | 2009-01-19 | 2009-07-22 | 山东大学 | 一种实现高速二维离散余弦变换的集成电路及方法 |
CN103746731A (zh) * | 2014-01-21 | 2014-04-23 | 电子科技大学 | 基于概率计算的多输入多输出检测器及检测方法 |
CN106059597A (zh) * | 2016-05-19 | 2016-10-26 | 电子科技大学 | 一种基于概率Turbo译码器的有符号概率计算单元 |
CN106603099A (zh) * | 2016-12-19 | 2017-04-26 | 四川理工学院 | 一种基于概率计算的单比特接收机信号检测方法 |
Non-Patent Citations (2)
Title |
---|
基于概率模型的量子元胞自动机加法器容错性能研究;黄宏图,蔡理等;《物理学报》;20121231;第61卷(第5期);全文 * |
基于概率计算的FFT实现;刘沁沂;《万方学位论文电子期刊》;20160603;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110377267A (zh) | 2019-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110377267B (zh) | 一种基于概率计算集中序列的有符号数的加/减法器 | |
US5132925A (en) | Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction | |
EP0356153B1 (en) | Radix-2**n divider method and apparatus using overlapped quotient bit selection and concurrent quotient rounding and correction | |
JP2585649B2 (ja) | 除算回路 | |
US10628124B2 (en) | Stochastic rounding logic | |
Raveendran et al. | A novel parametrized fused division and square-root POSIT arithmetic architecture | |
CN101295237B (zh) | 求商和余数的高速除法器 | |
US4187500A (en) | Method and device for reduction of Fibonacci p-codes to minimal form | |
US6745219B1 (en) | Arithmetic unit using stochastic data processing | |
CN102378960B (zh) | 半导体集成电路和指数计算方法 | |
US6728745B1 (en) | Semiconductor circuit for arithmetic operation and method of arithmetic operation | |
RU2696223C1 (ru) | Арифметико-логическое устройство для формирования остатка по произвольному модулю от числа | |
Dakhole et al. | Multi-digit quaternary adder on programmable device: Design & verification | |
CN110705196A (zh) | 一种基于随机计算的无误差加法器 | |
US7607165B2 (en) | Method and apparatus for multiplication and/or modular reduction processing | |
CN113031917B (zh) | 一种高速概率计算乘法器和计算方法 | |
CN109388372B (zh) | 一种基于最小模块的三值光学处理器msd乘法计算方法 | |
CN113988279A (zh) | 一种支持负值激励的存算阵列输出电流读出方法及系统 | |
Tang et al. | A delta sigma modulator-based stochastic divider | |
US5309385A (en) | Vector division processing method and system | |
RU2661797C1 (ru) | Вычислительное устройство | |
RU2814657C9 (ru) | Конвейерный накапливающий сумматор по модулю | |
RU2804380C1 (ru) | Конвейерный вычислитель | |
Canals et al. | Noise-robust hardware implementation of neural networks | |
RU2791440C1 (ru) | Конвейерный формирователь остатков по произвольному модулю |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210316 |