CN106708467A - 一种宽位累加器电路及其设计方法、可编程逻辑器件 - Google Patents

一种宽位累加器电路及其设计方法、可编程逻辑器件 Download PDF

Info

Publication number
CN106708467A
CN106708467A CN201611131486.8A CN201611131486A CN106708467A CN 106708467 A CN106708467 A CN 106708467A CN 201611131486 A CN201611131486 A CN 201611131486A CN 106708467 A CN106708467 A CN 106708467A
Authority
CN
China
Prior art keywords
data
output
adder
selector
input
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
Application number
CN201611131486.8A
Other languages
English (en)
Other versions
CN106708467B (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.)
Shenzhen Pango Microsystems Co Ltd
Original Assignee
Shenzhen Pango Microsystems 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 Shenzhen Pango Microsystems Co Ltd filed Critical Shenzhen Pango Microsystems Co Ltd
Priority to CN201611131486.8A priority Critical patent/CN106708467B/zh
Publication of CN106708467A publication Critical patent/CN106708467A/zh
Application granted granted Critical
Publication of CN106708467B publication Critical patent/CN106708467B/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
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination

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)
  • Advance Control (AREA)
  • Logic Circuits (AREA)

Abstract

本发明提供了一种宽位累加器电路及其设计方法、可编程逻辑器件,该宽位累加器电路包括第一输入端A、第二输入端B、第三输入端C、第四输入端PI、第一输出端P0、第一加法器以及与所述第一输入端A、第二输入端B及第三输入端C连接的第一支路、与第四输入端PI连接的第二支路、与第一输出端P0连接的第三支路,所述第一加法器将第一支路的输出结果与所述第二支路的输出结果进行运算,通过第三支路输出第一并行数据;第一支路、第二支路及第三支路由硬核配置形成。通过本发明的实施,直接通过硬核配置可直接实现的宽位累加器,不需要通过外部的寄存器和绕线,减少寄存器输出到逻辑运算单元之间的延时,使其时序性能优于通过软IP实现的累加器。

Description

