CN215068205U - 16位加法器、运算电路及芯片 - Google Patents

16位加法器、运算电路及芯片 Download PDF

Info

Publication number
CN215068205U
CN215068205U CN202121698040.XU CN202121698040U CN215068205U CN 215068205 U CN215068205 U CN 215068205U CN 202121698040 U CN202121698040 U CN 202121698040U CN 215068205 U CN215068205 U CN 215068205U
Authority
CN
China
Prior art keywords
carry
bit
module
addend
gate
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.)
Active
Application number
CN202121698040.XU
Other languages
English (en)
Inventor
不公告发明人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Yuanhe Technology Co ltd
Original Assignee
Beijing Yuanqi Advanced Microelectronics Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Yuanqi Advanced Microelectronics Co ltd filed Critical Beijing Yuanqi Advanced Microelectronics Co ltd
Priority to CN202121698040.XU priority Critical patent/CN215068205U/zh
Application granted granted Critical
Publication of CN215068205U publication Critical patent/CN215068205U/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

本实用新型提供了一种16位加法器、运算电路和芯片,该16位加法器包括N个进位模块和求和模块;每个进位模块对应第一加数和第二加数中的多个比特位,且包括预处理单元和多个进位计算单元;第n个进位模块包含的预处理单元,用于对对应的第一加数和第二加数中的多个比特位进行预处理;第n个进位模块包含的多个进位计算单元,用于根据预处理的结果和第n‑1个进位模块的级间进位参数进行运算,生成第n个进位模块对应的每个比特位的进位输出和第n个进位模块的级间进位参数,基本上实现了并行计算16位二进制数据中每个比特位的进位输出,以用于求和运算,由此可以缩短整个计算过程的时长,提高计算速度。

Description

