電子產(chǎn)品中數(shù)字信號處理(DSP)芯片的使用率正急劇增加?,F(xiàn)場可編程門陣列(FPGA)可支持?jǐn)?shù)百萬個(gè)門,并以DSP為中心,這種特性使其性能比標(biāo)準(zhǔn)的DSP芯片有了大幅提升,。此外,,F(xiàn)PGA還可進(jìn)行中小型批量生產(chǎn),能支持非常強(qiáng)大的原型設(shè)計(jì)與驗(yàn)證技術(shù),,以實(shí)現(xiàn)DSP算法的實(shí)時(shí)仿真,。但為FPGA和ASIC創(chuàng)建可移植性算法IP也面臨著諸多挑戰(zhàn)與要求。
本文將介紹如何通過ESL綜合技術(shù)大幅縮短在FPGA或ASIC上實(shí)現(xiàn)算法所需的時(shí)間,,并簡化相關(guān)工作。
FPGA和ASIC之間RTL移植所面臨的挑戰(zhàn)
盡管RTL支持邏輯級的移植性,,但卻不支持架構(gòu)層移植,。如果將同一RTL在不同的目標(biāo)器件上實(shí)現(xiàn),會導(dǎo)致結(jié)果不夠理想,;在不同目標(biāo)器件中,,綜合結(jié)果可能在功能上正確,但卻根本沒有優(yōu)化,。
如何選擇算法架構(gòu)取決于一個(gè)基本問題,,即滿足算法的采樣率和吞吐能力要求,,需要進(jìn)行多少流水線,、并行和串行優(yōu)化處理。此外,,F(xiàn)IR,、FFT、正弦,、余弦,、除法等基本的DSP功能根據(jù)目標(biāo)技術(shù)的不同,有著不同的優(yōu)化實(shí)現(xiàn)要求,。比如,,F(xiàn)IR濾波器的直接形式與轉(zhuǎn)置形式(transposed form)就是一個(gè)很好的例子,一種適用
于特定的FPGA器件,,而另一種則更適用于ASIC技術(shù),。
根據(jù)FPGA和ASIC的不同要求,我們往往需要不同的架構(gòu),。眾所周知,,F(xiàn)PGA器件傾向于以寄存器為中心,,而許多ASIC到FPGA移植指南也建議增加流水線設(shè)計(jì),對所有端口進(jìn)行寄存,,并將組合邏輯分解為較小的部分,。這樣的設(shè)計(jì)在ASIC上實(shí)現(xiàn)就會增加面積,但這是滿足FPGA時(shí)序要求所必需的,。
如果以ASIC為目標(biāo),,我們往往需要完全相反的做法。這時(shí)我們建議將寄存器最小化,,以盡可能減小占用面積與功耗,。我們可以采用時(shí)分復(fù)用和資源共享的辦法來提高時(shí)鐘速度,從而最小化乘法器及其他浪費(fèi)資源的操作,。消費(fèi)類及無線產(chǎn)品市場領(lǐng)域中的近期設(shè)計(jì)趨勢就是仔細(xì)平衡上述做法的結(jié)果,。
ASIC RTL和FPGA RTL之間不可避免的差別之一在于存儲器的使用。就FPGA而言,,器件內(nèi)置了標(biāo)準(zhǔn)存儲器,。根據(jù)FPGA工具流程和廠商的不同,我們需要特定的編碼風(fēng)格來描述存儲陣列和存儲器,。高質(zhì)量FPGA綜合工具會自動將RTL代碼映射到存儲器上實(shí)現(xiàn),。不過,在ASIC領(lǐng)域中,,IP和制造庫廠商(fab library vendor)的存儲器選項(xiàng)多種多樣,,用戶要根據(jù)具體的配置選擇和編輯存儲器,并在RTL設(shè)計(jì)中進(jìn)行例化,。
許多文章和資料都介紹了在 FPGA 和 ASIC 之間轉(zhuǎn)移 IP 的編碼風(fēng)格及移植技術(shù)問題,。在不同器件類型之間移植實(shí)施方案,需要進(jìn)行大量的編碼與驗(yàn)證工作,,并擁有精湛的的專業(yè)技術(shù),。
如果首先用FPGA進(jìn)行原型設(shè)計(jì),再移植為ASIC設(shè)計(jì),,那么還要面臨更多的挑戰(zhàn),。在需要實(shí)時(shí)刺激和實(shí)際速度驗(yàn)證的情況下,就會出現(xiàn)上述問題,。為了滿足上述要求,,我們應(yīng)當(dāng)保證仿真模型之間的位和采樣準(zhǔn)確度,特別是FPGA實(shí)現(xiàn)和ASIC模型不能出問題,。這要求我們做大量工作,,尤其是實(shí)現(xiàn)方案不同或經(jīng)常變化時(shí)更應(yīng)如此。此外,我們還必須手動修改,、比較和調(diào)試測試工具,。
ESL 綜合解決方案
ESL 綜合解決方案能提供強(qiáng)大的性,有助于解決上述諸多問題,。
- 使用電子系統(tǒng)層級 (ESL) 模型,,支持高級架構(gòu)與硬件抽象;
- 根據(jù)用戶定義的采樣率進(jìn)行自動優(yōu)化,;
- 用戶選擇目標(biāo)技術(shù),;
- 為多速率設(shè)計(jì)提供原生支持。
圖1 從統(tǒng)一 ESL 模型快速實(shí)現(xiàn)設(shè)計(jì)方案
利用上述特性,,DSP 綜合引擎可根據(jù)用戶定義的約束條件在了解目標(biāo)的基礎(chǔ)上進(jìn)行整個(gè)系統(tǒng)優(yōu)化,,對不同的 RTL進(jìn)行綜合。這些為優(yōu)化架構(gòu)和特定編碼風(fēng)格而定的RTL 隨后可進(jìn)入標(biāo)準(zhǔn)化的邏輯綜合流程,。
利用ESL綜合技術(shù),,我們可以在一個(gè)高度抽象的層面完成設(shè)計(jì)工作,這不僅提高了可移植性,,縮短了開發(fā)時(shí)間,,而且還提高了工程設(shè)計(jì)的工作效率。除了保持RTL級的IP之外,,我們還能在算法模型層保持IP,,從而提高可移植性以及算法開發(fā)人員的工作效率。
如圖1所示,,DSP綜合技術(shù)使用戶能通過統(tǒng)一的算法模型快速生成并實(shí)現(xiàn)多種不同實(shí)施方案,。FPGA可使用完全并行的流水線架構(gòu),也可像ASIC一樣采用占用面積更小的串聯(lián)架構(gòu),。此外,,不同實(shí)施方案能自動保持位和采樣的準(zhǔn)確度,并通過標(biāo)準(zhǔn)化的RTL仿真工具實(shí)現(xiàn)完整的驗(yàn)證路徑,。與此形成對比的是,,參數(shù)化的原理圖輸入法,,和那些需要用戶在了解面積,、延遲特性之前就確定具體架構(gòu)的RTL方法,其移植到新的實(shí)施目標(biāo)時(shí)往往需要進(jìn)行大量的修改,。
表1 針對Virtex-4 FPGA的自動折疊優(yōu)化綜合對濾波器吞吐能力和硬件共享的影響
用DSP 綜合技術(shù)進(jìn)行算法實(shí)施
支持DSP綜合和自動優(yōu)化架構(gòu)的工具(如 Synplicity的Synplify DSP工具)能提供設(shè)計(jì)優(yōu)勢,,從而有助于在 FPGA和ASIC上順利實(shí)現(xiàn)設(shè)計(jì)。在DSP綜合步驟之前,,用戶不必定義目標(biāo)器件并做出架構(gòu)優(yōu)化選擇,。DSP綜合引擎隨后可從算法模型開始綜合RTL優(yōu)化實(shí)施方案。
我們特別要注意時(shí)序優(yōu)化(Retiming)和折疊(Folding)選項(xiàng)。時(shí)序優(yōu)化選項(xiàng)使我們能修改架構(gòu)以使用流水線形式和其他技術(shù)來達(dá)到理想的性能目標(biāo),,但會造成輸出時(shí)延,。折疊選項(xiàng)使設(shè)計(jì)方案能共享硬件,但會降低吞吐能力(即要在資源利用率和最大采樣率之間進(jìn)行平衡取舍),。
表2 串行化和硬件共享使65-tap FIR濾波器的實(shí)施方案占用面積縮減了一半
-
表示面積單位的量度為2.8平方納米,,這大約是雙輸入NAND門的大小。
-
乘法器用邏輯(門)實(shí)施,。
-
提取的存儲器為雙端口,。
架構(gòu)實(shí)現(xiàn)
自動DSP綜合引擎的優(yōu)勢在于,它能快速實(shí)現(xiàn)多種架構(gòu)和目標(biāo)技術(shù),。這種設(shè)計(jì)空間實(shí)現(xiàn)過程有助于顯著優(yōu)化解決方案,,特別是在我們需要考慮在多種 FPGA 和 ASIC技術(shù)上實(shí)現(xiàn)DSP算法時(shí)會特別有用。
以下我們給出一個(gè)時(shí)序優(yōu)化和折疊優(yōu)化范例,,看看這兩個(gè)選項(xiàng)如何在速度與占位面積間做
出重要的取舍,。首先,我們在Virtex-4 FPGA中生成4個(gè)10 MHz 64-tap FIR濾波器:其中1個(gè)作為基準(zhǔn),,另外3個(gè)采用不同的折疊因數(shù)(folding factors),,用來在不同程度上縮減面積占用。我們用Synplify DSP RTL的邏輯綜合技術(shù)來生成結(jié)果如表1所示,。
表2中給出了對于相同設(shè)計(jì)的 ASIC 實(shí)現(xiàn)方案的類似分析數(shù)據(jù),。我們從中可以看出在采用90納米技術(shù)情況下,完全并行與完全串行兩種極端實(shí)施方案相對比的面積差值,。
我們從表2中可以明顯看出,,在更低的采樣率且允許共享硬件的情況下,DSP綜合技術(shù)能自動縮減面積占用,。此外,,強(qiáng)大的ESL功能則能通過利用更高的時(shí)鐘頻率更方便地在各種技術(shù)上實(shí)現(xiàn)。同時(shí),,由于我們可在統(tǒng)一的算法模型基礎(chǔ)上開展工作,,因此無須改變模型 或重新驗(yàn)證模型。
結(jié)論
上述簡單 FIR 范例反映出,,DSP 綜合技術(shù)有助于我們快速高效地根據(jù)相關(guān)性能與占用面積的準(zhǔn)確仿真進(jìn)行架構(gòu)權(quán)衡,。這樣,用戶就有了實(shí)現(xiàn)多種架構(gòu)的可能性,,其中包括定點(diǎn)設(shè)計(jì)考慮事項(xiàng)等重要實(shí)施細(xì)節(jié),,同時(shí)還能高效獲取有用的性價(jià)比數(shù)據(jù)。這樣,,我們就能在高級算法基礎(chǔ)上實(shí)現(xiàn)最佳 FPGA 與 ASIC 實(shí)施方案,,同時(shí)盡可能縮短設(shè)計(jì)時(shí)間,。
EDA 行業(yè)似乎正向著實(shí)現(xiàn)初期 ESL 設(shè)計(jì)優(yōu)勢的方向發(fā)展,既要發(fā)揮針對硬件原型設(shè)計(jì)的集成式設(shè)計(jì)流程的優(yōu)勢,,又要充分利用發(fā)貨系統(tǒng),。