一种宽位累加器电路及其设计方法、可编程逻辑器件
技术领域
本发明涉及FPGA(Field Programmable Gate Array,可编程逻辑器件)技术领域,尤其涉及一种宽位累加器电路及其设计方法、可编程逻辑器件。
背景技术
累加器,在运算器中,是专门可用来存放算术或逻辑运算的一个操作数和运算结果的寄存器,能进行加、减、读出、移位、循环移位和求补等操作,是运算器的主要组成部分。在数字***中也有着广泛的应用,是诸多数字***数据通路中的重要运算部件,尤其是在高性能微处理器、数字信号处理器、图形图像***、科学计算以及某些特定数据处理设备中更是不可或缺的组成部分,有着举足轻重的地位,常常会成为***性能的瓶颈。
目前,在现有的FPGA中DSP(Digital Signal Processor,数字信号处理器)内嵌有累加器功能,但是DSP内嵌的累加器都是固定的,在实际应用中,若需求宽位累加器时,则需要借助DSP外部资源配置来进行实现,这会消耗大量FPGA的绕线资源,同时因为DSP外部绕线长度增加,会增大寄存器到DSP的延迟,从而会影响实现累加器的最高时钟频率。
因此,本领域技术人员亟待提供一种宽位累加器,以解决现有的宽位累加器需要通过借助外部配置资源实现的技术问题。
发明内容
本发明提供了一种宽位累加器电路及其设计方法、可编程逻辑器件,以解决现有累加器需要借助DSP外部电路配置资源才能实现的技术问题。
为解决上述技术问题,本发明提供了一种宽位累加器电路,包括:第一输入端A、第二输入端B、第三输入端C、第四输入端PI、第一输出端P0、第一加法器以及与所述第一输入端A、第二输入端B及第三输入端C连接的第一支路、与所述第四输入端PI连接的第二支路、与所述第一输出端P0连接的第三支路,所述第一加法器将所述第一支路的输出结果与所述第二支路的输出结果进行运算,通过所述第三支路输出第一并行数据;
所述第一支路包括乘法器和第一选择器,所述乘法器用于将所述第一输入端A和第二输入端B输入的数据进行乘法运算,得到第一运算数据,并输出至所述第一选择器,所述第一选择器根据第一选择信号sel0从所述第一运算数据和所述第三输入端C输入的数据两个数据中选择一个数据输出至所述第一加法器;
所述第二支路包括第二选择器,所述第二选择器用于根据第二选择信号sel1从所述第四输入端PI输入的至少三个数据中选择一个数据输出至所述第一加法器;
所述第三支路包括第一输出寄存器preg1,所述第一输出寄存器preg1的输入端与所述第一加法器的输出端连接,所述第一输出寄存器preg1的输出端与所述第一输出端P0连接,用于输出第一并行数据。
进一步的,所述宽位累加器电路还包括第四支路,所述第四支路与所述第一加法器的输出端连接,用于将所述第一加法器输出的第一输出级联数据进行运算,输出第二并行数据。
进一步的,所述第四支路包括第三选择器、第二加法器、第二输出寄存器preg2以及与所述第二输出寄存器preg2连接的第二输出端P1,所述第三选择器根据第三选择信号sel2选择由所述第一输出级联数据经过右移M位得到的级联数据输出至所述第二加法器,所述第二加法器将所述第三选择器输出的右移M位得到的级联数据与所述第二输出寄存器preg2输出的数据进行加法运算,并输出至所述第二输出寄存器preg2。
进一步的,若所述第四输入端PI输入的至少三个数据包括:由第一输入级联数据右移M位得到的级联数据、所述第一输出寄存器preg1输出的数据以及所述第一输出寄存器preg1输出的数据的低M位数据三个数据时,所述第二选择器为三选一选择器,所述三选一选择器根据第二选择信号sel1从该三个数据中选择一个输出给所述第一加法器。
进一步的,当所述第一选择信号sel0为所述第一运算数据的选择信号,所述第二选择信号sel1为所述第一输出寄存器preg1输出的数据的选择信号时,所述第一加法器将所述第一运算数据与所述第一输出寄存器preg1输出的数据进行加法运算,输出运算结果至所述第一输出寄存器preg1,得到第一并行数据。
进一步的,当所述第一选择信号sel0为所述第一运算数据的选择信号,所述第二选择信号sel1为所述第一输出寄存器preg1输出的数据的低M位数据的选择信号时,所述第一加法器将所述第一运算数据与所述第一输出寄存器preg1输出的数据的低M位数据进行加法运算,输出运算结果至所述第一输出寄存器preg1,得到第三并行数据。
进一步的,当所述第一选择信号sel0为所述第一运算数据的选择信号,所述第二选择信号sel1为所述第一输出寄存器preg1输出的数据的低M位数据的选择信号,所述第三选择信号sel2为由所述第一输出级联数据经过右移M位得到的级联数据的选择信号时,所述第一加法器将所述第一运算数据与所述第一输出寄存器preg1输出的数据的低M位数据进行加法运算,所述第一加法器根据运算结果输出第一输出级联数据至所述第三选择器,所述第三选择器与所述第二加法器连接,将经过右移M位得到的第一输出级联数据输出至所述第二加法器,所述第二加法器将所述右移M位得到的第一输出级联数据与所述第二输出寄存器preg2输出的数据进行加法运算,输出运算结果至所述第二输出寄存器preg2,得到第四并行数据。
为了解决上述技术问题,本发明还提供了一种可编程逻辑器件,包括如上所述的宽位累加器电路。
为了解决上述技术问题,本发明还提供了一种宽位累加器电路设计方法,所述宽位累加器电路包括第一支路、第二支路、第一输出寄存器preg1、与所述第一输出寄存器preg1连接的第一输出端P0和第一加法器,其特征在于,所述方法包括:
在所述第一支路上设置乘法器和第一选择器,所述乘法器将第一输入端A和第二输入端B输入的数据进行乘法运算得到的第一运算数据输出至所述第一选择器,所述第一选择器根据第一选择信号sel0从所述第一运算数据和第三输入端C输入的数据两个数据中选择一个数据输出至所述第一加法器;
在所述第二支路上设置第二选择器,其中所述第二选择器为三选一选择器,所述第二选择器用于根据第二选择信号sel1从第四输入端PI输入的至少三个数据中选择一个数据输出至所述第一加法器,所述第一加法器将根据所述第一选择器输出的数据与所述第二选择器输出的数据进行运算,通过所述第一输出寄存器preg1输出第一并行数据;
在所述第一加法器的输出端上设置第四支路,所述第四支路与所述第一加法器的输出端连接,用于将所述第一加法器输出的第一输出级联数据进行运算,输出第二并行数据。
进一步的,所述在所述第一加法器和所述第一输出寄存器preg1之间设置第四支路包括:在所述第一加法器的输出端上设置第三选择器、第二加法器、第二输出寄存器preg2以及与所述第二输出寄存器preg2连接的第二输出端P1,所述第三选择器根据第三选择信号sel2选择由所述第一输出级联数据经过右移M位得到的级联数据输出至所述第二加法器,所述第二加法器将所述第三选择器输出的右移M位得到的级联数据与所述第二输出寄存器preg2输出的数据进行加法运算,并输出至所述第二输出寄存器preg2,所述第二输出寄存器preg2输出第二并行数据。
本发明的有益效果是:
本发明提供了一种宽位累加器电路及其设计方法、可编程逻辑器件,直接通过配置可实现宽位累加器能节省数字逻辑处理模块外的FPGA绕线资源和寄存器资源;进一步的,可通过硬核直接配置支持宽位累加器功能,节省软IP资源;进一步地,通过硬核配置可直接实现的宽位累加器,不需要通过外部的寄存器和绕线,减少寄存器输出到逻辑运算单元之间的延时,使其时序性能优于通过软IP实现的累加器。
附图说明
图1为本发明第一实施例提供的宽位累加器电路的电路连接示意图;
图2为本发明第一实施例提供的2个级联输出的宽位累加器电路的电路连接示意图;
图3为本发明第一实施例提供的输出最大位宽48比特的宽位累加器电路的电路连接示意图;
图4为本发明第一实施例提供的输出最大位宽66比特的宽位累加器电路的电路连接示意图;
图5为本发明第二实施例提供的宽位累加器电路的设计方法流程图。
具体实施方式
下面通过具体实施方式结合附图对本发明提出的方案作进一步详细说明。
第一实施例:
请参见图1,图1为本发明第一实施例提供的宽位累加器电路的电路连接示意图,由图1可知,在本实施例中,本发明提供的宽位累加器电路包括:第一输入端A、第二输入端B、第三输入端C、第四输入端PI、第一输出端P0、第一加法器adder0以及与所述第一输入端A、第二输入端B以及第三输入端C连接的第一支路、与所述第四输入端PI连接的第二支路、与所述第一输出端P0连接的第三支路,其中,第一加法器adder0adder0的两个输入端分别与第一支路和第二支路的输出端连接,用于将第一支路和第二支路的输出结果进行运算处理,根据运算结果输出第一输出级联数据,并且所述第一加法器adder0还将输出的第一输出级联数据输出至所述第三支路,通过第一输出端P0输出第一并行数据。
如图1所示,所述第一支路包括乘法器multipler和第一选择器mux0,所述乘法器multipler的输出端分别与所述第一输入端A和第二输入端B连接,用于接收通过所述第一输入端A和第二输入端B并行输入的数据,并将接收到的两个数据进行乘法运算,得到第一运算数据;进一步的,所述乘法器multipler将所述第一运算数据输出至所述第一选择器mux0中的其中一个输入端,所述第一选择器mux0的另一个输入端与所述第三输入端C连接,所述第一选择器mux0根据第一选择信号sel0从所述乘法器multipler输出的第一运算数据以及第三输入端C输入的数据两个数据中选择一个数据输出至所述第一加法器adder0。
所述第二支路包括第二选择器mux1,所述第二选择器mux1的输入端与第四输入端PI连接,输出端与所述第一加法器adder0的输入端连接,用于根据第二选择信号sel1从所述第四输入端PI输入的至少三个数据中选择一个数据输出至所述第一加法器adder0。
所述第三支路包括第一输出寄存器preg1,所述第一输出寄存器preg1的输入端与所述第一加法器adder0的输出端连接,所述第一输出寄存器preg1的输出端与所述第一输出端P0连接,用于输出第一并行数据。
如图2所示,所述宽位累加器电路还包括第四支路,所述第四支路与所述第一加法器adder0的输出端连接,用于将所述第一加法器adder0输出的第一输出级联数据进行运算,输出第二并行数据。
具体的,所述第四支路包括第三选择器mux2、第二加法器adder1、第二输出寄存器preg2以及与所述第二输出寄存器preg2连接的第二输出端P1,其中,优选的,所述第三选择器mux2采用三选一选择器,所述第三选择器mux2的输入端与第一加法器adder0的输出端连接,输出端与所述第二加法器adder1的输入端连接,所述第二加法器adder1的输出端与所述第二输出寄存器preg2连接,所述第二输出端P1与所述第二输出寄存器preg2的输出端连接。
在本实施例中,所述第三选择信号sel2为选择右移后的级联数据时,所述第三选择器mux2用于根据第三选择信号sel2选择由所述第一输出级联数据经过右移M位得到的级联数据输出至所述第二加法器adder1,所述第二加法器adder1将所述第三选择器mux2输出的右移M位得到的级联数据与所述第二输出寄存器preg2输出的数据进行加法运算,并输出至所述第二输出寄存器preg2,所述第二输出寄存器preg2输出第二并行数据。
在本实施例中,若所述第四输入端PI输入的至少三个数据包括:由第一输入级联数据右移M位得到的级联数据、所述第一输出寄存器preg1输出的数据以及所述第一输出寄存器preg1输出的数据的低M位数据三个数据时,所述第二选择器mux1为三选一选择器,所述三选一选择器根据第二选择信号sel1从该三个数据中选择一个输出给所述第一加法器adder0,优选的,该M为大于等于18且小于48(18≤M<48)的正整数。
进一步的,所述第三输入端C和第四输入端PI可以为合并,具体的,当所述第三输入端C输入的数据同为所述第一输出寄存器preg1输出的数据时,所述第三输入端C和第四输入端PI可以共用。
如图3所示,为输出最大位宽48比特的宽位累加器电路示意图,若所述第一输入端A和第二输入端B输入的数据均为18比特的数据A[17:0]和B[17:0],且所述第一选择器mux0、第二选择器mux1对应的选择信号分别为:当所述第一选择信号sel0为所述第一运算数据的选择信号,所述第二选择信号sel1为所述第一输出寄存器preg1输出的数据的选择信号时,所述第一加法器adder0将所述第一运算数据与所述第一输出寄存器preg1输出的数据Pr[47:0]进行加法运算,输出运算结果至所述第一输出寄存器preg1,得到第一并行数据P0[47:0],其对应的计算公式为:P0[47:0]=Pr[47:0]+A[17:0]*B[17:0]。
如图4所示,为输出最大位宽66比特的宽位累加器电路的示意图,具体的实现66比特的输出具体的通过2个级联的输出来实现,其中第一个级联输出的数据P1为18比特,第2个级联输出的数据P2为48比特,2个级联输出相叠加起来刚好为最大的并行输出66比特。
当所述第一选择信号sel0为所述第一运算数据的选择信号,所述第二选择信号sel1为所述第一输出寄存器preg1输出的数据的低M位数据的选择信号时,所述第一加法器adder0将所述第一运算数据与所述第一输出寄存器preg1输出的数据的低M位数据{30'h0,Pr0[17:0]}进行加法运算,输出运算结果至所述第一输出寄存器preg1,得到第三并行数据P1[17:0],其对应的计算公式为:P1[17:0]={30'h0,Pr0[17:0]}+A[17:0]*B[17:0]。
进一步的,在所述第一选择信号sel0为所述第一运算数据的选择信号,所述第二选择信号sel1为所述第一输出寄存器preg1输出的数据的低M位数据的选择信号的基础上,所述第三选择信号sel2为由所述第一输出级联数据经过右移M位得到的级联数据的选择信号时,所述第一加法器adder0根据运算结果输出第一输出级联数据PO[47:0]至所述第三选择器mux2,所述第三选择器mux2根据第三选择信号首先将第一输出级联数据右移18位后,得到右移级联数据PO[47:0]>>>18,并选择该右移级联数据输出PO[47:0]>>>18至所述第二加法器adder1,所述第二加法器adder1将所述右移18位得到的级联数据与所述第二输出寄存器preg2输出的数据Pr1[47:0]进行加法运算,输出运算结果至所述第二输出寄存器preg2,得到第四并行数据P2[65:18]=Pr1[47:0]+PO[47:0]>>>18。
对应的,本发明还提供了一种可编程逻辑器件,其包括本实施例提供的宽累加器电路,所述宽累加器电路中的第一支路、第二支路、第三支路、第四支路、乘法器multipler、选择器通过所述可编程逻辑器件的硬核配置来实现。
本实施例提供的宽位累加器电路,通过硬核配置可直接实现的宽位累加器,不需要通过外部的寄存器和绕线,解决了现有累加器需要借助DSP外部电路配置资源才能实现的问题,同时也减少寄存器输出到逻辑运算单元之间的延时,使其时序性能优于通过软IP实现的累加器。
第二实施例:
图5为本发明第饿实施例提供的宽位累加器电路设计方法的流程图,请参考图5,该宽位累加器电路包括:第一支路、第二支路、第一输出寄存器preg1、与所述第一输出寄存器preg1连接的第一输出端P0和第一加法器adder0,在设计该电路时,具体是通过硬核配置来实现,其配置设计流程如下所示:
S501,在所述第一支路上设置乘法器multipler和第一选择器mux0。
在该步骤中,通过硬核配置为第一支路配置有乘法器multipler和二选一选择器,将所述乘法器multipler的两个输入端分别与第一输入端A、第二输入端B连接,用于接收两个输入端输入的数据A[17:0]和B[17:0],并且将A[17:0]和B[17:0]进行乘法运算,得到第一运算数据输出至二选一选择器,所述二选一选择器根据第一选择信号sel0从所述第一运算数据和第三输入端C输入的数据Pr[47:0]两个数据中选择一个数据输出至所述第一加法器adder0。
S502,在所述第二支路上设置第二选择器mux1。
在该步骤中,通过硬核配置为第二支路配置三选一选择器,在所述三选一选择器的输入端中输入三个数据,包括由第一输入级联数据右移M位得到的级联数据、所述第一输出寄存器preg1输出的数据以及所述第一输出寄存器preg1输出的数据的低M位数据三个数据,所述三选一选择器根据第二选择信号sel1从该三个数据中选择一个输出给所述第一加法器adder0。
S503,判断所述第一选择信号sel0和第二选择信号sel1是否满足第一条件,若满足,则输出第一并行数据。
在该步骤中,具体的所述第一选择信号sel0和第二选择信号sel1满足第一条件为:当所述第一选择信号sel0为所述第一运算数据的选择信号,所述第二选择信号sel1为所述第一输出寄存器preg1输出的数据的选择信号时,所述第一加法器adder0将所述第一运算数据与所述第一输出寄存器preg1输出的数据进行加法运算,输出运算结果至所述第一输出寄存器preg1,得到第一并行数据。
在本实施例中,当宽位累加器电路只需要输出最大数据为48比特时,只需要通过执行步骤S501-S503即可实现,通过控制第一选择器mux0选择输出乘法器multipler的运算结果,以及控制所述第二选择器mux1选择输出第一输出寄存器preg1输出的数据,即可实现一个最大输出为48比特的宽位累加器,具体电路连接如图3所示。
但是,若输出的数据为大于48比特时,则还需要在通过步骤S501-S503设计的宽位累加器电路的基础上,再增加一级输出,具体如步骤S504-S507。
S504,在所述第一加法器adder0的输出端上设置第四支路。
在该步骤中,具体是通过硬核配置在所述第一加法器adder0的输出端上设置第三选择器mux2、第二加法器adder1、第二输出寄存器preg2以及与所述第二输出寄存器preg2连接的第二输出端P1,所述第三选择器mux2根据第三选择信号sel2选择由所述第一输出级联数据经过右移M位得到的级联数据输出至所述第二加法器adder1,所述第二加法器adder1将所述第三选择器mux2输出的右移M位得到的级联数据与所述第二输出寄存器preg2输出的数据进行加法运算,并输出至所述第二输出寄存器preg2。
S505,判断所述第一选择信号sel0和第二选择信号sel1是否满足第二条件,若满足,则输出第三并行数据。
当所述第一选择信号sel0为所述第一运算数据的选择信号,所述第二选择信号sel1为所述第一输出寄存器preg1输出的数据的低M位数据的选择信号时,所述第一加法器adder0将所述第一运算数据与所述第一输出寄存器preg1输出的数据的低M位数据进行加法运算,输出运算结果至所述第一输出寄存器preg1,得到第三并行数据。
S506,在步骤S505的基础上,选择第三选择信号sel2为由所述第一输出级联数据经过右移M位得到的级联数据的选择信号。
S507,根据第三选择信号sel2,所述第四支路将所述第一加法器adder0输出的第一输出级联数据进行运算,输出第四并行数据。
具体的,该第二并行数据是通过2个级联的输出来实现,其中第1个级联输出的数据P1为18比特,第2个级联输出的数据P2为48比特,2个级联输出相叠加起来刚好为最大的并行输出66比特。
首先,第1个级联输出是由所述第一加法器adder0将所述第一运算数据与所述第一输出寄存器preg1输出的数据的低M位数据进行加法运算,输出运算结果至所述第一输出寄存器preg1,得到第三并行数据。
在第一个级联输出完成后,由第2个级联输出继续输出,具体是由所述第一加法器adder0根据运算结果输出第一输出级联数据至所述第三选择器mux2,将经过右移M位得到的第一输出级联数据输出至所述第二加法器adder1,所述第二加法器adder1将所述右移M位得到的第一输出级联数据与所述第二输出寄存器preg2输出的数据进行加法运算,输出运算结果至所述第二输出寄存器preg2,得到第四并行数据。
通过第1个级联和第2个级联的交替输出,从而实现了最高输出位数达到66比特的并行数据。
综上所述,通过本发明的实施,至少存在以下有益效果:
本发明提供了一种宽位累加器电路及其设计方法、可编程逻辑器件,直接通过硬核配置可实现宽位累加器,不仅能节省数字逻辑处理模块外的FPGA绕线资源和寄存器资源,还可以节省软IP资源;进一步地,通过硬核配置可直接实现的宽位累加器,不需要通过外部的寄存器和绕线,减少寄存器输出到逻辑运算单元之间的延时,使其时序性能优于通过软IP实现的累加器。
以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (10)

