CN111258538B - 一种基于fpga的大位宽高性能加法器电路 - Google Patents
一种基于fpga的大位宽高性能加法器电路 Download PDFInfo
- Publication number
- CN111258538B CN111258538B CN202010029711.7A CN202010029711A CN111258538B CN 111258538 B CN111258538 B CN 111258538B CN 202010029711 A CN202010029711 A CN 202010029711A CN 111258538 B CN111258538 B CN 111258538B
- Authority
- CN
- China
- Prior art keywords
- carry
- fpga
- adder
- module
- calculation module
- 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
Links
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/50—Adding; Subtracting
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Logic Circuits (AREA)
Abstract
本发明公开一种基于FPGA的大位宽高性能加法器电路。本发明由进位产生模块和求和计算模块组成,以充分发挥FPGA快速进位链的优势;进位产生模块采用了进位选择方法,并利用进位压缩结构快速产生进位Ci,提高了查找表LUT的利用率,减少了所占用的资源;求和计算模块由占用资源最少的行波进位结构实现;在加法器映射到FPGA的过程中,合理的布局规划减少了可编程互连线的使用,缩短了加法器的计算延时。本发明在操作数的位宽较大时,与传统的加法器结构相比,性能更有优势。
Description
技术领域
本发明涉及集成电路技术领域,具体涉及一种针对大位宽需求,基于FPGA实现的高性能加法器电路。
背景技术
加法器是各种高性能计算模块或系统的关键部件。目前实现加法器的常用方法有行波进位加法器、选择进位加法器和超前进位加法器等。每种加法器结构各有其特点:行波进位加法器消耗的资源最少,超前进位加法器运算速度最快,选择进位加法器介于二者之间。但是随着操作数位宽的增大,这些加法器占用的资源越来越多,性能也越来越差。如今,加密运算等应用的操作数位宽越来越大,例如RSA加密方法的操作数位宽达到了1024bits(或2048bits),为了保证数据处理与运算的实时性,迫切需要高性能、大位宽的加法器。
FPGA(Field Programmable GateArray),即现场可编程门阵列,是一种具有丰富的硬件资源、强大的并行处理能力和灵活的可配置可编程的逻辑器件。基于FPGA的加法器通常由进位链(carrychain)实现。但是由于FPGA架构上的限制(以Xilinx的FPGA为例),所有进位链的进位输入端位于每列可编程逻辑单元的最下方,而进位输出端位于其最上方;当一条进位链的进位输出端与另一条进位链的进位输入端连接,必会引入较长的可编程互连线,增加不必要的延时。因此,当操作数达到几百位,甚至上千位时,对加法器的运算速度产生较大的影响。
发明内容
本发明针对上述FPGA进位链结构的特点,提出了一种新型的大位宽加法器电路,通过利用进位选择和进位压缩的方法产生进位信号Ci,使得进位链之间的互连不再受FPGA架构上的限制,由此实现了对速度和面积的优化。在大位宽操作数的情况下,性能要比传统结构的加法器有显著的提升,优势更为明显。
本发明的技术方案是:本发明提出的基于FPGA的大位宽高性能加法器电路由进位产生模块和求和计算模块构成。
进位产生模块采用进位选择的设计思想,并利用进位压缩结构快速计算出进位Ci。进位压缩结构的相关文献,见T.B.Preuβer,M.Zabel,and R.G.Spallek在第20届IEEESymposium on Computer Arithmetic(ARITH)发表的“Accelerating Computations onFPGA Carry Chains by Operand Compaction.”如图2所示,进位压缩结构充分利用了可编程逻辑单元中的查找表LUT,使得进位产生电路不仅减少了资源,同时大大降低了延时。
求和计算模块利用占用资源最少的加法器,即行波进位加法器计算得出最终的和Si。该类型的加法器完全由FPGA中的进位链结构实现,具体的实现原理参考Xilinx官网提供的用户指导“Virtex-5 FPGA User Guide(UG190)”中的“Chapter 5 ConfigurableLogicBlocks(CLBs)”。
进位产生模块和求和计算模块都利用了FPGA中的专用进位链,充分发挥了进位链运算速度快的优势。
将加法器结构映射到FPGA芯片的过程中,如图6所示,采用了合理的布局布线尽可能减少对可编程互连线的使用,使加法器的延时进一步减小。
本发明的有益效果在于:与目前已有的FPGA加法器相比,本发明提出的加法器占用的资源更少,运算速度更快。
附图说明
图1为本发明用于说明进位链在FPGA中的布局示意图。
图2为本发明用于说明在进位产生电路中进位压缩结构的示意图。
图3为本发明用于说明基于FPGA的高性能加法器电路的示意图。
图4为本发明用于说明传统的进位选择加法器的电路结构示意图。
图5为本发明用于说明图3的加法器基于FPGA芯片的布局布线示意图。
图6为本发明用于说明图1、图3和图4的加法器结构在不同位宽下运算速度和占用资源的表格。
具体实施方式
为进一步阐明本发明的目的、技术方案及优点,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
图1为本发明用于说明进位链在FPGA中的布局示意图。在Xilinx FPGA中,进位链嵌入在可配置逻辑单元CLB的Slice中,两个Slice构成一个可配置逻辑单元CLB。输入信号cin从Slice的下端输入,输出信号cout从其上端输出。呈一列排列的多个Slice中的进位链级联可以实现位宽大于4bits的加法器。需要指出的是,用于进位链级联的互连线是专用的,即该互连线与通用的可编程互连线不同,它只用于一列Slice中的进位链级联,且它的传播延时是通用互连线的十分之一。然而,构成一条进位链的Slice呈一列排布,而且进位逻辑的计算方向只能从下向上单向传输。
图2为本发明用于说明进位产生模块中进位压缩结构的示意图,该结构包括一个六输入查找表LUT和一个复用器M1。该电路具有五个输入信号(第一输入信号ai,第二输入信号bi,第三输入信号ai+1,第四输入信号bi+1和第五输入信号ci),第一输出信号ci+2,两个内部信号(第一内部信号O5和第二内部信号O6)。
六输入查找表LUT可以实现两个任意五输入的布尔表达式,但两个表达式的输入端必须是相同的。所以在该电路中,第一输入信号ai,第二输入信号bi,第三输入信号ai+1和第四输入信号bi+1作为六输入查找表LUT的输入信号,并通过六输入查找表LUT(等价于两个五输入查找表LUT5_0、LUT5_1)实现两个布尔表达式。这两个布尔表达式的结果分别从第一内部信号O5和第二内部信号O6输出。具体的布尔表达式为:
O5=ai(ai+1+bi+1)+(ai+1·bi+1)。
第二内部信号O6作为复用器M1的选择控制信号,第一内部信号O5和第五输入信号ci作为复用器M1的数据输入,第一输出信号ci+2是复用器M1的数据输出,布尔表达式为:
ci+2=O6′·O5+O6·Ci。
如图2所示,仅用一个六输入查找表和一个复用器就实现从进位ci到ci+2的计算。与FPGA默认的行波进位加法器相比,该电路所消耗的资源是原来的一半,延时也为原来的一半,换句话说,通过使用进位压缩结构,在一条原本只能计算出进位Cn的进位链上就可以实现进位C2n的电路。进位产生电路就是由图2所示的电路级联构成的。
图3为本发明用于说明基于FPGA的高性能加法器电路结构的示意图。该电路结构由进位产生电路CC、求和计算模块RCA以及复用器MUX(由查找表LUT实现)构成。其中,进位产生电路CC由图2的电路级联构成,求和计算模块RCA采用FPGA默认的行波进位加法器,复用器MUX的功能由一个查找表LUT实现。该加法器的两个操作数A、B分为N段,即A0 A1...An,B0 B1...Bn。该加法器的输出和S亦分为N段,即S0 S1...sn。
如图3所示,输出和S0的计算过程为:操作数A0和B0以及进位输入Cin通过求和计算模块RCA求得输出和S0;输出和s1的计算过程为:操作数A0和B0以及进位输入Cin通过进位产生模块CC求得进位C1,操作数A1和B1以及进位C1通过求和计算模块RCA求得输出和S1;输出和S2的计算过程为:首先,操作数A1和B1以及低电平‘0’通过进位产生模块CC求得一种可能的进位C2_0,操作数A1和B1以及高电平‘1’通过进位产生模块CC求得另一种可能的进位C2_1,然后,进位C1作为复用器MUX的控制信号,两种可能的进位C2_0和C2_1作为其数据输入,通过复用器MUX得到真实的进位C2,最后,操作数A2和B2以及进位输入C2通过求和计算模块RCA求得输出和S2;输出和S3、S4…Sn的计算过程类似于输出和S2的计算过程。
本发明提出的加法器的求和过程与传统的进位选择加法器不同,如图4所示,传统的进位选择加法器由进位Ci控制多个复用器求得输出和Si,但本发明提出的加法器的输出和Si是由进位链组成的求和模块RCA实现的。
图5为本发明用于说明图3的加法器基于FPGA芯片的布局布线示意图。图5表示了可配置逻辑块(CLB)在FPGA芯片中的排列布局。在图5中,“\”标注的Slice用于实现进位产生电路CC,互相垂直的交叉线“+”标注的Slice用于实现复用器MUX的逻辑功能,“/”标注的Slice用于实现求和计算模块RCA。
图6为本发明用于说明FPGA默认的行波进位加法器、传统的进位选择加法器(图4所示)和本发明提出的加法器(图3所示)在不同位宽下运算速度和消耗资源的表格。在该表中,RCA表示FPGA默认的行波进位加法器结构,CSLA表示传统进位选择加法器结构,CCRC表示本发明提出的加法器结构。该表展示了操作数A,B分别在200bits,400bits,600bits,800bits,1000bits,1200bits,1400bits,1600bits,1800bits,2000bits的运算速度和占用资源的情况,延时单位为ns,占用的资源用LUT的数目表示。
由图6所示,本发明提出的加法器结构CCRC在操作数高于600bits下的延时要比传统进位选择加法器结构CSLA小,且本发明提出的加法器结构CCRC的延时以0.5ns/200bits的速率增加,而传统的进位选择加法器结构CSLA的延时以1.1ns/200bits的速率增加;加法器结构RCA的延时远远超过CSLA和CCRC。当操作数达到千位以上时,本发明提出的加法器结构CCRC在运算速度方面有更大的优势。如图6所示,与传统的进位选择加法器结构CSLA消耗的资源(LUT数目)相比,本发明提出的加法器结构CCRC消耗的资源较少,当操作数较大时,仅为传统进位选择加法器的60%。
综上所述,本发明提出的FPGA大位宽加法器电路,由两部分构成:进位产生模块和求和计算模块,且都采用了FPGA中的专用进位链。在实现过程中,通过合理的布局规划减少对可编程互连线的使用,减小了整个加法器的面积与延时。图3的加法器结构与图4的传统加法器结构相比,资源消耗和运算速度均有明显改善。
以上所述的具体实施例,对本发明的目的,技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种基于FPGA的大位宽高性能加法器电路,其包括:独立的进位产生模块,将加法器的操作数分为n段,由进位压缩结构产生每一段可能的进位信号Ci_0/Ci_1,再通过进位选择的方法快速得到该段的进位信号Ci,该模块在Xilinx FPGA上实现时,是由带多路复用器的专用进位链逻辑以及6输入端、2个输出端的查找表LUT组成;求和计算模块,采用行波进位加法器结构;针对FPGA结构进行合理的电路布局,每段的求和计算模块只需接收该段的进位输入。
2.根据权利要求1所述的基于FPGA的大位宽高性能加法器电路,其特征在于,所述求和计算模块采用行波进位方法,利用FPGA快速进位链就得到最终的和Si。
3.根据权利要求1所述的基于FPGA的大位宽高性能加法器电路,其特征在于,加法器的操作数被分为n段,根据FPGA的特点采用合理的布局,将当前段的求和计算模块布置在整条进位链的上部,高度占进位链的三分之二,上一段的进位产生模块在进位链的下部,高度占进位链的三分之一。
4.根据权利要求1所述的基于FPGA的大位宽高性能加法器电路,其特征在于,进位产生模块输出的进位信号Ci通过可编程互连线与求和计算模块连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010029711.7A CN111258538B (zh) | 2020-01-13 | 2020-01-13 | 一种基于fpga的大位宽高性能加法器电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010029711.7A CN111258538B (zh) | 2020-01-13 | 2020-01-13 | 一种基于fpga的大位宽高性能加法器电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111258538A CN111258538A (zh) | 2020-06-09 |
CN111258538B true CN111258538B (zh) | 2023-07-21 |
Family
ID=70945217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010029711.7A Active CN111258538B (zh) | 2020-01-13 | 2020-01-13 | 一种基于fpga的大位宽高性能加法器电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111258538B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112632878B (zh) * | 2020-12-10 | 2023-11-24 | 中山大学 | 一种基于fpga的高速低资源的二值卷积单元 |
CN113705135B (zh) * | 2021-07-20 | 2023-11-07 | 深圳市紫光同创电子有限公司 | 基于fpga进位链的电路结构优化方法及系统 |
CN116149599B (zh) * | 2023-03-30 | 2023-08-08 | 杭州雄迈集成电路技术股份有限公司 | 一种分步进位处理方法、系统、加法器 |
CN116436709B (zh) * | 2023-06-14 | 2023-08-29 | 浪潮电子信息产业股份有限公司 | 一种数据的加解密方法、装置、设备和介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104020980A (zh) * | 2008-04-28 | 2014-09-03 | 阿尔特拉公司 | 可配置的混合加法器电路 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0847551B1 (en) * | 1995-08-31 | 2012-12-05 | Intel Corporation | A set of instructions for operating on packed data |
JP2011117300A (ja) * | 2009-10-22 | 2011-06-16 | Hiroyasu Tanigawa | 各種エネルギ保存サイクル合体機関 |
CN201663654U (zh) * | 2009-11-20 | 2010-12-01 | 深圳市同洲电子股份有限公司 | 一种非整数倍插值装置及信号调制系统 |
CN101847087B (zh) * | 2010-04-28 | 2012-03-28 | 中国科学院自动化研究所 | 一种支持定浮点可重构的横向求和网络结构 |
CN102866875B (zh) * | 2012-10-05 | 2016-03-02 | 刘杰 | 多操作数加法器 |
CN103762974B (zh) * | 2014-01-26 | 2016-09-14 | 无锡中微亿芯有限公司 | 多功能可配置的六输入查找表结构 |
US10715144B2 (en) * | 2019-06-06 | 2020-07-14 | Intel Corporation | Logic circuits with augmented arithmetic densities |
-
2020
- 2020-01-13 CN CN202010029711.7A patent/CN111258538B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104020980A (zh) * | 2008-04-28 | 2014-09-03 | 阿尔特拉公司 | 可配置的混合加法器电路 |
Also Published As
Publication number | Publication date |
---|---|
CN111258538A (zh) | 2020-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111258538B (zh) | 一种基于fpga的大位宽高性能加法器电路 | |
US9292474B1 (en) | Configurable hybrid adder circuitry | |
Sureka et al. | An efficient high speed Wallace tree multiplier | |
US10649731B2 (en) | Integrated circuits with specialized processing blocks for performing floating-point fast fourier transforms and complex multiplication | |
US7617269B2 (en) | Logic entity with two outputs for efficient adder and other macro implementations | |
US10715144B2 (en) | Logic circuits with augmented arithmetic densities | |
Eldafrawy et al. | FPGA logic block architectures for efficient deep learning inference | |
US7100141B1 (en) | Technology mapping technique for fracturable logic elements | |
CN107885485B (zh) | 一种基于超前进位实现快速加法的可编程逻辑单元结构 | |
US5867415A (en) | Multiplication element including a wallace tree circuit having adders divided into high and low order adders | |
Parandeh-Afshar et al. | Improving FPGA performance for carry-save arithmetic | |
Sankar et al. | Design of Wallace tree multiplier by Sklansky adder | |
US6750674B1 (en) | Carry chain for use between logic modules in a field programmable gate array | |
Mhaidat et al. | A new efficient reduction scheme to implement tree multipliers on FPGAs | |
Ohta et al. | New FPGA architecture for bit-serial pipeline datapath | |
CN111752529B (zh) | 支持高效乘累加运算的可编程逻辑单元结构 | |
Kamp et al. | Efficient implementation of fast redundant number adders for long word-lengths in FPGAs | |
Joel et al. | Design of Low Power High Speed Hybrid Adder Using Gdi Technique | |
Balasubramanian et al. | A delay improved gate level full adder design | |
Anitha et al. | Comparative study of Braun’s multiplier using FPGA devices | |
Rao et al. | Advanced multiplier design and implementation using Hancarlson adder | |
Quan et al. | A novel reconfigurable architecture of low-power unsigned multiplier for digital signal processing | |
Anusha et al. | A comparative study of high speed CMOS adders using microwind and FPGA | |
Ahmed et al. | Reconfigurable Systolic-based Pyramidal Neuron Block for CNN Acceleration on FPGA | |
Dash | Novel Adders for Xilinx Versal FPGAs |
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 |