16位加法器、运算电路及芯片
技术领域
本申请实施例涉及电路领域,尤其涉及一种16位加法器及、运算电路及芯片。
背景技术
16位加法器是数字电路设计中常用电路之一,例如,16位加法器常常用于中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)等复杂逻辑芯片,也常常用于微控制单元(Microcontroller Unit,MCU)、现场可编程门阵列(Field Programmable Gate Array,FPGA)等综合性设计芯片。
相关技术中,16位加法器在计算每个比特位的求和结果时,通常需要先获取相邻前一比特位的进位输出,例如,在计算第2比特位的求和结果时需要先获取第1比特位的进位输出,在计算第3比特位的求和结果时需要先完获取进位链中第2比特位的进位输出。以此类推,计算第15比特位的求和结果时先获取进位链中第14比特位的进位输出,整个计算过程耗时较长,且计算速度较低。
实用新型内容
有鉴于此,本申请实施例提供了一种16位加法器、运算电路及芯片,用以克服上述全部或部分技术缺陷。
第一方面,本申请实施例提供了一种16位加法器,其包括:
N个进位模块,每个进位模块对应第一加数和第二加数中的多个比特位,其中,第n个进位模块与第n-1个进位模块连接,以用于接收所述第n-1进位模块输出的级间进位参数,所述第一加数和所述第二加数为16位二进制数,N为大于1且小于15的整数,n为大于1且小于或等于N的整数;每个进位模块包括预处理单元和多个进位计算单元,一个进位计算单元对应所述第一加数和所述第二加数的一个比特位;
其中,所述第n个进位模块包含的预处理单元,用于对对应的所述第一加数和第二加数中的多个比特位进行预处理;
所述第n个进位模块包含的多个进位计算单元,用于根据所述预处理的结果和所述第n-1个进位模块的级间进位参数进行运算,生成所述第n个进位模块对应的每个比特位的进位输出和所述第n个进位模块的级间进位参数;
求和模块,所述求和模块与所述N个进位模块电连接,以用于根据所述第一加数和第二加数中的每个比特位、以及对应的进位输出进行运算,得到对应的求和结果。
第二方面,本申请提供了一种运算电路,所述运算电路包括根据第一方面任一实施例提供的加法器。
第三方面,本申请提供了一种芯片,所述芯片包括根据第二方面任一实施例提供的运算电路。
本申请实施例提供了一种16位加法器、运算电路和芯片,由于加法器包括N个进位模块,每个进位模块对应第一加数和第二加数中的多个比特位,且每个进位模块包括预处理单元和多个进位计算单元,第n个进位模块包含的预处理单元用于对对应的第一加数和第二加数中的多个比特位进行预处理,第n个进位模块包含的多个进位计算单元,用于根据预处理的结果和第n-1个进位模块的级间进位参数进行运算,生成第n个进位模块对应的每个比特位的进位输出和第n个进位模块的级间进位参数,这使得在获取到第n-1个进位模块输出的级间进位参数时,第n个进位模块中的每个进位计算单元可以直接利用预处理结果和第n-1个进位模块输出的级间进位参数并行计算对应的每个比特位的进位输出,由此基本上实现了并行计算16位二进制数据中每个比特位的进位输出,以用于求和运算,由此可以缩短整个计算过程的时长,提高计算速度。
附图说明
后文将参照附图以示例性而非限制性的方式详细描述本申请实施例的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比值绘制的。附图中:
图1为本申请实施例提供的一种16位加法器的结构示意图;
图2为本申请实施例提供的一种16位加法器的进位模块中的第一预处理单元的电路示意图;
图3为本申请实施例提供的一种16位加法器的进位模块中的第二预处理单元的电路示意图;
图4位本申请实施例提供的一种16位加法器的一个示例性进位模块的电路图;
图5为本申请实施例提供了一种16位加法器的进位链的示意图。
具体实施方式
下面结合本申请实施例附图进一步说明本申请实施例具体实现。
实施例一
图1为本申请实施例提供的一种加法器的结构示意图。本实施例的加法器可以为独立的硬件电路结构,也可以为芯片或微处理器等其他器件的基础电路单元结构。如图1所示,本申请实施例提供的16位加法器包括N个进位模块10,N为大于1且小于15的整数。每个进位模块对应第一加数和第二加数中的多个比特位,其中,第一加数和第二加数为16位二进制数。例如,一个进位模块可以对应第一加数和第二加数中的2个比特位、3个比特位或更多个比特位等。应理解,N个进位模块10中的每个进位模块对应的第一加数和第二加数中的比特位的数量可以相同,也可以不同。
其中,第n个进位模块与第n-1个进位模块连接,以用于接收第n-1进位模块输出的级间进位参数,由此,基于第n-1个进位模块输出的级间进位参数,计算第n个进位模块的级间进位参数和第n个进位模块对应的每个比特位的进位输出。其中,n为大于1且小于或等于N的整数。
每个进位模块包括预处理单元和多个进位计算单元,一个进位计算单元对应第一加数和第二加数的一个比特位。
本实施例中,第n个进位模块包含的预处理单元,用于对对应的第一加数和第二加数中的多个比特位进行预处理。
可选地,在本申请的一种实现方式中,预处理结果包括:组内进位生成信号和组内进位传播信号。第n个进位模块包含的预处理单元,具体用于:对对应的第一加数和第二加数中的每个比特位进行运算,生成每个比特位对应的进位生成信号和进位传播信号;基于对应的至少一个比特位的进位生成信号和进位传播信号分别生成每个比特位的组内进位生成信号和组内进位传播信号。
具体地,对对应的第一加数和第二加数中的每个比特位进行逻辑与运算,生成每个比特位的进位生成信号,进位生成信号为第一加数和第二加数中的对应比特位的逻辑与值运算结果。对对应的第一加数和第二加数中的每个比特位进行逻辑或运算,生成每个比特位的进位传播信号,进位传播信号为第一加数和第二加数中的对应比特位的逻辑或值运算结果。为了便于电路实现时的整体化布局,在本申请实施例中,有时也将每个比特位的进位生成信号进行逻辑非运算的结果称为进位生成信号。类似地,将每个比特位的进位传播信号进行逻辑非运算的结果称为进位传播信号。
在得到第n个进位模块对应的每个比特位的进位生成信号和进位传播信号之后,第n个进位模块包含的预处理单元还可以对相邻的多个比特位的进位生成信号进行逻辑或运算,生成组内进位生成信号,第n个进位模块包含的预处理单元还可以对相邻的多个比特位的进位传播信号进行逻辑与运算,生成组内进位传播信号。为了便于电路实现时的整体化布局,在本申请实施例中,有时也将组内进位生成信号进行逻辑非运算的结果称为组内进位生成信号。类似地,将组内进位传播信号进行逻辑非运算的结果称为组内进位传播信号。
例如,对于第一加数A和第二加数B中的第i个比特位,第i个比特位的进位生成信号Gi=Ai·Bi,第i个比特位的进位传播信号Pi=Ai+Bi。如上所述,为了便于电路实现时的整体化布局,第i个比特位的进位生成信号和进位传播信号有时也分别被表示为
Figure BDA0003178365600000041
Figure BDA0003178365600000042
第j个比特位到第i个比特位的组内进位产生信号Gi:j=Gi+Gi+1+…+Gi,第j个比特位到第i个比特位的组内进位传播信号Pi:j=Pi·Pi+1·…·Pi。如上所述,为了便于电路实现时的整体化布局,第j个比特位到第i个比特位的组内进位产生信号和进位传播信号有时也可以被表示为
Figure BDA0003178365600000043
Figure BDA0003178365600000044
此外,Gi:j=Gi:k+Gk-1:j,并且,Pi:j=Pi:k·Pk-1:j,其中,k为按照比特位从低到高的顺序位于第j个比特位到第i个比特位之间的任一比特位。
本实施例中,第n个进位模块包含的多个进位计算单元,用于根据预处理的结果和第n-1个进位模块的级间进位参数进行运算,生成第n个进位模块对应的每个比特位的进位输出和第n个进位模块的级间进位参数。
可选地,在本申请的一种实施例中,第n个进位模块包含的每个进位计算单元,具体用于根据对应的比特位的组内进位生成信号和组内进位传播信号以及第n-1个进位模块的级间进位参数进行运算,生成对应的比特位的进位输出。
对于第n个进位模块对应的多个比特位中的最高位,该最高比特位对应的进位计算单元,还用于将在第n个进位模块对应的最高位的进位输出的计算中得到的进位参数,作为第n个进位模块的级间进位参数。
其中,进位参数是在每个比特位的进位输出的计算过程中得到中间量,进位参数与进位输出之间存在预设关系。每个比特位的进位输出可以基于该比特位的进位参数与该比特位的进位传播信号进行运算得到,具体地,每个比特位的进位输出为该比特位的进位参数与该比特位的进位传播信号的逻辑与运算结果。例如,若第i个比特位的进位输出为Ci,第i个比特位的进位传播信号为Pi,第i个比特位的进位参数为Cpi,则预设关系为:Ci=Pi·Cpi
若第n-1个进位模块对应的多个比特位中的最高位为第(k-1)个比特位,则在第n-1个进位模块中的多个进位计算单元在计算第(k-1)个比特位的进位输出Ck-1时得到进位参数Cpk-1,作为第n-1个级间进位参数。若第n个进位模块的预处理单元输出结果中包括组内进位生成信号Gi:k和组内进位生成信号Pi-1:k,则第i个比特位的进位输出为Ci=Gi:k+Pi:k-1·Cpk-1。此外,由于Pi:k-1·Cpk-1=Pi:k·Pk-1·Cpk-1,因此,Ci=Gi:k+Pi:k·Ck-1也成立。
由于Gi:k和Pi:k可以通过预处理单元处理得到,因此,第n个进位模块中与第i个比特位对应的进位计算单元在得到第n-1个进位模块的级间进位参数Ck-1时,可以通过简单的逻辑运算,得到第i个比特位的进位输出或进位参数。此外,由于第n个进位模块中的预处理单元可以对第n个进位模块对应的多个比特位进行预处理得到对应的多个组内进位生成信号和组内进位传播信号第n个进位模块中的多个进位计算单元可以,基于对应的组内进位生成信号和组内进位传播信号并行计算每个比特位的进位输出,由此提高进位计算的效率。
应理解,为了便于电路实现时的整体化布局,进位参数Cpk-1和进位输出Ck-1有时也被表示为
Figure BDA0003178365600000051
Figure BDA0003178365600000052
本申请实施例中,由于第n个进位模块包含的预处理单元对对应的第一加数和第二加数中的多个比特位进行预处理,第n进位模块包含的多个进位计算单元,用于根据预处理的结果和第n-1个进位模块的级间进位参数进行运算,生成第n个进位模块对应的每个比特位的进位输出和第n个进位模块的级间进位参数,这使得在获取到第n-1个进位模块输出的级间进位参数时,第n个进位模块中的每个进位计算单元即可以直接利用预处理结果和第n-1个进位模块输出的级间进位参数并行计算对应的每个比特位的进位输出,由此基本上实现了并行计算16位二进制数据中每个比特位的进位输出。
此外,如图1所示,16位加法器还包括求和模块,该求和模块与N个进位模块电连接,以用于根据第一加数和第二加数中的每个比特位、以及对应的进位输出进行运算,得到对应的求和结果。
例如,对于第一加数A和第二加数A中的第i个比特位,可以根据以下求和公式,得到第i个比特位的求和结果。该公式为:
Figure BDA0003178365600000061
其中,Ci-1为第一加数A和第二加数A中的第i-1个比特位的进位输出。
本实施例中,由于基本上并行计算16位二进制数据中每个比特位的进位输出,因此,可以基本上并行地计算16位二进制数据中每个比特位的求和结果,由此可以缩短整个计算过程的时长,提高计算速度。
可选地,在本申请的一种实施例中,第n个进位模块对应的第一加数和第二加数中的比特位的数量等于或大于第n-1个进位模块对应的第一加数和第二加数中的比特位的数量。
由于第n个进位模块对应的每个比特位的进位输出的计算依赖于第n-1个进位模块的级间进位参数,因此,第n个进位模块中的每个进位计算单元的进位运算时间相对于第n-1个进位模块中的每个进位计算单元的进位运算时间具有一定的逻辑时延。通过使第n个进位模块对应的第一加数和第二加数中的比特位的数量等于或大于第n-1个进位模块对应的第一加数和第二加数中的比特位的数量,可以充分利用这一逻辑延时进行组内进位生成信号和组内进位传播信号的计算,避免第n个进位模块在计算时等待第n-1个进位模块的级间进位参数的情况出现,有利于进一步减小运算所耗费的时间。
可选地,在本申请的一种实施例中,N等于3,第1个进位模块对应第一加数和第二加数的第0比特位至第3比特位,第2个进位模块对应第一加数和第二加数的第4比特位至第7比特位,第3个进位模块对应第一加数和第二加数的第8比特位至15比特位。由此,使得加法器的布局较为集中,面积较小,有利于整体结构化布局。
应当理解,在本实施例中,进位模块的数量N可以为2个、4个、或者更多个,并且每个进位模块对应的具体比特位可以根据需要进行设置,本实施例对此不做限定。
实施例二
基于实施例一提供的16位加法器,进一步,本实施例提供了图1所示的16位加法器中的一个进位模块的结构示意图。应理解,该进位模块可以为实施例一中的N个进位模块中的任一进位模块,为了便于描述,下文中将该进位模块称为第n个进位模块。在本实施例中,第n个进位模块包含的预处理单元包括交替布置的至少一个第一预处理单元和至少一个第二预处理单元。
本实施例中,第一预处理单元用于对对应的第一加数和第二加数中的第i个比特位和第i-1个比特位进行运算,生成第一预处理结果,第一预处理结果指示第i个比特位和第i-1个比特位的进位生成信号的逻辑或运算结果,i为奇数。
可选地,在本申请的一种具体的实现方式中,如图2所示,第一预处理单元包括:第一与门201、第二与门202和第一或非门203,第一与门201的第一输入端和第二输入端分别接收第i个比特位,第一与门201的输出端连接至第一或非门203的第一输入端;第二与门202的第一输入端和第二输入端分别接收第i-1个比特位,第二与门202的输出端连接至第一或非门203的第二输入端,第一或非门203的输出端输出第一预处理结果。例如,若第一加数为A,第二加数为B,则第一预处理结果为
Figure BDA0003178365600000071
其中,Gi和Gi-1为第i个比特位的进位生成信号和第i-1个比特位的进位生成信号。
应理解,第一预处理单元也可以直接由与或非门这种结构实现,本实施例对此不做限定。
本实施例中,第二预处理单元用于对对应的第一加数和第二加数中的第j个比特位和第j-1个比特位进行运算,生成第二预处理结果,第二预处理结果指示第j个比特位和第j-1个比特位的进位传播信号的逻辑与运算结果,j为偶数。
可选地,在本申请的一种具体的实现方式中,如图3所示,第二预处理单元包括:第一或门301、第二或门302和第一与非门303,第一或门301的第一输入端和第二输入端分别接收第j个比特位,第一或门301的输出端连接至第一与非门的第一输入端;第二或门302的第一输入端和第二输入端分别接收第j-1个比特位,第二或门302的输出端连接至第一与非门303的第二输入端,第一与非门303的输出端输出第二预处理结果。例如,若第一加数为A,第二加数为B,则第一预处理结果为
Figure BDA0003178365600000072
其中,Pj和Pj-1为第j个比特位的进位传播信号和第j-1个比特位的进位传播信号。
应理解,第二预处理单元也可以直接由或与非门这种结构实现,本实施例对此不做限定。
相应地,第n个进位模块包含的多个进位计算单元,用于基于至少一个第一预处理结果和至少一个第二预处理结果以及第n-1个进位模块的级间进位参数得到对应的比特位的进位输出。例如,如图4所示,在一个示例中,第n个进位模块对应第一加数和第二加数中的4至7个比特位,则第n个进位模块对应的预处理单元共生成2个第一预处理结果
Figure BDA0003178365600000081
(也即,GON_5_4)和
Figure BDA0003178365600000082
(也即,GON_7_6),以及2个第二预处理结果
Figure BDA0003178365600000083
(也即,PAN_4_3)、
Figure BDA0003178365600000084
(也即,PAN_6_5),第n个进位模块包含的多个进位计算单元可以基于这些第一预处理结果和第二预处理结果,结合第n-1个进位模块的级间进位参数得到第n个进位模块对应的比特位的进位输出。
可选地,在本申请的一个实施例中,第n个进位模块包含的预处理单元还包括第三预处理单元和第四预处理单元,第三预处理单元分别对至少一个第一预处理单元输出的第一预处理结果和至少一个第二预处理单元输出的第二预处理结果中的相邻至少两个进行运算,以生成对应的第三预处理结果和第四预处理结果,第三预处理结果指示对应的相邻多个比特之间的进位参数,第四预处理结果指示对应的相邻多个比特的进位传播信号的逻辑与运算结果。第n个进位模块包含的多个进位计算单元,用于基于第三预处理结果和第四预处理结果以及第n-1个进位模块的级间进位参数得到对应的比特位的进位输出。
例如,第三预处理单元对第一预处理结果
Figure BDA0003178365600000085
Figure BDA0003178365600000086
以及第二预处理结果
Figure BDA0003178365600000087
进行运算,生成指示第4个比特位至第7个比特位之间的进位参数
Figure BDA0003178365600000088
第四预处理单元对基于第二预处理结果
Figure BDA0003178365600000089
和第二预处理结果
Figure BDA00031783656000000810
进行运算,生成指示第3个比特位至第6个比特位的进位生成信号的逻辑或运算结果,即一个组内进位传播信号
Figure BDA00031783656000000811
(也即,PAN_6_3)。对应的进位计算单元可以基于第三预处理结果GON_7_4和第四预处理结果PAN_6_3,结合第n-1个进位模块的级间进位参数得到第7个比特位的进位输出。
可选地,在本申请的一种实施例中,第n个进位模块包含的多个进位计算单元包括与第i个比特位对应的第一进位计算单元,第一进位计算单元包括第三或门、第三与门和第二或非门;
第三或门的第一输入端连接至对应的第二预处理单元的输出端,第三或门的第二输入端连接至第n-1个进位模块输出的级间进位参数,第三或门的输出端连接至第三与门的第一输入端,第三与门的第二输入端连接至对应的第一预处理单元的输出端,第三与门的输出端输出第i个比特的进位参数;
第三与门的输出端连接至第二或非门的第一输入端,第二或非门的第二输入端接收第i个比特位的进位传播信号,第二或非门的输出端连接至求和模块,以向求和模块输出第i个比特位的进位输出。
例如,如图4所示,第n-1个进位模块对应第一加数和第二加数中的0至3个比特位,第n个进位模块对应第一加数和第二加数中的4至7个比特位为例,第n个进位模块包含的预处理单元包括交替布置的第一预处理单元和第二预处理单元401~404,以及交替布置的第一进位计算单元和第二进位计算单元405~408。对于第5个比特位,对应的第一进位计算单元406中的第三或门的第一输入端连接至对应的第二预处理单元401的输出端以得到
Figure BDA0003178365600000091
(也即,PAN_4_3),第三或门的第二输入端连接至第n-1个进位模块输出的级间进位参数
Figure BDA0003178365600000092
(也即,CPN_3_0),第三或门的输出端连接至第三与门的第一输入端,第三与门的第二输入端连接至对应的第一预处理单元的输出端以得到
Figure BDA0003178365600000093
(也即,GON_5_4),第三与门的输出端输出第5个比特位的进位参数
Figure BDA0003178365600000094
(也即,CPN_5_0)。第三与门的输出端连接至第二或非门的第一输入端,第二或非门的第二输入端接收第5个比特位的进位传播信号
Figure BDA0003178365600000095
(也即,PN_5),第二或非门的输出端输出进位输出
Figure BDA0003178365600000096
Figure BDA0003178365600000097
(也即,CN_5_0),即第5个比特位的进位输出基于第5个比特位的组内进位生成信号G5:4和组内进位传播信号P5:3以及第1个进位模块的级间进位参数得到。
此外,由于C5=G5:4+P5:3·CP3=G5:4+P5:4·C3,因此,也可以理解为,第5个比特位的进位输出基于第5个比特位的组内进位生成信号G5:4和组内进位传播信号P5:4以及第n-1个进位模块的级间进位输出得到。
又例如,如图4所示,对于第7个比特位,对应的第一进位计算单元408中的第三或门的第一输入端连接至对应的第四预处理单元410的输出端以得到
Figure BDA0003178365600000098
(也即,PAN_6_3),第三或门的第二输入端连接至第n-1个进位模块输出的级间进位参数
Figure BDA0003178365600000099
(也即,CPN_3_0),第三或门的输出端连接至第三与门的第一输入端,第三与门的第二输入端连接至对应的第四预处理单元409的输出端以得到
Figure BDA00031783656000000910
第三与门的输出端输出第7个比特位的进位参数
Figure BDA0003178365600000101
Figure BDA0003178365600000102
(也即,CPN_7_0)。第三与门的输出端连接至第二或非门的第一输入端,第二或非门的第二输入端接收第7个比特位的进位传播信号
Figure BDA0003178365600000103
(也即,PN_7),第二或非门的输出端输出进位输出
Figure BDA0003178365600000104
(也即,CN_7_0),即第7个比特位的进位输出基于第7个比特位的组内进位生成信号G7:4和组内进位传播信号P7:3以及第1个进位模块的级间进位参数得到。
此外,由于第7个比特位为第2个进位模块对应的最高位,因此在第2个比特位的进位输出的计算中得到的进位参数
Figure BDA0003178365600000105
(也即CP_7_0)作为第2个进位模块的级间进位输出,提供给第3个进位模块。
可选地,在本申请的一种实施例中,多个进位计算单元还包括第j个比特位对应的第二进位计算单元,第二进位计算单元包括第四或门和第二与非门。
第四或门的第一输入端连接至对应的第二预处理单元的输出端,第四或门的第二输入端连接至第n-1个进位模块输出的级间进位参数或第j-1个比特位的进位参数,第四或门的输出端连接至第二与非门的第一输入端,第二与非门的第二输入端接收第j个比特位对应的进位生成信号,第二与非门的输出端连接至求和模块,以向求和模块输出第j个比特位的进位输出。
同样地,如图4所示,对于第4个比特位,对应的第二进位计算单元405中的第四或门的第一输入端连接至对应的第二预处理单元的输出端,以得到
Figure BDA0003178365600000106
第四或门的第二输入端连接至第n-1个进位模块输出的级间进位参数
Figure BDA0003178365600000107
第四或门的输出端连接至第二与非门的第一输入端,第二与非门的第二输入端接收第4个比特位对应的进位生成信号
Figure BDA0003178365600000108
(也即,GN_4),第二与非门的输出端输出
Figure BDA0003178365600000109
Figure BDA00031783656000001010
(也即,C_4),即第4个比特位的进位输出基于第4个比特位的组内进位生成信号G4和组内进位传播信号P4:3以及第n-1个进位模块的级间进位参数CP3得到。此外,由于C4=G4+P4·P3·CP3=G4+P4·C3,也可以理解为,第5个比特位的进位输出基于第5个比特位的组内进位生成信号G4和组内进位传播信号P4以及第n-1个进位模块的级间进位输出C3得到。
又例如,如图4所示,对于第6个比特位,对应的第二进位计算单元中的第四或门的第一输入端连接至对应的第二预处理单元的输出端,以得到
Figure BDA0003178365600000111
(也即,PAN_6_5),第四或门的第二输入端连接至第5个比特位的进位参数,以得到
Figure BDA0003178365600000112
(也即,CPN_5_0),第四或门的输出端连接至第二与非门的第一输入端,第二与非门的第二输入端接收第6个比特位对应的进位生成信号
Figure BDA0003178365600000113
(也即,GN_6),第二与非门的输出端输出
Figure BDA0003178365600000114
即第6个比特位的进位输出基于第6个比特位的组内进位生成信号G6和组内进位传播信号P6:5以及第5个比特位的进位参数CP5得到。
应理解,图4仅是用于说明本申请实施例提供的加法器的进位模块的一种示例,16位加法器中的各个进位模块中的预处理单元和多个进位计算单元的连接关系可以根据需要进行调整,本实施例对此不做限定。
本实施例中,由于每个进位模块中的第一预处理单元、第二预处理单元、第三预处理单元和第四预处理单元对每个进位模块对应的第一加数和第二加数中的多个比特位进行预处理,每个进位模块包含的多个进位计算单元,这使得每个进位模块在获取到前一进位模块输出的级间进位参数时,每个进位模块中的多个进位计算单元即可以直接利用预处理结果和前一进位模块输出的级间进位参数并行计算对应的每个比特位的进位输出,由此基本上实现了并行计算16位二进制数据中每个比特位的进位输出。
如图5所示,第1进位模块501对应于第一加数和第二加数中的第0个比特位至第3个比特位,第2进位模块502对应于第一加数和第二加数中的第4个比特位至第7个比特位,第3进位模块503对应于第一加数和第二加数中的第8个比特位至第15个比特位。第1进位模块501、第2进位模块502和第3进位模块503中的预处理单元对对应的比特位进行预处理,第1个进位模块对应的多个比特位中的最高位(即第3个比特位)的进位参数作为级间进位参数提供至第2进位模块,以由第2进位模块中的多个进位计算单元计算第2进位模块对应的每个比特位的进位输出,同时,第2进位模块对应的多个比特位中的最高位(即第7个比特位)基于预处理结果和第1进位模块的级间进位输出得到第7比特位的级间进位参数,并提供至第3进位模块,以由第3进位模块中的多个进位计算单元计算第3进位模块对应的每个比特位的进位输出,由此基本上实现了并行计算16位二进制数据中每个比特位的进位输出,以用于求和模块504根据第一加数A和第二加数A中的每个比特位和对应的进位输出并行计算每个比特位的求和结果,由此可以缩短整个计算过程的时长,提高计算速度。
此外,通过有规律地布置第一预处理单元、第二预处理单元、第三预处理单元、第四预处理单元、第一进位计算单元和第二进位计算单元,可以在提高16位加法器的计算速度的同时,减少16位加法器的占用面积,并且使得布线较为集中,有利于整体结构化布局。
需要指出的是,图5仅是用于说明本实施实施例提供的16位加法器的进位链的一种具体示例,根据实际需要,进位模块的数量可以为2个、4个、或者更多个,并且每个进位模块对应的具体比特位可以根据需要进行设置,本实施例对此不做限定。
实施例三
本申请实施例提供了一种运算电路,该运算电路包括根据前述实施例一和二中任一项提供的16位加法器。其原理与效果类似,此处不再赘述。
实施例四
本申请实施例提供了一种芯片,该芯片包括根据前述实施例三提供的运算电路。其原理与效果类似,此处不再赘述。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种16位加法器,其特征在于,所述16位加法器包括:
N个进位模块,每个进位模块对应第一加数和第二加数中的多个比特位,其中,第n个进位模块与第n-1个进位模块连接,以用于接收所述第n-1进位模块输出的级间进位参数,所述第一加数和所述第二加数为16位二进制数,N为大于1且小于15的整数,n为大于1且小于或等于N的整数;每个进位模块包括预处理单元和多个进位计算单元,一个进位计算单元对应所述第一加数和所述第二加数的一个比特位;
其中,所述第n个进位模块包含的预处理单元,用于对对应的所述第一加数和第二加数中的多个比特位进行预处理;
所述第n个进位模块包含的多个进位计算单元,用于根据所述预处理的结果和所述第n-1个进位模块的级间进位参数进行运算,生成所述第n个进位模块对应的每个比特位的进位输出和所述第n个进位模块的级间进位参数;
求和模块,所述求和模块与所述N个进位模块电连接,以用于根据所述第一加数和第二加数中的每个比特位、以及对应的进位输出进行运算,得到对应的求和结果。
2.根据权利要求1所述的16位加法器,其特征在于,所述第n个进位模块对应的所述第一加数和第二加数中的比特位的数量等于或大于所述第n-1个进位模块对应的所述第一加数和第二加数中的比特位的数量。
3.根据权利要求2所述的16位加法器,其特征在于,N等于3,第1个进位模块对应所述第一加数和所述第二加数的第0比特位至第3比特位,所述第2个进位模块对应所述第一加数和所述第二加数的第4比特位至第7比特位,所述第3个进位模块对应所述第一加数和所述第二加数的第8比特位至15比特位。
4.根据权利要求1所述的16位加法器,其特征在于,所述预处理结果包括:组内进位生成信号和组内进位传播信号;
第n个进位模块包含的预处理单元,具体用于:对对应的所述第一加数和第二加数中的每个比特位进行运算,生成每个比特位对应的进位生成信号和进位传播信号;基于对应的至少一个比特位的进位生成信号和进位传播信号分别生成每个比特位的组内进位生成信号和组内进位传播信号;
所述第n个进位模块包含的每个进位计算单元,具体用于根据对应的比特位的组内进位生成信号和组内进位传播信号以及所述第n-1个进位模块的级间进位参数进行运算,生成对应的比特位的进位输出。
5.根据权利要求1所述的16位加法器,其特征在于,所述第n个进位模块对应的最高位的进位计算单元,还用于将在所述第n个进位模块对应的多个比特位中的最高位的进位输出的计算中得到的进位参数,作为所述第n个进位模块的级间进位参数,其中,所述最高位的进位输出基于所述最高位的进位参数与所述最高位的进位传播信号进行运算得到。
6.根据权利要求1所述的16位加法器,其特征在于,所述第n个进位模块包含的预处理单元包括交替布置的至少一个第一预处理单元和至少一个第二预处理单元;
其中,所述第一预处理单元用于对对应的所述第一加数和所述第二加数中的第i个比特位和第i-1个比特位进行运算,生成第一预处理结果,所述第一预处理结果指示所述第i个比特位和所述第i-1个比特位的进位生成信号的逻辑或运算结果,i为奇数;
所述第二预处理单元用于对对应的所述第一加数和所述第二加数中的第j个比特位和第j-1个比特位进行运算,生成第二预处理结果,所述第二预处理结果指示所述第j个比特位和所述第j-1个比特位的进位传播信号的逻辑与运算结果,j为偶数;
所述第n个进位模块包含的多个进位计算单元,用于基于所述第一预处理结果和所述第二预处理结果以及所述第n-1个进位模块的级间进位参数得到对应的比特位的进位输出。
7.根据权利要求6所述的16位加法器,其特征在于,所述第n个进位模块包含的多个进位计算单元包括与所述第i个比特位对应的第一进位计算单元,所述第一进位计算单元包括第三或门、第三与门和第二或非门;
所述第三或门的第一输入端连接至对应的第二预处理单元或第四预处理单元的输出端,所述第三或门的第二输入端连接至所述第n-1个进位模块输出的级间进位参数,所述第三或门的输出端连接至所述第三与门的第一输入端,所述第三与门的第二输入端连接至对应的第一预处理单元或第三预处理单元的输出端,所述第三与门的输出端输出所述第i个比特的进位参数;
所述第三与门的输出端连接至所述第二或非门的第一输入端,所述第二或非门的第二输入端接收所述第i个比特位的进位传播信号,所述第二或非门的输出端连接至所述求和模块,以向所述求和模块输出所述第i个比特位的进位输出。
8.根据权利要求6所述的16位加法器,其特征在于,所述多个进位计算单元包括所述第j个比特位对应的第二进位计算单元,所述第二进位计算单元包括第四或门和第二与非门;
所述第四或门的第一输入端连接至对应的第二预处理单元的输出端,所述第四或门的第二输入端连接至所述第n-1个进位模块输出的级间进位参数或所述第j-1个比特位的进位参数,所述第四或门的输出端连接至所述第二与非门的第一输入端,所述第二与非门的第二输入端接收所述第j个比特位对应的进位生成信号,所述第二与非门的输出端连接至所述求和模块,以向所述求和模块输出所述第j个比特位的进位输出。
9.一种运算电路,其特征在于,所述运算电路包括根据权利要求1至8中任一项所述的16位加法器。
10.一种芯片,其特征在于,所述芯片包括根据权利要求9所述的运算电路。
CN202121698040.XU 2021-07-23 2021-07-23 16位加法器、运算电路及芯片 Active CN215068205U (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202121698040.XU CN215068205U (zh) 2021-07-23 2021-07-23 16位加法器、运算电路及芯片

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202121698040.XU CN215068205U (zh) 2021-07-23 2021-07-23 16位加法器、运算电路及芯片

Publications (1)

Publication Number Publication Date
CN215068205U true CN215068205U (zh) 2021-12-07

Family

ID=79219388

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202121698040.XU Active CN215068205U (zh) 2021-07-23 2021-07-23 16位加法器、运算电路及芯片

Country Status (1)

Country Link
CN (1) CN215068205U (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113407153A (zh) * 2021-07-23 2021-09-17 北京源启先进微电子有限公司 16位加法器及其实现方法、运算电路及芯片

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113407153A (zh) * 2021-07-23 2021-09-17 北京源启先进微电子有限公司 16位加法器及其实现方法、运算电路及芯片

Similar Documents

Publication Publication Date Title
US5465226A (en) High speed digital parallel multiplier
US20210349692A1 (en) Multiplier and multiplication method
JP3244506B2 (ja) 小型乗算器
US4737926A (en) Optimally partitioned regenerative carry lookahead adder
JPS60163128A (ja) 乗算回路
US20140358979A1 (en) GENERATING A FAST 3x MULTIPLAND TERM FOR RADIX-8 BOOTH MULTIPLICATION
CN215068205U (zh) 16位加法器、运算电路及芯片
CN215068203U (zh) 49位加法器、运算电路及芯片
CN110515587B (zh) 乘法器、数据处理方法、芯片及电子设备
CN113419703A (zh) 33位加法器及其实现方法、运算电路及芯片
CN114756200A (zh) 用于实现基4 Booth乘法器的64位加法器及其实现方法、运算电路及芯片
US20130159367A1 (en) Implementation of Negation in a Multiplication Operation Without Post-Incrementation
CN215068204U (zh) 33位加法器、运算电路及芯片
CN114756203A (zh) 基4 Booth乘法器及其实现方法、运算电路及芯片
JP2005218094A (ja) 4:2csaセル及び4:2キャリ保存加算方法
Nair et al. A review paper on comparison of multipliers based on performance parameters
CN112241252A (zh) 用于处理浮点数的设备和方法
CN112241251A (zh) 用于处理浮点数的设备和方法
CN113407153A (zh) 16位加法器及其实现方法、运算电路及芯片
CN113419704A (zh) 49位加法器及其实现方法、运算电路及芯片
CN114816329B (zh) 用于实现基4 Booth乘法器的32位加法器及其实现方法
CN109196465B (zh) 双精度浮点运算
Ramezani et al. An Efficient Implementation of Low-Latency Two-Dimensional Gaussian Smoothing Filter using Approximate Carry-Save Adder
US7840628B2 (en) Combining circuitry
CN217034731U (zh) 选择控制器及运算电路及芯片

Legal Events

Date Code Title Description
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20240307

Address after: No. 519, 2nd Street, Baiyang Street, Qiantang New District, Hangzhou City, Zhejiang Province, China, 4-1301

Patentee after: Hangzhou Yuanhe Technology Co.,Ltd.

Country or region after: China

Address before: 100080 unit 1-32-1, 14th floor, block B, No. 3 Danling street, Haidian District, Beijing

Patentee before: Beijing Yuanqi Advanced Microelectronics Co.,Ltd.

Country or region before: China

TR01 Transfer of patent right