1.一种宽位累加器电路,其特征在于,包括:第一输入端A、第二输入端B、第三输入端C、第四输入端PI、第一输出端P0、第一加法器以及与所述第一输入端A、第二输入端B及第三输入端C连接的第一支路、与所述第四输入端PI连接的第二支路、与所述第一输出端P0连接的第三支路,所述第一加法器将所述第一支路的输出结果与所述第二支路的输出结果进行运算,通过所述第三支路输出第一并行数据;
所述第一支路包括乘法器和第一选择器,所述乘法器用于将所述第一输入端A和第二输入端B输入的数据进行乘法运算,得到第一运算数据,并输出至所述第一选择器,所述第一选择器根据第一选择信号sel0从所述第一运算数据和所述第三输入端C输入的数据两个数据中选择一个数据输出至所述第一加法器;
所述第二支路包括第二选择器,所述第二选择器用于根据第二选择信号sel1从所述第四输入端PI输入的至少三个数据中选择一个数据输出至所述第一加法器;
所述第三支路包括第一输出寄存器preg1,所述第一输出寄存器preg1的输入端与所述第一加法器的输出端连接,所述第一输出寄存器preg1的输出端与所述第一输出端P0连接,用于输出第一并行数据。
2.根据权利要求1所述的宽位累加器电路,其特征在于,还包括第四支路,所述第四支路与所述第一加法器的输出端连接,用于将所述第一加法器输出的第一输出级联数据进行运算,输出第二并行数据。
3.根据权利要求2所述的宽位累加器电路,其特征在于,所述第四支路包括第三选择器、第二加法器、第二输出寄存器preg2以及与所述第二输出寄存器preg2连接的第二输出端P1,所述第三选择器根据第三选择信号sel2选择由所述第一输出级联数据经过右移M位得到的级联数据输出至所述第二加法器,所述第二加法器将所述第三选择器输出的右移M位得到的级联数据与所述第二输出寄存器preg2输出的数据进行加法运算,并输出至所述第二输出寄存器preg2。
4.根据权利要求3所述的宽位累加器电路,其特征在于,若所述第四输入端PI输入的至少三个数据包括:由第一输入级联数据右移M位得到的级联数据、所述第一输出寄存器preg1输出的数据以及所述第一输出寄存器preg1输出的数据的低M位数据三个数据时,所述第二选择器为三选一选择器,所述三选一选择器根据第二选择信号sel1从该三个数据中选择一个输出给所述第一加法器。
5.根据权利要求4所述的宽位累加器电路,其特征在于,当所述第一选择信号sel0为所述第一运算数据的选择信号,所述第二选择信号sel1为所述第一输出寄存器preg1输出的数据的选择信号时,所述第一加法器将所述第一运算数据与所述第一输出寄存器preg1输出的数据进行加法运算,输出运算结果至所述第一输出寄存器preg1,得到第一并行数据。
6.根据权利要求4所述的宽位累加器电路,其特征在于,当所述第一选择信号sel0为所述第一运算数据的选择信号,所述第二选择信号sel1为所述第一输出寄存器preg1输出的数据的低M位数据的选择信号时,所述第一加法器将所述第一运算数据与所述第一输出寄存器preg1输出的数据的低M位数据进行加法运算,输出运算结果至所述第一输出寄存器preg1,得到第三并行数据。
7.根据权利要求4所述的宽位累加器电路,其特征在于,当所述第一选择信号sel0为所述第一运算数据的选择信号,所述第二选择信号sel1为所述第一输出寄存器preg1输出的数据的低M位数据的选择信号,所述第三选择信号sel2为由所述第一输出级联数据经过右移M位得到的级联数据的选择信号时,所述第一加法器将所述第一运算数据与所述第一输出寄存器preg1输出的数据的低M位数据进行加法运算,所述第一加法器根据运算结果输出第一输出级联数据至所述第三选择器,所述第三选择器与所述第二加法器连接,将经过右移M位得到的第一输出级联数据输出至所述第二加法器,所述第二加法器将所述右移M位得到的第一输出级联数据与所述第二输出寄存器preg2输出的数据进行加法运算,输出运算结果至所述第二输出寄存器preg2,得到第四并行数据。
8.一种可编程逻辑器件,其特征在于,包括:如权利要求1至9任一项所述的宽位累加器电路。
9.一种宽位累加器电路设计方法,所述宽位累加器电路包括第一支路、第二支路、第一输出寄存器preg1、与所述第一输出寄存器preg1连接的第一输出端P0和第一加法器,其特征在于,所述方法包括:
在所述第一支路上设置乘法器和第一选择器,所述乘法器将第一输入端A和第二输入端B输入的数据进行乘法运算得到的第一运算数据输出至所述第一选择器,所述第一选择器根据第一选择信号sel0从所述第一运算数据和第三输入端C输入的数据两个数据中选择一个数据输出至所述第一加法器;
在所述第二支路上设置第二选择器,其中所述第二选择器为三选一选择器,所述第二选择器用于根据第二选择信号sel1从第四输入端PI输入的至少三个数据中选择一个数据输出至所述第一加法器,所述第一加法器将根据所述第一选择器输出的数据与所述第二选择器输出的数据进行运算,通过所述第一输出寄存器preg1输出第一并行数据;
在所述第一加法器的输出端上设置第四支路,所述第四支路与所述第一加法器的输出端连接,用于将所述第一加法器输出的第一输出级联数据进行运算,输出第二并行数据。
10.根据权利要求9所述的宽位累加器电路设计方法,其特征在于,所述在所述第一加法器和所述第一输出寄存器preg1之间设置第四支路包括:在所述第一加法器的输出端上设置第三选择器、第二加法器、第二输出寄存器preg2以及与所述第二输出寄存器preg2连接的第二输出端P1,所述第三选择器根据第三选择信号sel2选择由所述第一输出级联数据经过右移M位得到的级联数据输出至所述第二加法器,所述第二加法器将所述第三选择器输出的右移M位得到的级联数据与所述第二输出寄存器preg2输出的数据进行加法运算,并输出至所述第二输出寄存器preg2,所述第二输出寄存器preg2输出第二并行数据。
CN201611131486.8A 2016-12-09 2016-12-09 一种宽位累加器电路及其设计方法、可编程逻辑器件 Active CN106708467B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611131486.8A CN106708467B (zh) 2016-12-09 2016-12-09 一种宽位累加器电路及其设计方法、可编程逻辑器件

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611131486.8A CN106708467B (zh) 2016-12-09 2016-12-09 一种宽位累加器电路及其设计方法、可编程逻辑器件

