利用Mentor高層次綜合技術(shù)快速實(shí)現(xiàn)復(fù)雜DSP算法_第1頁(yè)
利用Mentor高層次綜合技術(shù)快速實(shí)現(xiàn)復(fù)雜DSP算法_第2頁(yè)
利用Mentor高層次綜合技術(shù)快速實(shí)現(xiàn)復(fù)雜DSP算法_第3頁(yè)
利用Mentor高層次綜合技術(shù)快速實(shí)現(xiàn)復(fù)雜DSP算法_第4頁(yè)
利用Mentor高層次綜合技術(shù)快速實(shí)現(xiàn)復(fù)雜DSP算法_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、利用Mentor高層次綜合技術(shù)(Catapult Synthesis)快速實(shí)現(xiàn)復(fù)雜DSP算法摘要:為了滿(mǎn)足產(chǎn)品上市時(shí)間和功能豐富性的要求, 越來(lái)越多的先進(jìn)設(shè)計(jì)公司開(kāi)始提高設(shè)計(jì)的抽象層次進(jìn)行復(fù) 雜的DSP硬件設(shè)計(jì),從RTL級(jí)提高到C/C+,以保持產(chǎn)品 的持續(xù)領(lǐng)先地位。Mentor Graphics的高層次綜合工具(Catapult Synthesis)是第一個(gè)綜合標(biāo)準(zhǔn)的ANSI C+的產(chǎn) 品,它可無(wú)誤地生成針對(duì)ASIC/FPGA的高質(zhì)量RTL代碼, 且速度比手工編碼的快10-20倍。本文以FIR的實(shí)現(xiàn)為例, 利用Catapult Synthesis快速探索不同的設(shè)計(jì)架構(gòu),快速地找 到性能、面積和

2、功耗之間折衷的最佳實(shí)現(xiàn)方案,使得真正的 IP復(fù)用成為可能,并以圖表方式給出不同約束下的面積、延 遲和吞吐率(36、3、1時(shí)鐘周期)的性能,同時(shí)提供了集成的 驗(yàn)證和綜合流程,極大地提高了設(shè)計(jì)效率。關(guān)鍵詞:高層次綜合;Catapult Synthesis;驗(yàn)證;IP復(fù) 用;DSP;吞吐率1.引言隨著市場(chǎng)對(duì) 3G、4G、WiMAX、WLAN、UWB、MPEG4、H264、VC1等應(yīng)用的追捧,其設(shè)計(jì)規(guī)模和復(fù)雜度增加使得設(shè) 計(jì)者需要考慮的問(wèn)題越來(lái)越多,而激烈的市場(chǎng)競(jìng)爭(zhēng)也使得電 子產(chǎn)品上市時(shí)間的壓力越來(lái)越大,采用傳統(tǒng)的RTL級(jí)設(shè)計(jì)已 導(dǎo)致了許多估計(jì)不到的難度:1)如何能夠在上市時(shí)間的巨大壓力之下,快速的找

3、 到一種優(yōu)化的結(jié)構(gòu)來(lái)實(shí)現(xiàn)?2)由于系統(tǒng)設(shè)計(jì)和RTL設(shè)計(jì)之間存在鴻溝,如何避 免理解上的偏差,減少RTL設(shè)計(jì)中的錯(cuò)誤?3)如何根據(jù)接口定義和要求的變化,快速實(shí)現(xiàn)RTL 設(shè)計(jì)?4)如何快速驗(yàn)證RTL是否與原有的算法匹配?5)如何進(jìn)行產(chǎn)品的差異化開(kāi)發(fā),如何真正做到IP的 Reuse?因此,需要采用更高抽象層次的設(shè)計(jì)方法來(lái)滿(mǎn)足新的設(shè) 計(jì)需求。Mentor公司的Catapult?R Synthesis高層次綜合工 具套件幫助硬件設(shè)計(jì)工程師將設(shè)計(jì)抽象層次提高到ANSI C+,使得下一代無(wú)線(xiàn)、衛(wèi)星、視頻和圖像處理等應(yīng)用中需 要的高性能復(fù)雜ASIC和FPGA硬件的快速實(shí)現(xiàn)成為可能。微結(jié)構(gòu)分析和優(yōu)化Catapu

4、lt Synthesis是業(yè)內(nèi)第一個(gè)也是最成熟的綜合無(wú)定 時(shí)的ANSI C+的產(chǎn)品,它采用自動(dòng)生成的方法,避免了手 工編碼引入設(shè)計(jì)的錯(cuò)誤,且速度比手工編碼的方法快10-20 倍。由于傳統(tǒng)的設(shè)計(jì)方法是勞動(dòng)密集型的,它們幾乎沒(méi)有給 設(shè)計(jì)者留下評(píng)估其它可選架構(gòu)的時(shí)間。硬件設(shè)計(jì)者被迫提前 對(duì)架構(gòu)進(jìn)行選擇,從而不可避免地導(dǎo)致非優(yōu)化的硬件實(shí)現(xiàn); 像SystemC/ HandelC那樣的硬件化語(yǔ)言,需要將硬件實(shí)現(xiàn)的 細(xì)節(jié)在代碼中規(guī)定,因而其對(duì)微架構(gòu)的嘗試也很有限,而 ANSI C+代碼并沒(méi)有規(guī)定硬件實(shí)現(xiàn)細(xì)節(jié),可以在整個(gè)設(shè)計(jì)空 間中探索,并能快速探索不同的微架構(gòu)對(duì)實(shí)現(xiàn)結(jié)果的影響, 從而可以快速找到一種性能、面

5、積和功耗之間適當(dāng)折衷的最 佳實(shí)現(xiàn)方案,如圖1所示。創(chuàng)新的設(shè)計(jì)流程世界上領(lǐng)先的公司之所以可以持續(xù)領(lǐng)先,就在于其產(chǎn)品 的上市時(shí)間比其競(jìng)爭(zhēng)對(duì)手短。目前設(shè)計(jì)流程中系統(tǒng)設(shè)計(jì)與硬 件設(shè)計(jì)之間有明顯的斷層,根據(jù)Collett International Research作的一項(xiàng)調(diào)查表明,78%的產(chǎn)品不能按期完成正是 由于原始系統(tǒng)級(jí)規(guī)格(C/C+或Spec)轉(zhuǎn)譯成RTL描述時(shí) 的錯(cuò)誤造成的。利用Mentor的Catapult設(shè)計(jì)流程,由定點(diǎn)的C+代碼直 接綜合出可綜合的RTL代碼,如圖2所示。該流程的好處是 工具自動(dòng)解析C+的代碼,不會(huì)因?yàn)橛布O(shè)計(jì)者對(duì)C+代碼 的理解上的偏差而造成設(shè)計(jì)上的缺陷,并且可以節(jié)省大

6、量的 RTL設(shè)計(jì)、調(diào)試和優(yōu)化RTL代碼的時(shí)間。如果需要進(jìn)行原型 板驗(yàn)證,可以在Catapult綜合時(shí)指定所用FPGA型號(hào)和期望 的頻率,即可生成針對(duì)該FPGA型號(hào)優(yōu)化的RTL代碼,同時(shí) 也生成了 Precision?R綜合的腳本,雙擊該腳本可直接調(diào)出 Precision RTL進(jìn)行RTL綜合,然后利用相應(yīng)的布局布線(xiàn)工具 進(jìn)行布局布線(xiàn),最后下載到FPGA中進(jìn)行板級(jí)驗(yàn)證。為了保證硬件設(shè)計(jì)者能創(chuàng)造出最佳的設(shè)計(jì)實(shí)現(xiàn), Catapult Synthesis通過(guò)與領(lǐng)先的第三方工具提供商(如 Synopsys Design Compiler?R)的密切合作為時(shí)序驗(yàn)證和功 耗估計(jì)提供了確定的設(shè)計(jì)流程。順序等效

