新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ESL綜合解決方案提高DSP的設(shè)計(jì)效率,推動(dòng)ASICS與FPGA器件發(fā)展

ESL綜合解決方案提高DSP的設(shè)計(jì)效率,推動(dòng)ASICS與FPGA器件發(fā)展

作者: 時(shí)間:2008-02-16 來(lái)源:網(wǎng)絡(luò) 收藏
作者:Synplicity 公司 Gary M

電子產(chǎn)品中數(shù)字信號(hào)處理(DSP)芯片的使用率正急劇增加?,F(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)可支持?jǐn)?shù)百萬(wàn)個(gè)門(mén),并以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)與要求。

本文將介紹如何通過(guò)ESL綜合技術(shù)大幅縮短在FPGA或ASIC上實(shí)現(xiàn)算法所需的時(shí)間,并簡(jiǎn)化相關(guān)工作。

FPGA和ASIC之間RTL移植所面臨的挑戰(zhàn)

盡管RTL支持邏輯級(jí)的移植性,但卻不支持架構(gòu)層移植。如果將同一RTL在不同的目標(biāo)器件上實(shí)現(xiàn),會(huì)導(dǎo)致結(jié)果不夠理想;在不同目標(biāo)器件中,綜合結(jié)果可能在功能上正確,但卻根本沒(méi)有優(yōu)化。

