CN106951394A - 一种可重构定浮点通用fft处理器 - Google Patents
一种可重构定浮点通用fft处理器 Download PDFInfo
- Publication number
- CN106951394A CN106951394A CN201710189440.XA CN201710189440A CN106951394A CN 106951394 A CN106951394 A CN 106951394A CN 201710189440 A CN201710189440 A CN 201710189440A CN 106951394 A CN106951394 A CN 106951394A
- Authority
- CN
- China
- Prior art keywords
- floating
- fixed
- restructural
- point
- 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.)
- Pending
Links
- 238000007667 floating Methods 0.000 title claims abstract description 49
- 238000004364 calculation method Methods 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 18
- 230000015572 biosynthetic process Effects 0.000 claims description 2
- 238000013461 design Methods 0.000 description 4
- 238000000034 method Methods 0.000 description 4
- 241000255777 Lepidoptera Species 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/141—Discrete Fourier transforms
- G06F17/142—Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
-
- 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/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Discrete Mathematics (AREA)
- Computing Systems (AREA)
- Complex Calculations (AREA)
- Advance Control (AREA)
Abstract
本发明提供了一种可重构定浮点通用FFT处理器,既可以实现18位的定点FFT运算,也可以实现32位的单精度浮点FFT运算。所述处理器将定点运算器(包括乘法器和加法器)与主体结构相分离,定点运算器可重构为单精度浮点运算器。处理器主体通过调用定点运算器或重构而成的单精度浮点运算器来完成定点或浮点FFT运算。所述处理器采用混合基流水结构,不仅支持定浮点计算还支持可配置的计算点数,在保证精确度和数据吞吐率的情况下,有效的提高了处理器的通用性。
Description
技术领域
本发明公开了一种定浮点通用FFT处理器,属于数字信号处理领域。
背景技术
快速傅里叶变换(Fast Fourier Transform, FFT)算法在雷达微波探测、通信及图像等领域处于核心位置,也是相关处理算法中运算量较大的部分。应用***需求的不断提高和集成电路技术的发展对 FFT处理器提出了越来越高的要求。
以运算所用的数据类型分类,FFT运算可分为定点FFT运算和浮点FFT运算。定点FFT运算所需的运算资源较少,但精度相对较低;浮点FFT运算所需的运算资源多,但精度高。它们各自有其应用的优势和劣势。但现有的FFT处理器一般只支持单一的定点运算或浮点运算。
此外,由于专用集成电路的成本随着工艺尺寸的缩小越来越高,追求快速处理速度和高性能的同时,成本因素也被考虑的越来越多。所以,可重构架构的研究逐渐热门,该方法试图在高性能和通用性之间寻找一个平衡点,来满足均衡的需求。
发明内容
为了解决上述问题,本发明基于可重构的思想,提供了一种可重构定浮点通用FFT处理器,具体由以下技术方案实现:
所述可重构定浮点通用FFT处理器,包括:
顶层控制模块,接受配置信息,并根据配置信息,选择数据通路,配置可重构运算电路模块的工作模式;
可重构运算电路模块,根据顶层控制模块的控制信息重构电路,利用定点乘法、加法器,实现定点或单精度浮点FFT运算;
整序模块,将可重构运算电路模块的倒位序输出恢复为顺序输出。
所述可重构定浮点通用FFT处理器的进一步设计在于,所述可重构运算电路模块由多级运算功能模块组成,所述多级运算功能模块依次相连,每级功能模块包括:
运算资源重构控制器,根据控制信息,将定点运算器重构为单精度浮点运算器;
定点运算器,由多个定点加法器和定点乘法器组成;FIFO寄存器,用于对齐运算数据和运算结果形成反馈路径;
基22蝶形运算单元,用于完成基4蝶形运算;
基2蝶形运算单元,用于完成基2蝶形运算;
旋转因子单元,存储和读取相应格式的旋转因子。
所述可重构定浮点通用FFT处理器的进一步设计在于,所述旋转因子为定点或浮点或FFT运算的点数。
所述可重构定浮点通用FFT处理器的进一步设计在于,所述运算资源重构控制器包括:
多个选择器,用于选择定点或浮点运算器;
浮点运算转换器,用于将定点运算器转换为浮点运算器。
所述可重构定浮点通用FFT处理器的进一步设计在于,可重构运算电路模块由8级运算功能模块组成,第8至2级为基22蝶形运算单元,第1级为基2蝶形运算单元。
本发明的优点
1.本发明基于可重构的思想实现的FFT处理器既可进行定点FFT运算,也可以进行浮点FFT运算。在对运算资源和运算精度有不同需求的应用场景下可采用不同的运算模式,相比于现有的FFT处理器,本处理器具有更好的通用性,同时运算部件均为定点运算器,有利于节约资源。
2.本发明采用基22和基2混合基SDF结构,具有高吞吐率。
3.本发明可实现64点到64K点间任意2n点的FFT运算。
4.本发明可容易的移植到一个可重构算法链(例如BP算法)中,实现更大规模的资源复用。
附图说明
图1是可重构定浮点通用FFT处理器整体架构图。
图2是可重构运算电路模块内部结构示意图。
图3是运算功能模块内部结构示意图。
图4是运算资源重构控制器内部结构示意图。
具体实施方式
下面结合附图对本发明方案进行详细说明。
如图1所示,本实施例的定浮点通用FFT处理器由顶层控制模块、可重构运算电路模块、整序模块组成。配置信息和数据自顶层控制模块输入,顶层控制模块根据配置信息对其他两个模块进行设置,并确定数据通路,配置可重构运算电路模块的工作模式。最后,输入数据经由可重构运算电路模块运算完成后,送入整序模块,将倒位序的结果重新调整为顺序并输出。整个过程为全流水的。
如图2所示,可重构运算电路模块由8级运算功能模块组成,可完成64点到64K点间任意2n点的FFT运算。其中,第8至2级为基22蝶形运算单元,第1级为基2蝶形运算单元。可重构运算电路模块是基于SDF结构的,具有高数据吞吐率。
如图3,运算功能模块由FIFO寄存器、基2蝶形运算单元、基22蝶形运算单元、旋转因子单元、运算资源重构控制器和定点运算器组成。基22蝶形运算单元是由两个基2蝶形运算单元和中间的乘-j运算模块组成,用以完成一次基4蝶形运算。旋转因子单元中的旋转因子是根据需要计算的FFT形式(点数、定点还是浮点)通过上位机预先存储在RAM中的。图中方框内的运算符号表示该处需要做的计算,这些运算实际是通过调用蝶形运算单元外部的乘加单元完成的。当计算的FFT数据类型是定点的时候,上述运算直接通过定点运算器完成;当计算的FFT数据类型是浮点的时候,运算资源重构控制器将定点运算器重构为浮点运算器,上述运算通过重构后的浮点运算器完成。
如图4所示,运算资源重构控制器由两个选择器和定浮点运算转换器组成。定浮点运算转换器将定点运算器转换为浮点运算器。待计算数据自蝶形运算单元输出至运算资源重构控制器,选择器根据配置信息选则相应的定点或浮点运算器完成运算。
为实现64K点的定点FFT运算,共需要78个定点加法器、28个定点乘法器;64K点的单精度浮点FFT运算需要218个定点加法器、112个定点乘法器。则本实施例的定浮点通用FFT处理器总共所需的定点加法器为218个,定点乘法器为112个,而不是78+218和28+112。这是因为这些定点运算器是通过运算资源重构控制器复用的。
加法定浮点转换器的基本原理是判断A、B两数指数位的差值,根据差值对尾数位进行移位,再相加。尾数位的运算完成后,将尾数位计算结果截位成23位,并根据截位信息调整最终结果的指数位,最后将符号位、指数位、尾数位规格化成浮点数形式输出。
乘法定浮点转换器的基本原理是将单精度浮点的等效24位尾数位分拆为一个12位数和另一个12位数移位相加的形式:
(a24 a23 a22…… a3 a2 a1)2=(a24a23a22……a13)2×212+(a12。。。。。。a3a2a1)2
对两个单精度浮点数分拆的共4个12位数分别进行乘法运算。然后将得到的4个乘法结果相加得到一个48位数,将这个48位数截位得最终的23位尾数位,并根据截位的信息调整结果的指数位。
本发明基于可重构的思想实现的FFT处理器既可进行定点FFT运算,也可以进行浮点FFT运算。在对运算资源和运算精度有不同需求的应用场景下可采用不同的运算模式,相比于现有的FFT处理器,本处理器具有更好的通用性,同时运算部件均为定点运算器,有利于节约资源。采用基22和基2混合基SDF结构,具有高吞吐率。
本实施例的定浮点通用FFT处理器可实现64点到64K点间任意2n点的FFT运算。该定浮点通用FFT处理器可移植到一个可重构算法链(例如BP算法)中,实现更大规模的资源复用。
以上对本发明提供的一种可重构定浮点通用FFT处理器进行了详细介绍,以便于理解本发明和其核心思想。对于本领域的一般技术人员,在具体实施时,可根据本发明的核心思想进行多种修改和演绎。综上所述,本说明书不应视为对本发明的限制。
Claims (5)
1.一种可重构定浮点通用FFT处理器,其特征在于,包括:
顶层控制模块,接受配置信息,并根据配置信息,选择数据通路,配置可重构运算电路模块的工作模式;
可重构运算电路模块,根据顶层控制模块的控制信息重构电路,利用定点乘法、加法器,实现定点或单精度浮点FFT运算;
整序模块,将可重构运算电路模块的倒位序输出恢复为顺序输出。
2.根据权利要求1所述的可重构定浮点通用FFT处理器,其特征在于,所述可重构运算电路模块由多级运算功能模块组成,所述多级运算功能模块依次相连,每级功能模块包括:
运算资源重构控制器,根据控制信息,将定点运算器重构为单精度浮点运算器;
定点运算器,由多个定点加法器和定点乘法器组成;FIFO寄存器,用于对齐运算数据和运算结果形成反馈路径;
基22蝶形运算单元,用于完成基4蝶形运算;
基2蝶形运算单元,用于完成基2蝶形运算;
旋转因子单元,存储和读取相应格式的旋转因子。
3.根据权利要求2所述的可重构定浮点通用FFT处理器,其特征在于,所述旋转因子为定点或浮点或FFT运算的点数。
4.根据权利要求2所述的可重构定浮点通用FFT处理器,其特征在于,所述运算资源重构控制器包括:
多个选择器,用于选择定点或浮点运算器;
浮点运算转换器,用于将定点运算器转换为浮点运算器。
5.根据权利要求2所述的可重构定浮点通用FFT处理器,其特征在于,可重构运算电路模块由8级运算功能模块组成,第8至2级为基22蝶形运算单元,第1级为基2蝶形运算单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710189440.XA CN106951394A (zh) | 2017-03-27 | 2017-03-27 | 一种可重构定浮点通用fft处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710189440.XA CN106951394A (zh) | 2017-03-27 | 2017-03-27 | 一种可重构定浮点通用fft处理器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106951394A true CN106951394A (zh) | 2017-07-14 |
Family
ID=59473091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710189440.XA Pending CN106951394A (zh) | 2017-03-27 | 2017-03-27 | 一种可重构定浮点通用fft处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106951394A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108153709A (zh) * | 2017-12-12 | 2018-06-12 | 中国人民解放军战略支援部队信息工程大学 | 一种任意点数fft的可重构计算结构的调度方法 |
CN109815438A (zh) * | 2019-01-21 | 2019-05-28 | 清华大学 | 基于混合基运算的高效能浮点fft硬件加速器设计方法 |
CN109977347A (zh) * | 2019-03-29 | 2019-07-05 | 南京大学 | 一种支持多模式配置的可重构fft处理器 |
CN111027013A (zh) * | 2019-12-10 | 2020-04-17 | 重庆邮电大学 | 一种支持dab和cdr的多模式可配置fft处理器及方法 |
CN111562900A (zh) * | 2020-07-20 | 2020-08-21 | 长沙海格北斗信息技术有限公司 | 用于高精度导航的fft计算方法、计算模块及其芯片 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1900927A (zh) * | 2006-07-14 | 2007-01-24 | 中国电子科技集团公司第三十八研究所 | 可重构数字信号处理器 |
CN101346695A (zh) * | 2005-12-27 | 2009-01-14 | 松下电器产业株式会社 | 具有可重构的运算器的处理器 |
CN102541809A (zh) * | 2011-12-08 | 2012-07-04 | 清华大学 | 一种动态可重构处理器 |
CN104657334A (zh) * | 2014-12-29 | 2015-05-27 | 南京大学 | 一种快速傅里叶变化的基2-4-8混合基蝶算器及其应用 |
CN105930201A (zh) * | 2016-04-25 | 2016-09-07 | 南京大学 | 一种可重构专用处理器核的功能模拟器 |
CN106383807A (zh) * | 2016-09-12 | 2017-02-08 | 深圳职业技术学院 | 一种fft处理器 |
-
2017
- 2017-03-27 CN CN201710189440.XA patent/CN106951394A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101346695A (zh) * | 2005-12-27 | 2009-01-14 | 松下电器产业株式会社 | 具有可重构的运算器的处理器 |
CN1900927A (zh) * | 2006-07-14 | 2007-01-24 | 中国电子科技集团公司第三十八研究所 | 可重构数字信号处理器 |
CN102541809A (zh) * | 2011-12-08 | 2012-07-04 | 清华大学 | 一种动态可重构处理器 |
CN104657334A (zh) * | 2014-12-29 | 2015-05-27 | 南京大学 | 一种快速傅里叶变化的基2-4-8混合基蝶算器及其应用 |
CN105930201A (zh) * | 2016-04-25 | 2016-09-07 | 南京大学 | 一种可重构专用处理器核的功能模拟器 |
CN106383807A (zh) * | 2016-09-12 | 2017-02-08 | 深圳职业技术学院 | 一种fft处理器 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108153709A (zh) * | 2017-12-12 | 2018-06-12 | 中国人民解放军战略支援部队信息工程大学 | 一种任意点数fft的可重构计算结构的调度方法 |
CN109815438A (zh) * | 2019-01-21 | 2019-05-28 | 清华大学 | 基于混合基运算的高效能浮点fft硬件加速器设计方法 |
CN109977347A (zh) * | 2019-03-29 | 2019-07-05 | 南京大学 | 一种支持多模式配置的可重构fft处理器 |
CN109977347B (zh) * | 2019-03-29 | 2023-06-13 | 南京大学 | 一种支持多模式配置的可重构fft处理器 |
CN111027013A (zh) * | 2019-12-10 | 2020-04-17 | 重庆邮电大学 | 一种支持dab和cdr的多模式可配置fft处理器及方法 |
CN111027013B (zh) * | 2019-12-10 | 2023-05-26 | 重庆邮电大学 | 一种支持dab和cdr的多模式可配置fft处理器及方法 |
CN111562900A (zh) * | 2020-07-20 | 2020-08-21 | 长沙海格北斗信息技术有限公司 | 用于高精度导航的fft计算方法、计算模块及其芯片 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106951394A (zh) | 一种可重构定浮点通用fft处理器 | |
CN109828744B (zh) | 一种基于fpga的可配置浮点向量乘法ip核 | |
CN110447010B (zh) | 在硬件中执行矩阵乘法 | |
US8078835B2 (en) | Reconfigurable array processor for floating-point operations | |
CN103294446B (zh) | 一种定点乘累加器 | |
CN109146067B (zh) | 一种基于FPGA的Policy卷积神经网络加速器 | |
Hickmann et al. | Intel nervana neural network processor-t (nnp-t) fused floating point many-term dot product | |
CN107797962A (zh) | 基于神经网络的计算阵列 | |
CN108647779A (zh) | 一种低位宽卷积神经网络可重构计算单元 | |
CN105335127A (zh) | Gpdsp中支持浮点除法的标量运算单元结构 | |
Nguyen et al. | A high-performance, resource-efficient, reconfigurable parallel-pipelined FFT processor for FPGA platforms | |
US10853037B1 (en) | Digital circuit with compressed carry | |
Prasad et al. | Design of low power and high speed modified carry select adder for 16 bit Vedic Multiplier | |
US7653676B2 (en) | Efficient mapping of FFT to a reconfigurable parallel and pipeline data flow machine | |
CN117648959B (zh) | 支持神经网络运算的多精度操作数运算装置 | |
CN102364456A (zh) | 64点fft计算器 | |
Singh et al. | VHDL environment for floating point Arithmetic Logic Unit-ALU design and simulation | |
RU2689819C1 (ru) | Векторный мультиформатный умножитель | |
Myjak et al. | A medium-grain reconfigurable architecture for DSP: VLSI design, benchmark mapping, and performance | |
AU2020395435B2 (en) | Flexible precision neural inference processing units | |
Nguyen et al. | An FPGA-based implementation of a pipelined FFT processor for high-speed signal processing applications | |
CN110199255B (zh) | 组合若干执行单元以计算单一宽标量结果 | |
CN103677735B (zh) | 一种数据处理装置及数字信号处理器 | |
CN106168941A (zh) | 一种支持复数乘法的fft蝶形运算硬件实现电路 | |
Tan et al. | Efficient Multiple-Precision and Mixed-Precision Floating-Point Fused Multiply-Accumulate Unit for HPC and AI Applications |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170714 |
|
RJ01 | Rejection of invention patent application after publication |