CN111258538B - 一种基于fpga的大位宽高性能加法器电路 - Google Patents

一种基于fpga的大位宽高性能加法器电路 Download PDF

Info

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
Application number
CN202010029711.7A
Other languages
English (en)
Other versions
CN111258538A (zh
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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN202010029711.7A priority Critical patent/CN111258538B/zh
Publication of CN111258538A publication Critical patent/CN111258538A/zh
Application granted granted Critical
Publication of CN111258538B publication Critical patent/CN111258538B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/50Adding; Subtracting
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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的大位宽高性能加法器电路
技术领域
本发明涉及集成电路技术领域,具体涉及一种针对大位宽需求,基于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通过可编程互连线与求和计算模块连接。
CN202010029711.7A 2020-01-13 2020-01-13 一种基于fpga的大位宽高性能加法器电路 Active CN111258538B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104020980A (zh) * 2008-04-28 2014-09-03 阿尔特拉公司 可配置的混合加法器电路

Family Cites Families (7)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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