7、性驗(yàn)證流程(Calypto SLEC?R)可在系統(tǒng)級(jí)輸入模型和輸出的RTL設(shè) 計(jì)之間方便地證明功能的等效性,即為純粹的ANSI C+源 代碼和輸出RTL代碼提供了形式驗(yàn)證的途徑。功耗估計(jì)流程(Sequence PowerTheater?R)使設(shè)計(jì)者在設(shè)計(jì)如消費(fèi)類(lèi)和移 動(dòng)通信產(chǎn)品等功耗敏感的應(yīng)用時(shí)能夠精確地估計(jì)設(shè)計(jì)的功 耗。因此采用該創(chuàng)新的設(shè)計(jì)流程,可以得到面積、延遲和功 耗三者最佳的折衷解決方案。層次式設(shè)計(jì)和接口綜合能力在設(shè)計(jì)之初,Catapult Synthesis可幫助設(shè)計(jì)者確定和分 析可能的設(shè)計(jì)層次,允許設(shè)計(jì)者交互選擇優(yōu)化的層次結(jié)構(gòu)。 一旦設(shè)計(jì)者決定了合適的層次結(jié)構(gòu),Catapult S

8、ynthesis運(yùn)用 其層次式引擎為各個(gè)函數(shù)綜合出具有獨(dú)立有限狀態(tài)機(jī),控制 邏輯和數(shù)據(jù)通路的并行層次式子系統(tǒng)??紤]到實(shí)際的項(xiàng)目開(kāi)發(fā)過(guò)程中,系統(tǒng)的Spec往往會(huì)隨著 市場(chǎng)對(duì)項(xiàng)目的需求的變化而發(fā)生改變,且往往導(dǎo)致部分RTL 代碼的重新編寫(xiě),延誤了項(xiàng)目的進(jìn)度。而Catapult Synthesis 不需要在源碼上嵌入接口協(xié)議,它采用純的ANSI C+描述 作為它的輸入,并采用專(zhuān)利的接口綜合工藝來(lái)控制設(shè)計(jì)接口 上的時(shí)序和通信協(xié)議。這使得設(shè)計(jì)者可以針對(duì)各種微架構(gòu)和 接口設(shè)計(jì)執(zhí)行詳細(xì)的what-if分析,大幅減少RTL的實(shí)現(xiàn)時(shí) 間,改善設(shè)計(jì)流程的可靠性,降低硬件開(kāi)銷(xiāo),保持產(chǎn)品的競(jìng) 爭(zhēng)優(yōu)勢(shì)。相對(duì)于其它的高層

9、次綜合工具而言,Catapult Synthesis不僅提供了豐富的硬件接口如流接口、單端口或雙 端口 RAM、硬件握手、FIFO、AMBA以及許多其它內(nèi)嵌的 I/O元件,還通過(guò)支持含F(xiàn)IFO的流通道、乒乓存儲(chǔ)器、共享 存儲(chǔ)器和通道深度和寬度調(diào)整來(lái)自動(dòng)保證層次式模塊之間 的數(shù)據(jù)通信的正確性,如圖3所示。此外,Catapult Synthesis 的庫(kù)編譯器可以提供定制的或具有特定屬性的I/O元件,使 得設(shè)計(jì)者能夠?qū)⒋鎯?chǔ)器,IP,DesignWare和現(xiàn)存的RTL代碼 提升為定制的庫(kù)單元,從而進(jìn)一步增強(qiáng)設(shè)計(jì)的性能,顯著減少項(xiàng)目的開(kāi)發(fā)周期。產(chǎn)品的差異化開(kāi)發(fā)和DSP算法的快速高性能實(shí)現(xiàn)市場(chǎng)競(jìng)爭(zhēng)的日益

10、加劇,顧客對(duì)產(chǎn)品的需求劃分更加細(xì) 化,而豐富和完善的產(chǎn)品線(xiàn)可以加深顧客對(duì)商家品牌的認(rèn)知 度。原來(lái)在開(kāi)發(fā)相應(yīng)的高、低端產(chǎn)品時(shí),往往需要重新進(jìn)行 RTL代碼的設(shè)計(jì),延誤市場(chǎng)先機(jī),而Catapult Synthesis可以 幫助解決這一問(wèn)題。就打印機(jī)而言,從低端家庭打印機(jī)到高 端網(wǎng)絡(luò)打印機(jī)的所有產(chǎn)品的基本算法都是相同的。然而,不 同打印機(jī)類(lèi)型在數(shù)據(jù)通信、處理、存儲(chǔ)需求上的重大差異要 求那些算法有明顯不同的實(shí)現(xiàn),包括不同的存儲(chǔ)器架構(gòu)和通 信總線(xiàn)架構(gòu)。如果采用基于RTL的方法就需要對(duì)每一代打印 機(jī)所需的架構(gòu)上做重大修改,Catapult Synthesis可以根據(jù) 高、低端的不同需求而施加相應(yīng)的硬件約束

11、條件,自動(dòng)并快 速生成RTL代碼,從而節(jié)省了大量的項(xiàng)目開(kāi)發(fā)時(shí)間。Catapult Synthesis為設(shè)計(jì)者如何綜合成高性能硬件 提供了全面的控制。利用同一個(gè)C/C+源代碼,硬件工程師 利用高層次約束可生成從緊湊到高度并行的實(shí)現(xiàn)方案。這些 結(jié)構(gòu)約束窗口提供了設(shè)計(jì)中所有端口、數(shù)組和循環(huán)的圖形視 圖,并允許施加下列部分或全部的約束,如圖4所示:循環(huán)的展開(kāi)和流水循環(huán)的合并 RAM、ROM或FIFO數(shù)組映射存儲(chǔ)器資源的合并存儲(chǔ)器位寬大小的調(diào)整以FIR的實(shí)現(xiàn)為例,F(xiàn)IR濾波器的實(shí)現(xiàn)通常有并行和串 行兩種實(shí)現(xiàn)方法。第一種方法采用多個(gè)乘加器(MAC)并行 運(yùn)算,能以很高的吞吐率進(jìn)行運(yùn)算,延遲較小,代價(jià)是其硬

12、 件規(guī)模較大,串行方法用一個(gè)乘加器完成FIR的各級(jí)運(yùn)算, 使用的硬件資源較少,但相應(yīng)的延遲較長(zhǎng)。采用傳統(tǒng)的設(shè)計(jì) 方法學(xué),如果要實(shí)現(xiàn)FIR的話(huà),需要根據(jù)特定的應(yīng)用,決定 采用串行或并行的架構(gòu),再編寫(xiě)相應(yīng)的RTL代碼,如果根據(jù) 前一個(gè)項(xiàng)目的串行要求編寫(xiě)的代碼,需要復(fù)用于下一個(gè)要求 高吞吐率的項(xiàng)目中時(shí),就不能滿(mǎn)足應(yīng)用的要求。這也是在RTL 級(jí)不能進(jìn)行真正IP復(fù)用的主要原因。Catapult Synthesis自動(dòng)解析純粹的定點(diǎn)ANSI C/C+語(yǔ) 言,根據(jù)設(shè)計(jì)者施加的高層次硬件約束條件,通過(guò)生成的層 次式甘特圖,設(shè)計(jì)者能立刻了解C/C+代碼的性能瓶頸或低 效性,如阻止并行性的存儲(chǔ)器帶寬限制,循環(huán)相關(guān)

13、性以及限 制優(yōu)化調(diào)度的數(shù)據(jù)相關(guān)性等,可以快速識(shí)別設(shè)計(jì)中的問(wèn)題, 并能交叉定位到C+源碼上,從而同時(shí)優(yōu)化算法和硬件實(shí)現(xiàn), 最終快速收斂于一個(gè)優(yōu)化的硬件實(shí)現(xiàn)上,如圖5所示。此外, 通過(guò)構(gòu)造與關(guān)鍵時(shí)序不同的數(shù)據(jù)通路的基本FSM控制邏輯 和提升原來(lái)的工藝確定的算子來(lái)構(gòu)造高度優(yōu)化的數(shù)據(jù)通路, 保證了數(shù)據(jù)通路延遲的精確性,從而達(dá)到設(shè)計(jì)性能的最佳 化。Catapult Synthesis可以基于設(shè)計(jì)者設(shè)置的不同約束而生 成不同的實(shí)現(xiàn)方案,并在X-Y圖、柱狀圖、表格以及原理圖 上顯示出不同的方案的實(shí)現(xiàn)結(jié)果。而它提供的細(xì)粒度資源管 理功能,又可以使用戶(hù)進(jìn)一步控制硬件實(shí)現(xiàn)方案中元件的特 定結(jié)構(gòu)和數(shù)量,可提供高達(dá)1