Publications (2)

Publication Number Publication Date
CN106708467A true CN106708467A (zh) 2017-05-24
CN106708467B CN106708467B (zh) 2019-02-01

Family

ID=58936383

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611131486.8A Active CN106708467B (zh) 2016-12-09 2016-12-09 一种宽位累加器电路及其设计方法、可编程逻辑器件

Country Status (1)

Country Link
CN (1) CN106708467B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108255463A (zh) * 2017-12-28 2018-07-06 深圳市紫光同创电子有限公司 一种数字逻辑运算方法、电路和fpga芯片
CN111752529A (zh) * 2020-06-30 2020-10-09 无锡中微亿芯有限公司 支持高效乘累加运算的可编程逻辑单元结构

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050003026A (ko) * 2003-06-30 2005-01-10 주식회사 대우일렉트로닉스 적산기를 이용한 디지털 필터 및 그 필터링 방법
JP2005216124A (ja) * 2004-01-30 2005-08-11 Mitsubishi Electric Corp 行列演算装置
US7304593B2 (en) * 2005-07-25 2007-12-04 Micronas Gmbh Linearization circuit with digital element matching for digital-to-analog converters
CN101282322A (zh) * 2008-03-05 2008-10-08 中科院嘉兴中心微***所分中心 一种应用于无线中程传感网物理层的内插数字滤波器装置
US7606292B1 (en) * 2005-05-24 2009-10-20 L-3 Communications Corporation Sub-sequence accumulation filter and method
CN103543440A (zh) * 2013-10-21 2014-01-29 南京理工大学 基于fpga可编程延时电路的数字波束形成装置与方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050003026A (ko) * 2003-06-30 2005-01-10 주식회사 대우일렉트로닉스 적산기를 이용한 디지털 필터 및 그 필터링 방법
JP2005216124A (ja) * 2004-01-30 2005-08-11 Mitsubishi Electric Corp 行列演算装置
US7606292B1 (en) * 2005-05-24 2009-10-20 L-3 Communications Corporation Sub-sequence accumulation filter and method
US7304593B2 (en) * 2005-07-25 2007-12-04 Micronas Gmbh Linearization circuit with digital element matching for digital-to-analog converters
CN101282322A (zh) * 2008-03-05 2008-10-08 中科院嘉兴中心微***所分中心 一种应用于无线中程传感网物理层的内插数字滤波器装置
CN103543440A (zh) * 2013-10-21 2014-01-29 南京理工大学 基于fpga可编程延时电路的数字波束形成装置与方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
吴太亮等: "基于FPGA的时域脉冲压缩器研究", 《制 导 与 引 信》 *
高清运等: "自适应滤波器的FPGA实现", 《电子测量与仪器学报》 *
龚绿怡等: "基于累加器的内建自测方法研究与分析", 《微电子学与计算机》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108255463A (zh) * 2017-12-28 2018-07-06 深圳市紫光同创电子有限公司 一种数字逻辑运算方法、电路和fpga芯片
CN108255463B (zh) * 2017-12-28 2020-12-22 深圳市紫光同创电子有限公司 一种数字逻辑运算方法、电路和fpga芯片
CN111752529A (zh) * 2020-06-30 2020-10-09 无锡中微亿芯有限公司 支持高效乘累加运算的可编程逻辑单元结构
CN111752529B (zh) * 2020-06-30 2021-12-07 无锡中微亿芯有限公司 支持高效乘累加运算的可编程逻辑单元结构

