當(dāng)前位置:首頁 > EDA > 電子設(shè)計自動化
[導(dǎo)讀] 隨著FPGA集成度的不斷提高,在單片F(xiàn)PGA中完成復(fù)雜的數(shù)字信號處理過程變成了現(xiàn)實。譬如:FIR濾波器、FFT以及雷達信號處理中的數(shù)字脈沖壓縮、數(shù)字鑒相等,都可以在單片F(xiàn)PGA中實現(xiàn)。在基于Xilinx XC4000系列FPGA設(shè)計的

 隨著FPGA集成度的不斷提高,在單片F(xiàn)PGA中完成復(fù)雜的數(shù)字信號處理過程變成了現(xiàn)實。譬如:FIR濾波器、FFT以及雷達信號處理中的數(shù)字脈沖壓縮、數(shù)字鑒相等,都可以在單片F(xiàn)PGA中實現(xiàn)。在基于Xilinx XC4000系列FPGA設(shè)計的DSP中,分布式運算單元DA扮演著重要的角色。本文介紹其原理及其實現(xiàn)方法。
1 分布式運算單元原理
  DA的運算原理非常簡單,但是它的應(yīng)用卻十分廣泛。
  一個線性時不變網(wǎng)絡(luò)的輸出可以用下式表示:
  
  其中, y(n)為第n時刻網(wǎng)絡(luò)的輸出;Xk(n)為第n時刻的第k個輸入變量;Ak為第k個輸入變量的權(quán)值。
  在線性時不變系統(tǒng)中,對于所有n時刻,Ak都是常量。如果該網(wǎng)絡(luò)表現(xiàn)為濾波器,常量Ak 即為濾波器系數(shù),變量Xk為單一數(shù)據(jù)源的抽樣數(shù)據(jù)(如A/D的輸出)。而在時-頻轉(zhuǎn)換系統(tǒng)中(如離散傅立葉變換及快速傅立葉變換),常數(shù)Ak即為旋轉(zhuǎn)因子值,變量Xk為單一數(shù)據(jù)源的數(shù)據(jù)塊(多源數(shù)據(jù)的例子可以在圖像處理系統(tǒng)中發(fā)現(xiàn))。
  仔細(xì)觀察式(1)可以看出,單個輸出y(n) 需要將k個乘積累加。在以XC4000系列FPGA中的可配置邏輯功能塊(CLB)的查找表(Look-Up Table)結(jié)構(gòu)[1]為基礎(chǔ)的DA中,這種乘積累加可以由查找表來實現(xiàn)。XC4000系列的CLB結(jié)構(gòu)特點使得它很容易被高效的配置。
  為了使得乘法之后的數(shù)據(jù)寬度不至于展寬,先把數(shù)據(jù)源數(shù)據(jù)格式規(guī)定為浮點數(shù)2的補碼形式。需要注意的是,常數(shù)Ak 不一定要進行格式轉(zhuǎn)換來匹配輸入數(shù)據(jù)的格式,它可以根據(jù)所要求的精度進行定義。
  變量Xk可以用下式表示:
  

  其中,Xkb為二進制數(shù),即取值為0或1;Xk0為符號位,Xk0為1表示數(shù)據(jù)為負(fù),為0表示數(shù)據(jù)為正。
  將式(2)代入式(1)可以得到:
  
  可以看出,每個方括號中進行的是輸入變量的某一個數(shù)據(jù)位和所有常數(shù)(A1~Ak)的每一位進行位與并求和。而指數(shù)部分則說明了求和結(jié)果的位權(quán)?,F(xiàn)在就可以建立查找表來實現(xiàn)方括號中的操作了,其查找表用所有輸入變量的同一位進行尋址,如圖1所示。


  圖1中所示的DA查找表,其寬度為對常數(shù)Ak 定義的寬度,深度為2K,K是能夠?qū)?strong>數(shù)據(jù)源抽樣數(shù)據(jù)進行處理的數(shù)據(jù)長度,對于濾波器就表現(xiàn)為濾波器階數(shù);對于FFT就表現(xiàn)為FFT點數(shù)。
  這樣,式(1)所表示的方程就可以由加法、減法和二進制除法來實現(xiàn)了。但是,DA僅僅是運算方程(1)的核心,要完成式(1)還需要根據(jù)系統(tǒng)對時間以及FPGA資源的考慮,選擇相應(yīng)的方法。