如何選擇算法架構(gòu)取決于一個(gè)基本問(wèn)題,即滿(mǎn)足算法的采樣率和吞吐能力要求,需要進(jìn)行多少流水線(xià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移植指南也建議增加流水線(xiàn)設(shè)計(jì),對(duì)所有端口進(jìn)行寄存,并將組合邏輯分解為較小的部分。這樣的設(shè)計(jì)在ASIC上實(shí)現(xiàn)就會(huì)增加面積,但這是滿(mǎn)足FPGA時(shí)序要求所必需的。

如果以ASIC為目標(biāo),我們往往需要完全相反的做法。這時(shí)我們建議將寄存器最小化,以盡可能減小占用面積與功耗。我們可以采用時(shí)分復(fù)用和資源共享的辦法來(lái)提高時(shí)鐘速度,從而最小化乘法器及其他浪費(fèi)資源的操作。消費(fèi)類(lèi)及無(wú)線(xiàn)產(chǎn)品市場(chǎng)領(lǐng)域中的近期設(shè)計(jì)趨勢(shì)就是仔細(xì)平衡上述做法的結(jié)果。

ASIC RTL和FPGA RTL之間不可避免的差別之一在于存儲(chǔ)器的使用。就FPGA而言,器件內(nèi)置了標(biāo)準(zhǔn)存儲(chǔ)器。根據(jù)FPGA工具流程和廠(chǎng)商的不同,我們需要特定的編碼風(fēng)格來(lái)描述存儲(chǔ)陣列和存儲(chǔ)器。高質(zhì)量FPGA綜合工具會(huì)自動(dòng)將RTL代碼映射到存儲(chǔ)器上實(shí)現(xiàn)。不過(guò),在ASIC領(lǐng)域中,IP和制造庫(kù)廠(chǎng)商(fab library vendor)的存儲(chǔ)器選項(xiàng)多種多樣,用戶(hù)要根據(jù)具體的配置選擇和編輯存儲(chǔ)器,并在RTL設(shè)計(jì)中進(jìn)行例化。

許多文章和資料都介紹了在 FPGA 和 ASIC 之間轉(zhuǎn)移 IP 的編碼風(fēng)格及移植技術(shù)問(wèn)題。在不同器件類(lèi)型之間移植實(shí)施方案,需要進(jìn)行大量的編碼與驗(yàn)證工作,并擁有精湛的的專(zhuān)業(yè)技術(shù)。

如果首先用FPGA進(jìn)行原型設(shè)計(jì),再移植為ASIC設(shè)計(jì),那么還要面臨更多的挑戰(zhàn)。在需要實(shí)時(shí)刺激和實(shí)際速度驗(yàn)證的情況下,就會(huì)出現(xiàn)上述問(wèn)題。為了滿(mǎn)足上述要求,我們應(yīng)當(dāng)保證仿真模型之間的位和采樣準(zhǔn)確度,特別是FPGA實(shí)現(xiàn)和ASIC模型不能出問(wèn)題。這要求我們做大量工作,尤其是實(shí)現(xiàn)方案不同或經(jīng)常變化時(shí)更應(yīng)如此。此外,我們還必須手動(dòng)修改、比較和調(diào)試測(cè)試工具。

ESL 綜合解決方案

ESL 綜合解決方案能提供強(qiáng)大的性,有助于解決上述諸多問(wèn)題。

● 使用電子系統(tǒng)層級(jí) (ESL) 模型,支持高級(jí)架構(gòu)與硬件抽象;

● 根據(jù)用戶(hù)定義的采樣率進(jìn)行自動(dòng)優(yōu)化;

● 用戶(hù)選擇目標(biāo)技術(shù);

● 為多速率設(shè)計(jì)提供原生支持。



圖1 從統(tǒng)一 ESL 模型快速實(shí)現(xiàn)設(shè)計(jì)方案
  
利用上述特性,DSP 綜合引擎可根據(jù)用戶(hù)定義的約束條件在了解目標(biāo)的基礎(chǔ)上進(jìn)行整個(gè)系統(tǒng)優(yōu)化,對(duì)不同的 RTL進(jìn)行綜合。這些為優(yōu)化架構(gòu)和特定編碼風(fēng)格而定的RTL 隨后可進(jìn)入標(biāo)準(zhǔn)化的邏輯綜合流程。

利用ESL綜合技術(shù),我們可以在一個(gè)高度抽象的層面完成設(shè)計(jì)工作,這不僅提高了可移植性,縮短了開(kāi)發(fā)時(shí)間,而且還提高了工程設(shè)計(jì)的工作效率。除了保持RTL級(jí)的IP之外,我們還能在算法模型層保持IP,從而提高可移植性以及算法開(kāi)發(fā)人員的工作效率。
如圖1所示,DSP綜合技術(shù)使用戶(hù)能通過(guò)統(tǒng)一的算法模型快速生成并實(shí)現(xiàn)多種不同實(shí)施方案。FPGA可使用完全并行的流水線(xiàn)架構(gòu),也可像ASIC一樣采用占用面積更小的串聯(lián)架構(gòu)。此外,不同實(shí)施方案能自動(dòng)保持位和采樣的準(zhǔn)確度,并通過(guò)標(biāo)準(zhǔn)化的RTL仿真工具實(shí)現(xiàn)完整的驗(yàn)證路徑。與此形成對(duì)比的是,參數(shù)化的原理圖輸入法,和那些需要用戶(hù)在了解面積、延遲特性之前就確定具體架構(gòu)的RTL方法,其移植到新的實(shí)施目標(biāo)時(shí)往往需要進(jìn)行大量的修改。



表1 針對(duì)Virtex-4 FPGA的自動(dòng)折疊優(yōu)化綜合對(duì)濾波器吞吐能力和硬件共享的影響

用DSP 綜合技術(shù)進(jìn)行算法實(shí)施

支持DSP綜合和自動(dòng)優(yōu)化架構(gòu)的工具(如 Synplicity的Synplify DSP工具)能提供設(shè)計(jì)優(yōu)勢(shì),從而有助于在 FPGA和ASIC上順利實(shí)現(xiàn)設(shè)計(jì)。在DSP綜合步驟之前,用戶(hù)不必定義目標(biāo)器件并做出架構(gòu)優(yōu)化選擇。DSP綜合引擎隨后可從算法模型開(kāi)始綜合RTL優(yōu)化實(shí)施方案。

我們特別要注意時(shí)序優(yōu)化(Retiming)和折疊(Folding)選項(xiàng)。時(shí)序優(yōu)化選項(xiàng)使我們能修改架構(gòu)以使用流水線(xiàn)形式和其他技術(shù)來(lái)達(dá)到理想的性能目標(biāo),但會(huì)造成輸出時(shí)延。折疊選項(xiàng)使設(shè)計(jì)方案能共享硬件,但會(huì)降低吞吐能力(即要在資源利用率和最大采樣率之間進(jìn)行平衡取舍)。



表2 串行化和硬件共享使65-tap FIR濾波器的實(shí)施方案占用面積縮減了一半

* 表示面積單位的量度為2.8平方納米,這大約是雙輸入NAND門(mén)的大小。
** 乘法器用邏輯(門(mén))實(shí)施。
*** 提取的存儲(chǔ)器為雙端口。

架構(gòu)實(shí)現(xiàn)

自動(dòng)DSP綜合引擎的優(yōu)勢(shì)在于,它能快速實(shí)現(xiàn)多種架構(gòu)和目標(biāo)技術(shù)。這種設(shè)計(jì)空間實(shí)現(xiàn)過(guò)程有助于顯著優(yōu)化解決方案,特別是在我們需要考慮在多種 FPGA 和 ASIC技術(shù)上實(shí)現(xiàn)DSP算法時(shí)會(huì)特別有用。
以下我們給出一個(gè)時(shí)序優(yōu)化和折疊優(yōu)化范例,看看這兩個(gè)選項(xiàng)如何在速度與占位面積間做出重要的取舍。首先,我們?cè)赩irtex-4 FPGA中生成4個(gè)10 MHz 64-tap FIR濾波器:其中1個(gè)作為基準(zhǔn),另外3個(gè)采用不同的折疊因數(shù)(folding factors),用來(lái)在不同程度上縮減面積占用。我們用Synplify DSP RTL的邏輯綜合技術(shù)來(lái)生成結(jié)果如表1所示。

