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

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

Info

Publication number
CN106708467B
CN106708467B CN201611131486.8A CN201611131486A CN106708467B CN 106708467 B CN106708467 B CN 106708467B CN 201611131486 A CN201611131486 A CN 201611131486A CN 106708467 B CN106708467 B CN 106708467B
Authority
CN
China
Prior art keywords
data
output
adder
branch
selector
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
CN201611131486.8A
Other languages
English (en)
Other versions
CN106708467A (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至7任一项所述的宽位累加器电路。
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 CN106708467A (zh) 2017-05-24
CN106708467B true 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)

Families Citing this family (2)

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

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的时域脉冲压缩器研究;吴太亮等;《制 导 与 引 信》;20071231;第28卷(第4期);全文
基于累加器的内建自测方法研究与分析;龚绿怡等;《微电子学与计算机》;20031231;全文
自适应滤波器的FPGA实现;高清运等;《电子测量与仪器学报》;20050228;第19卷(第1期);全文

Also Published As

Publication number Publication date
CN106708467A (zh) 2017-05-24

Similar Documents

Publication Publication Date Title
CN106775581B (zh) 定序算术运算操作的方法和装置
US9747110B2 (en) Pipelined cascaded digital signal processing structures and methods
CN105335331B (zh) 一种基于大规模粗粒度可重构处理器的sha256实现方法及***
CN113064852B (zh) 一种可重构处理器及配置方法
CN101154153A (zh) 位域操作电路
CN106708467B (zh) 一种宽位累加器电路及其设计方法、可编程逻辑器件
CN112099761B (zh) 基于改进的二进制左移模逆算法的装置及其控制方法
CN104102470A (zh) 可配置可扩展的流水线乘累加器
US8543634B1 (en) Specialized processing block for programmable integrated circuit device
CN112639839A (zh) 神经网络的运算装置及其控制方法
CN106406813B (zh) 一种通用伺服控制算术逻辑单元
CN105827217A (zh) 一种有限长冲激响应滤波电路及可编程逻辑器件
CN103853524A (zh) 一种乘法器装置和实现乘法运算的方法
US20110153995A1 (en) Arithmetic apparatus including multiplication and accumulation, and dsp structure and filtering method using the same
US9966933B1 (en) Pipelined systolic finite impulse response filter
CN106505971A (zh) 一种基于结构加法器顺序重编排的低复杂度fir滤波器结构
US20160344373A1 (en) Resource-saving circuit structures for deeply pipelined systolic finite impulse response filters
US20160315620A1 (en) An extensible and configurable logic element, and an fpga device
CN101253475A (zh) 可编程的数字滤波器
US9893714B2 (en) Configurable FIR filter with segmented cells
CN208768081U (zh) 一种数据帧定位电路
CN100377077C (zh) 可旁通寄存器和使用该寄存器的流水线电路
CN106020768B (zh) 用于高基数乘法器电路的组合的加法器和预加法器
CN103716011B (zh) 有限冲击响应csd滤波器
US7622945B1 (en) Mix mode driver for traces of different lengths

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