2 幾種實現(xiàn)方法
2.1 全并行實現(xiàn)方法
  市場上已經(jīng)有大量的通用DSP芯片,這些芯片以并行的乘法、加法運算,地址產(chǎn)生器和片內(nèi)存儲器為主要特點,如TMS320C620x、 ADSP2106x、及各種通用的FFT芯片(如PDSP16510)。為什么還要選擇FPGA呢?主要是考慮速度。要實現(xiàn)一個64階FIR濾波器,如果采用全并行方式,F(xiàn)PGA可做到50MHz的數(shù)據(jù)率,可以和系統(tǒng)時鐘相匹配,這是通用DSP芯片無法做到的。下面就舉出全并行的例子。
  若將式(4)每個方括號之間的加法并行執(zhí)行,即將每個DA查找表的輸出采用并行的加法,就得到了全并行結(jié)構(gòu)?,F(xiàn)將式(4)中的某個方括號重寫如下,并縮寫為sum:


  
  利用式(6),可以得到一種直觀的樹形陣列,如圖2所示。


  圖2中,首先要建立一個K×B位的寄存器陣列,將其輸出進行排列,用所有K個輸入數(shù)據(jù)的相同位,對 DA查找表尋址,從圖中可以看出,當(dāng)B=16時,輸入到輸出所需的路徑最長,該路徑為關(guān)鍵路徑,影響著電路處理的速度,在進行設(shè)計時應(yīng)該注意到這點,所以應(yīng)該采用流水線設(shè)計方法[1],并進行適當(dāng)?shù)募s束,其數(shù)據(jù)率可以達到50MHz。圖中的15個節(jié)點代表著15個并行的加法器,中間過程的數(shù)據(jù)寬度既可以保持雙精度(B+C)位數(shù)據(jù)(C是常數(shù)Ak的寬度),也可以采用截尾的辦法得到單精度B位數(shù)據(jù),可根據(jù)系統(tǒng)所要求的精度確定。
2.2 全串行實現(xiàn)方法
  當(dāng)系統(tǒng)對速度的要求不是很高的時候,可以用全串行設(shè)計方法,即一個DA查找表,一個并行的加法器以及簡單少量的寄存器就可達到目的,這樣能夠節(jié)省大量的FPGA資源。同樣,設(shè)K=16,B=16,將式(4)改寫如下形式:


  
  為了實現(xiàn)式(7),先從最低位開始,用所有K個輸入變量的最底位對DA查找表進行尋址,得到了[sum15],將[sum15]右移一位即將 [sum15]乘2-1后,放到寄存器中,設(shè)為[tem15];同時,K個輸入變量的次低位已經(jīng)開始對DA查找表尋址得到[sum14],右移一位后,與 [tem15]相加,重復(fù)這樣的過程,直至得到[sum0],并用前面得到的累加結(jié)果減去[sum0]。要實現(xiàn)上述過程,需要K個長度為B的串并行轉(zhuǎn)換移位寄存器、一個容量為2K×C的DA查找表和一個累加器。該全串行電路的數(shù)據(jù)率為輸入數(shù)據(jù)抽樣頻率的1/B,即完成一次運算需要B個時鐘周期。由此可以得到全串行DA模式,如圖3所示。

2.3 串并行相結(jié)合實現(xiàn)方法
  以上介紹的全串行方式是每個時鐘周期對所有K個變量的一位進行串行處理,全并行方式是每個時鐘周期對所有K個變量的所有B位進行并行處理;這兩種方法是針對速度優(yōu)化和資源優(yōu)化設(shè)計的兩種極限情況。在有些情況下,我們可以對這兩種情況進行折中考慮,獲得最佳資源利用和系統(tǒng)速度。我們可以從每個時鐘周期對K個變量的兩位進行處理開始著手,回顧一下式(5),并將該式改寫如下:
  

  完成該式功能的功能框圖如圖4a所示。
  將圖4(a)與圖3進行比較后就可以發(fā)現(xiàn),圖3中的DA查找表由16個輸入變量的同一位進行尋址,而圖4(a)中的DA查找表的尋址是由16個輸入變量的連續(xù)兩位進行的,即尋址的位數(shù)由16位變成了32位。這樣,查找表的內(nèi)容也需要相應(yīng)的改變;而且完成一次運算也由原來的B個時鐘周期變成了需要B/2+1個時鐘周期。
  下面介紹一種更易于理解的串并行混合設(shè)計方法。
  將式(5)改寫成如下形式:


  
  從式(9)得到流程圖如圖4(b)所示。
  實現(xiàn)過程中應(yīng)該注意DA查找表的內(nèi)容,累加之前要乘2-1,注意進位等。
  從以上給出的兩種串并行結(jié)合的設(shè)計方法可以看到,只要將式(5)進行適當(dāng)?shù)淖儞Q,還有其它的硬件實現(xiàn)方法,這里就不一一敘述了。
  下面給出在K=8、B=16的情況下,不同的DA查找表所占用的資源。Xilinx公司的XC4000系列FPGA的一個CLB可以實現(xiàn)32×1大小的RAM,在圖4(a)中所描述的DA查找表占用2,048個CLB,而在圖4(b)中所描述的兩個DA查找表只占用256個CLB。用一片XC4025即可完成后者,其數(shù)據(jù)率可達到16MHz。

 


  綜上所述,由于分布式運算單元的應(yīng)用,改變了傳統(tǒng)的設(shè)計觀念,為基于FPGA的DSP設(shè)計提出了新的思路,必將在高速的FIR濾波器設(shè)計、高速FFT設(shè)計中得到廣泛的應(yīng)用。隨著FPGA集成規(guī)模的不斷提高(Xilinx公司Virtex系列已經(jīng)達到了百萬門級),許多復(fù)雜的數(shù)學(xué)運算已經(jīng)可以由FPGA來實現(xiàn),單片F(xiàn)PGA實現(xiàn)系統(tǒng)的設(shè)想即將變?yōu)楝F(xiàn)實。

 

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