Feist 解釋說,上一代 FPGA 設(shè)計(jì)套件采用單維基于時(shí)序的布局布線引擎,通過模擬退火算法隨機(jī)確定工具應(yīng)在什么地方布置邏輯單元。使用這類工具時(shí),用戶先輸入時(shí)序,模擬退火算法根據(jù)時(shí)序先從隨機(jī)初始布局種子開始,然后在本地移動(dòng)單元,“盡量”與時(shí)序要求吻合。Feist 說:“在當(dāng)時(shí)這種方法是可行的,因?yàn)樵O(shè)計(jì)規(guī)模非常小,邏輯單元是造成延遲的主要原因。但今天隨著設(shè)計(jì)的日趨復(fù)雜化和芯片工藝的進(jìn)步,互聯(lián)和設(shè)計(jì)擁塞一躍成為延遲的主因。采用模擬退火算法的布局布線引擎對(duì)低于 100 萬門的 FPGA 來說是完全可以勝任的,但對(duì)超過這個(gè)水平的設(shè)計(jì),引擎便不堪重負(fù)。不僅僅有擁塞的原因,隨著設(shè)計(jì)的規(guī)模超過100萬門,設(shè)計(jì)的結(jié)果也開始變得更加不可預(yù)測?!?/p>
著眼于未來,賽靈思為 Vivado 設(shè)計(jì)套件開發(fā)了新型多維分析布局引擎,其可與當(dāng)代價(jià)值百萬美元的 ASIC布局布線工具中所采用的引擎相媲美。該新型引擎通過分析可以找到從根本上能夠最小化設(shè)計(jì)三維(時(shí)序、擁塞和走線長度)的解決方案。Feist 表示:“Vivado設(shè)計(jì)套件的算法從全局進(jìn)行優(yōu)化,同時(shí)實(shí)現(xiàn)了最佳時(shí)序、擁塞和走線長度,它對(duì)整個(gè)設(shè)計(jì)進(jìn)行通盤考慮,不像模擬退火算法只著眼于局部調(diào)整。這樣該工具能夠迅速、決定性地完成上千萬門的布局布線,同時(shí)保持始終如一的高結(jié)果質(zhì)量(見圖 1)。由于它能夠同時(shí)處理三大要素,也意味著可以減少重復(fù)運(yùn)行流程的次數(shù)?!?/p>
圖1:與其它 FPGA 工具相比,Vivado 設(shè)計(jì)套件能夠以更快的速度、更優(yōu)異的質(zhì)量完成各種規(guī)模的設(shè)計(jì)
為展現(xiàn)這種優(yōu)勢,賽靈思在 ISE設(shè)計(jì)套件和 Vivado 設(shè)計(jì)套件中用按鍵式流程方式同時(shí)運(yùn)行針對(duì)賽靈思 Zynq-7000 EPP 仿真平臺(tái)開發(fā)的原始 RTL,同時(shí)將每種工具指向賽靈思世界最大容量的 FPGA 器件——采用堆疊硅片互聯(lián)技術(shù)的 Virtex-7 2000T FPGA。這樣 Vivado 設(shè)計(jì)套件的布局布線引擎僅耗時(shí) 5 個(gè)小時(shí)就完成了 120 萬邏輯單元的布局,而 ISE 設(shè)計(jì)套件則耗時(shí)長達(dá) 13 個(gè)小時(shí)(圖 2)。而且采用 Vivado 設(shè)計(jì)套件實(shí)現(xiàn)的設(shè)計(jì)擁塞明顯降低(設(shè)計(jì)中顯示為灰色和黃色的部分),器件占用面積較小,這說明總體走線長度縮短。Vivado 設(shè)計(jì)套件實(shí)現(xiàn)方案還體現(xiàn)出更出色的內(nèi)存編譯效率,僅用9GB就實(shí)現(xiàn)設(shè)計(jì)要求的內(nèi)存,而 ISE 設(shè)計(jì)套件則用了 16GB。
Feist 表示:“從本質(zhì)上來說, 你看到的就是 Vivado 設(shè)計(jì)套件在滿足所有約束條件下,實(shí)現(xiàn)整個(gè)設(shè)計(jì)只需占用 3/4 的器件資源。這意味著用戶可以為自己的設(shè)計(jì)添加更多的邏輯功能和片上存儲(chǔ)器,甚至可以采用更小型的器件?!?/p>
圖 2:Vivado 設(shè)計(jì)套件的多維分析算法可創(chuàng)建專門針對(duì)最佳時(shí)序、擁塞和走線長度(而不僅僅只是針對(duì)最佳時(shí)序)優(yōu)化的布局。
功耗優(yōu)化和分析
當(dāng)今時(shí)代, 功耗是FPGA設(shè)計(jì)中最關(guān)鍵的環(huán)節(jié)之一。因此,Vivado設(shè)計(jì)套件的重點(diǎn)就是專注于利用先進(jìn)的功耗優(yōu)化技術(shù),為用戶的設(shè)計(jì)提供更大的功耗降低優(yōu)勢?!拔覀冊诩夹g(shù)上采用了目前在ASIC工具套件中可以見到的先進(jìn)的時(shí)鐘門控制技術(shù),通過該技術(shù)可以擁有設(shè)計(jì)邏輯分析的功能,同時(shí)消除不必要的翻轉(zhuǎn)”Feist表示 “具體來說,新的技術(shù)側(cè)重于翻轉(zhuǎn)因子 ‘a(chǎn)lpha’,它能夠降低30%的動(dòng)態(tài)功耗”Feist說,賽靈思去年在ISE設(shè)計(jì)套件中開始應(yīng)用該技術(shù), 并一直沿用至今。 Vivado將繼續(xù)加強(qiáng)這一技術(shù)的應(yīng)用。
此外,有了這一新的可擴(kuò)展的數(shù)據(jù)共享模型,用戶可以在設(shè)計(jì)流程的每一個(gè)階段得到功耗的估值,從而可以在問題發(fā)展的前期就能預(yù)先進(jìn)行分析, 從而能夠在設(shè)計(jì)流程中,先行解決問題。
簡化工程變更單(ECO)
增量流量讓快速處理小的設(shè)計(jì)更改成為可能,每次更改后只需重新實(shí)現(xiàn)設(shè)計(jì)的一小部分,使迭代速度更快。它們還能在每個(gè)增量變化之后實(shí)現(xiàn)性能的表現(xiàn),從而無需多個(gè)設(shè)計(jì)迭代。為此,Vivado設(shè)計(jì)套件還包括對(duì)一個(gè)流行的ISE FPGA編輯器工具的新的擴(kuò)展,稱為Vivado器件編輯器。Feist說,在一個(gè)布局布線設(shè)計(jì)上使用Vivado器件編輯器,設(shè)計(jì)師現(xiàn)在有能力去做移動(dòng)單元, 重新布線, 連接一個(gè)寄存器輸出作為調(diào)試管腳, 修改DCM或者查找表(LUT)的參數(shù)的工程變更單(ECO)——在設(shè)計(jì)周期的后期,無需通過返回設(shè)計(jì)重新綜合和實(shí)現(xiàn)。他說,目前行業(yè)沒有任何其他FPGA設(shè)計(jì)環(huán)境可以提供這種級(jí)別的靈活性。
基于業(yè)界標(biāo)準(zhǔn)而打造
四年半前, 當(dāng)賽靈思開始從頭打造Vivado設(shè)計(jì)套件的時(shí)候,架構(gòu)打造的首要任務(wù),就是用標(biāo)準(zhǔn)的設(shè)計(jì)環(huán)境代替專有格式。致力于打造一個(gè)開放的環(huán)境,讓客戶能夠用 EDA 工具和第三方 IP 進(jìn)行擴(kuò)展。例如,Vivado 設(shè)計(jì)套件可支持 SDC(Synopsys 設(shè)計(jì)約束)、ARM AMBA AXI 4 IP互聯(lián)標(biāo)準(zhǔn)、IP-XACT IP封裝和交付標(biāo)準(zhǔn),并且在新環(huán)境中提供了強(qiáng)大的互動(dòng) TCL 腳本功能。。
流程自動(dòng)化,非流程強(qiáng)制化
在 Vivado 設(shè)計(jì)套件構(gòu)建過程中,賽靈思工具團(tuán)隊(duì)遵循這樣的原則“自動(dòng)化設(shè)計(jì)方式,不強(qiáng)制設(shè)計(jì)方式”。Feist 說:“不管用戶用 C、C++、SystemC、VHDL、Verilog、System Verilog、MATLAB 還是 Simulink 開始編程,也不管他們用的是我們的 IP 還是第三方的 IP,我們提供了一種實(shí)現(xiàn)所有流程自動(dòng)化,幫助客戶提高生產(chǎn)力的方法。我們還充分考慮到我們的用戶的各種技能水平和偏好,既能滿足需要全按鍵式流程的客戶的要求,也能滿足在設(shè)計(jì)流程的每一步都進(jìn)行分析的客戶的要求,甚至還能滿足那些認(rèn)為用 GUI 的是低手,喜歡用 TCL 以命令行或批處理模式完成全部設(shè)計(jì)流程的客戶的要求。用戶能夠根據(jù)自己的特定需求,選用套件功能?!?/p>
為進(jìn)一步增強(qiáng)所有用戶的設(shè)計(jì)體驗(yàn),賽靈思在 Vivado 設(shè)計(jì)套件中加入了某些奇妙的新功能,同時(shí)為深受客戶贊譽(yù)的 FPGA 編輯器增加了芯片編輯器功能。
IP 封裝器、集成器和目錄
賽靈思的工具架構(gòu)團(tuán)隊(duì)把重點(diǎn)放在新套件專門的 IP 功能設(shè)計(jì)上,以便于 IP 的開發(fā)、集成與存檔。為此,賽靈思開發(fā)出了 IP 封裝器、IP 集成器和可擴(kuò)展 IP 目錄三種全新的 IP 功能。
Feist 表示:“今天很難找到不采用IP 的 IC 設(shè)計(jì)。我們采用業(yè)界標(biāo)準(zhǔn),提供專門便于 IP 開發(fā)、集成和存檔/維護(hù)的工具,這都有助于我們生態(tài)系統(tǒng)合作伙伴中的 IP 廠商和客戶快速構(gòu)建 IP,提高設(shè)計(jì)生產(chǎn)力。目前已有 20 多家廠商提供支持該最新套件的 IP。”
采用 IP 封裝器,賽靈思的客戶、賽靈思公司自己的 IP 開發(fā)人員和賽靈思生態(tài)環(huán)境合作伙伴可以在設(shè)計(jì)流程的任何階段將自己的部分設(shè)計(jì)或整個(gè)設(shè)計(jì)轉(zhuǎn)換為可重用的內(nèi)核,這里的設(shè)計(jì)可以是 RTL、網(wǎng)表、布局后的網(wǎng)表甚至是布局布線后的網(wǎng)表。IP 封裝器可以創(chuàng)建 IP 的 IP-XACT 描述,這樣用戶使用新型 IP 集成器就能方便地將 IP 集成到未來設(shè)計(jì)中。IP 封裝器在 XML 文件中設(shè)定了每個(gè) IP 的數(shù)據(jù)。Feist 說一旦 IP 封裝完成,用 IP 集成器功能就可以將 IP 集成到設(shè)計(jì)的其余部分。
Feist 說:“IP 集成器可以讓客戶在互聯(lián)層面而非引腳層面將 IP 集成到自己的設(shè)計(jì)中??梢詫?IP 逐個(gè)拖放到自己的設(shè)計(jì)圖(canvas)上,IP 集成器會(huì)自動(dòng)提前檢查對(duì)應(yīng)的接口是否兼容。如果兼容,就可以在內(nèi)核間劃一條線,然后集成器會(huì)自動(dòng)編寫連接所有引腳的具體 RTL?!?/p>
Feist 表示:“這里的重點(diǎn)是可以取出已用 IP 集成器集成的四五個(gè)模塊的輸出,然后通過封裝器再封裝。這樣就成了一個(gè)其他人可以重新使用的 IP。這種 IP 不一定必須是 RTL,可以是布局后的網(wǎng)表,甚至可以是布局布線后的網(wǎng)表模塊。這樣可以進(jìn)一步節(jié)省集成和驗(yàn)證時(shí)間?!?/p>
第三大功能是可擴(kuò)展 IP 目錄,它使用戶能夠用他們自己創(chuàng)建的 IP 以及賽靈思和第三方廠商許可的 IP 創(chuàng)建自己的標(biāo)準(zhǔn) IP 庫。賽靈思按照 IP-XACT 標(biāo)準(zhǔn)要求創(chuàng)建的該目錄能夠讓設(shè)計(jì)團(tuán)隊(duì)乃至企業(yè)更好的組織自己的 IP,供整個(gè)機(jī)構(gòu)共享使用。Feist 稱賽靈思系統(tǒng)生成器 (System Generator) 和 IP 集成器均已與Vivado 可擴(kuò)展 IP 目錄集成,故用戶可以輕松訪問編目 IP 并將其集成到自己的設(shè)計(jì)項(xiàng)目中。
Vivado 產(chǎn)品營銷總監(jiān) Ramine Roane指出:“以前第三方 IP 廠商用 Zip 文件交付的IP格式各異,而現(xiàn)在他們交付的 IP,不僅格式統(tǒng)一,可立即使用,而且還與 Vivado 套件兼容?!?/p>
評(píng)論
查看更多