CN103389903A - 一种功能可配置的数字信号处理单元 - Google Patents
一种功能可配置的数字信号处理单元 Download PDFInfo
- Publication number
- CN103389903A CN103389903A CN2012101404130A CN201210140413A CN103389903A CN 103389903 A CN103389903 A CN 103389903A CN 2012101404130 A CN2012101404130 A CN 2012101404130A CN 201210140413 A CN201210140413 A CN 201210140413A CN 103389903 A CN103389903 A CN 103389903A
- Authority
- CN
- China
- Prior art keywords
- symbol
- function
- digital signal
- signal processing
- processing unit
- 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.)
- Pending
Links
Images
Landscapes
- Complex Calculations (AREA)
Abstract
本发明提出一种用于可重构算子阵列的功能可配置的数字信号处理单元,包括:配置信息寄存器;输入数据符号处理及位扩展单元;输出数据符号处理及分割单元;操作数分配单元;三组用于流水化的寄存器组;三组可配置的加法器组和三组可配置的移位器组。所述功能可配置的数字信号处理单元能实现的功能包括:无符号加法、有符号加法、减法、无符号累加、有符号累加、累减、无符号乘法、有符号乘法、逻辑移位、算数移位、移位加、移位减。本发明以较小的面积代价得到功能扩展的数字信号处理单元,从而提高了其在可重构算子阵列中的利用率,减少了冗余的可能;同时在一些情况下降低了互联需求,从而提高了可重构算子阵列整体的面积利用率,提高效率。
Description
【技术领域】
本发明涉及集成电路技术,特别涉及一种功能可配置的数字信号处理单元。
【背景技术】
在数字信号处理领域算法中,如通信、图像处理等算法中,对于复杂的运算类型如乘法、浮点的需求较多,所以在一些硬件系统中均集成复杂的运算单元来提高数据处理的速度。
如图1所示的结构为一种可重构算子阵列结构100,内部由算术类算子101、逻辑类算子102、移位类算子103、dsp类算子104、多路选择器算子105、控制器算子106、寄存器算子107、存储器算子108组成,各类算子按照类型以列为一组,横向放置不同类别的可重构算子列组,可实现不同规模的可重构算子阵列结构。可重构算子之间通过互连资源实现连接。
其中dsp类算子即为支持复杂运算的单元。支持这些复杂运算的单元的面积较大,当在一些对复杂运算需求较少的应用中,而不能被利用,导致冗余,性能降低。为了提高这类复杂单元的利用率,从而使得在大多数领域均可体现该单元的价值,本专利提出了一种功能可配置的数字信号处理单元,可以支持复杂的乘法运算,还可支持简单的加、减、移位等常用运算。
【发明内容】
本发明的目的在于,针对硬件系统中复杂的处理单元的面积利用率问题提供了一种功能可配置的数字信号处理单元,可以在乘法运算很少或没有的算法应用中,被配置为其他功能,以减少冗余,同时减少了互连消耗,以提高面积利用率。
所述功能可配置数字信号处理单元,包括:配置信息寄存器;输入数据符号处理及位扩展单元;输出数据符号处理及分割单元;操作数分配单元;第一级寄存第二级寄存和输出寄存三组寄存器组;可配置的加法器组和可配置的移位器组。
所述功能可配置数字信号处理单元支持的功能有:无符号加法、有符号加法、减法、无符号累加、有符号累加、累减、无符号乘法、有符号乘法、逻辑移位、算数移位、移位加、移位减。
所述配置信息寄存器用于存储配置信息,控制其他单元的行为,从而实现不同的功能。
所述输入数据符号处理及位扩展单元和输出数据符号处理及分割单元的作用是:输入数据符号处理及位扩展单元对输入数据做高位扩展由n位扩展到2n位,以保证有符号乘、无符号乘、算数移位、逻辑移位的运算精度;输出数据符号处理及分割单元将最后一级加法组的输出拆成两个,以使输入输出数据位宽统一;其符号处理功能在进行有符号加法、减法、有符号累加、累减、有符号乘法、移位加、移位减时有效,对输入数据和输出数据进行补码操作。
所述操作数分配单元为四输入多输出的多位译码器单元,由配置信息做译码控制信号,将三路输入数据译码分配给其后的单元:对于无符号加法、有符号加法、减法、无符号累加、有符号累加、累减、逻辑移位、算数移位、移位加、移位减,将输入数据分配到其后对应的加法组和移位组;对于有符号乘法、无符号乘法,按照第一路输入数据各位是0或1将0或第二路输入数据分配到对应译码输出给第一级的加法组和移位组的各输入。
第一级寄存第二级寄存和输出寄存三组寄存器组可被配置为通过寄存器和直接导通两种模式,以实现乘法可配置为单周期乘法、一级流水线乘法、二级流水线乘法、三级流水线乘法的功能。
所述三级可配置的加法器组均可被配置为实现对应操作数的加法或者直接导通。在功能可配置数字信号处理单元被配置为无符号乘法或有符号乘法功能时,三级加法器组均被配置为执行加法操作,以与其他单元配合完成乘法功能;在功能可配置数字信号处理单元被配置为有符号累加或无符号累加功能、累减功能时,加法组2和加法组3被配置为执行加法操作,加法组1被配置为直接导通;在功能可配置数字信号处理单元被配置为有符号加法或无符号加法、减法、移位加功能、移位减功能时,加法组3被配置为执行加法操作,加法组2和加法组1被配置为直接导通;在功能可配置数字信号处理单元被配置为算术移位和逻辑移位功能时,三组加法组均被配置为直接导通。
所述三级可配置移位组均可被配置为固定位数的移位和直接导通,并且第三级移位组可以配置为由输入操作数决定的可变移位。在功能可配置数字信号处理单元被配置为无符号乘法或有符号乘法功能时,三级移位组均被配置为执行固定位数的移位操作,移位组1进行4位的左移操作,移位组2进行2位的左移操作,移位组3进行1位的左移操作;在功能可配置数字信号处理单元被配置为有符号累加或无符号累加功能、累减功能、有符号加法或无符号加法、减法功能时,三组移位组均被配置为直接导通;在功能可配置数字信号处理单元被配置为算术移位、逻辑移位、移位加功能、移位减功能时,移位组1与移位组2被配置为直接导通,移位组3被配置为由另一路输入决定位数的移位。
本发明的有益效果是,以较小的面积代价,使得可重构算子阵列结构中dsp类算子的功能扩展从而提高了其利用率减少了冗余的可能;同时在一些情况下降低了互联需求。从而提高了整体的面积利用率,提高效率。
以下将结合附图和具体实施对本发明做进一步的说明。
【附图说明】
图1为一种可重构算子阵列结构的实施例;
图2为一种功能可配置的数字信号处理单元实施例;
图3为一种功能可配置的数字信号处理单元的功能集实施例。
【具体实施方式】
下面详细描述本发明的实施例,所述实施的实例在附图中示出。下面通过参考附图描述的实施例是实例性的,仅用于解释本发明,而不能解释为对本发明的限制。
如图1所示的一种可重构算子阵列结构100,内部由算术类算子101、逻辑类算子102、移位类算子103、dsp类算子104、多路选择器算子105、控制器算子106、寄存器算子107、存储器算子108组成,各类算子按照类型以列为一组,横向放置不同类别的可重构算子列组,可实现不同规模的可重构算子阵列结构。可重构算子之间通过互连资源实现连接。
其中dsp类算子即为支持复杂运算的单元。支持这些复杂运算的单元的面积较大,当在一些对复杂运算需求较少的应用中,而不能被利用,导致冗余,性能降低。
本发明的目的在于,针对硬件系统中复杂的处理单元的面积利用率问题提供了一种功能可配置的数字信号处理单元,可以在乘法运算很少或没有的算法应用中,被配置为其他功能,以减少冗余,同时减少了互连消耗,以提高可重构算子阵列的面积利用率。
所述功能可配置数字信号处理单元,如图2所示包括:配置信息寄存器;输入数据符号处理及位扩展单元;操作数分配单元;第一级寄存第二级寄存和输出寄存三个寄存器组;可配置的加法器组加法组1、加法组2、加法组3;可配置的移位器组移位组1、移位组2、移位组3;输出数据符号处理及分割单元。
所述功能可配置数字信号处理单元支持的功能如图3所示,有:
无符号加法,实现两个8比特数的无符号加法,在图2中,输入为A和B,输出为F1,F1=A+B,A、B、F1均为无符号数,进行无符号加法运算;
有符号加法,实现两个8比特数有符号加法,在图2中,输入为A和B,输出为F1,F1=A+B,A、B、F1均为有符号数,进行有符号加法运算;
减法,实现两个数的减法,在图2中,输入为A和B,输出为F1,F1=A-B,A、B、F1均为有符号数;
无符号累加,实现三个无符号数的累加操作,在图2中,输入为A、B和C,输出为F1,F1=A+B+C,A、B、C、F1均为无符号数,进行三个输入操作数的无符号加法运算;
有符号累加,实现三个有符号数的累加操作,在图2中,输入为A、B和C,输出为F1,F1=A+B+C,A、B、C、F1均为有符号数,进行三个输入操作数的有符号加法运算;
累减,实现一个数连续减去两个数的操作,在图2中,输入为A、B和C,输出为F1,F1=A-B-C,A、B、C、F1均为有符号数;
无符号乘法,实现两个无符号数乘法,在图2中,输入为A和B,输出为F1、F2,{F2,F1}=A*B,A、B、F1、F2均为无符号数,进行无符号乘法运算;
有符号乘法,实现两个有符号数乘法,在图2中,输入为A和B,输出为F1、F2,{F2,F1}=A*B,A、B、F1、F2均为有符号数,进行有符号乘法运算;
逻辑移位,实现逻辑移位运算,在图2中,输入为A和B,输出为F1、F2,{F2,F1}=A<<B,对A进行逻辑移位B位的运算,当B为正时,为逻辑左移B位,当B为负时,为逻辑右移B位,F1为移位结果,F2为移出数据;
算数移位,实现算术移位运算,在图2中,输入为A和B,输出为F1、F2,{F2,F1}=A<<B,对A进行算术移位B位的运算,当B为正时,为算术左移B位,当B为负时,为算术右移B位,F1为移位结果,F2为移出数据;
移位加,实现算术移位与加法运算,在图2中,输入为A、B和C,输出为F1、F2,{F2,F1}=A<<B+C,对A进行算术移位B位再加C的运算,当B为正时,为算术左移B位,当B为负时,为算术右移B位,F1为移位再求和的结果,F2为移出数据;
移位减,实现算术移位与减法运算,在图2中,输入为A、B和C,输出为F1、F2,{F2,F1}=A<<B-C,对A进行算术移位B位再减C的运算,当B为正时,为算术左移B位,当B为负时,为算术右移B位,F1为移位再求差的结果,F2为移出数据。
对各单元功能,具体地说,配置信息寄存器存储配置该单元功能的配置信息,译码产生控制信号控制其他单元的行为,从而实现图3中所列的不同的功能。
所述输入数据符号处理及位扩展单元和输出数据符号处理及分割单元的作用是:结合图2所示,输入数据符号处理及位扩展单元对输入数据A、B、C做高位扩展由n位扩展为2n位到A0、B0、C0,以保证有符号乘、无符号乘、算数移位、逻辑移位的运算精度;输出数据符号处理及分割单元将最后一级加法组经过最后一级寄存的输出DO拆成两个F1、F2,以使输入输出数据位数统一;其符号处理功能在进行图3中列出的有符号加法、减法、有符号累加、累减、有符号乘法、移位加、移位减时有效,对输入数据和输出数据进行补码操作。
之后,在配置信息寄存器中存储的配置信息Opcode的控制下,操作数分配单元将操作数按不同方式分配,并由之后的单元执行不同的操作,来完成所配置的功能。具体来说,不同功能执行如下。
在被配置为有符号加法或无符号加法F1=A+B、减法F1=A-B时,结合图2所示:三级寄存器都被配置为直接导通即不寄存;操作数分配单元将两个操作数A、B符号处理后的结果A0、B0分配到D00、D01;D00、D01直通地通过加法组1、加法组2、移位组3,到D51和D40,由加法组3完成加法得到DR;输出数据符号处理及分割装置将DR分为两个八位数F1,F2,并根据是否为有符号数的操作,对其进行补码操作。
在被配置为有符号累加或无符号累加功能F1=A+B+C、累减功能F1=A-B-C时,结合图2所示:三级寄存器都被配置为直接导通即不寄存;操作数分配单元将三个操作数A、B、C符号处理后的结果A0、B0、C0分配到D00、D01、D02;D00、D01、D02分别直通地通过加法组1和移位组2,到D20、D21和D32,加法组2将D20和D32做和得到D40,D21被加法组2、移位组3直接导通到D51,加法组3将D40和D51做加法完成累加得到DR;输出数据符号处理及分割装置将DR分为两个八位数F1,F2,并根据是否为有符号数的操作,对其进行补码操作。
在被配置为无符号乘法或有符号乘法功能{F2,F1}=A*B时,结合图2所示:三级寄存器可被配置为都直接导通、有一级寄存、有两级寄存和三级寄存三种状态;操作数分配单元对两个操作数A、B符号处理后的结果A0、B0,按照B0的0至7位是0还是1,将A0或0分配到D00至D07;移位组1将D04至D07各右移4位,加法组1将对应的D00与D14、D01与D15、D02与D16、D03与D17分别相加得到D20、D21、D22、D23,移位组2将D22、D23各右移2位,加法组2将对应的D20与D32、D21与D33、D22与D34分别相加得到D40、D41,移位组3将D41右移1位,加法组3将D40与D51相加得到乘法结果DR;输出数据符号处理及分割装置将DR分为两个八位数F1,F2输出。
在被配置为逻辑移位功能{F2,F1}=A<<B时,结合图2所示:三级寄存器都被配置为直接导通即不寄存;操作数分配单元将两个操作数A、B符号处理后的结果A0、B0分配到D01、S,D01通过加法组1、加法组2直接导通到D41,移位组3被配置为可变的逻辑移位,由输入S决定移位位数,得到移位结果D51,通过加法组3直接到输出结果DR;由输出数据符号处理及分割装置将DR分为两个八位数F1,F2输出。
在被配置为算数移位功能{F2,F1}=A<<B时,结合图2所示:三级寄存器都被配置为直接导通即不寄存;操作数分配单元将两个操作数A、B符号处理后的结果A0、B0分配到D01、S,D01通过加法组1、加法组2直接导通到D41,移位组3被配置为可变的算术移位,由输入S决定移位位数,得到移位结果D51,通过加法组3直接到输出结果DR;由输出数据符号处理及分割装置将DR分为两个八位数F1,F2输出。
在被配置为移位加功能{F2,F1}=A<<B+C、移位减功能{F2,F1}=A<<B-C时,结合图2所示:三级寄存器都被配置为直接导通即不寄存;操作数分配单元将三个操作数A、B、C符号处理后的结果A0、B0、C0分配到D00、D01、S,D00通过加法组1、加法组2直接到通道D40,D01通过加法组1、加法组2直接导通到D41,移位组3被配置为可变的算术移位,由输入S决定移位位数,得到移位结果D51,再由加法组3将D40与D51求和,得到移位加运算结果DR;由输出数据符号处理及分割装置将DR分为两个八位数F1,F2输出。
以上内容是结合实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (7)
1.一种功能可配置数字信号处理单元,包括:配置信息寄存器;输入数据符号处理及位扩展单元;输出数据符号处理及分割单元;操作数分配单元;第一级寄存第二级寄存和输出寄存三组寄存器组;可配置的加法器组和可配置的移位器组。
2.如权利要求1所述的一种功能可配置数字信号处理单元,其特征在于:所述功能可配置数字信号处理单元支持的功能有无符号加法、有符号加法、减法、无符号累加、有符号累加、累减、无符号乘法、有符号乘法、逻辑移位、算数移位、移位加、移位减。
3.如权利要求2所述的一种功能可配置数字信号处理单元,其特征在于:所述功能可配置数字信号处理单元的乘法功能可支持单周期乘法、一级流水线乘法、二级流水线乘法、三级流水线乘法的功能。
4.如权利要求1所述的一种功能可配置数字信号处理单元,其特征在于:所述配置信息寄存器用于存储配置信息,控制其他单元的行为,从而实现不同的功能。
5.如权利要求1所述的一种功能可配置数字信号处理单元,其特征在于:所述输入数据符号处理和输出数据符号处理是在进行有符号加法、减法、有符号累加、累减、有符号乘法、移位加、移位减时有效,对输入数据和输出数据进行补码操作;
所述位扩展单元的作用是对输入数据做高位扩展由n位扩展到2n位,
以保证有符号乘、无符号乘、算数移位、逻辑移位的运算精度;
所述分割单元将最后一级加法组的输出拆成两个,以使输入输出数据位宽统一。
6.如权利要求1所述的一种功能可配置数字信号处理单元,其特征在于:所述操作数分配单元为四输入多输出的多位译码器单元,由配置信息做译码控制信号,将三路输入数据译码分配给其后的加法组和移位组。
7.如权利要求1所述的一种功能可配置数字信号处理单元,其特 征在于:
所述第一级寄存第二级寄存和输出寄存三组寄存器组可被配置为通过寄存器和直接导通两种模式,以实现乘法可配置为单周期乘法、一级流水线乘法、二级流水线乘法、三级流水线乘法的功能;
所述三级可配置的加法器组均可被配置为实现对应操作数的加法或者直接导通;
所述三级可配置移位器组均可被配置为固定位数的移位和直接导通,并且第三级移位器组可以配置为由输入操作数决定的可变移位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012101404130A CN103389903A (zh) | 2012-05-07 | 2012-05-07 | 一种功能可配置的数字信号处理单元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012101404130A CN103389903A (zh) | 2012-05-07 | 2012-05-07 | 一种功能可配置的数字信号处理单元 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103389903A true CN103389903A (zh) | 2013-11-13 |
Family
ID=49534183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012101404130A Pending CN103389903A (zh) | 2012-05-07 | 2012-05-07 | 一种功能可配置的数字信号处理单元 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103389903A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020184284A1 (en) * | 1997-06-20 | 2002-12-05 | Hynix Semiconductor Inc. | Single precision array processor |
US20060122814A1 (en) * | 2004-12-03 | 2006-06-08 | Beens Jason A | Method and apparatus for digital signal processing analysis and development |
CN101346694A (zh) * | 2005-11-02 | 2009-01-14 | 高通股份有限公司 | 用于处理器中的算术逻辑和移位装置 |
CN102163247A (zh) * | 2011-04-02 | 2011-08-24 | 北京大学深圳研究生院 | 一种可重构算子的阵列结构 |
CN102164105A (zh) * | 2011-05-09 | 2011-08-24 | 东南大学 | 一种多天线正交频分复用系统的自适应接收方法 |
-
2012
- 2012-05-07 CN CN2012101404130A patent/CN103389903A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020184284A1 (en) * | 1997-06-20 | 2002-12-05 | Hynix Semiconductor Inc. | Single precision array processor |
US20060122814A1 (en) * | 2004-12-03 | 2006-06-08 | Beens Jason A | Method and apparatus for digital signal processing analysis and development |
CN101346694A (zh) * | 2005-11-02 | 2009-01-14 | 高通股份有限公司 | 用于处理器中的算术逻辑和移位装置 |
CN102163247A (zh) * | 2011-04-02 | 2011-08-24 | 北京大学深圳研究生院 | 一种可重构算子的阵列结构 |
CN102164105A (zh) * | 2011-05-09 | 2011-08-24 | 东南大学 | 一种多天线正交频分复用系统的自适应接收方法 |
Non-Patent Citations (1)
Title |
---|
PENG D ET AL: "《A novel reconfigurable operator based IC design methodology for multimedia processing》", 《TENCON 2009-2009 IEEE REGION 10 CONFERENCE》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102495719B (zh) | 一种向量浮点运算装置及方法 | |
CN102681815B (zh) | 用加法器树状结构的有符号乘累加算法的方法 | |
CN102231102B (zh) | 基于余数系统的rsa密码处理方法及协处理器 | |
CN104375802B (zh) | 一种乘除法器及运算方法 | |
CN103294446B (zh) | 一种定点乘累加器 | |
CN105912501A (zh) | 一种基于大规模粗粒度可重构处理器的sm4-128加密算法实现方法及系统 | |
CN103984560A (zh) | 基于大规模粗粒度嵌入式可重构系统及其处理方法 | |
CN102945224A (zh) | 基于fpga的高速可变点fft处理器及其处理方法 | |
CN105335331A (zh) | 一种基于大规模粗粒度可重构处理器的sha256实现方法及系统 | |
CN101847137B (zh) | 一种实现基2fft计算的fft处理器 | |
CN104504205B (zh) | 一种对称fir算法的并行化二维分割方法及其硬件结构 | |
JP2005539293A (ja) | 部分的にグローバルなコンフィギュレーションバスを用いたプログラマブルパイプラインファブリック | |
CN104090737A (zh) | 一种改进型部分并行架构乘法器及其处理方法 | |
CN103279323A (zh) | 一种加法器 | |
CN102446342A (zh) | 可重构二值运算器、可重构二值图像处理系统及其实现基本形态学算法的方法 | |
CN102253822B (zh) | 一种模(2^n-3)乘法器 | |
CN1740962A (zh) | 一种快速流水线型除法器 | |
CN103176948A (zh) | 一种低成本的单精度初等函数运算加速器 | |
CN103389903A (zh) | 一种功能可配置的数字信号处理单元 | |
CN101866278B (zh) | 一种异步迭代的64位整型乘法器及其计算方法 | |
CN2854697Y (zh) | 面向计算的通用型可重构计算阵列 | |
CN203299808U (zh) | 位串行加法器 | |
CN101923459A (zh) | 一种用于数字信号处理的可重构乘加算数运算单元 | |
CN114968911B (zh) | 算子频度压缩及上下文配置调度的fir可重构处理器 | |
CN203241983U (zh) | 用于执行信号处理操作的装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20131113 |
|
WD01 | Invention patent application deemed withdrawn after publication |