Also Published As

Publication number Publication date
CN106708467B (zh) 2019-02-01

Similar Documents

Publication Publication Date Title
CN106775581B (zh) 定序算术运算操作的方法和装置
US9747110B2 (en) Pipelined cascaded digital signal processing structures and methods
CN101154153B (zh) 位域操作电路
TWI804890B (zh) 時鐘樹電路、哈希引擎、計算晶片、算力板和資料處理設備
US10489116B1 (en) Programmable integrated circuits with multiplexer and register pipelining circuitry
CN112099761B (zh) 基于改进的二进制左移模逆算法的装置及其控制方法
US8732225B1 (en) Digital signal processing circuit blocks with support for systolic finite-impulse-response digital filtering
CN113064852A (zh) 一种可重构处理器及配置方法
CN112667292A (zh) 一种异步微流水线控制器
CN106708467B (zh) 一种宽位累加器电路及其设计方法、可编程逻辑器件
CN112639839A (zh) 神经网络的运算装置及其控制方法
CN105827217A (zh) 一种有限长冲激响应滤波电路及可编程逻辑器件
CN105262462A (zh) 一种用于集成电路的数字延时实现方法及电路
CN107544616A (zh) 用于相位对齐的2x频率时钟生成的方法和装置
US9966933B1 (en) Pipelined systolic finite impulse response filter
US20220261251A1 (en) Processing device with vector transformation execution
CN101253475A (zh) 可编程的数字滤波器
US6037801A (en) Method and apparatus for clocking a sequential logic circuit
US20150032952A1 (en) Low Power Shift Register
CN106020768B (zh) 用于高基数乘法器电路的组合的加法器和预加法器
US10410700B1 (en) Systems and method for a low-power correlator architecture using shifting coefficients
US7007059B1 (en) Fast pipelined adder/subtractor using increment/decrement function with reduced register utilization
US6941418B1 (en) Integrated circuit and method outputting data
CN112118019B (zh) 一种多通道信道化接收机及应用***
Lin et al. An design of the 16-order FIR digital filter based on FPGA

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant