search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

提升設計效率超乎你的想象!---技術專家設計實評Vivado

Vivado高效設計案例分享參賽作品我在2012年因項目需要選用了7系列的器件,也因此有幸較早地成為Vivado的用戶。在用過了幾乎所有的正式發行過版本的過程中,學習並積累了一些經驗,也見證了它的強大和逐漸完善。一般說來Vivado區別於ISE以及其他傳統開發工具有3大特徵:1. 統一的操作界面,相當於集成了core generator、planAhead、FPGA Editor、ChipScope、iMPACT 等所有工具的功能。單一的操作平台也方便在不同視圖間交叉定位。2. 統一的約束語言,適用於全流程;以及統一的內部模型。而ISE的每個操作步驟都有不同的數據模型,工具需要在ngc、ncd、ncm等等之間頻繁轉換。因此vivado會更加高效。3. 不僅如此,vivado在演算法採用全新的「分析」演算法。傳統的退火演算法是基於種子在1個維度上搜索局部最優解,而新的演算法在timing、congestion和wire length 3個維度上搜索最優解。相同的代碼、相同的約束vivado每次運行結果都是確定的。[[wysiwyg_imageupload:1292:]]用交叉定位(cross-probing)功能定位問題十分高效,source、schematic、device三個視圖隨意切換。這些功能上的改進究竟能在實用的角度帶給我們多大改進呢?下面從收斂時間、布通率、開發周期角度來看一下。我跑過的大概100K~200K LUT左右規模的幾個設計,收斂時間都在2~3個小時左右。而100K與200K的設計在收斂時間上相差不大,似乎工具應對這個規模的設計綽綽有餘。其實這些設計並不簡單,都要跑到320M以上。其中還有一些設計是從早先低頻代碼中繼承過來的,最差路徑有9~10級LUT。工具出乎意料的收斂了,這也省了我一些代碼優化的工作量。對於複雜設計vivado也能做很好的控制,比如我所做過的一個超過70%的資源利用率,接近400K LUT的規模,絕大部分頻率300M以上的,大數據位寬的超複雜設計,工具跑一次要8個小時。從最初的-10ns slack,經過反覆迭代,最終實現了完全收斂。而相似的設計也在另外一個廠家上也做過,只做到了40%的利用率(嘗試過再高,但已經無法收斂了),工具跑了16個小時。而vivado似乎還有餘量,因該設計中最高的局部(pblock)利用率高達85%。計算性能的提升,會縮小迭代周期;加上工具本身的易用性,極大縮短了開發周期。我所完成的幾個200K以內的設計,從代碼交付到布通收斂,基本上在1周內。如果是高資源利用率、高頻率的複雜設計,1個月可以完成。當然這是指對工具比較熟悉的情況來說,我第一次用vivado也費了相當長的時間。[[wysiwyg_imageupload:1293:]]我的大部分設計的收斂情況和官方的預測曲線還是比較吻合的Vivado的使用有一套設計方法學支撐,Xilinx官方網站有很多相關文章可以學習,如ug904、ug905、ug946等。Vivado原生支持tcl,用腳本的方式可以定製自己的流程和策略,而且很多新的功能和隱藏功能都只有在tcl才能執行,因此使用腳本也更加高效。一般簡單的設計,可以放心交給工具去做,很快就可以收斂。對於具有挑戰性的設計,如資源佔用率高、主頻和數據位寬都比較大的設計。有2個方法比較有效:一種是hierarchy design的設計,可以把複雜設計分割成若干個小的設計。採用化整為零的方法逐個收斂,然後再合併。Vivado從2012.4開始在tcl上支持這種設計,在2013.4已經完全在圖像化上支持了。模塊級的綜合可以用-mode out_of_context選項,限於篇幅,細節大家可以查看手冊。另外一種是閉環設計。一般的流程在綜合階段不知道布局的情況只能用模型估計,而布局的時候不知道布線的情況也只能用模型估計,等到了布線的時候所有的數據都有了但是已經沒有辦法修復前面的問題了。Vivado有個隱含命令place_design –post_place_opt,可以在完成布線之後再重新布局。重新布局時是參考了布線的真實數據,而且可以反覆迭代直到完全收斂。目前版本圖像界面的默認流程里應該還沒有這個操作,用戶自己可以用腳本的方法定製執行。一般前2次循環的效果最好,次數再多就改進很少了,反而增加收斂時間。總的來說,Vivado在收斂速度上較傳統工具有2~3倍的提升;布通率與對手相比也要高出一倍左右。Vivado功能強悍,可以適應各種具有挑戰性的設計。用戶可以定製適合自己設計的收斂方法,解決各式各樣的設計上的挑戰。



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