利用Spartan-3 FPGA實(shí)現(xiàn)低成本DSP協(xié)處理
在過(guò)去,fpga一直在dsp應(yīng)用中被用作邏輯合并器件、總線橋和外設(shè)器件。最近,fpga在高性能dsp應(yīng)用中獲得很大的發(fā)展,并且逐漸成為標(biāo)準(zhǔn)dsp器件的理想?yún)f(xié)處理器件。 作為dsp協(xié)處理器件,fpga的高度并行結(jié)構(gòu)提供了巨大的計(jì)算能力。由于fpga硬件是可重配置的,因此可以針對(duì)具體的應(yīng)用開(kāi)發(fā)出優(yōu)化的定制結(jié)構(gòu),非常理想地實(shí)現(xiàn)所需要的算法。 賽靈思(xilinx)公司的新一代spartan-3低成本fpga采用了90nm工藝技術(shù),不僅提供了實(shí)現(xiàn)高性能dsp功能的有效手段,而且還是一種更為經(jīng)濟(jì)的解決方案。低成本意味著可以利用它們配合傳統(tǒng)的dsp器件來(lái)實(shí)現(xiàn)高性能dsp協(xié)處理功能,通常主要是利用fpga器件經(jīng)濟(jì)地集成dsp運(yùn)算過(guò)程中的預(yù)處理和后處理器功能。 主要優(yōu)勢(shì)fpga架構(gòu)非常適合以高度并行的方式實(shí)現(xiàn)dsp功能,從而可以獲得極高的性能。此外,可編程能力使得用戶在實(shí)現(xiàn)所需要的功能時(shí),可通過(guò)選擇適當(dāng)?shù)牟⑿卸仍谄骷娣e和性能之間做出折衷。fpga本質(zhì)上是未完全連接的邏輯和信號(hào)處理資源陣列。這些信號(hào)處理資源使設(shè)計(jì)人員可利用高度可擴(kuò)展的并行處理技術(shù)來(lái)實(shí)現(xiàn)dsp功能。例如,傳統(tǒng)dsp解決方案以串行方式實(shí)現(xiàn)多次乘法累加(mac)功能,而fpga則可利用spartan-3系列所集成的專用乘法器和寄存器以并行方式來(lái)實(shí)現(xiàn)。 作為例子,讓我們考慮一個(gè)256抽頭的有限脈沖響應(yīng)(fir)濾波器。利用fpga構(gòu)造中可用的資源,可以獲得一個(gè)高度并行的設(shè)計(jì)并達(dá)到更高的性能(圖1).因?yàn)閒pga是完全硬件可編程的,因此提供了極大的靈活性,在設(shè)計(jì)中可以僅使用算法所需要的資源。
圖2示出了實(shí)現(xiàn)四個(gè)mac功能的不同方式。通過(guò)利用fpga構(gòu)造中的四個(gè)嵌入式乘法器,能夠以最快的速度實(shí)現(xiàn)四個(gè)mac的物理設(shè)計(jì)。同時(shí),設(shè)計(jì)時(shí)還可選擇針對(duì)面積進(jìn)行優(yōu)化,這樣僅利用一個(gè)乘法器、一個(gè)累加器和一個(gè)寄存器就可在較低的性能水平下實(shí)現(xiàn)同樣的功能,或者也可以選擇采用半并行的方法。
盡管fpga為dsp帶來(lái)了很大好處,但分析一下在fpga構(gòu)造中實(shí)現(xiàn)dsp功能時(shí)的有效成本也非常重要。為了進(jìn)行 這一分析,我們將以最新的spartan-3 fpga系列為例,這一低成本系列器件集成了許多適合dsp的系統(tǒng)特點(diǎn)。spartan-3 :針對(duì)dsp而優(yōu)化spartan-3 fpga采用90nm制造技術(shù)來(lái)獲得較低的硅裸片成本。該系列器件也是唯一擁有高效率實(shí)現(xiàn)dsp功能所需要的所有系統(tǒng)特點(diǎn)(這些特點(diǎn)一度屬于高端fpga所專有)的低成本fpga(表1)。利用spartan-3系列,只需占用整個(gè)設(shè)備的一小部分空間即可實(shí)現(xiàn)高性能的復(fù)雜dsp功能。這樣就可將設(shè)備剩余的空間留下來(lái),用于實(shí)現(xiàn)系統(tǒng)邏輯或接口功能,從而使成本更低且系統(tǒng)集成度更高。表2表明了如何結(jié)合spartan-3 fpga的高級(jí)器件特性和低成本特點(diǎn)以低成本實(shí)現(xiàn)dsp功能。表中給出了目前推出的spartan-3器件、對(duì)應(yīng)的每秒可完成乘法累加數(shù)(mmac/s)以及每種器件中單位mmac/s性能的成本。
將乘法器的數(shù)量與工作頻率相乘得到mmac/s數(shù)值。對(duì)于最低速度級(jí)的spartan-3 fpga 工作頻率為150 mhz。 然后,查一下對(duì)應(yīng)器件最低速度級(jí)為5萬(wàn)件時(shí)的價(jià)格,就可以計(jì)算出單位mmac/s性能所需要的成本。
如何獲得最低的dsp功能成本目前,并沒(méi)有現(xiàn)成的標(biāo)準(zhǔn)來(lái)衡量在fpga中實(shí)現(xiàn)dsp功能時(shí)的實(shí)際成本。然而,為了后面的分析,可以將有效成本理想化,用實(shí)現(xiàn)dsp功能所使用的器件面積百分比乘以單位器件成本來(lái)表示。這樣計(jì)算應(yīng)當(dāng)是公平的,因?yàn)閒pga的剩余部分還可用于其它系統(tǒng)功能。 為計(jì)算在fpga中實(shí)現(xiàn)一項(xiàng)dsp功能時(shí)的有效成本,我們考慮spartan-3系列中的中等規(guī)模器件,spartan-3 xc3s1000。在許多情況下,給定的dsp功能并不僅使用fpga邏輯資源,還使用到嵌入式乘法器和塊ram。在這種情況下,我們也將這些嵌入式功能所占用的裸片空間估算數(shù)值計(jì)算在內(nèi),并與所占用的邏輯資源裸片面積相加。 表3 示出了一些dsp功能以及在spartan-3器件中實(shí)現(xiàn)時(shí)的有效成本。(這里沒(méi)有包括編程prom的成本,因?yàn)樵谠S多情況下,可以利用板上的現(xiàn)有eprom來(lái)編程fpga。)dsp應(yīng)用中最常用的一些功能是快速傅里葉變換(fft)和fir濾波器。一個(gè)采樣速率為8.1msps的單通道64抽頭mac fir濾波器利用spartan-3系列的xc3s1000器件實(shí)現(xiàn)時(shí),有效成本為0.41美元。注意,這一濾波器使用了200個(gè)邏輯片和4個(gè)嵌入式乘法器——大約占用裸片面積的3%。 在spartan-3器件中還可以用低成本實(shí)現(xiàn)簡(jiǎn)單的前向錯(cuò)誤校正dsp內(nèi)核,如viterbi和reed solomn功能。一個(gè)每通道1.9 msps的32通道并行模式viterbi解碼器的有效成本為5.06美元,相當(dāng)于每通道0.16美元。運(yùn)行在60mhz的一個(gè)reed solomon g.709解碼器僅占用同樣器件6.9%的資源(有效成本僅0.92美元) 復(fù)雜功能,如通常用于無(wú)線基站的數(shù)字下轉(zhuǎn)換(ddc)或數(shù)字上轉(zhuǎn)換(duc),僅占用spartan-3 xc3s1000器件不到20%的裸片面積(有效成本為2.49美元)。
開(kāi)發(fā)工具流程選擇賽靈思解決方案,可利用業(yè)