14、5%的設(shè)計(jì)面積和5%的設(shè)計(jì)速 度的優(yōu)化能力,如圖6所示。圖6中顯示了 FIR的三種不同 實(shí)現(xiàn)方案的結(jié)果,其吞吐率分別為26、3、1個(gè)時(shí)鐘周期。 因此,硬件設(shè)計(jì)者可以根據(jù)面積和性能快速地做出正確的抉 擇來(lái)生成優(yōu)化的硬件實(shí)現(xiàn)方案(包括VHDL、Verilog、不同 抽象層次的SystemC模型)。自動(dòng)驗(yàn)證環(huán)境芯片復(fù)雜度的日益增加使得驗(yàn)證的時(shí)間越來(lái)越長(zhǎng),大約 占項(xiàng)目開(kāi)發(fā)的60%左右的時(shí)間,因而如何提高驗(yàn)證的效率, 減少驗(yàn)證的時(shí)間就顯得尤為重要。Catapult Synthesis通過(guò)生 成SystemC事務(wù)處理器提供了集成的模塊級(jí)驗(yàn)證環(huán)境,而這 些事務(wù)處理器把事務(wù)或順序檢測(cè)與時(shí)序的RTL同步起來(lái)。這

15、 種集成的驗(yàn)證流程使得設(shè)計(jì)者可方便地復(fù)用原始的C+測(cè)試 程序驗(yàn)證C+設(shè)計(jì)和輸出的RTL代碼功能的一致性,也在特 定的同步點(diǎn)為混合的語(yǔ)言仿真提供了先進(jìn)分析和調(diào)試手段, 如圖7所示。Catapult Synthesis 在生成 RTL 級(jí) VHDL 和 Verilog 代碼 的同時(shí),也生成了如 Design Compiler?R,Precision?R 綜 合,QuestaTM等業(yè)內(nèi)領(lǐng)先綜合和仿真工具的腳本,該工具 還利用了如自動(dòng)調(diào)用RAM或DSP宏模塊等RTL綜合特性, 根據(jù)下游的RTL綜合工具所采用的特定工藝庫(kù)中采集詳盡 的特征數(shù)據(jù)。這使得Catapult Synthesis精確調(diào)度硬件資源,

16、 而無(wú)需花費(fèi)大量的時(shí)間和精力來(lái)進(jìn)行RTL綜合就能快速提 供精確面積、時(shí)序和吞吐率估計(jì)。Catapult Synthesis也自動(dòng) 為后續(xù)的RTL驗(yàn)證提供仿真的Makefile,雙擊該Makefile就 會(huì)自動(dòng)調(diào)用Questa/Modelsim /NC-Sim(VCS將在下個(gè)版本支 持)仿真器進(jìn)行仿真并自動(dòng)比對(duì)C+仿真結(jié)果和RTL仿真結(jié) 果,減少了腳本和Testbench的編寫(xiě)量,如圖8所示。此外, 它能自動(dòng)為該模塊生成不同抽象層次的SystemC的模型,從 而使系統(tǒng)級(jí)驗(yàn)證提前進(jìn)行成為可能,由于SystemC模型的抽 象層次比RTL高,因而仿真的速度要快得多,大大縮短了驗(yàn) 證周期,如圖9所示,并可以更早地驗(yàn)證系統(tǒng)架構(gòu)的劃分是 否合理,避免了設(shè)計(jì)上的反復(fù),保證了產(chǎn)品的上市時(shí)間。7 .結(jié)論由于上市時(shí)間對(duì)產(chǎn)品,特別是消費(fèi)類(lèi)電子產(chǎn)品的成敗至 關(guān)重要。而人工方法需要耗費(fèi)大量時(shí)間,設(shè)計(jì)者無(wú)法嘗試進(jìn) 行所有可能的微架構(gòu)和接口設(shè)計(jì),因此得到的設(shè)計(jì)優(yōu)劣就與 設(shè)計(jì)人員本身能力相關(guān)。Mentor Graphics公司推出的Catapult Synthesis工具,其先進(jìn)的分析能力使得硬件設(shè)計(jì)者可以充分 和交互探索微架構(gòu)和接口設(shè)計(jì)空間,生成可與手工編碼設(shè)計(jì) 質(zhì)量相媲美的高性能硬件實(shí)現(xiàn),并已被世界各地的領(lǐng)先設(shè)計(jì) 公司證明該設(shè)計(jì)流程有

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論