CN111258538A - 一种基于fpga的大位宽的高性能加法器结构 - Google Patents
一种基于fpga的大位宽的高性能加法器结构 Download PDFInfo
- Publication number
- CN111258538A CN111258538A CN202010029711.7A CN202010029711A CN111258538A CN 111258538 A CN111258538 A CN 111258538A CN 202010029711 A CN202010029711 A CN 202010029711A CN 111258538 A CN111258538 A CN 111258538A
- Authority
- CN
- China
- Prior art keywords
- carry
- adder
- fpga
- generation circuit
- chain
- 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.)
- Granted
Links
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/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
Abstract
本发明公开一种基于FPGA的高性能加法器结构,目的是提供一种针对大位宽操作数和FPGA特点的新结构。本发明由进位产生电路和求和计算模块组成,充分发挥FPGA快速进位链的优势;进位产生电路采用了进位选择方法,利用进位压缩结构快速产生进位Ci,提高了查找表LUT的利用率,减少了所占用的资源;求和计算模块由占用资源最少的行波进位结构实现;在加法器映射到FPGA的过程中,合理的布局规划减少了可编程互连线的使用,缩短了加法器的计算延时。本发明在操作数的位宽较大时,与传统的加法器结构相比,性能更有优势。
Description
技术领域
本发明涉及集成电路技术领域,具体涉及一种针对大位宽需求,基于FPGA实现的高性能加法器结构。
背景技术
加法器是各种高性能计算模块或系统的关键部件。目前实现加法器的常用方法有行波进位加法器、选择进位加法器和超前进位加法器等。每种加法器结构各有其特点:行波进位加法器消耗的资源最少,超前进位加法器运算速度最快,选择进位加法器介于二者之间。但是随着操作数位宽的增大,这些加法器占用的资源越来越多,性能也越来越差。如今,加密运算等应用的操作数位宽越来越大,例如RSA加密方法的操作数位宽达到了1024bits(或2048bits),为了保证数据处理与运算的实时性,迫切需要高性能、大位宽的加法器。
FPGA(Field Programmable Gate Array),即现场可编程门阵列,是一种具有丰富的硬件资源、强大的并行处理能力和灵活的可配置可编程的逻辑器件。基于FPGA的加法器通常由进位链(carry chain)实现。但是由于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 ConfigurableLogic Blocks(CLBs)”。
进位产生电路和求和计算模块都利用了FPGA中的专用进位链,充分发挥了进位链的运算速度快的优势。
将加法器结构映射到FPGA芯片的过程中,如图6所示,采用了合理的布局布线尽可能减少对可编程互连线的使用,使加法器的延时进一步减小。
根据文献“Accelerating Computations on FPGA Carry Chains by OperandCompaction.”,Altera公司提供的FPGA中亦包含专用进位链,与Xilinx的FPGA相比,功能和特点一致,只是结构和布局上略有不同。因此,本发明亦适用于Altera的FPGA。
本发明的有益效果在于:与目前已有的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 (6)
1.一种基于FPGA的高性能加法器结构,其特征在于:针对加法器大位宽需求,结合进位选择方法和进位压缩结构,提出了一种基于FPGA快速进位链的进位产生电路;加法器的所述输出信号由求和计算模块产生,该模块亦是由FPGA快速进位链产生;当加法器的操作数达到1000位以上时,与其他加法器结构相比,该加法器结构在性能上具有明显的优势。
2.根据权利要求1所述的进位产生电路,其特征在于:加法器的操作数被分为n段,每一段可能的进位信号Ci_0/Ci_1由进位压缩结构产生,就Xilinx FPGA而言,该结构由进位链中的复用器以及6输入端、2个输出端的查找表LUT实现;然后,通过进位选择的方法快速计算出准确的进位信号Ci;整个电路充分发挥了FPGA的特点,因此,不仅减少了资源消耗,还降低了延迟时间。
3.根据权利要求1所述的求和计算模块,其特征在于:该模块采用行波进位方法,利用FPGA快速进位链就得到最终的和Si。
4.根据权利要求1所述的基于FPGA的高性能加法器结构,其特征在于:加法器的操作数被分为n段,根据FPGA的特点采用合理的布局,进位产生电路在进位链的下部,高度约占进位链的三分之一,求和计算模块在进位链的上部,高度约占进位链的三分之二。
5.根据权利要求1所述的基于FPGA的高性能加法器结构,其特征在于:进位产生电路输出的进位信号Ci通过可编程互连线与求和计算模块连接。
6.根据权利要求1所述的方法,其特征在于,所述高性能FPGA加法器结构同样适用于主流的Altera公司的FPGA。
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 true CN111258538A (zh) | 2020-06-09 |
CN111258538B 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) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112632878A (zh) * | 2020-12-10 | 2021-04-09 | 中山大学 | 一种基于fpga的高速低资源的二值卷积单元 |
CN113705135A (zh) * | 2021-07-20 | 2021-11-26 | 深圳市紫光同创电子有限公司 | 基于fpga进位链的电路结构优化方法及系统 |
CN116149599A (zh) * | 2023-03-30 | 2023-05-23 | 杭州雄迈集成电路技术股份有限公司 | 一种分步进位处理方法、系统、加法器 |
CN116436709A (zh) * | 2023-06-14 | 2023-07-14 | 浪潮电子信息产业股份有限公司 | 一种数据的加解密方法、装置、设备和介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101571796A (zh) * | 2008-04-28 | 2009-11-04 | 阿尔特拉公司 | 可配置的混合加法器电路 |
CN101847087A (zh) * | 2010-04-28 | 2010-09-29 | 中国科学院自动化研究所 | 一种支持定浮点可重构的横向求和网络结构 |
CN201663654U (zh) * | 2009-11-20 | 2010-12-01 | 深圳市同洲电子股份有限公司 | 一种非整数倍插值装置及信号调制系统 |
JP2011117300A (ja) * | 2009-10-22 | 2011-06-16 | Hiroyasu Tanigawa | 各種エネルギ保存サイクル合体機関 |
CN102707922A (zh) * | 1995-08-31 | 2012-10-03 | 英特尔公司 | 控制移位分组数据的位校正的装置 |
CN102866875A (zh) * | 2012-10-05 | 2013-01-09 | 刘杰 | 通用多操作数加法器 |
CN103762974A (zh) * | 2014-01-26 | 2014-04-30 | 中国电子科技集团公司第五十八研究所 | 多功能可配置的六输入查找表结构 |
US20190288688A1 (en) * | 2019-06-06 | 2019-09-19 | Intel Corporation | Logic circuits with augmented arithmetic densities |
-
2020
- 2020-01-13 CN CN202010029711.7A patent/CN111258538B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102707922A (zh) * | 1995-08-31 | 2012-10-03 | 英特尔公司 | 控制移位分组数据的位校正的装置 |
CN101571796A (zh) * | 2008-04-28 | 2009-11-04 | 阿尔特拉公司 | 可配置的混合加法器电路 |
CN104020980A (zh) * | 2008-04-28 | 2014-09-03 | 阿尔特拉公司 | 可配置的混合加法器电路 |
JP2011117300A (ja) * | 2009-10-22 | 2011-06-16 | Hiroyasu Tanigawa | 各種エネルギ保存サイクル合体機関 |
CN201663654U (zh) * | 2009-11-20 | 2010-12-01 | 深圳市同洲电子股份有限公司 | 一种非整数倍插值装置及信号调制系统 |
CN101847087A (zh) * | 2010-04-28 | 2010-09-29 | 中国科学院自动化研究所 | 一种支持定浮点可重构的横向求和网络结构 |
CN102866875A (zh) * | 2012-10-05 | 2013-01-09 | 刘杰 | 通用多操作数加法器 |
CN103762974A (zh) * | 2014-01-26 | 2014-04-30 | 中国电子科技集团公司第五十八研究所 | 多功能可配置的六输入查找表结构 |
US20190288688A1 (en) * | 2019-06-06 | 2019-09-19 | Intel Corporation | Logic circuits with augmented arithmetic densities |
Non-Patent Citations (6)
Title |
---|
SONG J: "A 64-bit lookahead carry chain in Inverted-Domino logic", 《ELECTRON DEVICES AND SOLID-STATE CIRCUITS》 * |
SONG J: "A 64-bit lookahead carry chain in Inverted-Domino logic", 《ELECTRON DEVICES AND SOLID-STATE CIRCUITS》, 31 December 2004 (2004-12-31), pages 1 * |
梁志栋: "基于FPGA的高性能长加法器设计研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
梁志栋: "基于FPGA的高性能长加法器设计研究", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 08, 15 August 2020 (2020-08-15), pages 135 - 199 * |
马怀冲: "轻量型算术运算电路单元设计与FPGA实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
马怀冲: "轻量型算术运算电路单元设计与FPGA实现", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 01, 15 January 2017 (2017-01-15), pages 135 - 153 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112632878A (zh) * | 2020-12-10 | 2021-04-09 | 中山大学 | 一种基于fpga的高速低资源的二值卷积单元 |
CN112632878B (zh) * | 2020-12-10 | 2023-11-24 | 中山大学 | 一种基于fpga的高速低资源的二值卷积单元 |
CN113705135A (zh) * | 2021-07-20 | 2021-11-26 | 深圳市紫光同创电子有限公司 | 基于fpga进位链的电路结构优化方法及系统 |
CN113705135B (zh) * | 2021-07-20 | 2023-11-07 | 深圳市紫光同创电子有限公司 | 基于fpga进位链的电路结构优化方法及系统 |
CN116149599A (zh) * | 2023-03-30 | 2023-05-23 | 杭州雄迈集成电路技术股份有限公司 | 一种分步进位处理方法、系统、加法器 |
CN116149599B (zh) * | 2023-03-30 | 2023-08-08 | 杭州雄迈集成电路技术股份有限公司 | 一种分步进位处理方法、系统、加法器 |
CN116436709A (zh) * | 2023-06-14 | 2023-07-14 | 浪潮电子信息产业股份有限公司 | 一种数据的加解密方法、装置、设备和介质 |
CN116436709B (zh) * | 2023-06-14 | 2023-08-29 | 浪潮电子信息产业股份有限公司 | 一种数据的加解密方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111258538B (zh) | 2023-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111258538A (zh) | 一种基于fpga的大位宽的高性能加法器结构 | |
Wey et al. | An area-efficient carry select adder design by sharing the common Boolean logic term | |
Sureka et al. | An efficient high speed Wallace tree multiplier | |
US7617269B2 (en) | Logic entity with two outputs for efficient adder and other macro implementations | |
US10649731B2 (en) | Integrated circuits with specialized processing blocks for performing floating-point fast fourier transforms and complex multiplication | |
Zicari et al. | A fast carry chain adder for Virtex-5 FPGAs | |
Vijay et al. | A review of the 0.09 µm standard full adders | |
CN107885485B (zh) | 一种基于超前进位实现快速加法的可编程逻辑单元结构 | |
Arunachalam et al. | Analysis of high speed multipliers | |
Sankar et al. | Design of Wallace tree multiplier by Sklansky adder | |
US5867415A (en) | Multiplication element including a wallace tree circuit having adders divided into high and low order adders | |
Dhanesha et al. | Array-of-arrays architecture for parallel floating point multiplication | |
US6750674B1 (en) | Carry chain for use between logic modules in a field programmable gate array | |
Sarmiento et al. | High speed primitives of hardware accelerators for DSP in GaAs technology | |
Balasubramanian et al. | A delay improved gate level full adder design | |
CN111752528B (zh) | 一种支持高效乘法运算的基本逻辑单元 | |
Joel et al. | Design of Low Power High Speed Hybrid Adder Using Gdi Technique | |
Anitha et al. | Comparative study of Braun’s multiplier using FPGA devices | |
Sharanya et al. | LOW AREA HIGH SPEED COMBINED MULTIPLIER USING MULTIPLEXER BASED FULL ADDER | |
Anand et al. | Low Power Full Adders based on Proposed Hybrid and GDI Designs: A Novel Approach | |
Karunakaran et al. | Power Optimized Multiplier Using Shannon Based Multiplexing Logic | |
SRAVANI et al. | Energy and Area Efficient Three-Input Full Adder with Systematic Cell Design Methodology | |
Dungavath et al. | Analysis of Low Power, Area-Efficient and High Speed Multiplier using Fast Adder | |
Sateesh et al. | Design of 4-2 Compressor using XOR–XNOR Blocks for High-Speed Arithmetic Circuits | |
Ughade et al. | Design of Han Carlson Adder for Implementation of CSLA |
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 |