<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

作者: 時(shí)間:2008-01-11 來(lái)源:網(wǎng)絡(luò ) 收藏

電子產(chǎn)品中數字信號處理(DSP)芯片的使用率正急劇增加?,F場(chǎng)可編程門(mén)陣列()可支持數百萬(wàn)個(gè)門(mén),并以DSP為中心,這種特性使其性能比標準的DSP芯片有了大幅提升。此外,還可進(jìn)行中小型批量生產(chǎn),能支持非常強大的原型與驗證技術(shù),以實(shí)現DSP算法的實(shí)時(shí)仿真。但為和ASIC創(chuàng )建可移植性算法IP也面臨著(zhù)諸多挑戰與要求。
本文將介紹如何通過(guò)ESL技術(shù)大幅縮短在FPGA或ASIC上實(shí)現算法所需的時(shí)間,并簡(jiǎn)化相關(guān)工作。

FPGA和ASIC之間RTL移植所面臨的挑戰
盡管RTL支持邏輯級的移植性,但卻不支持架構層移植。如果將同一RTL在不同的目標上實(shí)現,會(huì )導致結果不夠理想;在不同目標中,結果可能在功能上正確,但卻根本沒(méi)有優(yōu)化。


如何選擇算法架構取決于一個(gè)基本問(wèn)題,即滿(mǎn)足算法的采樣率和吞吐能力要求,需要進(jìn)行多少流水線(xiàn)、并行和串行優(yōu)化處理。此外,FIR、FFT、正弦、余弦、除法等基本的DSP功能根據目標技術(shù)的不同,有著(zhù)不同的優(yōu)化實(shí)現要求。比如,FIR濾波器的直接形式與轉置形式(transposed form)就是一個(gè)很好的例子,一種適用于特定的FPGA,而另一種則更適用于A(yíng)SIC技術(shù)。


根據FPGA和ASIC的不同要求,我們往往需要不同的架構。眾所周知,FPGA器件傾向于以寄存器為中心,而許多ASIC到FPGA移植指南也建議增加流水線(xiàn),對所有端口進(jìn)行寄存,并將組合邏輯分解為較小的部分。這樣的在A(yíng)SIC上實(shí)現就會(huì )增加面積,但這是滿(mǎn)足FPGA時(shí)序要求所必需的。


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


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


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


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

ESL 綜合
ESL 綜合能提供強大的性,有助于解決上述諸多問(wèn)題。
● 使用電子系統層級 (ESL) 模型,支持高級架構與硬件抽象;
● 根據用戶(hù)定義的采樣率進(jìn)行自動(dòng)優(yōu)化;
● 用戶(hù)選擇目標技術(shù);
● 為多速率設計提供原生支持。

圖1 從統一 ESL 模型快速實(shí)現設計方案


利用上述特性,DSP 綜合引擎可根據用戶(hù)定義的約束條件在了解目標的基礎上進(jìn)行整個(gè)系統優(yōu)化,對不同的 RTL進(jìn)行綜合。這些為優(yōu)化架構和特定編碼風(fēng)格而定的RTL 隨后可進(jìn)入標準化的邏輯綜合流程。


利用ESL綜合技術(shù),我們可以在一個(gè)高度抽象的層面完成設計工作,這不僅提高了可移植性,縮短了開(kāi)發(fā)時(shí)間,而且還提高了工程設計的工作。除了保持RTL級的IP之外,我們還能在算法模型層保持IP,從而提高可移植性以及算法開(kāi)發(fā)人員的工作。


如圖1所示,DSP綜合技術(shù)使用戶(hù)能通過(guò)統一的算法模型快速生成并實(shí)現多種不同實(shí)施方案。FPGA可使用完全并行的流水線(xiàn)架構,也可像ASIC一樣采用占用面積更小的串聯(lián)架構。此外,不同實(shí)施方案能自動(dòng)保持位和采樣的準確度,并通過(guò)標準化的RTL仿真工具實(shí)現完整的驗證路徑。與此形成對比的是,參數化的原理圖輸入法,和那些需要用戶(hù)在了解面積、延遲特性之前就確定具體架構的RTL方法,其移植到新的實(shí)施目標時(shí)往往需要進(jìn)行大量的修改。

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

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


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

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

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


架構實(shí)現
自動(dòng)DSP綜合引擎的優(yōu)勢在于,它能快速實(shí)現多種架構和目標技術(shù)。這種設計空間實(shí)現過(guò)程有助于顯著(zhù)優(yōu)化,特別是在我們需要考慮在多種 FPGA 和 ASIC技術(shù)上實(shí)現DSP算法時(shí)會(huì )特別有用。


以下我們給出一個(gè)時(shí)序優(yōu)化和折疊優(yōu)化范例,看看這兩個(gè)選項如何在速度與占位面積間做出重要的取舍。首先,我們在Virtex-4 FPGA中生成4個(gè)10 MHz 64-tap FIR濾波器:其中1個(gè)作為基準,另外3個(gè)采用不同的折疊因數(folding factors),用來(lái)在不同程度上縮減面積占用。我們用Synplify DSP RTL的邏輯綜合技術(shù)來(lái)生成結果如表1所示。


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


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

結論
上述簡(jiǎn)單 FIR 范例反映出,DSP 綜合技術(shù)有助于我們快速高效地根據相關(guān)性能與占用面積的準確仿真進(jìn)行架構權衡。這樣,用戶(hù)就有了實(shí)現多種架構的可能性,其中包括定點(diǎn)設計考慮事項等重要實(shí)施細節,同時(shí)還能高效獲取有用的性?xún)r(jià)比數據。這樣,我們就能在高級算法基礎上實(shí)現最佳 FPGA 與 ASIC 實(shí)施方案,同時(shí)盡可能縮短設計時(shí)間。
EDA 行業(yè)似乎正向著(zhù)實(shí)現初期 ESL 設計優(yōu)勢的方向,既要發(fā)揮針對硬件原型設計的集成式設計流程的優(yōu)勢,又要充分利用發(fā)貨系統。



評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>