CN105701036A - 一种支持变形基16fft算法并行访存的地址转换单元 - Google Patents
一种支持变形基16fft算法并行访存的地址转换单元 Download PDFInfo
- Publication number
- CN105701036A CN105701036A CN201610033581.8A CN201610033581A CN105701036A CN 105701036 A CN105701036 A CN 105701036A CN 201610033581 A CN201610033581 A CN 201610033581A CN 105701036 A CN105701036 A CN 105701036A
- Authority
- CN
- China
- Prior art keywords
- address
- 16fft
- memory access
- conversion
- xor gate
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种支持变形基16FFT算法并行访存的地址转换单元,包括16个相同的地址转换电路,每个所述地址转换电路均由一个三输入异或门和三个二输入异或门组成,用以实现该路运算访存或结果输出对原来按存储体低位地址编址的访存地址的变换。本发明具有实现方法简单、硬件开销小等优点。
Description
技术领域
本发明主要涉及到FFT处理器领域,特指一种适用于高吞吐率专用FFT处理器的支持变形基16FFT算法并行访存的地址转换单元。
背景技术
目前,IEEE为促进无线通讯领域的发展,订立了多种标准,比如IEEE802.11a/g/n、802.15.3c、IEEE802.16e和IEEE802.16e等标准。随着应用的发展,无线通讯领域对FFT处理器的实时性和处理速度提出了越来越高的要求。如针对高速无线个人局域网(WPANs,high-rateWirelessPersonalAreaNetworks)设计的802.15.3c标准,要求512点的FFT运算时间不大于222.2纳秒,如果对采样频率为2.592GHz的512点数据进行FFT运算,假设FFT处理器处理时钟为采样频率的八分之一,则FFT处理器完成512点数据的运算最多只有72个时钟周期,这对处理器的设计实现带来了极大的挑战。基2、基4等低基FFT算法需要大量并行的基2或基4蝶形运算单元,但运算吞吐率比高基FFT运算低,难以满足性能要求。因此在高性能专用FFT处理器中,常常使用高基FFT运算。基16FFT算法能在不增加硬件实现代价的基础上,获得较高的FFT运算吞吐率,得到了广泛的应用。
变形基16FFT算法原理如下:
其中x(n)和X(k)分别为DFT序列的输入和输出,N=512。假设n=32n1+n2,k=k1+16*k2,n1,k1=[0:15];n2,k2=[0:31].(2)
将(2)带入式子(1)中,得式(3):
令n1=4m1+m2,k1=t1+4t2,m1,m2,t1,t2=[0:3],得式(4):
这里表示第一级的第n2个基16碟形运算操作的第k1个输出。表示基16FFT算法分解成为基4FFT算法的第一子级的第m2个基4FFT运算的第t1个输出;表示第二子级的第t1个基4FFT运算的第t2个输出。这种基16FFT算法的变形可以利用简单的基4碟形运算单元(PE)为基础进行运算,单路变形基16FFT运算单元中包含一个基4蝶形运算单元,需要四个双端口存储体提供运算的访存带宽。为了提高FFT处理器的性能,专用FFT处理器采用多路PE单元并行操作以提高吞吐率和运算性能。
针对512点专用FFT处理器,需要4路变形基16FFT运算单元,因此运算访存需要的存储器共由16个存储体构成。在基于存储结构的FFT处理器中,需要使用两组这样的存储器,I/O和数据运算通过交换开关实现对这两组存储器的并行连续访问。数据运算时需要读取即将运算的操作数并同时按原位存储上次数据运算结果,因此存储体需要支持读、写双端口访问。如果经过合理的数据安排,变形基16FFT算法就可在第二级蝶形运算完成后,直接进行基2FFT运算,这样数据就不用存入存储体后再取出进行基2FFT运算,这相当于节省了一级蝶形运算,缩短了运算时间。这种基于存储架构的FFT处理器具有占用面积小,功耗低的优点。
在采用多路PE并行运算的结构下,存储接口是连接存储器与输入和输出(I/O)单元以及PE之间的桥梁,只有存储系统支持多个操作数无冲突并行访问,才能避免访存冲突引起FFT运算停顿,发挥出FFT处理器所有PE的最大运算能力;同时,I/O单元传输带宽性能匹配或高于PE的运算性能才能完全隐藏数据传输延迟,实现连续的数据流处理,因此数据I/O单元也需要高效支持并行存取。然而由于在FFT运算的开始或者结束时需要进行位反序(bitreversal)操作,这给输入或者输出的并行带来了困难。例如,实现频域FFT算法时,数据的输入是顺序并行输入,然而结果输出时,需要进行位反序操作,这给运算结果的按序并行输出带来了挑战。如果不采取任何措施,运算结果输出就由于不能并行按序输出而占用较多时钟周期。因此,一个支持运算过程中操作数并行访问,并支持数据按序并行输入或输出的存储系统至关重要,这直接影响着FFT处理器的实际性能。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种实现方法简单、硬件开销小的支持变形基16FFT算法并行访存的地址转换单元。
为解决上述技术问题,本发明采用以下技术方案:
一种支持变形基16FFT算法并行访存的地址转换单元,包括16个相同的地址转换电路,每个所述地址转换电路均由一个三输入异或门和三个二输入异或门组成,用以实现该路运算访存或结果输出对原来按存储体低位地址编址的访存地址的变换。
作为本发明的进一步改进:将512点FFT运算数据访存所使用的9位地址标记为a[8:0],按存储体低位交叉编址,提供所需并行访问带宽;其中,使用地址位a[3:0]以区分该处理器的16个存储体,地址高位a[8:4]表示数据地址所在的行地址;将b[8:0]表示为通过所述地址转换单元进行地址转换之后的访存地址,则b[3:0]表示地址转换后的数据所在存储体地址,高位b[8:4]表示地址转换后的数据所在的存储体行地址。
作为本发明的进一步改进:原始地址位a[0]和a[6]为一个二输入异或门的输入端,输出端为b[0];原始地址位a[5]和a[1]为一个二输入异或门的输入端,输出端为b[1];原始地址位a[7]、a[4]和a[2]是一个三输入异或门的输入端,输出端为b[2];原始地址位a[8]和a[3]是一个二输入异或门的输入端,输出端为b[3]。
与现有技术相比,本发明的优点在于:
1、本发明对变形基16FFT算法的数据并行访存和I/O访问的寻址方法进行了优化,以较低的硬件开销支持四路并行访存单元无冲突并行访问,并且支持FFT运算结果的按序并行输入/输出,提高了512点变形基16FFT的运算效能。
2、本发明提出的地址转换单元可用于FFT运算数据访存过程中的地址转换,改变常用的按地址低位交叉方式编址的并行访存方式,实现变形基16四路并行的无冲突访问。
3、本发明在采用DIF的FFT处理器中,由于数据输入为顺序输入,可以实现完全并行,不需要输入数据转换;对于输出端,运算结果到I/O的输出通路中利用本发明可以对输出端地址生成单元一次生成的地址进行转换,实现在逆序情况下的高速并行输出。
附图说明
图1是本发明应用于基16FFT处理器的结构示意图。
图2是本发明在具体应用中相连接的运算过程中地址单元生成示意图。
图3是本发明在具体应用中相连接的运算结果输出端的地址单元生成示意图。
图4是本发明在具体应用中地址转换单元电路结构示意图。
具体实施方式
以下将结合说明书附图和具体实施例对本发明做进一步详细说明。
本发明是针对512点高性能专用FFT处理器,所提出的一种支持四路变形基16并行访存的地址转换单元,它能以极低的硬件代价支持FFT运算的无冲突连续数据流访存,充分开发了蝶形运算单元的运算能力。
如图1和图4所示,本发明的支持变形基16FFT算法并行访存的地址转换单元,包括16个相同的地址转换电路,每个地址转换电路由一个三输入异或门和三个二输入异或门组成,用以实现该路运算访存或结果输出对原来按存储体低位地址编址的访存地址的变换。
512点FFT运算数据访存一共需要使用9位地址,标记为a[8:0];按存储体低位交叉编址,提供所需并行访问带宽;即:使用地址位a[3:0]以区分该专用处理器的16个存储体,地址高位a[8:4]表示数据地址所在的行地址。将b[8:0]表示为通过所述地址转换单元进行地址转换之后的访存地址,则b[3:0]表示地址转换后的数据所在存储体地址,高位b[8:4]表示地址转换后的数据所在的存储体行地址。这样的话,本发明的单个地址转换电路中,转换后地址高位b[8:4]分别对应原地址位a[8:4],也即本发明并不对数据地址所在的存储体行地址进行转换。
在具体应用实例中,原始地址位a[0]和a[6]为一个二输入异或门的输入端,输出端为b[0];原始地址位a[5]和a[1]为一个二输入异或门的输入端,输出端为b[1];原始地址位a[7]、a[4]和a[2]是一个三输入异或门的输入端,输出端为b[2];原始地址位a[8]和a[3]是一个二输入异或门的输入端,输出端为b[3]。如此,则构成完整的单个地址转换电路。16个地址转换电路构成本发明的地址转换单元,实现对四路并行访存中16个存储体的连续访问。
如图4所示,为本发明在具体应用实例中的单个地址转换单元电路图。该电路主要完成如下功能:
bank={a[8]^a[3],a[7]^a[4]^a[2],a[5]^a[1],a[6]^a[0]};
addr=a[8:4];(6)
其中bank为b[3:0],表示地址访问的存储体地址;addr为b[8:4],表示地址所在的存储体行地址。
在具体应用时,如图1所示,为支持连续数据流的基于存储结构的基16FFT处理器结构图。两组存储器RAM0、RAM1分别通过两个交换开关(switch0、switch1)与I/O单元和PE运算单元相连,每组存储器中包含16个存储体(bank0~bank15);PE_16代表高效的变形基16运算单元,一共需要四个(PE_16_0~PE_16_3);PE_2代表正常的基2运算单元,一共需要8个(PE_2_0~PE_2_7)。TF功能单元在每个节拍生成对应的旋转因子,和操作数一起参与运算。地址生成单元主要有两部分组成,一部分为操作数地址生成单元OAG,另外一部分为I/O地址生成单元IOAG。本发明的第一组地址转换单元ATU和OAG连接,另外一组ATU和IOAG连接。
如图2所示,为与本发明相连接的运算过程中地址生成单元示意图(即图1中OAG和ATU相连接),其中CounterC[4:0]表示累加器,FFTStage为0和1,分别表示两级运算;ATU表示本发明的地址转换单元。一共需要16个地址转换电路和图2中的地址生成单元相连接,以生成16个分布在不同存储体中的地址。其中bank_sX和addr_sX代表转换后第X个地址对应的存储体地址和所在存储体行地址。
如图3所示,为与本发明相连接的逆序结果输出地址生成单元示意图(即图1中IOAG和ATU相连接),其中CounterC[4:0]表示累加器,从0开始累加,一直到32。图中ATU表示本发明的地址转换单元,一共也需要16个地址转换单元和图3中的运算结果输出单元相连接。其中bank_sX和addr_sX代表转换后第X个地址对应的存储体地址和所在存储体行地址。图2和图3中的生成地址主要通过switch0/1分别对应一组RAM,即若图2的bank_sX和addr_sX对应图1中的RAM0,则图3中的bank_sX和addr_sX对应RAM1。
下表1为512点数据在变形基16FFT算法下,第一级的数据访问顺序,一共需要32次访问。
表1:
下表2中为512点数据在变形基16FFT算法下,第二级的数据访问顺序,一共需要32次数据访问。采用变形基16FFT算法运算完成后,表格中PE_0和PE_1对应的地址可以直接进行基2FFT运算,不需要将结果原位存储到之前位置,即可直接运算,这就相当于节省了一级运算。
表2
下表3为不进行地址转换的数据排列方式。表中加粗地址标出了第一级第一个周期需要访问的操作数在存储体的位置。可以看出,常规低位交叉排列时,需要一次从一个存储体取出四个操作数,而这是不可能的。
表3
下表4为采用本发明的方法后,原始数据地址新的排列方式。对照表1和表2后,可以发现,两级访问数据均存放在表4所示地址的不同位置,也即本发明的方法完全支持每一级运算的并行数据访问。
表4
下表5中k为输出数据地址,n为输入数据地址。bank表示不同的存储体,addr表示地址所在行地址。表4中每一行k的16个地址经过逆序和地址转换后,均可以分布在不同的存储体中,也即本发明的方法完全支持逆序输出结果的并行按序输出。
表5
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
Claims (3)
1.一种支持变形基16FFT算法并行访存的地址转换单元,其特征在于,包括16个相同的地址转换电路,每个所述地址转换电路均由一个三输入异或门和三个二输入异或门组成,用以实现该路运算访存或结果输出对原来按存储体低位地址编址的访存地址的变换。
2.根据权利要求1所述的支持变形基16FFT算法并行访存的地址转换单元,其特征在于,将512点FFT运算数据访存所使用的9位地址标记为a[8:0],按存储体低位交叉编址,提供所需并行访问带宽;其中,使用地址位a[3:0]以区分该处理器的16个存储体,地址高位a[8:4]表示数据地址所在的行地址;将b[8:0]表示为通过所述地址转换单元进行地址转换之后的访存地址,则b[3:0]表示地址转换后的数据所在存储体地址,高位b[8:4]表示地址转换后的数据所在的存储体行地址。
3.根据权利要求2所述的支持变形基16FFT算法并行访存的地址转换单元,其特征在于,原始地址位a[0]和a[6]为一个二输入异或门的输入端,输出端为b[0];原始地址位a[5]和a[1]为一个二输入异或门的输入端,输出端为b[1];原始地址位a[7]、a[4]和a[2]是一个三输入异或门的输入端,输出端为b[2];原始地址位a[8]和a[3]是一个二输入异或门的输入端,输出端为b[3]。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610033581.8A CN105701036B (zh) | 2016-01-19 | 2016-01-19 | 一种支持变形基16fft算法并行访存的地址转换单元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610033581.8A CN105701036B (zh) | 2016-01-19 | 2016-01-19 | 一种支持变形基16fft算法并行访存的地址转换单元 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105701036A true CN105701036A (zh) | 2016-06-22 |
CN105701036B CN105701036B (zh) | 2019-03-05 |
Family
ID=56227665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610033581.8A Active CN105701036B (zh) | 2016-01-19 | 2016-01-19 | 一种支持变形基16fft算法并行访存的地址转换单元 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105701036B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108388533A (zh) * | 2018-02-27 | 2018-08-10 | 浙江中控技术股份有限公司 | 一种用于编址的方法、装置及设备基座 |
CN109710309A (zh) * | 2018-12-24 | 2019-05-03 | 安谋科技(中国)有限公司 | 减少存储体冲突的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1290369A (zh) * | 1998-01-21 | 2001-04-04 | 艾利森电话股份有限公司 | 流水线式快速傅里叶变换处理器 |
CN1649336A (zh) * | 2004-01-28 | 2005-08-03 | 三洋电机株式会社 | 发送方法和装置、接收方法和装置以及通信系统 |
CN101743706A (zh) * | 2007-06-04 | 2010-06-16 | 艾比奎蒂数字公司 | 用于实现数字信号质量度量的方法和设备 |
-
2016
- 2016-01-19 CN CN201610033581.8A patent/CN105701036B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1290369A (zh) * | 1998-01-21 | 2001-04-04 | 艾利森电话股份有限公司 | 流水线式快速傅里叶变换处理器 |
CN1649336A (zh) * | 2004-01-28 | 2005-08-03 | 三洋电机株式会社 | 发送方法和装置、接收方法和装置以及通信系统 |
CN101743706A (zh) * | 2007-06-04 | 2010-06-16 | 艾比奎蒂数字公司 | 用于实现数字信号质量度量的方法和设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108388533A (zh) * | 2018-02-27 | 2018-08-10 | 浙江中控技术股份有限公司 | 一种用于编址的方法、装置及设备基座 |
CN109710309A (zh) * | 2018-12-24 | 2019-05-03 | 安谋科技(中国)有限公司 | 减少存储体冲突的方法 |
CN109710309B (zh) * | 2018-12-24 | 2021-01-26 | 安谋科技(中国)有限公司 | 减少存储体冲突的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105701036B (zh) | 2019-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Guan et al. | Hierarchical design of an application-specific instruction set processor for high-throughput and scalable FFT processing | |
CN102063411A (zh) | 一种基于802.11n的FFT/IFFT处理器 | |
CN101236774B (zh) | 单端口存储器实现多端口存储功能的装置和方法 | |
Nawaz et al. | A parallel FPGA design of the Smith-Waterman traceback | |
CN105224505A (zh) | 基于矩阵转置操作的fft加速器装置 | |
CN101937424A (zh) | 基于fpga实现高速fft处理的方法 | |
CN102342071A (zh) | 一种实现fft/ifft变换的电路及方法 | |
Yamazaki et al. | One-sided dense matrix factorizations on a multicore with multiple GPU accelerators | |
Mohanty et al. | Area–delay–energy efficient vlsi architecture for scalable in-place computation of fft on real data | |
Chowdhury et al. | A DNA read alignment accelerator based on computational RAM | |
CN105701036A (zh) | 一种支持变形基16fft算法并行访存的地址转换单元 | |
CN116126779A (zh) | 一种9t存算电路、乘累加运算电路、存内运算电路及芯片 | |
Wang et al. | Scheduling of data access for the radix-2k FFT processor using single-port memory | |
Revanna et al. | A scalable FFT processor architecture for OFDM based communication systems | |
CN103389967A (zh) | 一种基于sram的矩阵转置的装置及方法 | |
CN105183701A (zh) | 1536点fft处理方式及相关设备 | |
CN102129419B (zh) | 基于快速傅立叶变换的处理器 | |
Langen et al. | High level estimation of the area and power consumption of on-chip interconnects | |
US9268744B2 (en) | Parallel bit reversal devices and methods | |
CN103176949A (zh) | 实现fft/ifft变换的电路及方法 | |
CN102004720B (zh) | 可变长快速傅立叶变换电路及实现方法 | |
US20190129914A1 (en) | Implementation method of a non-radix-2-point multi data mode fft and device thereof | |
CN102880594B (zh) | 基于多核dsp的并行矩阵全选主元高斯约旦求逆方法 | |
Huang et al. | A high-parallelism memory-based FFT processor with high SQNR and novel addressing scheme | |
Kumar et al. | Implementation of Area Efficient Pipelined R2 2 SDF FFT Architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |