您的開(kāi)發(fā)團(tuán)隊(duì)是否需要在極短的時(shí)間內(nèi)打造出既復(fù)雜又富有競(jìng)爭(zhēng)力的新一代系統(tǒng)?賽靈思All Programmable器件可助您一臂之力,它相對(duì)傳統(tǒng)可編程邏輯和I/O,新增了軟件可編程ARM®處理系統(tǒng)、可編程模擬混合信號(hào)(AMS)子系統(tǒng)和不斷豐富的高復(fù)雜度的IP,支持開(kāi)發(fā)團(tuán)隊(duì)突破原有的種種設(shè)計(jì)限制。賽靈思有多種All Programmable器件可供用戶選擇,構(gòu)成這些器件的各種硅片組合使用賽靈思獨(dú)特的高性能3D堆疊硅片互聯(lián)技術(shù)彼此互聯(lián)。這些領(lǐng)先一代的All Programmable器件為用戶提供的功能,遠(yuǎn)超常規(guī)可編程邏輯所能及,為用戶開(kāi)啟了一個(gè)全面可編程系統(tǒng)集成的新時(shí)代。
All Programmable抽象化與自動(dòng)化
All Programmable抽象化與自動(dòng)化有何意義?
其意義在于采用賽靈思All Programmable器件,用戶的開(kāi)發(fā)團(tuán)隊(duì)可以用更少的部件實(shí)現(xiàn)更多系統(tǒng)功能,提升系統(tǒng)性能,降低系統(tǒng)功耗,減少材料清單(BOM)成本,同時(shí)滿足嚴(yán)格的產(chǎn)品上市時(shí)間要求。但如果不借助強(qiáng)大的硬件、軟件、系統(tǒng)設(shè)計(jì)工具和設(shè)計(jì)流程,則無(wú)法將這些優(yōu)勢(shì)交到您的設(shè)計(jì)團(tuán)隊(duì)的手中,您也不可能實(shí)現(xiàn)這些優(yōu)勢(shì)。賽靈思把所需的這些硬件、軟件和系統(tǒng)設(shè)計(jì)開(kāi)發(fā)流程統(tǒng)稱為“All Programmable 抽象化(All Programmable Abstraction)”。
在這種使用All Programmable抽象化進(jìn)行先進(jìn)的領(lǐng)先一代的硬件、軟件和系統(tǒng)開(kāi)發(fā)過(guò)程中,起著核心作用的是賽靈思Vivado®設(shè)計(jì)套件。Vivado設(shè)計(jì)套件是一種以IP和系統(tǒng)為中心的、領(lǐng)先一代的全新SoC增強(qiáng)型綜合開(kāi)發(fā)環(huán)境,可解決用戶在系統(tǒng)級(jí)集成和實(shí)現(xiàn)過(guò)程中常見(jiàn)的生產(chǎn)力瓶頸問(wèn)題。
就在同類競(jìng)爭(zhēng)解決方案還在試圖通過(guò)擴(kuò)展過(guò)時(shí)且松散連接的分立工具來(lái)跟上片上集成的高速發(fā)展的時(shí)候,Vivado設(shè)計(jì)套件憑借業(yè)界最先進(jìn)的SoC增強(qiáng)型設(shè)計(jì)方法和算法,提供了獨(dú)特、高度集成的開(kāi)發(fā)環(huán)境,為設(shè)計(jì)者帶來(lái)了設(shè)計(jì)生產(chǎn)力的極大提升。Vivado設(shè)計(jì)套件將硬件、軟件和系統(tǒng)工程師的生產(chǎn)力提升到了一個(gè)全新的水平。
以下九大理由,將讓您了解到Vivado設(shè)計(jì)套件為何能夠提供領(lǐng)先一代的設(shè)計(jì)生產(chǎn)力、簡(jiǎn)便易用性,以及強(qiáng)大的系統(tǒng)級(jí)集成能力:
加快系統(tǒng)實(shí)現(xiàn)
理由一:突破器件密度極限:在單個(gè)器件中更快速集成更多功能。
如果設(shè)計(jì)工具能夠讓All Programmable器件集成更多功能,用戶就能夠在系統(tǒng)設(shè)計(jì)中選擇盡可能小的器件,從而直接帶來(lái)系統(tǒng)成本和功耗的下降。Vivado設(shè)計(jì)套件提供一種集成環(huán)境,能夠讓架構(gòu)、軟件和硬件開(kāi)發(fā)人員在通用設(shè)計(jì)環(huán)境中協(xié)作工作,從而最大程度地提升設(shè)計(jì)效率,充分發(fā)揮All Programmable器件的可編程邏輯架構(gòu)及其專用片上功能模塊的潛力。
以O(shè)penCores.org的以太網(wǎng)MAC(媒體訪問(wèn)控制器)模塊設(shè)計(jì)為例。作為實(shí)驗(yàn),賽靈思反復(fù)原樣復(fù)制OpenCores以太網(wǎng)MAC,直至它們填充帶有693,120個(gè)邏輯單元的Virtex®-7 690T FPGA。賽靈思又以類似的方法填充帶有622,000個(gè)邏輯單元的同類競(jìng)爭(zhēng)器件。下圖顯示的是實(shí)驗(yàn)結(jié)果。
按邏輯單元數(shù)量來(lái)衡量(一個(gè)“標(biāo)準(zhǔn)”的邏輯單元由一個(gè)4輸入LUT(查找表)和一個(gè)觸發(fā)器組成),賽靈思Virtex-7 690T器件的原始容量比同類競(jìng)爭(zhēng)器件(帶有622,000個(gè)邏輯單元)高出11%。但如圖1所示,如果用Vivado設(shè)計(jì)套件將所有這些以太網(wǎng)MAC模塊實(shí)例填充到賽靈思Virtex-7 690T器件中,賽靈思Virtex-7 690T器件要比同類競(jìng)爭(zhēng)器件容納的實(shí)例數(shù)多出36%。這個(gè)實(shí)驗(yàn)表明,Vivado設(shè)計(jì)套件與賽靈思7系列FPGA架構(gòu)結(jié)合使用所產(chǎn)生的效率,要遠(yuǎn)高于同類競(jìng)爭(zhēng)工具/器件組合所產(chǎn)生的效率。
(注:圖1根據(jù)LUT和Slice計(jì)數(shù)結(jié)果,對(duì)賽靈思7系列All Programmable器件和同類競(jìng)爭(zhēng)可編程邏輯器件進(jìn)行比較。賽靈思7系列All Programmable器件slice含四個(gè)6輸入LUT、八個(gè)觸發(fā)器以及相關(guān)的多路復(fù)用器和算術(shù)進(jìn)位邏輯,相當(dāng)于1.6個(gè)邏輯單元。)
圖1:復(fù)制次數(shù)與架構(gòu)資源利用率的對(duì)比
Vivado設(shè)計(jì)套件如何最大化器件利用率
Vivado設(shè)計(jì)套件之所以能夠?qū)崿F(xiàn)更高的器件利用率,是因?yàn)樗捎酶呒?jí)擬合算法,而且賽靈思7系列可編程邏輯架構(gòu)在每個(gè)Slice內(nèi)采用真正獨(dú)立的LUT。值得注意的是,圖1詳盡地體現(xiàn)了賽靈思7系列的LUT和Slice擬合結(jié)果,兩者均實(shí)現(xiàn)了近100%的利用率。而同類競(jìng)爭(zhēng)的可編程邏輯器件在器件利用率僅達(dá)到63%就用盡了可用的Slice。產(chǎn)生這種低利用率的根源歸咎于該競(jìng)爭(zhēng)器件的可編程邏輯架構(gòu),這種架構(gòu)在許多情況下不允許把兩個(gè)LUT捆綁成一個(gè)物理集群。在完整的設(shè)計(jì)中,這顯然會(huì)產(chǎn)生大量未充分利用的集群。這是由于為了滿足架構(gòu)的引腳共享要求,只有一個(gè)LUT得到使用,而另一個(gè)LUT則不能再用于設(shè)計(jì)中其余的邏輯。這項(xiàng)實(shí)驗(yàn)清楚地表明,用戶可以使用更小的7系列All Programmable來(lái)實(shí)現(xiàn)更大的系統(tǒng)設(shè)計(jì)。
在這個(gè)IP模塊擬合實(shí)驗(yàn)中,Vivado設(shè)計(jì)套件與同類可編程器件形成了鮮明的對(duì):Vivado設(shè)計(jì)套件實(shí)現(xiàn)了99%的LUT利用率,而且即便在如此高利用率水平下,它還能在完成設(shè)計(jì)布局布線的同時(shí),滿足時(shí)序約束。Vivado布局布線算法旨在處理高密度、高難度設(shè)計(jì),便于用戶將更多邏輯置于該器件中,從而降低用戶的系統(tǒng)材料清單(BOM)成本和系統(tǒng)功耗。
理由二:Vivado以可預(yù)測(cè)的結(jié)果提供穩(wěn)健可靠的性能和低功耗
出于納米級(jí)IC設(shè)計(jì)的物理原因,互聯(lián)已經(jīng)成為28nm及更高工藝節(jié)點(diǎn)的可編程邏輯器件架構(gòu)的性能瓶頸。Vivado設(shè)計(jì)套件采用先進(jìn)的布局布線算法,可突破該性能瓶頸,而且點(diǎn)擊鼠標(biāo)即可得到高性能結(jié)果。
Vivado設(shè)計(jì)套件的分析型布局布線算法能夠同步優(yōu)化包括時(shí)序、互聯(lián)使用和走線長(zhǎng)度在內(nèi)的多重變量,提供可預(yù)測(cè)的設(shè)計(jì)收斂。同時(shí),Vivado的實(shí)現(xiàn)引擎可保證在邏輯利用率高的大型器件上得到的結(jié)果和在器件利用率較低的設(shè)計(jì)上得到的結(jié)果一樣優(yōu)異。此外,在系統(tǒng)設(shè)計(jì)規(guī)模隨著系統(tǒng)功能的增加而逐步增大的情況下,Vivado既能保持高性能結(jié)果,還能提高各次運(yùn)行結(jié)果間的一致性。
如圖2所示,與同類競(jìng)爭(zhēng)工具相比,Vivado設(shè)計(jì)套件可隨著利用率的提升提供更出色的性能,同時(shí)還能處理更大規(guī)模的設(shè)計(jì)。
注:如圖2所示,同類競(jìng)爭(zhēng)工具的結(jié)果的平均變動(dòng)要比使用Vivado設(shè)計(jì)套件得到的結(jié)果大四倍。另外,值得注意的是同類競(jìng)爭(zhēng)解決方案在填滿器件時(shí),可用性能下降了一半。與此形成鮮明對(duì)比的是,Vivado設(shè)計(jì)套件在受測(cè)的不同設(shè)計(jì)上得到的結(jié)果一致,性能保持穩(wěn)定。最后還需要注意是同類競(jìng)爭(zhēng)解決方案不能處理Vivado設(shè)計(jì)套件能夠成功處理的大型系統(tǒng)。同類競(jìng)爭(zhēng)解決方案很快就不堪重負(fù)。
圖2:以復(fù)制次數(shù)為標(biāo)準(zhǔn)的性能對(duì)比
Vivado降低系統(tǒng)功耗
Vivado設(shè)計(jì)套件提供了業(yè)界一流的系統(tǒng)功耗分析與優(yōu)化工具。從架構(gòu)或器件選擇階段開(kāi)始,設(shè)計(jì)人員就可以運(yùn)用準(zhǔn)確且易用性無(wú)與倫比的Xilinx Power Estimator(XPE,賽靈思功耗評(píng)估器)電子數(shù)據(jù)表來(lái)確定系統(tǒng)功耗。設(shè)計(jì)人員不僅能夠通過(guò)XPE的快速評(píng)估(Quick Estimate)和IP向?qū)лp松入門,而且還能夠簡(jiǎn)單并排比較多種實(shí)現(xiàn)方案,幫助設(shè)計(jì)團(tuán)隊(duì)微調(diào)設(shè)置,以便地為各種場(chǎng)景精確建模。
當(dāng)設(shè)計(jì)進(jìn)入編譯階段,Vivado設(shè)計(jì)套件繼續(xù)提供準(zhǔn)確的功耗分析和估算。Vivado設(shè)計(jì)套件開(kāi)箱即用,能夠在不給系統(tǒng)設(shè)計(jì)的時(shí)序造成負(fù)面影響的情況下自動(dòng)降低設(shè)計(jì)的功耗。如果用戶還需要進(jìn)一步降低功耗,可以使用Vivado設(shè)計(jì)套件獨(dú)有功能,充分利用賽靈思7系列精細(xì)粒度時(shí)鐘門控技術(shù),進(jìn)一步降低整個(gè)系統(tǒng)設(shè)計(jì)或部分設(shè)計(jì)的功耗。
這種Vivado設(shè)計(jì)套件實(shí)現(xiàn)的智能時(shí)鐘門控優(yōu)化技術(shù)能夠平均降低動(dòng)態(tài)功耗18%,如圖3所示。
Vivado設(shè)計(jì)套件提供了一系列無(wú)與倫比功能與特性,可幫助用戶輕松完成對(duì)設(shè)計(jì)的分析工作。用戶可以甄別出功耗最大的模塊,從而明確從哪些模塊切入,高效而明顯降低系統(tǒng)功耗。所有這些功能都內(nèi)置在通用Vivado集成設(shè)計(jì)環(huán)境(IDE)中,所以設(shè)計(jì)團(tuán)隊(duì)僅借助一款統(tǒng)一的工具套件,就可一次性最小化系統(tǒng)功耗。
系統(tǒng)功耗是設(shè)計(jì)大多數(shù)產(chǎn)品時(shí)應(yīng)考慮的一個(gè)重要因素,Vivado設(shè)計(jì)套件提供的領(lǐng)先一代設(shè)計(jì)工具是對(duì)賽靈思All Programmable器件的有力補(bǔ)充和完善。
圖3:運(yùn)用智能時(shí)鐘門控優(yōu)化實(shí)現(xiàn)的動(dòng)態(tài)功耗比率(按動(dòng)態(tài)功耗降幅分類)
理由三:Vivado設(shè)計(jì)套件提供了無(wú)與倫比的運(yùn)行時(shí)間和存儲(chǔ)器利用率
從設(shè)計(jì)人員生產(chǎn)力考慮,設(shè)計(jì)工具應(yīng)能夠快速運(yùn)行,最好是快到每天能夠完成多次編譯,這樣設(shè)計(jì)團(tuán)隊(duì)就能夠迅速得到最終設(shè)計(jì)。從一開(kāi)始Vivado設(shè)計(jì)套件就是為高速運(yùn)行設(shè)計(jì)的,比同類競(jìng)爭(zhēng)的可編程邏輯設(shè)計(jì)工具的速度明顯要快得多。
同樣以之前討論過(guò)的OpenCores以太網(wǎng)MAC模塊設(shè)計(jì)為例。圖4說(shuō)明,隨著實(shí)例數(shù)量的增加,Vivado設(shè)計(jì)套件的運(yùn)行時(shí)間比競(jìng)爭(zhēng)對(duì)手的軟件快三倍。此外,數(shù)據(jù)還表明,Vivado的運(yùn)行時(shí)間的增減可以預(yù)測(cè),即運(yùn)行時(shí)間只單調(diào)地隨設(shè)計(jì)規(guī)模增減。與此形成鮮明對(duì)比的是,同類競(jìng)爭(zhēng)軟件的運(yùn)行時(shí)間無(wú)規(guī)律性。例如94個(gè)實(shí)例的設(shè)計(jì)完成的速度比使用84個(gè)實(shí)例的設(shè)計(jì)快。
圖4:運(yùn)行時(shí)間比較
Vivado內(nèi)存占用更小
Vivado設(shè)計(jì)套件采用先進(jìn)高效的數(shù)據(jù)模型和結(jié)構(gòu),內(nèi)存占用極小且明顯低于同類競(jìng)爭(zhēng)解決方案的內(nèi)存占用。此處仍以O(shè)penCores以太網(wǎng)MAC模塊為例。要成功運(yùn)行規(guī)模最大的設(shè)計(jì)(154個(gè)實(shí)例),競(jìng)爭(zhēng)軟件需要占用16GB的RAM,相比之下運(yùn)行同樣規(guī)模大小的設(shè)計(jì),Vivado設(shè)計(jì)套件占用的內(nèi)存要小三分之二(見(jiàn)圖5)。內(nèi)存占用減少意味著Vivado設(shè)計(jì)套件擁有明顯的生產(chǎn)力優(yōu)勢(shì),因?yàn)樵O(shè)計(jì)人員在編譯較大型系統(tǒng)設(shè)計(jì)時(shí)不會(huì)耗盡內(nèi)存。
圖5:內(nèi)存占用
加快系統(tǒng)集成
理由四:使用Vivado高層次綜合生成基于C語(yǔ)言的IP
如今的無(wú)線、醫(yī)療、軍用和消費(fèi)類應(yīng)用均比以往更加尖端,使用的算法也比以往更加復(fù)雜。業(yè)界算法開(kāi)發(fā)的金標(biāo)準(zhǔn)就是采用C、C++和SystemC高級(jí)編程語(yǔ)言。過(guò)去設(shè)計(jì)流程中需要經(jīng)過(guò)一個(gè)緩慢且容易出錯(cuò)的步驟來(lái)將用C、C++或SystemC語(yǔ)言編寫(xiě)的算法轉(zhuǎn)換為適合于綜合的Verilog或VHDL硬件描述。而現(xiàn)在Vivado設(shè)計(jì)套件系統(tǒng)版本中提供的Vivado高層次綜合功能可輕松地自動(dòng)完成這一步驟。
您以往可能聽(tīng)說(shuō)過(guò)C語(yǔ)言級(jí)硬件綜合。不管您聽(tīng)說(shuō)過(guò)什么,C語(yǔ)言級(jí)算法綜合已成為系統(tǒng)級(jí)設(shè)計(jì)的捷徑。當(dāng)前有超過(guò)400名用戶正在成功利用Vivado高層次綜合(HLS)技術(shù)開(kāi)發(fā)符合C、C++和SystemC語(yǔ)言規(guī)范的賽靈思All Programmable器件用IP硬核。
Vivado HLS通過(guò)下列功能,讓系統(tǒng)和設(shè)計(jì)架構(gòu)師走上IP硬核開(kāi)發(fā)的捷徑:
. 算法描述、數(shù)據(jù)類型規(guī)格(整數(shù)、定點(diǎn)或浮點(diǎn))和接口(FIFO、AXI4、AXI4-Lite、AXI4-Stream)抽象化;
. 采用可提供最佳QoR(結(jié)果質(zhì)量)的基于指令的架構(gòu)感知型編譯器;
. 使用C/C++測(cè)試平臺(tái)仿真、自動(dòng)化VHDL/Verilog仿真和測(cè)試臺(tái)生成功能加快模塊級(jí)驗(yàn)證;
. 發(fā)揮整套Vivado設(shè)計(jì)套件的功能,將生成的IP硬核輕松嵌入基于RTL的設(shè)計(jì)流程中;發(fā)揮Vivado System Generator for DSP的功能,將生成的IP硬核輕松嵌入基于模型的設(shè)計(jì);發(fā)揮Vivado IP集成器(Vivado IP Integrator)的功能,將生成的IP硬核輕松集成到基于模塊的設(shè)計(jì)。
這樣硬件設(shè)計(jì)人員就有更多時(shí)間投入到設(shè)計(jì)領(lǐng)域的探索中,即有更多時(shí)間評(píng)估備選架構(gòu),找出真正理想的設(shè)計(jì)解決方案,輕松應(yīng)對(duì)各種嚴(yán)峻的系統(tǒng)設(shè)計(jì)挑戰(zhàn)。例如設(shè)計(jì)人員將行業(yè)標(biāo)準(zhǔn)的浮點(diǎn)math.h運(yùn)算與Vivado HLS結(jié)合使用,就能夠在實(shí)現(xiàn)較手動(dòng)編碼的RTL更優(yōu)異的QoR的同時(shí),讓線性代數(shù)算法的執(zhí)行速度呈數(shù)量級(jí)提高(10倍),如表1所示。
表1:Vivado HLS實(shí)現(xiàn)的QoR
雷達(dá)設(shè)計(jì) (1024x64浮點(diǎn)QRD) |
RTL方法 (VHDL) |
Vivado HLS |
設(shè)計(jì)時(shí)間(周) |
12 |
1 |
時(shí)延(毫秒) |
37 |
21 |
資源 • BRAMS • FF • LUT |
273 29,686 28,512 |
1 38 14,263 24,257 |
通過(guò)集成到OpenCV®環(huán)境中的預(yù)先編寫(xiě)、預(yù)先驗(yàn)證的視覺(jué)與視頻功能,Vivado HLS還能加速基于賽靈思Zynq®-7000 All Programmable SoC器件的系統(tǒng)的實(shí)時(shí)Smarter Vision算法的開(kāi)發(fā)工作。此類系統(tǒng)使用運(yùn)行在Zynq SoC的雙核ARM®處理系統(tǒng)上的軟件和位于Zynq SoC高性能FPGA架構(gòu)上的硬件來(lái)運(yùn)行這些算法(如圖6所示)。
圖6:Vivado HLS加快基于OpenCV的開(kāi)發(fā)工作
驅(qū)動(dòng)程序輔助 |
|
|
廣播監(jiān)控器 |
高清監(jiān)視 |
OpenCV |
放映 |
|
視頻會(huì)議 |
處理系統(tǒng)(PS)幀級(jí)處理庫(kù) |
像素處理接口和基本分析功能 |
|
電影攝像機(jī) |
|
|
數(shù)字標(biāo)牌 |
辦公用多功能打印機(jī) |
|
|
消費(fèi)類顯示器 |
機(jī)器視覺(jué) |
|
|
醫(yī)療顯示器 |
使用Vivado HLS Smarter Vision庫(kù)的各項(xiàng)功能,用戶借助硬件加速就能迅速實(shí)現(xiàn)復(fù)雜像素處理接口和基本視頻分析功能的實(shí)時(shí)運(yùn)行。
(如欲立即開(kāi)始使用Vivado HLS,敬請(qǐng)下載《如何使用Vivado高層次綜合的FPGA設(shè)計(jì)》。這是一本以賽靈思對(duì)其主要客戶舉辦的培訓(xùn)為依據(jù)的綜合性用戶指南。該指南可快速向軟件工程師教授如何將軟件算法從處理器上移植到賽靈思All Programmable FPGA和SoC的可編程邏輯上,加快他們的代碼運(yùn)行速度。)
理由五:利用System Generator for DSP實(shí)現(xiàn)基于模塊的DSP設(shè)計(jì)集成
如上文所述,Vivado設(shè)計(jì)套件系統(tǒng)版本提供System Generator for DSP,這是一款行業(yè)領(lǐng)先的將DSP算法轉(zhuǎn)換為高性能生產(chǎn)質(zhì)量級(jí)硬件的高級(jí)設(shè)計(jì)工具,轉(zhuǎn)換所需時(shí)間僅為傳統(tǒng)RTL設(shè)計(jì)方法的幾分之一。Vivado System Generator for DSP可讓開(kāi)發(fā)人員運(yùn)用業(yè)界最先進(jìn)的All Programmable系統(tǒng)建模工具(MathWorks®提供的Simulink™和MATLAB™),無(wú)縫集成那些可用Vivado HLS綜合到硬件中的算術(shù)函數(shù)、SmartCORE™與LogiCORE™IP、定制RTL以及基于C語(yǔ)言的模塊,從而加速高度并行系統(tǒng)的開(kāi)發(fā)。圖7所示的是使用Vivado HLS和Vivado System Generator for DSP將基于C語(yǔ)言的模塊集成到Simulink中的設(shè)計(jì)流程。
圖7:使用Vivado HLS和Vivado System Generator for DSP將基于C語(yǔ)言的模塊集成到Simulink中
Vivado System Generator for DSP提供自動(dòng)定點(diǎn)/浮點(diǎn)硬件生成功能、可將Simulink仿真速度提高1000倍的硬件協(xié)同仿真功能、用于基于RTL的Vivdo設(shè)計(jì)流程的系統(tǒng)集成功能,以及用Vivado IP集成器實(shí)現(xiàn)的基于模塊的設(shè)計(jì)功能,可進(jìn)一步加快系統(tǒng)實(shí)現(xiàn)。
理由六:利用Vivado IP集成器實(shí)現(xiàn)基于模塊的IP集成
Vivado設(shè)計(jì)套件提供行業(yè)首款即插即用IP集成設(shè)計(jì)環(huán)境Vivado IP集成器(Vivado IPI),打破了RTL設(shè)計(jì)生產(chǎn)力的局限性。
Vivado IP集成器提供圖形化、腳本編寫(xiě)(Tcl)、生成即保證正確(correct-by-construction)的設(shè)計(jì)開(kāi)發(fā)流程。此外,它還提供具有器件和平臺(tái)意識(shí)的環(huán)境,以及強(qiáng)大的集成調(diào)試功能,能支持主要IP接口的智能自動(dòng)連接、一鍵式IP子系統(tǒng)生成、實(shí)時(shí)設(shè)計(jì)規(guī)則檢查(DRC)和接口修改傳遞等。
設(shè)計(jì)人員在使用Vivado IP集成器建立IP模塊之間的連接時(shí),工作在抽象的“接口”層面而非“信號(hào)”層面。抽象上升到接口層面大大提高了設(shè)計(jì)人員的生產(chǎn)力。雖然主要使用的是業(yè)界標(biāo)準(zhǔn)的AXI4接口,IP集成器也支持?jǐn)?shù)十種其他常用接口。
工作在接口層面的設(shè)計(jì)團(tuán)隊(duì)可以快速組裝采用Vivado HLS與Vivado System Generator for DSP創(chuàng)建的IP、賽靈思SmarteCORE與LogiCORE IP、聯(lián)盟成員IP和專有IP的復(fù)雜系統(tǒng)。結(jié)合使用Vivado IP集成器和Vivado HLS可顯著降低開(kāi)發(fā)成本,僅為使用RTL方法的1/15。
圖8顯示的是系統(tǒng)級(jí)設(shè)計(jì)在Vivado IP集成器中的視圖,這個(gè)系統(tǒng)采用了一個(gè)賽靈思Zynq-7000處理系統(tǒng)、Vivado HLS生成的圖像濾波器加速器和一個(gè)用Vivado System Generator for DSP生成的增益控制加速器。
圖8:用Vivado HLS和System Generator加速器完成的Zynq設(shè)計(jì)
加速系統(tǒng)驗(yàn)證
理由七:用于設(shè)計(jì)和仿真的Vivado集成設(shè)計(jì)環(huán)境
Vivado設(shè)計(jì)套件還提供完整的全集成成套工具,用于在先進(jìn)的集成設(shè)計(jì)環(huán)境(IDE)中完成設(shè)計(jì)輸入、時(shí)序分析、硬件調(diào)試和仿真工作。Vivado設(shè)計(jì)套件的集成設(shè)計(jì)環(huán)境的這種設(shè)計(jì)分析功能采用共享的可擴(kuò)展數(shù)據(jù)模型,以容納超大型All Programmable器件。Vivado設(shè)計(jì)套件在整個(gè)設(shè)計(jì)流程中使用這一單一的數(shù)據(jù)模型,讓設(shè)計(jì)團(tuán)隊(duì)能夠盡早在整個(gè)設(shè)計(jì)流程中隨時(shí)掌握時(shí)序、功耗、資源利用率、路由擁塞等關(guān)鍵設(shè)計(jì)指標(biāo)。估算也會(huì)隨著設(shè)計(jì)流程的推進(jìn)越來(lái)越準(zhǔn)確,從而在減少設(shè)計(jì)迭代次數(shù)的同時(shí)推動(dòng)更快完成設(shè)計(jì)收斂。
圖9:VIVADO設(shè)計(jì)套件在整個(gè)設(shè)計(jì)流程中至始至終使用一個(gè)共享的可擴(kuò)展數(shù)據(jù)模型
Vivado設(shè)計(jì)套件是唯一在自身的集成設(shè)計(jì)環(huán)境中提供混合語(yǔ)言仿真器的設(shè)計(jì)解決方案。而同類競(jìng)爭(zhēng)仿真器的用戶必須或選擇VHDL仿真,或選擇Verilog仿真。對(duì)集成眾多廠商提供的IP的最新系統(tǒng)設(shè)計(jì)來(lái)說(shuō),混合語(yǔ)言仿真器至關(guān)重要。
Vivado設(shè)計(jì)套件的仿真和調(diào)試使用相同的波形觀測(cè)儀,這樣可以避免從仿真環(huán)境切換到硬件調(diào)試環(huán)境后還需要重新學(xué)習(xí)。競(jìng)爭(zhēng)解決方案往往迫使用戶學(xué)習(xí)和使用不同波形的工具來(lái)完成相同工作。在仿真功能和調(diào)試功能全集成的情況下,設(shè)計(jì)團(tuán)隊(duì)能夠更快地完成工作,且避免出錯(cuò),使用Vivado設(shè)計(jì)套件就是這種情況。
類似地,同類競(jìng)爭(zhēng)開(kāi)發(fā)工具的交叉探測(cè)功能呈碎片化且極度有限。此外這些交叉探測(cè)功能一般局限于某種單一的工具。與此對(duì)比鮮明的是,Vivado設(shè)計(jì)套件提供的全面、集成式front-to-back交叉探測(cè)功能,適用于所有不同設(shè)計(jì)視圖,諸如實(shí)現(xiàn)設(shè)計(jì)、綜合設(shè)計(jì)、時(shí)序報(bào)告,甚至還可追溯到設(shè)計(jì)團(tuán)隊(duì)的原始RTL代碼。
由于Vivado設(shè)計(jì)套件使用單一數(shù)據(jù)模型架構(gòu),所以可在各種設(shè)計(jì)資源、原理圖視圖、層級(jí)瀏覽器、設(shè)計(jì)報(bào)告、消息、布局規(guī)劃和Vivado器件編輯器(Vivado Device Editor)之間進(jìn)行大范圍交叉探測(cè)。借助這種獨(dú)特的功能,可以即時(shí)反饋整個(gè)系統(tǒng)開(kāi)發(fā)過(guò)程中發(fā)現(xiàn)的任何設(shè)計(jì)問(wèn)題,從而加快調(diào)試,快速完成時(shí)序收斂。
此外,競(jìng)爭(zhēng)性設(shè)計(jì)解決方案使用多個(gè)磁盤文件用于工具間通信。使用多個(gè)磁盤文件帶來(lái)的復(fù)雜性和低效率不僅會(huì)降低工具性能,而且還會(huì)造成多重接口,從而顯著增大工具間溝通不暢的幾率。然而,Vivado設(shè)計(jì)套件則不存在這種問(wèn)題。它采用單一的共享數(shù)據(jù)模型處理設(shè)計(jì)的各方面工作,如圖10所示。
圖10:Vivado設(shè)計(jì)套件的單一共享數(shù)據(jù)模型平滑地集成各類設(shè)計(jì)工作
理由八:綜合而全面的硬件調(diào)試
Vivado設(shè)計(jì)套件的探測(cè)方法直觀、靈活、可重復(fù)。設(shè)計(jì)人員可選擇最適合自己設(shè)計(jì)流程的探測(cè)策略:
. RTL設(shè)計(jì)文件、綜合設(shè)計(jì)和XDC約束文件
. 網(wǎng)表插入
. 用于自動(dòng)運(yùn)行探測(cè)的互動(dòng)式TCL或腳本
先進(jìn)的觸發(fā)器和采集功能
Vivado設(shè)計(jì)套件為檢測(cè)復(fù)雜事件提供先進(jìn)的觸發(fā)器和采集功能。在調(diào)試進(jìn)程中所有的觸發(fā)器參數(shù)均可使用,用戶可以實(shí)時(shí)檢查或動(dòng)態(tài)修改參數(shù),且無(wú)需重新編譯設(shè)計(jì)。
Zynq SoC支持處理器系統(tǒng)(PS)與可編程邏輯(PL)之間交叉觸發(fā)
Vivado設(shè)計(jì)套件還支持Zynq-7000 All Programmable SoC器件內(nèi)處理器系統(tǒng)(PS)與可編程邏輯(PL)之間的交叉觸發(fā)。有了這項(xiàng)功能,結(jié)合使用賽靈思軟件開(kāi)發(fā)套件(SDK)、Vivado IP集成器和Vivado邏輯分析器(Vivado Logic Analyzer),可以協(xié)同調(diào)試同時(shí)使用Zynq處理器系統(tǒng)和可編程邏輯的嵌入式設(shè)計(jì)。再搭配強(qiáng)大的軟件調(diào)試器GNU Debugger(GDB)實(shí)用工具,設(shè)計(jì)人員使用Vivado IP集成器和Vivado邏輯分析器可以同步調(diào)試軟/硬件算法。Zynq-7000 All Programmable SoC平臺(tái)和賽靈思ILA(集成邏輯分析器)IP核間提供有特定的接口信號(hào),可支持無(wú)縫協(xié)同調(diào)試操作。
實(shí)現(xiàn)硬件實(shí)時(shí)讀/寫(xiě)操作— JTAG to AXI Master
Vivado設(shè)計(jì)套件可在硬件調(diào)試過(guò)程中實(shí)時(shí)地完成Zynq處理器系統(tǒng)和可編程邏輯間的讀/寫(xiě)事務(wù)處理。最新調(diào)試IP核(JTAG to AXI Master)與簡(jiǎn)便易用的IP Integrator流相結(jié)合,能夠在設(shè)計(jì)中訪問(wèn)任何基于AXI的IP模塊中的數(shù)據(jù)。
優(yōu)勢(shì)包括:
. 在設(shè)計(jì)過(guò)程中,能夠在外設(shè)上完成簡(jiǎn)單的讀/寫(xiě)操作
. 無(wú)需重新編譯就能將測(cè)試模式寫(xiě)入存儲(chǔ)器
. 通過(guò)AXI接口能夠測(cè)試和校正IP核
. 能夠檢查任何AIX外設(shè)設(shè)備內(nèi)的數(shù)據(jù)
集成串行I/O分析器
Vivado串行I/O分析器為基于FPGA的系統(tǒng)設(shè)計(jì)中日漸常用的高速串行I/O通道提供了一種快速、便捷的互動(dòng)式設(shè)置調(diào)試方法。Vivado串行I/O分析器能夠在串行I/O通道運(yùn)行期間對(duì)多種高速串行I/O通道進(jìn)行誤碼率(BER)測(cè)試,并實(shí)時(shí)調(diào)整高速串行收發(fā)器的參數(shù)。這款基于鏈路的Vivado串行I/O分析器,能夠?qū)⑾到y(tǒng)中任何收發(fā)器的發(fā)射器(TX)連接到任何收發(fā)器的接收器(TX)。此外發(fā)射器和接收器無(wú)需采用相同的SerDes架構(gòu)。Vivado串行I/O分析器還能夠自動(dòng)檢測(cè)各條鏈路,讓開(kāi)發(fā)人員創(chuàng)建定制鏈路,執(zhí)行2D眼圖掃描并實(shí)時(shí)掃描收發(fā)器參數(shù)(如圖11所示)。
圖11:Vivado串行I/O分析器
理由九:采用C、C++和SystemC語(yǔ)言將驗(yàn)證速度提高100倍以上
如前文所討論的,Vivado設(shè)計(jì)套件系統(tǒng)版本內(nèi)置Vivado HLS,可幫助用戶的設(shè)計(jì)團(tuán)隊(duì)用C、C++和SystemC語(yǔ)言迅速完成算法設(shè)計(jì)的創(chuàng)建與迭代工作,同時(shí)還在驗(yàn)證工作中發(fā)揮這些高級(jí)編程語(yǔ)言的高仿真速度優(yōu)勢(shì)。使用Vivado HLS定點(diǎn)和業(yè)界標(biāo)準(zhǔn)浮點(diǎn)math.h庫(kù),開(kāi)發(fā)人員運(yùn)用C函數(shù)規(guī)范即可快速為設(shè)計(jì)建模并完成設(shè)計(jì)迭代,然后僅根據(jù)時(shí)鐘周期和吞吐量等考慮因素建立目標(biāo)感知的RTL架構(gòu)。將C、C++和SystemC語(yǔ)言用作初始設(shè)計(jì)和建模語(yǔ)言可極大地加快仿真速度(比RTL仿真速度快數(shù)千倍)。在一個(gè)視頻設(shè)計(jì)實(shí)例中,10個(gè)經(jīng)處理的視頻幀的仿真速度采用C語(yǔ)言比采用HDL快12,000倍,如表2所示。
表2:Vivado設(shè)計(jì)套件的視頻設(shè)計(jì)仿真速度快1.2萬(wàn)倍
輸入 |
RTL仿真時(shí)間 |
C語(yǔ)言仿真時(shí)間 |
速度提升 |
10幀視頻數(shù)據(jù) |
約2天 |
10秒 |
約12,000倍 |
總結(jié)
賽靈思Vivado設(shè)計(jì)套件是一種以IP和系統(tǒng)為中心的、領(lǐng)先一代的全新SoC增強(qiáng)型開(kāi)發(fā)環(huán)境,用于解決系統(tǒng)級(jí)集成和實(shí)現(xiàn)工作中的生產(chǎn)力瓶頸問(wèn)題。這套設(shè)計(jì)工具專為系統(tǒng)設(shè)計(jì)團(tuán)隊(duì)開(kāi)發(fā),旨在幫助他們?cè)诟俚钠骷屑筛嘞到y(tǒng)功能,同時(shí)提升系統(tǒng)性能,降低系統(tǒng)功耗,減少材料清單(BOM)成本。
Vivado設(shè)計(jì)套件由于如下九大理由,是幫助您實(shí)現(xiàn)上述這些目標(biāo)的理想系統(tǒng)設(shè)計(jì)工具:
. Vivado設(shè)計(jì)套件可讓用戶進(jìn)一步提升器件密度。
. Vivado設(shè)計(jì)套件可提供穩(wěn)健可靠的性能,降低功耗以及可預(yù)測(cè)的結(jié)果。
. Vivado設(shè)計(jì)套件可提供無(wú)與倫比的運(yùn)行時(shí)間和存儲(chǔ)器利用率。
. Vivado HLS能夠讓用戶用C、C++或SystemC語(yǔ)言編寫(xiě)的描述快速生成IP核。
. Vivado設(shè)計(jì)套件借助MathWorks公司提供的Simulink和MATLAB工具可支持基于模型的DSP設(shè)計(jì)集成。
. Vivado IP集成器突破RTL的設(shè)計(jì)生產(chǎn)力制約。
. Vivado集成設(shè)計(jì)環(huán)境為設(shè)計(jì)和仿真提供統(tǒng)一集成開(kāi)發(fā)環(huán)境。
. Vivado設(shè)計(jì)套件提供綜合而全面的硬件調(diào)試功能。
. Vivado HLS使用C、C++或CSystem語(yǔ)言可將驗(yàn)證速度提高100倍以上。
您的設(shè)計(jì)團(tuán)隊(duì)不妨立即試試Vivado設(shè)計(jì)套件,體驗(yàn)一下其帶來(lái)的強(qiáng)大優(yōu)勢(shì)?