一種高速并行FFT處理器的VLSI結(jié)構(gòu)設(shè)計(jì)
發(fā)布時(shí)間:2008/5/26 0:00:00 訪問(wèn)次數(shù):610
    
    正交頻分復(fù)用ofdm(orthogonal frequency division multiplex)是近幾年興起的一種在無(wú)線信道上實(shí)現(xiàn)高速數(shù)據(jù)傳輸?shù)男录夹g(shù)。它采用多載波調(diào)制技術(shù),其最大的特點(diǎn)是傳輸速率高,對(duì)碼間干擾和信道選擇性衰落 具有很強(qiáng)的抵抗能力。在ofdm系統(tǒng)中,各子載波的調(diào)制解調(diào)采用一個(gè)實(shí)時(shí)的快速傅立葉變換(fft)處理器實(shí)現(xiàn),因此高速fft處理器是ofdm系統(tǒng)實(shí)現(xiàn)中的一個(gè)重要因素。目前通用的fft模塊可以達(dá)到的速度數(shù)量級(jí)為1024點(diǎn)16位字長(zhǎng)定點(diǎn)、塊浮點(diǎn)、浮點(diǎn)運(yùn)算在幾十到數(shù)百微秒量級(jí)[1],其中采用ti公司的dsp62xx定點(diǎn)系列達(dá)到66μs量級(jí)處理速度,新近的64xx在600mhz時(shí)鐘頻率下完成1024點(diǎn)定點(diǎn)fft的時(shí)間僅需10μs。c6701浮點(diǎn)dsp在167mhz時(shí)鐘頻率下完成32位1024點(diǎn)浮點(diǎn)fft的運(yùn)算時(shí)間需120μs[2]。而ad公司的adsp-21160 sharc在100mhz下完成需要90μs。但是如果僅用于fft處理而廢棄其他功能性價(jià)比就很低。采用xilinx公司的fft ip核處理,也可以達(dá)到160mhz的工作頻率[3],但由于其采用固核,外圍引腳較多不利于使用,且不利于針對(duì)特殊要求進(jìn)行修改。
     本文在分析了基4按時(shí)域分解的fft算法特點(diǎn)的基礎(chǔ)上[4],提出了一種便于vlsi實(shí)現(xiàn)的fft處理器結(jié)構(gòu)。處理器運(yùn)算單元的流水并行及操作數(shù)的并行讀寫保證了每個(gè)周期能夠完成一次蝶形運(yùn)算。而文獻(xiàn)[5~6]提出的地址映射算法不適用于本設(shè)計(jì)單蝶形運(yùn)算結(jié)構(gòu);文獻(xiàn)[7]中,尋址方案基于線形變換,但是需要復(fù)雜的位矩陣點(diǎn)積算法;文獻(xiàn)[8]方案做了改進(jìn),但仍然較復(fù)雜。本文提出一種完全同址的數(shù)據(jù)全并行fft處理器設(shè)計(jì)方法。此方案僅需要一個(gè)計(jì)數(shù)器,通過(guò)簡(jiǎn)單的線形變換,即可實(shí)現(xiàn)對(duì)不同長(zhǎng)度n=4p的fft處理。
    1 原理分析
     設(shè)序列x(n)的長(zhǎng)度為n=4p,其中p為正整數(shù),則x(n)的dft為:
    由上述運(yùn)算步驟可推得基4按時(shí)間抽取在第s級(jí)的蝶形運(yùn)算單元的方程為:
     其中s為基4 dit算法流圖中蝶形運(yùn)算單元的級(jí)數(shù);n=b2·4s+b1;s=1,2,…,p;b1取遍0,1,…,4s-1;b2取遍0,1,…,4p-s-1。
    式(4)給出了dit算法的蝶形運(yùn)算公式,由此可以得出抽取數(shù)據(jù)的規(guī)律,同時(shí)也得到了每個(gè)數(shù)據(jù)在每級(jí)蝶形運(yùn)算中相應(yīng)的旋轉(zhuǎn)因子的值,因此式(4)是vlsi實(shí)現(xiàn)基4 fft算法的基礎(chǔ)。
    fft運(yùn)算中與旋轉(zhuǎn)因子相乘的運(yùn)算是復(fù)數(shù)乘法。可以看出,若采用并行處理方式在一個(gè)時(shí)鐘周期內(nèi)實(shí)現(xiàn)復(fù)乘,需4個(gè)實(shí)數(shù)乘法器和2個(gè)實(shí)數(shù)加法器。存在如下等式:
    
     yr=(xr+xi)cosα+xi(sinα-cosα)(5)
    yi=(xr+xi)cosα-xr(sinα+cosα)(6)
    即可用3個(gè)實(shí)數(shù)乘法器和5個(gè)實(shí)數(shù)加法器實(shí)現(xiàn)復(fù)乘。在vlsi的實(shí)現(xiàn)中,陣列乘法器所占面積遠(yuǎn)大于加法器,故通常用式(5)完成復(fù)乘。
     2 fft處理器的硬件實(shí)現(xiàn)
     假定處理器需要做n點(diǎn)fft變換,則基4按時(shí)域抽取fft運(yùn)算包括lg4n級(jí)運(yùn)算,每一級(jí)包括n/4個(gè)基4蝶形運(yùn)算單元。
    2.1 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)
     fft處理器設(shè)計(jì)中采用同址運(yùn)算有利于系統(tǒng)存儲(chǔ)器的片內(nèi)集成,從而提高fft處理器訪問(wèn)存儲(chǔ)器的速度。對(duì)于基4 fft處理器,一次蝶形運(yùn)算需要讀取4個(gè)操作數(shù)。因此,如能充分利用硬件的并行特點(diǎn),在一個(gè)周期內(nèi)并行讀取4個(gè)操作數(shù),計(jì)算速度將是順序處理器的4倍。
    在設(shè)計(jì)中,使用i、j遞增計(jì)數(shù)器(i表示需要做的級(jí)數(shù),j表示每一級(jí)運(yùn)算所需的存儲(chǔ)器容量)。由數(shù)據(jù)地址產(chǎn)生單元生成數(shù)據(jù)存儲(chǔ)器地址b0、b1、b2、b3,由旋轉(zhuǎn)因子地址產(chǎn)生單元生成旋轉(zhuǎn)因子存儲(chǔ)器地址c0、c1、c2。為了在一個(gè)時(shí)鐘周期內(nèi)完成一個(gè)基4蝶形運(yùn)算,采用了4個(gè)并行存儲(chǔ)器a、b、c、d存放fft運(yùn)算的操作數(shù)。系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
    
    
    2.2 數(shù)據(jù)及旋轉(zhuǎn)因子地址生成
    對(duì)于n=4,設(shè)待變化的原始數(shù)據(jù)是按順序輸入的,由式(4)可知完成的dft變換結(jié)果是按兩位二進(jìn)制倒序排列的,即若輸入序列的地址線每?jī)晌粸橐唤M,其序號(hào)用兩位二進(jìn)制表示為ap-1ap-2…a1a0,則輸出結(jié)果的排序?yàn)閍0a1…ap-2ap-1。每級(jí)數(shù)據(jù)及旋轉(zhuǎn)因子抽取關(guān)系如表1所示。數(shù)據(jù)a0、a1、a2、a3經(jīng)過(guò)當(dāng)前級(jí)的地址線交換器后得到一個(gè)蝶形運(yùn)算所對(duì)應(yīng)的4個(gè)數(shù)據(jù)的地址b0、b1、b2、b3。經(jīng)過(guò)蝶形運(yùn)算后,數(shù)據(jù)重新寫回原地址。一個(gè)基4蝶形運(yùn)算需要3個(gè)旋轉(zhuǎn)因子w1、w2、w3。地址b1、b2、b3經(jīng)過(guò)旋轉(zhuǎn)因子交換
    
    正交頻分復(fù)用ofdm(orthogonal frequency division multiplex)是近幾年興起的一種在無(wú)線信道上實(shí)現(xiàn)高速數(shù)據(jù)傳輸?shù)男录夹g(shù)。它采用多載波調(diào)制技術(shù),其最大的特點(diǎn)是傳輸速率高,對(duì)碼間干擾和信道選擇性衰落 具有很強(qiáng)的抵抗能力。在ofdm系統(tǒng)中,各子載波的調(diào)制解調(diào)采用一個(gè)實(shí)時(shí)的快速傅立葉變換(fft)處理器實(shí)現(xiàn),因此高速fft處理器是ofdm系統(tǒng)實(shí)現(xiàn)中的一個(gè)重要因素。目前通用的fft模塊可以達(dá)到的速度數(shù)量級(jí)為1024點(diǎn)16位字長(zhǎng)定點(diǎn)、塊浮點(diǎn)、浮點(diǎn)運(yùn)算在幾十到數(shù)百微秒量級(jí)[1],其中采用ti公司的dsp62xx定點(diǎn)系列達(dá)到66μs量級(jí)處理速度,新近的64xx在600mhz時(shí)鐘頻率下完成1024點(diǎn)定點(diǎn)fft的時(shí)間僅需10μs。c6701浮點(diǎn)dsp在167mhz時(shí)鐘頻率下完成32位1024點(diǎn)浮點(diǎn)fft的運(yùn)算時(shí)間需120μs[2]。而ad公司的adsp-21160 sharc在100mhz下完成需要90μs。但是如果僅用于fft處理而廢棄其他功能性價(jià)比就很低。采用xilinx公司的fft ip核處理,也可以達(dá)到160mhz的工作頻率[3],但由于其采用固核,外圍引腳較多不利于使用,且不利于針對(duì)特殊要求進(jìn)行修改。
     本文在分析了基4按時(shí)域分解的fft算法特點(diǎn)的基礎(chǔ)上[4],提出了一種便于vlsi實(shí)現(xiàn)的fft處理器結(jié)構(gòu)。處理器運(yùn)算單元的流水并行及操作數(shù)的并行讀寫保證了每個(gè)周期能夠完成一次蝶形運(yùn)算。而文獻(xiàn)[5~6]提出的地址映射算法不適用于本設(shè)計(jì)單蝶形運(yùn)算結(jié)構(gòu);文獻(xiàn)[7]中,尋址方案基于線形變換,但是需要復(fù)雜的位矩陣點(diǎn)積算法;文獻(xiàn)[8]方案做了改進(jìn),但仍然較復(fù)雜。本文提出一種完全同址的數(shù)據(jù)全并行fft處理器設(shè)計(jì)方法。此方案僅需要一個(gè)計(jì)數(shù)器,通過(guò)簡(jiǎn)單的線形變換,即可實(shí)現(xiàn)對(duì)不同長(zhǎng)度n=4p的fft處理。
    1 原理分析
     設(shè)序列x(n)的長(zhǎng)度為n=4p,其中p為正整數(shù),則x(n)的dft為:
    由上述運(yùn)算步驟可推得基4按時(shí)間抽取在第s級(jí)的蝶形運(yùn)算單元的方程為:
     其中s為基4 dit算法流圖中蝶形運(yùn)算單元的級(jí)數(shù);n=b2·4s+b1;s=1,2,…,p;b1取遍0,1,…,4s-1;b2取遍0,1,…,4p-s-1。
    式(4)給出了dit算法的蝶形運(yùn)算公式,由此可以得出抽取數(shù)據(jù)的規(guī)律,同時(shí)也得到了每個(gè)數(shù)據(jù)在每級(jí)蝶形運(yùn)算中相應(yīng)的旋轉(zhuǎn)因子的值,因此式(4)是vlsi實(shí)現(xiàn)基4 fft算法的基礎(chǔ)。
    fft運(yùn)算中與旋轉(zhuǎn)因子相乘的運(yùn)算是復(fù)數(shù)乘法?梢钥闯,若采用并行處理方式在一個(gè)時(shí)鐘周期內(nèi)實(shí)現(xiàn)復(fù)乘,需4個(gè)實(shí)數(shù)乘法器和2個(gè)實(shí)數(shù)加法器。存在如下等式:
    
     yr=(xr+xi)cosα+xi(sinα-cosα)(5)
    yi=(xr+xi)cosα-xr(sinα+cosα)(6)
    即可用3個(gè)實(shí)數(shù)乘法器和5個(gè)實(shí)數(shù)加法器實(shí)現(xiàn)復(fù)乘。在vlsi的實(shí)現(xiàn)中,陣列乘法器所占面積遠(yuǎn)大于加法器,故通常用式(5)完成復(fù)乘。
     2 fft處理器的硬件實(shí)現(xiàn)
     假定處理器需要做n點(diǎn)fft變換,則基4按時(shí)域抽取fft運(yùn)算包括lg4n級(jí)運(yùn)算,每一級(jí)包括n/4個(gè)基4蝶形運(yùn)算單元。
    2.1 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)
     fft處理器設(shè)計(jì)中采用同址運(yùn)算有利于系統(tǒng)存儲(chǔ)器的片內(nèi)集成,從而提高fft處理器訪問(wèn)存儲(chǔ)器的速度。對(duì)于基4 fft處理器,一次蝶形運(yùn)算需要讀取4個(gè)操作數(shù)。因此,如能充分利用硬件的并行特點(diǎn),在一個(gè)周期內(nèi)并行讀取4個(gè)操作數(shù),計(jì)算速度將是順序處理器的4倍。
    在設(shè)計(jì)中,使用i、j遞增計(jì)數(shù)器(i表示需要做的級(jí)數(shù),j表示每一級(jí)運(yùn)算所需的存儲(chǔ)器容量)。由數(shù)據(jù)地址產(chǎn)生單元生成數(shù)據(jù)存儲(chǔ)器地址b0、b1、b2、b3,由旋轉(zhuǎn)因子地址產(chǎn)生單元生成旋轉(zhuǎn)因子存儲(chǔ)器地址c0、c1、c2。為了在一個(gè)時(shí)鐘周期內(nèi)完成一個(gè)基4蝶形運(yùn)算,采用了4個(gè)并行存儲(chǔ)器a、b、c、d存放fft運(yùn)算的操作數(shù)。系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
    
    
    2.2 數(shù)據(jù)及旋轉(zhuǎn)因子地址生成
    對(duì)于n=4,設(shè)待變化的原始數(shù)據(jù)是按順序輸入的,由式(4)可知完成的dft變換結(jié)果是按兩位二進(jìn)制倒序排列的,即若輸入序列的地址線每?jī)晌粸橐唤M,其序號(hào)用兩位二進(jìn)制表示為ap-1ap-2…a1a0,則輸出結(jié)果的排序?yàn)閍0a1…ap-2ap-1。每級(jí)數(shù)據(jù)及旋轉(zhuǎn)因子抽取關(guān)系如表1所示。數(shù)據(jù)a0、a1、a2、a3經(jīng)過(guò)當(dāng)前級(jí)的地址線交換器后得到一個(gè)蝶形運(yùn)算所對(duì)應(yīng)的4個(gè)數(shù)據(jù)的地址b0、b1、b2、b3。經(jīng)過(guò)蝶形運(yùn)算后,數(shù)據(jù)重新寫回原地址。一個(gè)基4蝶形運(yùn)算需要3個(gè)旋轉(zhuǎn)因子w1、w2、w3。地址b1、b2、b3經(jīng)過(guò)旋轉(zhuǎn)因子交換
熱門點(diǎn)擊
- 超/極低頻通信技術(shù)
- ISO7816(part1-3)異步智能卡資
- PPP協(xié)議
- 單片機(jī)控制的網(wǎng)絡(luò)交換機(jī)設(shè)計(jì)與實(shí)現(xiàn)
- 跳頻電臺(tái)中央控制單元及跳頻單元的硬件設(shè)計(jì)
- 基于SDA80D51的以太電話機(jī)的設(shè)計(jì)
- 基于ZigBee技術(shù)的射頻芯片CC2430
- FLEX編碼與POCSAG編碼
- IP電話的VoIP語(yǔ)音網(wǎng)關(guān)設(shè)計(jì)
- 實(shí)現(xiàn)基于GPRS的無(wú)線遠(yuǎn)程IAP功能
推薦技術(shù)資料
- 650V雙向GaNFast氮化鎵功率芯片
- 業(yè)內(nèi)領(lǐng)先8英寸硅基氮化鎵技術(shù)工
- 新一代600V超級(jí)接面MOSFET KP38
- KEC 第三代SuperJunction M
- KEC半導(dǎo)體650V碳化硅(SiC)肖特基二
- Arrow Lake U 系列
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究