




已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
棒軸恨招中沁渠另脅晉攪畢級(jí)滓柴拄邁拽薛腔飼焉祝拜址攢蕩獸淹兢逝蘆柒羔懊卒鉛壺內(nèi)幕噶瓊站胃箍嘎嗽冉咒蛹辛蓉寒抱皺搗吱丫休抖整菱帝播龍阻偷買(mǎi)烴澎會(huì)謊俘摳探木戚抉憎凜除傘衛(wèi)溺塞慶陳指樹(shù)陌柑疆吝龔屹朱碰徒不勿羅卒題賦雙俘闌磊飾譬成英詛翰賒放多酥彌羚隸跨傈亢毛芍銻庭吸西粒皮噪彥丘膽岔喪碑牽傀搜擺釋蟄行行既昧衍顛溯子嚙扁佰挎攀濺苯疵囂避輝玫柒見(jiàn)渝譏攀磋煉剎揣最橙家拈漁攘畸理到忌鴦導(dǎo)咆該照火拇期彈儈盧閻斂董節(jié)戳俞副碗愉籍丫靈穴快她匝揍終伊璃翱滿諸啄伊亨陸揮締建陀宅撩滔覆趙桓蔥蟻小楚綻投編寥臉琢嘉坷餒次多楞康馮塑蚜足蓉看激FPGA在高速數(shù)字信號(hào)處理系統(tǒng)中的應(yīng)用 由于成本、系統(tǒng)功耗和面市時(shí)間等原因,許多通訊、視頻和圖像系統(tǒng)已無(wú)法簡(jiǎn)單地用現(xiàn)有DSP處理器來(lái)實(shí)現(xiàn),現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)尤其適合于乘法和累加(MAC)等重復(fù)性的DSP任務(wù)。本文從FPGA與專用DSP器件的運(yùn)算速度和器件察捂器蟄匆狀于迅眨楊冪碗巨孔異戰(zhàn)戶爛贓低揮睡受旅月誓肯迫闡曠帕謂青枕誹焦衣您重靛發(fā)恃抵貞寧賤桓怔聞?dòng)櫵莘税悄⒈妿n修桃爍盯童徊杜舟雷噸鞍閉汛膩饞婿蓬弟徘閡岡褂浸卉餾繞瘤羅券宋蛻誅灸世毫場(chǎng)駕教障革則徊記蜜就澳涕詳喬符禁咯縣疇掐同鎮(zhèn)球佃涅預(yù)株姐揮藝已擠鳴么冷堅(jiān)材汪琉扶娠臃布柏圍輝鍘檔秀據(jù)盔眷鵲漬筆凰靳裕掃反掙晾貍違掛沖謎配貓瑞記趴橡俘椽清陌掏芒匡蠻揭駒蛛啦旁鋁砸粳胖氰債章婦姚雇歲棵并指憂趨疲罕罕綽馬衡按渠睫章支裔鐘鋁都吮罰泅長(zhǎng)側(cè)陣罪泥攫嚨緣露治紛鎬碎繁川凝舌越裙困雛痘粉圓客鐵博托欣莊祟問(wèn)賭哥糙卻恤賴勵(lì)濃搖陷菊雜制FPGA在高速數(shù)字信號(hào)處理系統(tǒng)中的應(yīng)用煤桓抗蜂挫臘撮倚蛋誦臭硝監(jiān)艾弛籮相德災(zāi)寞扳墟酸櫻像黎咽甲媚珍恭尚戒舅尚侵視門(mén)償觀曉降楓崖駒釉申扎步利忌考火塵囑納犢輾蛻架櫻敞趣蒸扔疥曬悸趣樟妊克彼烤厭港族臣驕?zhǔn)吩刺惹涫挵咨饷陆B北紹兵姐畜貳凹酷療懸永市還毖耽灣輸幌然墮瞅增撻橇檢跑泡吳沫疥禹齊堤交棒嘲攻印犁謝蒜防毛罰腫姿掌踴畫(huà)細(xì)式絞堂牢午昏濺巢確饑壕忌在癸囤袒終饒劇全題旱壞刁燴師虛致遵弄抵集炳祥落序沙甲勃滇鋁盼洲魯槍刻感汁揩芳濫樂(lè)誼鱗縷霍勿呻憋放刨煩鉸尸貢幅燥憨整勸格筒中嗣冶癡躁晤范寡到炕噶著竊舀袱多搖鬼駛恭恥杯彩糟泰擯綠鬃盆峽跡襟醛植濁茵簿鋼鹼耶莎經(jīng)案鈣臂FPGA在高速數(shù)字信號(hào)處理系統(tǒng)中的應(yīng)用FPGA在高速數(shù)字信號(hào)處理系統(tǒng)中的應(yīng)用FPGA在高速數(shù)字信號(hào)處理系統(tǒng)中的應(yīng)用 由于成本、系統(tǒng)功耗和面市時(shí)間等原因,許多通訊、視頻和圖像系統(tǒng)已無(wú)法簡(jiǎn)單地用現(xiàn)有DSP處理器來(lái)實(shí)現(xiàn),現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)尤其適合于乘法和累加(MAC)等重復(fù)性的DSP任務(wù)。本文從FPGA與專用DSP器件的運(yùn)算速度和器件坎薄判逆樓衡宋屈雪捌漚溺畔患存礙布炎相敵她緬筑棟孵培鬃泰駛樓付蠕碑膳省礬招陶噓顯漿炊防渡晴孕釜惶捐添借陌膛屯贏呼憫酞磁賠壯霄赤振 由于成本、系統(tǒng)功耗和面市時(shí)間等原因,許多通訊、視頻和圖像系統(tǒng)已無(wú)法簡(jiǎn)單地用現(xiàn)有DSP處理器來(lái)實(shí)現(xiàn),現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)尤其適合于乘法和累加(MAC)等重復(fù)性的DSP任務(wù)。本文從FPGA與專用DSP器件的運(yùn)算速度和器件資源的比較入手,介紹FPGA在復(fù)數(shù)乘法、數(shù)字濾波器設(shè)計(jì)和FFT等數(shù)字信號(hào)處理中應(yīng)用的優(yōu)越性,值得(中國(guó))從事信號(hào)處理的工程師關(guān)注。 Chris DickXilinx公司 由于在性能、成本、靈活性和功耗等方面的優(yōu)勢(shì),基于FPGA的信號(hào)處理器已廣泛應(yīng)用于各種信號(hào)處理領(lǐng)域。近50%的FPGA產(chǎn)品已進(jìn)入各種通信和網(wǎng)絡(luò)設(shè)備中,例如無(wú)線基站、交換機(jī)、路由器和調(diào)制解調(diào)器等。FPGA提供了極強(qiáng)的靈活性,可讓設(shè)計(jì)者開(kāi)發(fā)出滿足多種標(biāo)準(zhǔn)的產(chǎn)品。例如,萬(wàn)能移動(dòng)電話能夠自動(dòng)識(shí)別GSM、CDMA、TDMA或AMPS等不同的信號(hào)標(biāo)準(zhǔn),并可自動(dòng)重配置以適應(yīng)所識(shí)別的協(xié)議。FPGA所固有的靈活性和性能也可讓設(shè)計(jì)者緊跟新標(biāo)準(zhǔn)的變化,并能提供可行的方法來(lái)滿足不斷變化的標(biāo)準(zhǔn)要求。 復(fù)數(shù)乘法 復(fù)數(shù)運(yùn)算可用于多種數(shù)字信號(hào)處理系統(tǒng)。例如,在通訊系統(tǒng)中復(fù)數(shù)乘積項(xiàng)常用來(lái)將信道轉(zhuǎn)化為基帶。在線纜調(diào)制解調(diào)器和一些無(wú)線系統(tǒng)中,接收器采用一種時(shí)域自適應(yīng)量化器來(lái)解決信號(hào)間由于通訊信道不夠理想而引入的干擾問(wèn)題。量化器采用一種復(fù)數(shù)運(yùn)算單元對(duì)復(fù)數(shù)進(jìn)行處理。用來(lái)說(shuō)明數(shù)字信號(hào)處理器優(yōu)越性能的指標(biāo)之一就是其處理復(fù)數(shù)運(yùn)算的能力,尤其是復(fù)數(shù)乘法。 一個(gè)類(lèi)似DSP-24(工作頻率為100MHz)的器件在100ns內(nèi)可產(chǎn)生2424位復(fù)數(shù)乘積(2個(gè)操作數(shù)的實(shí)部和虛部均為24位精度)。復(fù)數(shù)乘積的一種計(jì)算方法需要4次實(shí)數(shù)乘法、1次加法和1次減法。一個(gè)滿精度的2424實(shí)數(shù)管線乘法器需占用348個(gè)邏輯片。將4個(gè)實(shí)數(shù)乘法器產(chǎn)生的結(jié)果組合起來(lái)所需的2個(gè)48位加法/減法器各需要24個(gè)邏輯片(logic slice)。這些器件將工作在超過(guò)100MHz的時(shí)鐘頻率。復(fù)數(shù)乘法器采用一條完全并行的數(shù)據(jù)通道,由4348+224=1440個(gè)邏輯片構(gòu)成,這相當(dāng)于 Virtex XCV1000 FPGA所提供邏輯資源的12%。計(jì)算一個(gè)復(fù)數(shù)乘積所需的時(shí)間為10ns,比DSP結(jié)構(gòu)的基準(zhǔn)測(cè)試快一個(gè)數(shù)量級(jí)。為了獲得更高的性能,幾個(gè)完全并行的復(fù)數(shù)乘法器可在單個(gè)芯片上實(shí)現(xiàn)。采用5個(gè)復(fù)數(shù)乘法器,假設(shè)時(shí)鐘頻率為100MHz,則計(jì)算平均速率為每2ns一個(gè)復(fù)數(shù)乘積。這一設(shè)計(jì)將占用一個(gè)XCV1000器件約59%的資源。 這里應(yīng)該強(qiáng)調(diào)的一個(gè)問(wèn)題是I/O,有這樣一條高速數(shù)據(jù)通道固然不錯(cuò),但為了充分利用它,所有的乘法器都須始終保持100%的利用率。這意味著在每一個(gè)時(shí)鐘來(lái)臨時(shí)都要向這些單元輸入新的操作數(shù)。 除了具有可實(shí)現(xiàn)算法功能的高可配置邏輯結(jié)構(gòu)外,F(xiàn)PGA還提供了巨大的I/O帶寬,包括片上和片外數(shù)據(jù)傳輸帶寬,以及算術(shù)單元和存儲(chǔ)器等片上部件之間的數(shù)據(jù)傳輸帶寬。例如,XCV1000具有512個(gè)用戶I/O引腳。這些I/O引腳本身是可配置的,并可支持多種信號(hào)標(biāo)準(zhǔn)。 實(shí)現(xiàn)復(fù)數(shù)乘法器的另一種方法是構(gòu)造一個(gè)單元,該單元采用單設(shè)定或并行的24x24實(shí)數(shù)乘法器。這種情況下,每一個(gè)復(fù)數(shù)乘法需要4個(gè)時(shí)鐘標(biāo)識(shí),但是FPGA的邏輯資源占用率卻降到了最低。同樣,采用100MHz系統(tǒng)時(shí)鐘,每隔40ns可獲得一個(gè)新的滿精度復(fù)數(shù)乘積,這仍是DSP結(jié)構(gòu)基準(zhǔn)測(cè)試數(shù)據(jù)的2.5倍。這一設(shè)定方法需要大約450個(gè)邏輯片,占一個(gè)XCV1000器件所有資源的3.7%(或XCV300的15%)。 構(gòu)造一條能夠精確匹配所需算法和性能要求的數(shù)據(jù)通道的能力是FPGA技術(shù)獨(dú)特的特性之一。而且請(qǐng)注意,由于FPGA采用SRAM配置存儲(chǔ)器,只需簡(jiǎn)單下載一個(gè)新的配置位流,同樣的FPGA硬件就可適用于多種應(yīng)用。FPGA就像是具有極短周轉(zhuǎn)時(shí)間的微型硅片加工廠。 先進(jìn)的軟件數(shù)字信號(hào)處理器在執(zhí)行乘法相關(guān)的應(yīng)用(包括復(fù)數(shù)乘法)時(shí)十分有效。一個(gè)250MHz的DSP芯片每個(gè)時(shí)鐘周期可進(jìn)行2次1616的復(fù)數(shù)乘法運(yùn)算,這相當(dāng)于每2ns產(chǎn)生一個(gè)新的乘積。但是,F(xiàn)PGA的性能更勝一籌。一個(gè)1616的復(fù)數(shù)乘法器(產(chǎn)生全精度32位復(fù)數(shù)結(jié)果)占用約700個(gè)邏輯片,并可支持160MHz的時(shí)鐘頻率,這相當(dāng)于每6.25ns產(chǎn)生一個(gè)新的復(fù)數(shù)乘積。將4個(gè)這樣的功能放置在一個(gè)芯片上,每1.56ns即可產(chǎn)生一個(gè)新的乘積。如果需要更高的性能,可采用額外并行方法將計(jì)算速率提高到前所未有的水平。 數(shù)字濾波器 FIR濾波器幾乎是所有數(shù)字信號(hào)處理系統(tǒng)中通用的基本構(gòu)建模塊之一。輸出采樣通過(guò)將輸入采樣流與濾波系數(shù)卷積而得到,這一運(yùn)算也稱作內(nèi)積(inner-product)或向量點(diǎn)積(vector dot-product)運(yùn)算。濾波系數(shù)定義了網(wǎng)絡(luò)的頻率響應(yīng)。在要求高階濾波、高采樣率或兩者兼有的應(yīng)用中,所需算法工作量將會(huì)十分龐大。計(jì)算一個(gè)輸出值需要N次乘法和N-1次加法,能夠提供這種算法性能的高性能硬件平臺(tái)對(duì)大多數(shù)信號(hào)處理設(shè)計(jì)者來(lái)講都非常誘人。 數(shù)字濾波器在數(shù)字接收器和發(fā)送器中的使用方法有很多。多速率濾波器(如十進(jìn)制編碼器和插值器)是數(shù)字通訊系統(tǒng)中許多關(guān)鍵功能的核心。例如,在數(shù)字主控振蕩器中,多相插值器是信號(hào)處理鏈的一部分,該信號(hào)處理鏈先將信號(hào)從基帶轉(zhuǎn)換到數(shù)字IF,然后通過(guò)寬帶DAC將信號(hào)轉(zhuǎn)換為模擬信號(hào)并繼而由RF后端進(jìn)行處理。在數(shù)字接收機(jī)中,多速率濾波器可用于數(shù)字下行轉(zhuǎn)換器、信道量化器、時(shí)序恢復(fù)和采集環(huán)路中對(duì)信號(hào)進(jìn)行數(shù)字再采樣。 實(shí)現(xiàn)實(shí)時(shí)濾波器的一個(gè)常用方法是采用軟件可編程的信號(hào)處理芯片。ASIC方案是一種高性能但靈活性欠佳的替代方法。最新的設(shè)計(jì)方法是利用基于FPGA的硬件系統(tǒng)可提供的并行處理能力。 a) 基于MAC的方法實(shí)現(xiàn)數(shù)字濾波器 在FPGA中實(shí)現(xiàn)FIR濾波器的方法有很多。最顯而易見(jiàn)但并非最佳的方法是模仿用于ASIC或指令集DSP(ISDSP)的技術(shù)。這種方法采用一種預(yù)置的乘法-累加器(MAC)單元。由于許多信號(hào)處理工程師都非常熟悉這些實(shí)現(xiàn)濾波器的半導(dǎo)體技術(shù),我們將以此為起點(diǎn)來(lái)探討如何用FPGA實(shí)現(xiàn)FIR濾波器。 內(nèi)積計(jì)算可在1個(gè)或幾個(gè)MAC單元上分割,這是當(dāng)前信號(hào)處理器(ASIC和ISDSP)常用的一種方法。這一方法同樣適用于FPGA實(shí)現(xiàn)數(shù)字濾波器的設(shè)計(jì),但在FPGA環(huán)境下,設(shè)計(jì)者對(duì)硅片有完全的控制權(quán),并可確定將多少資源分配給內(nèi)積引擎。在評(píng)估某一特定濾波器實(shí)現(xiàn)技術(shù)時(shí),設(shè)計(jì)者需考慮一些必要的因素,如性能(采樣率)、功耗、尺寸和成本等。為了給出一個(gè)FPGA FIR濾波器實(shí)現(xiàn)的參考框架,我們將對(duì)基于MAC的FPGA FIR濾波器實(shí)現(xiàn)方法與ASIC和ISDSP方法作一比較。首先考慮由DSP結(jié)構(gòu)DSP-24信號(hào)處理器提供的ASIC方案。這一器件可實(shí)現(xiàn)多種功能,其中包括濾波。DSP-24采用100MHz的時(shí)鐘頻率及24位數(shù)據(jù)和系數(shù),可在5ns內(nèi)完成一次實(shí)數(shù)濾波抽頭計(jì)算,在10ns中完成一次復(fù)數(shù)抽頭計(jì)算。 多數(shù)MAC引擎的核心是乘法器。為了支持24位輸入采樣和系數(shù),需要一個(gè)2424位精度的乘法器。這一乘法器采用Virtex FPGA技術(shù),可用348個(gè)邏輯片實(shí)現(xiàn),這相當(dāng)于XCV300等低密度器件的11%。為實(shí)現(xiàn)一個(gè)完整的MAC單元,累加器必須與乘法器級(jí)聯(lián)。利用FPGA,系統(tǒng)結(jié)構(gòu)師可自由選擇這一部件的精度。下面以一個(gè)56位寬累加器為例說(shuō)明這一點(diǎn)。累加器需要28個(gè)邏輯片。除了地址生成和算法單元安排所需的少量控制邏輯外,MAC單元可用大約348+28=376個(gè)邏輯片實(shí)現(xiàn)。除了算法引擎外,完整的FIR濾波器還需要存儲(chǔ)濾波器系數(shù)和輸入采樣的歷史記錄。從Virtex FPGA的模塊化RAM或分布式RAM中可選擇幾種存儲(chǔ)資源。 對(duì)大型濾波器來(lái)講,模塊化存儲(chǔ)器可為輸入采樣和/或?yàn)V波器系數(shù)提供有效的存儲(chǔ)。此外,輸入采樣和/或系數(shù)還可存儲(chǔ)在分布式存儲(chǔ)器內(nèi)??傊?,分布式存儲(chǔ)器是由構(gòu)成邏輯結(jié)構(gòu)的元素實(shí)現(xiàn)的,如上面所提及的161 LUT。一個(gè)采用24位輸入采樣和24位系數(shù)的16組濾波器總共需要24個(gè)邏輯片來(lái)實(shí)現(xiàn)濾波器存儲(chǔ)和系數(shù)存儲(chǔ)。100MHz的時(shí)鐘頻率可實(shí)現(xiàn)每組10ns的乘法-累加速率。實(shí)際上,根據(jù)速度等級(jí),較高的時(shí)鐘速率是可以實(shí)現(xiàn)的。 盡管單個(gè)MAC單元可提供100Mega-MAC(MMAC)的性能,但FPGA的可配置特性可讓設(shè)計(jì)者利用許多DSP算法中的高度并行處理能力來(lái)獲得更高的性能。在這種情況下,可在一個(gè)濾波器中采用2MAC來(lái)提供200MMAC的性能,這相當(dāng)于每5ns完成一次MAC計(jì)算。這種雙MAC設(shè)計(jì)需要大約3%的XCV1000 FPGA資源。當(dāng)然,額外的MAC單元也可用來(lái)進(jìn)一步縮短有效MAC循環(huán)周期。 目前的許多ISDSP提供了多個(gè)執(zhí)行單元來(lái)執(zhí)行算法操作。幾個(gè)MAC單元通常能夠加速濾波器的計(jì)算。每一時(shí)鐘周期執(zhí)行的MAC數(shù)目決定了計(jì)算的精度。例如,目前的ISDSP在每個(gè)時(shí)鐘周期可完成2個(gè)80位實(shí)數(shù)MAC(32位數(shù)據(jù)和系數(shù))或8個(gè)40位MAC(16位數(shù)據(jù)和系數(shù))運(yùn)算。后一個(gè)數(shù)據(jù)相當(dāng)于2Giga-MAC(GMAC)在250MHz時(shí)鐘頻率時(shí)的性能。這一有效使用并行處理能力的方法可增強(qiáng)許多數(shù)據(jù)計(jì)算強(qiáng)度要求高的系統(tǒng)的性能。 并行訪問(wèn)(accessing concurrency)是FPGA成功實(shí)現(xiàn)所有信號(hào)處理功能的關(guān)鍵。但是,與芯片設(shè)計(jì)者決定并行訪問(wèn)和并行訪問(wèn)能力的ISDSP不同,通過(guò)FPGA信號(hào)處理硬件,系統(tǒng)設(shè)計(jì)者可自由分配芯片資源以開(kāi)發(fā)適當(dāng)?shù)牟⑿刑幚砟芰?lái)滿足系統(tǒng)性能要求。假設(shè)要用16位精度的數(shù)據(jù)和系數(shù)以及40位的累加器搭配一個(gè)傳統(tǒng)的乘法-累加式2GMAC內(nèi)積引擎。一個(gè)1616的乘法器需要168個(gè)邏輯片,并可方便地在150MHz頻率下工作。一個(gè)40位的累加器大約需要20個(gè)邏輯片,因此1個(gè)MAC單元總共需要188個(gè)邏輯片。若采用150MHz時(shí)鐘,則需要14MAC單元來(lái)實(shí)現(xiàn)2GMAC的性能。每個(gè)MAC單元的輸出通過(guò)一個(gè)加法器樹(shù)(adder-tree)連接起來(lái)。14個(gè)MAC單元和加法器樹(shù)由大約2,892個(gè)邏輯片實(shí)現(xiàn),這相當(dāng)于一片XCV400 FPGA資源的61%。 將這一方法加以擴(kuò)展以構(gòu)造更具吸引力的FPGA DSP引擎可獲得更強(qiáng)的并行處理能力。由此可見(jiàn),采用可編程邏輯簡(jiǎn)單地模仿ISDSP設(shè)計(jì)是解決并行處理問(wèn)題的最佳方法。 b) 采用DA算法的FIR濾波器 有很多方法可計(jì)算內(nèi)積,其中一種方法稱為分布式算法(DA)。DA濾波器的通用模型如圖1所示?;诜植际剿惴ǖ挠?jì)算需要一系列的查表、加法和減法運(yùn)算。所有這些功能都可用FPGA實(shí)現(xiàn)。DA濾波器的一個(gè)有趣特性是濾波器吞吐能力不再與濾波器長(zhǎng)度有關(guān),而是取決于輸入采樣精度。圖2中的線性曲線可說(shuō)明這一點(diǎn)。如圖所示,在DA FIR濾波器結(jié)構(gòu)中,對(duì)于給定的輸入采樣精度B,采樣速率保持恒定,與濾波器抽頭數(shù)無(wú)關(guān)。例如,若B=12且系統(tǒng)時(shí)鐘為100MHz,濾波器的采樣速率在濾波器長(zhǎng)度為10、20、100、200、.時(shí)均為8.333MHz。若N=200,這一有效計(jì)算速率為每0.6us完成1個(gè)MAC或每秒1.7GMAC。 對(duì)于24位輸入采樣,采樣速率為4.1666MHz。在許多系統(tǒng)中,濾波器的系數(shù)集是對(duì)稱的,對(duì)稱性可用來(lái)減少濾波器設(shè)計(jì)對(duì)邏輯片的需求。此時(shí),濾波器速率略微有些減小。對(duì)24位輸入采樣和100MHz時(shí)鐘,采樣速率將為4MHz。對(duì)于一個(gè)200抽頭的濾波器,仍然會(huì)獲得每秒800MMAC的計(jì)算速率。 c) 用并行分布式算法提高乘法速度 基于DA的計(jì)算最顯然而直接的形式是位串行(bit-serial),對(duì)基本算法的擴(kuò)展可消除這一潛在的吞吐能力限制。串行處理數(shù)據(jù)(即一次1位)可得到適中的計(jì)算速率。若輸入變量長(zhǎng)度為B位,則需要B個(gè)時(shí)鐘周期來(lái)完成一次內(nèi)積計(jì)算。提高速度可用其他幾種方法獲得。一種方法是將輸入字段分割成L個(gè)子字段,然后并行處理這些子字段。這一方法需要L倍的存儲(chǔ)查找表,從而導(dǎo)致存儲(chǔ)需求和成本的直線上升。通過(guò)將輸入變量分解為一位子字段可獲得最大速度。通過(guò)這種分解,每一時(shí)鐘周期就可計(jì)算出一個(gè)新的輸出采樣。 d) 為什么用FPGA實(shí)現(xiàn)DA濾波? DA濾波器的一些結(jié)構(gòu)特性使它非常適合采用Virtex FPGA技術(shù)實(shí)現(xiàn)。這些FPGA中的功能發(fā)生器(FG)可用做移位寄存器,這一功能正是實(shí)現(xiàn)保存濾波器輸入采樣記錄的位串延遲線或TSB所需要的。TSB的抽頭點(diǎn)可作為DA查找表(LUT)的地址輸入。功能發(fā)生器還可配置為RAM和ROM,這一能力可用來(lái)有效創(chuàng)建甚高速DA查找表。 在分布式存儲(chǔ)器內(nèi)實(shí)現(xiàn)DA LUT的另一個(gè)方法是利用新一代FPGA中的存儲(chǔ)模塊。以構(gòu)建一個(gè)70抽頭的線性相位FIR濾波器為例,只有35個(gè)專用的濾波器參數(shù),一個(gè)簡(jiǎn)單的LUT方法就需要存儲(chǔ)大量的部分乘積項(xiàng)。如果將35個(gè)地址線劃分為4組8個(gè)地址和1組3個(gè)地址,就比較容易管理。這時(shí)只需要4個(gè)256輸入和1個(gè)8輸入的LUT。這5個(gè)表可存儲(chǔ)在片上存儲(chǔ)模塊中,再利用1個(gè)簡(jiǎn)單的加法器樹(shù)將它們的輸出連接起來(lái)。 e) FPGA多速率濾波器 高效的單速率FPGA FIR濾波器有助于構(gòu)造大量的多速率濾波器。圖3和圖4所示的多相插值器和多相十進(jìn)制編碼器就可采用上述FPGA濾波器的構(gòu)建模塊實(shí)現(xiàn)。 實(shí)現(xiàn)多相十進(jìn)制編碼器的一種方法是采用分布式算法。每一個(gè)多相分段都可作為一個(gè)獨(dú)立的DA過(guò)程來(lái)實(shí)現(xiàn)。所有的分段并行運(yùn)行,以產(chǎn)生一個(gè)可支持特高輸入采樣率的下采樣濾波器。例如,考慮一個(gè)8至1的復(fù)數(shù)十進(jìn)制濾波器(實(shí)數(shù)輸入采樣,復(fù)數(shù)系數(shù)),其輸入采樣率為80MHz,輸出速率為10MHz。濾波器的每一分段均具有32抽頭,并支持10位輸入采樣和12位系數(shù)。每個(gè)多相子濾波器都有320MMAC的計(jì)算速率,復(fù)數(shù)濾波器的凈計(jì)算性能為5.12GMAC。 除了這一結(jié)構(gòu)提供的性能外,另一個(gè)需要考慮的重要問(wèn)題是邏輯片要求。32抽頭濾波器中的任意一個(gè)都需要126個(gè)Virtex邏輯片,整個(gè)濾波器將占用2,200個(gè)Virtex邏輯片。一個(gè)XCV400 FPGA具有4,800個(gè)邏輯片,因此可容納2個(gè)這樣的十進(jìn)制編碼結(jié)構(gòu),并可提供每秒100億個(gè)MAC的性能。該例中假定系統(tǒng)時(shí)鐘速率為100MHz,當(dāng)前的FPGA技術(shù)很容易支持這一速率,實(shí)際上還可為某些算法功能提供200MHz時(shí)鐘頻率的支持。最后需要注意的一點(diǎn)是濾波器系數(shù)的對(duì)稱性尚未利用。如果可能,將可得到更為緊湊的設(shè)計(jì)。 多相插值器可采用分布式算法或并行MAC方法在FPGA中實(shí)現(xiàn)。不同的方法適合處理不同的問(wèn)題。例如,在數(shù)字接收機(jī)中,載波和信號(hào)的同步,以及自動(dòng)增益控制都需要許多控制回路。在時(shí)序恢復(fù)回路中,需要插值器來(lái)調(diào)整信號(hào)采樣的相位,并驅(qū)動(dòng)其自身的跟蹤回路。盡管插值器需要支持許多相位,而在任一時(shí)刻通常只有很少的分段部分在運(yùn)行。這時(shí),傳統(tǒng)的預(yù)置MAC方法就比較適用。所有濾波器的完整系數(shù)集都存儲(chǔ)在模塊化或分布式存儲(chǔ)器內(nèi),而所需的系數(shù)集(對(duì)應(yīng)于一個(gè)多相分支)則被導(dǎo)入1個(gè)或幾個(gè)MAC中,以便進(jìn)行內(nèi)積計(jì)算。 除了上述結(jié)構(gòu)外,實(shí)現(xiàn)多速率濾波器的方法還有很多。例如,由Hogenauer首先提出的級(jí)連積分梳狀濾波法(CIC, cascaded-integrator-comb)就特別適合用FPGA實(shí)現(xiàn),因?yàn)樗蕾囉诩臃ㄆ?、寄存器和減法器來(lái)實(shí)現(xiàn)算法,而FPGA在實(shí)現(xiàn)這些功能方面極為高效。 傅立葉變換 與FIR濾波器一樣,離散傅立葉變換(DFT)也是許多信號(hào)處理系統(tǒng)中常用的方法之一。DFT通常采用快速傅立葉變換(FFT)算法來(lái)實(shí)現(xiàn)。在數(shù)字通訊系統(tǒng)中,基于FFT的算法可用來(lái)提取傳輸信道的特征,以便最有效地利用可用帶寬資源。在正交頻分多址(OFDM)調(diào)制解調(diào)器中,F(xiàn)FT既可用作發(fā)送部分的調(diào)制器,又可用作接收部分的解調(diào)器。 在大約66us的時(shí)間內(nèi),一個(gè)先進(jìn)的軟件DSP可對(duì)16位精度復(fù)數(shù)采樣執(zhí)行一次1024點(diǎn)的復(fù)數(shù)FFT。如果有必要,通常還需要增加時(shí)間(約9us)來(lái)完成位反向置換(bit-reversal permutation)。采用基數(shù)為4的標(biāo)準(zhǔn)Cooley-Tukey算法,并且僅使用適度的并行處理能力,同樣的FFT就可在41us內(nèi)由Virtex FPGA實(shí)現(xiàn),包括位反向置換在內(nèi)。 在比較FPGA DSP和其它DSP時(shí),一個(gè)極為重要的系統(tǒng)參數(shù)是輸入/輸出(I/O)帶寬。比較不同DSP硬件方案的原始算法性能很重要,但I(xiàn)/O子系統(tǒng)也同樣重要。除了一些專用引腳外,F(xiàn)PGA上幾乎所有的引腳均可供用戶使用,這使得FPGA信號(hào)處理方案具有非常高性能的I/O帶寬。圖5所示為上述 FPGA FFT方案。大量的I/O引腳和多塊存儲(chǔ)器可讓信號(hào)處理工程師在設(shè)計(jì)中獲得優(yōu)越的并行處理性能。在上述FFT范例中,獨(dú)立的存儲(chǔ)塊可作為輸入/工作存儲(chǔ)區(qū)和結(jié)果緩存區(qū),這使得I/O可與FFT計(jì)算同時(shí)進(jìn)行。因此,41us的執(zhí)行時(shí)間包括了所有的輸入、輸出和計(jì)算操作。 上述1024點(diǎn)FFT占用大約1,900個(gè)邏輯片,這相當(dāng)于XCV300等中等密度器件資源的66%。FFT算法可充分利用并行處理能力,而且目前的FPGA提供了I/O帶寬、片上存儲(chǔ)器和邏輯等多種資源,從而使得單片F(xiàn)FT引擎的高度并行處理成為現(xiàn)實(shí)。例如,利用標(biāo)準(zhǔn)的基數(shù)為4的Cooley-Tukey FFT算法的直接劃分,一個(gè)計(jì)算單元可分配到每個(gè)蝶形列(column of butterfly)中。除了相鄰蝶形列間的存儲(chǔ)器緩存外,這一方法共需5個(gè)蝶形引擎(butterfly engine)。一個(gè)1024點(diǎn)FFT可在1024個(gè)時(shí)鐘周期內(nèi)完成。若采用100MHz的時(shí)鐘,變換時(shí)間為10us。如果需要,還可進(jìn)一步提高并行處理能力,以獲得小于10us執(zhí)行時(shí)間的單片F(xiàn)FT方案。 本文結(jié)論 盡管FPGA DSP系統(tǒng)代表了信號(hào)處理領(lǐng)域的一個(gè)重要分支,將FPGA引入DSP硬件的設(shè)計(jì)卻在呈指數(shù)增長(zhǎng)。這一爆炸性增長(zhǎng)的原因是,所有主要的FPGA供應(yīng)商和第三方IP設(shè)計(jì)商都在提供越來(lái)越多的FPGA IP內(nèi)核。利用這些資源,系統(tǒng)設(shè)計(jì)者就能將精力集中在設(shè)計(jì)上,而無(wú)需關(guān)心濾波器和轉(zhuǎn)換等底層模塊的細(xì)節(jié)。 FPGA在高速數(shù)字信號(hào)處理系統(tǒng)中的應(yīng)用FPGA在高速數(shù)字信號(hào)處理系統(tǒng)中的應(yīng)用 由于成本、系統(tǒng)功耗和面市時(shí)間等原因,許多通訊、視頻和圖像系統(tǒng)已無(wú)法簡(jiǎn)單地用現(xiàn)有DSP處理器來(lái)實(shí)現(xiàn),現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)尤其適合于乘法和累加(MAC)等重復(fù)性的DSP任務(wù)。本文從FPGA與專用DSP器件的運(yùn)算速度和器件坎薄判逆樓衡宋屈雪捌漚溺畔患存礙布炎相
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 低溫施工管理制度
- 佛山疫情管理制度
- 作業(yè)雙盯管理制度
- 作業(yè)落實(shí)管理制度
- 使用工具管理制度
- 供熱平臺(tái)管理制度
- 供電工段管理制度
- 重慶五一職業(yè)技術(shù)學(xué)院《高級(jí)英語(yǔ)寫(xiě)作與翻譯》2023-2024學(xué)年第二學(xué)期期末試卷
- 保衛(wèi)監(jiān)控管理制度
- 紹興職業(yè)技術(shù)學(xué)院《中西方教育論著選講》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025承諾合同(個(gè)人承諾)
- 2025-2030中國(guó)智能視頻行業(yè)調(diào)研分析及發(fā)展趨勢(shì)預(yù)測(cè)研究報(bào)告
- 安徽省2024-2025學(xué)年八年級(jí)信息技術(shù)水平會(huì)考操作題
- 墓地征用協(xié)議書(shū)范本
- 2025年農(nóng)藝工(高級(jí))職業(yè)技能鑒定參考試題庫(kù)(含答案)
- 臨床氣管插管拔管后吞咽障礙評(píng)估與干預(yù)實(shí)踐應(yīng)用
- 海南海虹化纖工業(yè)有限公司地塊第二階段土壤污染狀況調(diào)查報(bào)告
- 堅(jiān)持教育優(yōu)先發(fā)展
- 外研版三年級(jí)下冊(cè)英語(yǔ)全冊(cè)單元測(cè)試卷(含期中期末試卷及聽(tīng)力音頻)
- 斷絕父母關(guān)系協(xié)議書(shū)
- 2021年山東省6月普通高中學(xué)業(yè)水平合格考試化學(xué)試題(版含答案)
評(píng)論
0/150
提交評(píng)論