CN109783054B - 一种rsfq fft处理器的蝶形运算处理方法及*** - Google Patents

一种rsfq fft处理器的蝶形运算处理方法及*** Download PDF

Info

Publication number
CN109783054B
CN109783054B CN201811560119.9A CN201811560119A CN109783054B CN 109783054 B CN109783054 B CN 109783054B CN 201811560119 A CN201811560119 A CN 201811560119A CN 109783054 B CN109783054 B CN 109783054B
Authority
CN
China
Prior art keywords
butterfly
module
data
radix
processing system
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
CN201811560119.9A
Other languages
English (en)
Other versions
CN109783054A (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.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN201811560119.9A priority Critical patent/CN109783054B/zh
Publication of CN109783054A publication Critical patent/CN109783054A/zh
Application granted granted Critical
Publication of CN109783054B publication Critical patent/CN109783054B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

本发明涉及一种RSFQ FFT处理器的蝶形运算处理***,包括用于执行计算的第一计算模块和第二计算模块,用于执行常数乘法的旋转因子模块和用于改变序列顺序的重排模块;在执行运算时,输入数据经所述第一计算模块执行计算后将获得的第一数据串输入至所述旋转因子模块中执行常数乘法并获得中间结果,所述中间结果经所述重排模块改变序列顺序后,将获得的第二数据串输入至所述第二计算模块执行计算并获得输出数据。

Description

一种RSFQ FFT处理器的蝶形运算处理方法及***
技术领域
本发明涉及计算机和数字信号处理领域,特别涉及一种RSFQ FFT处理器的蝶形运算处理方法及***。
背景技术
现有技术对于微处理器的设计大都是基于CMOS(硅互补金属氧化物)的半导体技术,而缩小集成电路线宽尺寸和增加单位面积晶体管的集成度正是半导体技术领域面临的两大挑战,随着对半导体器件运行可靠性和速度越来越高的需求,集成电路的线宽尺寸也越来越接近原子直径,而这一发展趋势也会在不久的将来导致经济上的不可取。
因此,为了满足未来能源高效的高性能计算机***的需要,必须找到一种可行的替代技术。RSFQ(超导高速单磁通量子)电路因其具有超高运算速度和超低功耗的特性被列为最可能的下一代集成电路,而现有技术中对于RSFQ处理器的设计还有待开发。
因此,本发明设计了一种RSFQ FFT处理器的蝶形运算处理方法及***。
发明内容
本发明提供一种RSFQ FFT处理器的蝶形运算处理***,包括用于执行计算的第一计算模块和第二计算模块,用于执行常数乘法的旋转因子模块和用于改变序列顺序的重排模块,所述第一计算模块与所述第二计算模块相同,均包括若干个可执行蝶形计算的蝶形计算单元;在执行运算时,输入数据经所述第一计算模块执行计算后将获得的第一数据串输入至所述旋转因子模块中执行常数乘法并获得中间结果,所述中间结果经所述重排模块改变序列顺序后,将获得的第二数据串输入至所述第二计算模块执行计算并获得输出数据。
优选的,所述蝶形计算单元采用了基于***基算法的8点串并体系结构,包括72级流水线,2946个DFF(D Flip-Flop),1968个与门,1128个异或门,144个NDRO(Non-Destructive Read-Out),102个非门以及699个CB(融合缓冲)。
优选的,所述蝶形单元包括一个基4蝶形计算单元、两个基2蝶形计算单元和两个***基蝶形计算单元。
优选的,所述基4蝶形计算单元包括12个乘法器、11个加法器和11个减法器;所述基2蝶形计算单元包括4个乘法器、3个加法器和3个减法器;所述***基蝶形计算单元包括8个乘法器、6个加法器和6个减法器。
优选的,所述旋转因子模块包括21级流水线,14个乘法器和42个DFF。
优选的,所述重排模块包括8级流水线,128个D2FF和56个DFF。
优选的,所述蝶形运算处理***包括173级流水线,所述输入数据在第1-16个时钟周期被输入,所述输出数据在第174-188个时钟周期被输出。
根据本发明另一个方面,还提供一种利用如上所述蝶形运算处理***执行运算的方法,包括以下步骤:
步骤1,将输入数据输入至所述第一计算模块中执行蝶形计算并输出;
步骤2,将所述第一计算模块的输出数据输入至所述旋转因子模块中执行常数乘法运算并输出;
步骤3,将所述旋转因子的输出数据输入至所述重排模块中执行序列顺序重排并输出;
步骤4,将所述重排模块的输出数据输入至所述第二计算模块;
步骤5,所述第二计算模块执行蝶形计算并输出获得的输出数据。
优选的,所述输入数据为64点数据,被分为8串,每串8点分别输入至所述第一计算模块。
相对于现有技术,本发明取得了如下有益技术效果:本发明提供的RSFQ FFT处理器的蝶形运算处理方法及***,采用了RSFQ电路实现了FFT算法中的***基算法,相对于传统的CMOS电路来说,实现了超高的运算速度和超低的功耗;同时采用了8点串并体系结构,能够连续处理64点数据,增加了处理器的吞吐量并降低了硬件成本,实现了硬件资源消耗与运算延迟的均衡效果。
附图说明
图1是本发明优选实施例提供的8点串并蝶形运算处理***的示意图。
图2是本发明优选实施例提供的基2蝶形计算单元的示意图。
图3是本发明优选实施例提供的基4蝶形计算单元的示意图。
图4是本发明优选实施例提供的***基计算单元的示意图。
图5是本发明优选实施例提供的蝶形计算模块的加法器逻辑门电路。
图6是本发明优选实施例提供的蝶形计算模块的减法器逻辑门电路。
图7是本发明优选实施例提供的旋转因子模块的示意图。
图8是本发明优选实施例提供的重排模块的逻辑门级电路。
具体实施方式
为了使本发明的目的、技术方案以及优点更加清楚明白,以下结合附图,对本发明的实施例中提供RSFQ FFT处理器的蝶形运算处理方法及***进一步详细说明。
快速傅里叶变换(FFT)算法是数字信号处理中最重要的算法之一,其应用十分广泛,例如,对语音信号的分析和合成,对通信***中实现全数字化的时分制与频分制(TDM/FDM)的复用转换等等。蝶形运算是指2点离散傅里叶变换(DFT)运算,整个FFT的运算过程可以由若干级迭代的蝶形运算组成。由于在实际应用中,FFT需要在极大的吞吐率下计算,甚至达到在每秒千兆采样的范围,因此很难使用现有的CMOS电路来实现高能效的FFT处理器。
为此,发明人经研究提出了一种利用RSFQ电路实现FFT运算的蝶形运算处理方法及***,不仅能够高速低耗的实现FFT的运算过程,还能够满足FFT所需的大吞吐率。下面将结合具体实施例进行详细说明。
本发明提供的RSFQ FFT处理器的蝶形运算处理***,以能够连续处理64点数据的蝶形运算处理***为例,在执行运算处理时,将每个数据分成8串,每串8点,以便增加处理器的吞吐量,同时还能够降低硬件成本;其中,每点输入数据长度为4比特,分为2串,每串2比特。
图1是本发明优选实施例提供的8点串并蝶形运算处理***的示意图,如图1所示,上述运算处理***包括两个具有相同结构的用于执行蝶形计算的蝶形计算模块1和2,用于执行常数乘法的旋转因子模块和用于改变序列顺序的重排模块。其中,每个蝶形计算模块均包括一个基4蝶形计算单元、两个基2蝶形计算单元和两个***基蝶形计算单元。
图2是本发明优选实施例提供的基2蝶形计算单元的示意图,如图2所示,基2蝶形计算单元可执行一个复数乘法运算,用于处理FFT运算的偶数项,该运算可由4个实数乘法运算来实现;具体的,该基2蝶形计算单元可包括4个乘法器、3个加法器以及3个减法器。
图3是本发明优选实施例提供的基4蝶形计算单元的示意图,如图3所示,基4蝶形计算单元可执行三个复数乘法运算,用于处理FFT运算的奇数项,该运算可由12个实数乘法运算来实现;具体的,该基4蝶形计算单元可包括12个乘法器、11个加法器和11个减法器。
图4是本发明优选实施例提供的***基计算单元的示意图,如图4所示,***基计算单元结合了基2算法和基4算法,可执行两个复数乘法运算,该运算可由8个实数乘法运算来实现;具体的,该***基计算单元计算单元可包括8个乘法器、6个加法器和6个减法器。
由此可知,利用加法器、减法器和乘法器可以实现图1中所示的蝶形运算处理***的蝶形计算模块。
图5是本发明优选实施例提供的蝶形计算模块的加法器逻辑门电路,如图5所示,该加法器逻辑门电路具有四个输入端口A0,A1,B0,B1和两个输出端口S0,S1,该加法器由异或门、与门、DFF、CB等器件实现。其中,控制信号End_bar用于判断当前数据串是否为最后一串。
图6是本发明优选实施例提供的蝶形计算模块的减法器逻辑门电路,如图6所示,该减法器逻辑门电路由
Figure GDA0002900170840000041
实现,其中-表示逻辑NOT,
Figure GDA0002900170840000042
是B的按位补码,对B取反由NOT门实现。因此,图6所示的减法器其逻辑门电路与图5所示的加法器逻辑门电路相似,区别在于输入端口B0,B1处设有执行逻辑非才做的非门(NOT),其中,控制信号End_bar用于判断当前数据串是否为最后一串,进位信号Carry_in用来判断是否需要“+1”;当第一串输入时,Carry_in为“1”。
在本发明的一个实施例中,上述蝶形计算模块可以采用72级流水线组成,具体的,包含2946个DFF、1968个与门、1128个异或门、144个NDRO、102个非门和699个CB。其中的加法器和减法器可分别采用图5和图6所示的逻辑门电路,乘法器可以采用现有技术中的由与门、异或门、非门、DFF以及NDRO等构成的乘法器逻辑门电路(例如,“G.Tang,K.Takagi,andN.Takagi,“RSFQ 4-bit Bit-slice Integer Multiplier,”IEICE Trans.Electronics,vol.E99-C,no.6,pp.697–702,Jun.2016”中提供的乘法器逻辑门电路)。
图7是本发明优选实施例提供的旋转因子模块的示意图,如图7所示,由于从8点蝶形计算块1输出的每一串的第1点对应的旋转因子值都是1,旋转因子模块只需要执行7个复数乘法即可。在本发明的一个实施例中,上述旋转因子模块可由14个乘法器实现,其中,DFF用于保持时钟同步。具体的,旋转因子模块由21级流水线组成,共包含14个乘法器和42个DFF。
图8是本发明优选实施例提供的重排模块的逻辑门级电路,如图8所示,该重排模块由8级流水线组成,共包含128个D2FF和56个DFF,其中,D2FF是指包含2个时钟输入信号和2个输出信号的DFF。
综上所述,本发明提供的串并RSFQ蝶形运算处理***共包含173级流水线,其中,数据串在第1个到第16个时钟周期被输入,并且结果串在第174个到第188个时钟周期输出。
发明人经实验发现,上述可连续处理64点数据的蝶形运算处理***的延迟为188个时钟周期,在不考虑约瑟夫森传输线(JTL),无源传输线(PTL)和分路器(SPL)带来的延迟的情况下,其延迟为20292.4ps,与传统的CMOS电路相比,实现了超高的运算速度。
根据本发明的一个方面,还提供一种利用上述蝶形运算处理***执行FFT运算的方法,以连续处理64点是数据为例,包括以下5个步骤。
步骤1:将64点数据分成8串,每串8点。
具体的,在步骤i(0≤i≤7)中,将第i串数据依次输入到蝶形计算模块1中。其中,第i串的8点数据数据为:
X(i),X(i+8),X(i+16),X(i+24),X(i+32),X(i+40),X(i+48),X(i+56)
步骤2:将蝶形计算模块1的输出串输入至旋转因子模块中。
具体的,假设8点蝶形计算模块1的输出数据串为
Figure GDA0002900170840000051
表示第m串的第n点数据,其中,0≤n,m≤7。将
Figure GDA0002900170840000052
输入至旋转因子模块并依次乘以该旋转因子模块中的旋转因子并获得中间结果。
步骤3:将旋转因子模块的中间结果输入至重排模块中。
具体的,将旋转因子模块的中间结果输入至重排模块中以改变序列顺序,其中,重排模块的每个输出串(共8串)的第k(0≤K≤7)个点可用于构成蝶形计算模块2的第k(0≤K≤7)个输入串的8个点。例如,重排模块输出的第1串的8个点可以是
Figure GDA0002900170840000061
步骤4:将重排模块的输出串输入至蝶形计算模块2中。
具体的,将重排模块输出的第i(0≤i≤7)串,即X′i,依次输入至8点蝶形计算模块2中。
步骤5:输出64点数据串。
具体的,逐个输出64点数据的第i(0≤i≤7)串,其中,第i个输出串的8点数据,可按以下的顺序输出,即
X(i),X(i+8),X(i+16),X(i+24),X(i+32),X(i+40),X(i+48),X(i+56)
虽然本发明已经通过优选实施例进行了描述,然而本发明并非局限于这里所描述的实施例,在不脱离本发明范围的情况下还包括所做出的各种改变以及变化。

Claims (9)

1.一种RSFQ FFT处理器的蝶形运算处理***,包括用于执行计算的第一计算模块和第二计算模块,用于执行常数乘法的旋转因子模块和用于改变序列顺序的重排模块,所述第一计算模块与所述第二计算模块相同,均包括若干个可执行蝶形计算的蝶形计算单元;在执行运算时,输入数据经所述第一计算模块执行计算后将获得的第一数据串输入至所述旋转因子模块中执行常数乘法并获得中间结果,所述中间结果经所述重排模块改变序列顺序后,将获得的第二数据串输入至所述第二计算模块执行计算并获得输出数据。
2.根据权利要求1所述的蝶形运算处理***,其特征在于,所述蝶形计算单元采用了基于***基算法的8点串并体系结构,包括72级流水线,2946个DFF,1968个与门,1128个异或门,144个NDRO,102个非门以及699个CB。
3.根据权利要求2所述的蝶形运算处理***,其特征在于,所述蝶形计算单元包括一个基4蝶形计算单元、两个基2蝶形计算单元和两个***基蝶形计算单元。
4.根据权利要求3所述的蝶形运算处理***,其特征在于,所述基4蝶形计算单元包括12个乘法器、11个加法器和11个减法器;所述基2蝶形计算单元包括4个乘法器、3个加法器和3个减法器;所述***基蝶形计算单元包括8个乘法器、6个加法器和6个减法器。
5.根据权利要求1所述的蝶形运算处理***,其特征在于,所述旋转因子模块包括21级流水线,14个乘法器和42个DFF。
6.根据权利要求1所述的蝶形运算处理***,其特征在于,所述重排模块包括8级流水线,128个D2FF和56个DFF。
7.根据权利要求1所述的蝶形运算处理***,其特征在于,所述蝶形运算处理***包括173级流水线,所述输入数据在第1-16个时钟周期被输入,所述输出数据在第174-188个时钟周期被输出。
8.一种利用如权利要求1-7任一项所述蝶形运算处理***执行运算的方法,其特征在于,包括以下步骤:
步骤1,将输入数据输入至所述第一计算模块中执行蝶形计算并输出;
步骤2,将所述第一计算模块的输出数据输入至所述旋转因子模块中执行常数乘法运算并输出;
步骤3,将所述旋转因子的输出数据输入至所述重排模块中执行序列顺序重排并输出;
步骤4,将所述重排模块的输出数据输入至所述第二计算模块;
步骤5,所述第二计算模块执行蝶形计算并输出获得的输出数据。
9.根据权利要求8所述的方法,其特征在于,所述输入数据为64点数据,被分为8串,每串8点分别输入至所述第一计算模块。
CN201811560119.9A 2018-12-20 2018-12-20 一种rsfq fft处理器的蝶形运算处理方法及*** Active CN109783054B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811560119.9A CN109783054B (zh) 2018-12-20 2018-12-20 一种rsfq fft处理器的蝶形运算处理方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811560119.9A CN109783054B (zh) 2018-12-20 2018-12-20 一种rsfq fft处理器的蝶形运算处理方法及***

Publications (2)

Publication Number Publication Date
CN109783054A CN109783054A (zh) 2019-05-21
CN109783054B true CN109783054B (zh) 2021-03-09

Family

ID=66497535

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811560119.9A Active CN109783054B (zh) 2018-12-20 2018-12-20 一种rsfq fft处理器的蝶形运算处理方法及***

Country Status (1)

Country Link
CN (1) CN109783054B (zh)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102707922B (zh) * 1995-08-31 2015-10-07 英特尔公司 控制移位分组数据的位校正的装置
US20040054877A1 (en) * 2001-10-29 2004-03-18 Macy William W. Method and apparatus for shuffling data
CN100390782C (zh) * 2005-07-15 2008-05-28 北京大学深圳研究生院 一种实时快速傅立叶变换电路
US7876869B1 (en) * 2007-05-23 2011-01-25 Hypers, Inc. Wideband digital spectrometer
CN101571849B (zh) * 2008-05-04 2012-01-25 中兴通讯股份有限公司 一种快速傅立叶变换处理器及其方法
CN102687476B (zh) * 2009-06-26 2017-06-30 普拉斯N有限责任公司 用于控制组合无线信号的***和方法
CN106095730B (zh) * 2016-06-23 2018-10-23 中国科学技术大学 一种基于指令级并行ilp和数据级并行dlp的fft浮点优化方法
CN106775579B (zh) * 2016-11-29 2019-06-04 北京时代民芯科技有限公司 基于可配置技术的浮点运算加速单元
US10140239B1 (en) * 2017-05-23 2018-11-27 Texas Instruments Incorporated Superimposing butterfly network controls for pattern combinations

Also Published As

Publication number Publication date
CN109783054A (zh) 2019-05-21

Similar Documents

Publication Publication Date Title
Jia et al. A new VLSI-oriented FFT algorithm and implementation
KR20010034300A (ko) 파이프라인 고속 푸리에 변환 프로세서
Elango et al. Hardware implementation of FFT/IFFT algorithms incorporating efficient computational elements
Penchalaiah et al. Design and Implementation of Low Power and Area Efficient Architecture for High Performance ALU
Ismail et al. Design of pipelined radix-2, 4 and 8 based multipath delay commutator (MDC) FFT
CN112799634B (zh) 一种基于基22mdc ntt结构的高性能环多项式乘法器
CN109783054B (zh) 一种rsfq fft处理器的蝶形运算处理方法及***
Samudrala et al. Parallel and pipelined VLSI implementation of the new radix-2 DIT FFT algorithm
Fang et al. A pipelined algorithm and area-efficient architecture for serial real-valued FFT
Anbarasan et al. Design and implementation of low power FFT/IFFT processor for wireless communication
Chandran et al. NEDA based hybrid architecture for DCT—HWT
KR100962127B1 (ko) 로페즈-다하브 알고리즘 기반 유한체상의 고속 타원곡선암호프로세서
Sun et al. An implementation of FFT processor
Ghissoni et al. Radix-2 decimation in time (DIT) FFT implementation based on a matrix-multiple constant multiplication approach
Geresu et al. Area-Efficient 128-to 2048/1536-Point Pipeline FFT Processor for LTE and Mobile Wimax Systems
Narendran et al. Reconfigurable Superconducting FFT Processor Using Bit-Slice Block Share Processing Unit
CN112051983B (zh) 一种基于流水线的有限域高斯约当消元装置
KR20050052740A (ko) 반복 연산 기법을 이용한 가변 고속 푸리에 변환프로세서
Chuppala et al. Modified Cooley-Tukey algorithm for implementation of integrated serial FFT/IFFT processor in half-duplex OFDM systems
Mukherjee et al. Design of High-Speed FPGA Based CASU Using CBNS Arithmetic: Extension to CFFT Processor
Chiper et al. An Efficient Algorithm for the VLSI Implementation of the Inverse DST Based on Quasi-Band Correlation Structures
Prasad et al. Design and error analysis of a scale free CORDIC unit with corrected scale factor
Jing et al. A configurable FFT processor
Sarada et al. Low power 64 point FFT processor
ANUPRIYA et al. Power Efficient FFT Architecture using SMSS for High Speed Real Time Application

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