表2中給出了對(duì)于相同設(shè)計(jì)的 ASIC 實(shí)現(xiàn)方案的類(lèi)似分析數(shù)據(jù)。我們從中可以看出在采用90納米技術(shù)情況下,完全并行與完全串行兩種極端實(shí)施方案相對(duì)比的面積差值。

我們從表2中可以明顯看出,在更低的采樣率且允許共享硬件的情況下,DSP綜合技術(shù)能自動(dòng)縮減面積占用。此外,強(qiáng)大的ESL功能則能通過(guò)利用更高的時(shí)鐘頻率更方便地在各種技術(shù)上實(shí)現(xiàn)。同時(shí),由于我們可在統(tǒng)一的算法模型基礎(chǔ)上開(kāi)展工作,因此無(wú)須改變模型 或重新驗(yàn)證模型。

結(jié)論

上述簡(jiǎn)單 FIR 范例反映出,DSP 綜合技術(shù)有助于我們快速高效地根據(jù)相關(guān)性能與占用面積的準(zhǔn)確仿真進(jìn)行架構(gòu)權(quán)衡。這樣,用戶(hù)就有了實(shí)現(xiàn)多種架構(gòu)的可能性,其中包括定點(diǎn)設(shè)計(jì)考慮事項(xiàng)等重要實(shí)施細(xì)節(jié),同時(shí)還能高效獲取有用的性?xún)r(jià)比數(shù)據(jù)。這樣,我們就能在高級(jí)算法基礎(chǔ)上實(shí)現(xiàn)最佳 FPGA 與 ASIC 實(shí)施方案,同時(shí)盡可能縮短設(shè)計(jì)時(shí)間。

EDA 行業(yè)似乎正向著實(shí)現(xiàn)初期 ESL 設(shè)計(jì)優(yōu)勢(shì)的方向發(fā)展,既要發(fā)揮針對(duì)硬件原型設(shè)計(jì)的集成式設(shè)計(jì)流程的優(yōu)勢(shì),又要充分利用發(fā)貨系統(tǒng)。

http://verily.gd-emb.org/detail/id-44163.html


關(guān)鍵詞: DSPFPGAASIC

評(píng)論


技術(shù)專(zhuān)區(qū)

關(guān)閉