在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

賽靈思推出UltraFast幫助用戶學習Vivado

Xilinx賽靈思官微 ? 來源:djl ? 作者:賽靈思 ? 2019-07-25 11:45 ? 次閱讀

UltraFast是Xilinx在2013年底推出的一套設計方法學指導,旨在指引用戶最大限度地利用現有資源,提升系統性能,降低風險,實現更快速且可預期的設計。面向Vivado的UltraFast方法學的主體是UG949文檔,配合相應的Checklist,隨Vivado版本同時更新,用戶可以在Xilinx的主頁上免費下載。目前,針對Vivado設計套件的UltraFast中文版也已經上市,另外一套全新的針對嵌入式編程設計的UltraFast嵌入式設計方法指南UG1046也已經在Xilinx官網上開放下載。

盡管UltraFast這個字眼經常在網上看到,不論官方還是其他媒體上說起Vivado設計套件時也常常提到,但很多用戶仍然對這個概念十分模糊,有不少人下載文檔后看到300頁的PDF頓時也失去了深入學習和了解的興趣。

適逢《Vivado使用誤區與進階》系列連載半年多,大部分預先列好的主題也都已經按照計劃完成,我們準備把這些短文集結為一本電子書,方便更多讀者隨手翻閱或是必要時用作設計參考。借此機會,套用在Xilinx內部被譽為 “Vivado之父”的產品營銷總監 Greg Daughtry在去年第一屆Club Vivado中所提出的 “時序收斂十大準則” 的概念,試著用十分鐘的篇幅來概括一下什么是UltraFast,以及怎樣利用UItraFast真正幫助我們的FPGA設計。

時序設計的十大準則,基本上也涵蓋了UltraFast設計方法指南的基本要點。UG949中將FPGA設計分為設計創建、設計實現和設計收斂幾大部分來討論,除了介紹所有可用的設計方法和資源,更多的是一些高級方法學技巧,這些技巧基本上都跟時序收斂有關或是以時序收斂為目標,有些通用的方法和技巧甚至脫離了具體選用的FPGA器件的限制,適用于更廣泛意義上的時序收斂。

最寶貴的是,所有這些UltraFast設計方法學技巧都來自一線技術支持人員的經驗以及客戶的反饋,是業界第一本真正意義上完全面向用戶的指南,這一點只要你試著讀過一兩節UG949就會有明顯感覺,所有其中提到的技巧和方法都具有很高的可操作性,可以帶來立竿見影的效果。

接下來我們就由這十大準則展開,帶領各位讀者在十分鐘內理清UltraFast方法學的脈絡,一探其究竟。

準則一:合適的代碼風格

理想環境下,源代碼可以獨立于最終用于實現的器件,帶來最佳的可移植性和可復用性。但是,底層器件各自獨特的結構,決定了通用代碼的效率不佳,要最大化發揮硬件的性能,必然需要為實現工具和器件量身定制代碼。

關于Xilinx器件和Vivado適用的代碼風格,我們有以下建議:

賽靈思推出UltraFast幫助用戶學習Vivado

準則二:精準的時序約束

精準的時序約束是設計實現的基礎,對時序驅動工具Vivado來說,約束就是最高指示,是其努力實現的目標。很多時候我們發現,約是有經驗的工程師約是喜歡用一些舊有經驗套用在Vivado上,例如很多人偏愛用過約束的方式來追求更高的性能,但實際上對Vivado來說,大部分的過約束只會阻礙時序收斂。

簡要概括而言,精簡而準確的約束是時序收斂的必要條件,而UltraFast中提出的Baseline基線方法則是充分條件。

具體的約束方法我們在《XDC約束技巧》中有詳細討論,除了保證語法正確,還要注意設置XDC約束的順序,通常第一次運行時只需要約束所有時鐘,然后在內部路徑基本滿足時序約束的情況下加入關鍵I/O的約束,其次再考慮必要的時序例外約束。

所有這些約束都必須遵循精簡而準確的原則,且可以借助Vivado中的XDC Templates以及Timing Constraint Wizard的幫助來進行。

Baseline基線方法可以說是UltraFast的靈魂部分,強烈建議所有Vivado的用戶都能精讀UG949中的這部分內容,并將之應用在具體的設計中。有機會我會深入展開一篇專門介紹Baseline方法的短文,這里先將其核心的概念做一個總結。

賽靈思推出UltraFast幫助用戶學習Vivado

上圖展示了同一個設計在三個不同階段用同樣的命令報告時序所得到的最差路徑,可以清晰的看出,即使不做任何源代碼上的改動,設計中真正最差的路徑已經不會作為最差路徑出現在布局布線后的報告中。這正是因為Vivado時序驅動的天性決定了其在設計實現的每一步都是以開始時讀到的設計輸入和約束為依據,盡量將最好的資源用在最差的路徑上,從而盡最大可能實現時序收斂。

這便是Baseline理論的基礎,除了按順序設置精準的時序約束,在設計實現的每一步,用戶都需要關注時序報告,并以其為依據來調整設計源代碼或是應用其他必要的約束和選項來優化設計。保證每一階段之后的時序報告都滿足約束或是僅余300ps以內的時序違例,再進入下一階段的設計實現過程,否則,應該繼續在當前階段或是退回到上一階段調整后重跑設計,直到滿足要求再繼續。

越早發現和定位問題,越是可以通過少量的努力來達到更大范圍的改進。

準則三:管理高扇出網絡

高扇出網絡幾乎是限制FPGA設計實現更高性能的第一大障礙,所以我們需要很嚴肅地對待設計中的高扇出網絡。

很多人會陷入一個誤區,反復糾結到底多大的扇出值算是大?其實這一點不是絕對的,在資源充裕時序要求不高的情況下幾千甚至上萬都不算大,反之在局部關鍵路徑上僅有幾十的扇出也可能需要進一步降低。

在Vivado中,我們除了關注時序報告,尤其是布局后布線前的報告來定位關鍵路徑上影響時序的高扇出網絡外,還有一個專門的命令report_high_fanout_nets ,在給其加上 -timing的選項后,可以在報告高扇出路徑的同時報告出這條路徑的Slack,幫助用戶直觀了解當前路徑的時序裕量。此外,這個命令在報告中還會指出高扇出網絡的驅動類型,是FF或是LUT等。

找到目標后,可以利用max_fanout來限定其扇出值,讓工具在實現過程中復制驅動端寄存器來優化。如果高扇出網絡并不是由同步邏輯來驅動,則可能需要修改代碼。還有一些工具層面上的降扇出方法,比如選擇更強更有針對性的策略,或是允許多次物理優化phys_opt_design,甚至是通過我們在《用Tcl定制Vivado設計實現流程》中提到的“鉤子”腳本等方式來進行局部降扇出的物理優化等等。

但有一點需要注意,Vivado綜合選項中的全局扇出限定要慎用 ,不要將其設置的過低以免綜合出的網表過于龐大,帶來資源上的浪費,并可能導致局部擁塞。

準則四:層次化設計結構

隨著設計規模的不斷擴大,以及SoC設計的興起,越來越多的IP被整合到大設計中,曾經為高性能設計而生,便于統一管理和控制的自頂向下的設計流程變得不再適用,FPGA設計也跟大規模SoC設計一樣,需要采用層次化的設計流程,即自底向上的流程。這也要求設計者在源代碼階段就考慮到最終的實現,處理好模塊的層次邊界。

Vivado中的IP設計是原生的自底向上流程,用戶可以將IP生成獨立的DCP再加入到頂層設計中去。我們也鼓勵用戶將某些相對固定或獨立的模塊綜合成DCP后加入頂層設計,這么做除了加快設計迭代外,也更利于設計開始階段的調試和問題的定位。

Vivado中的OOC模式甚至還支持完全層次化的設計,即將底層模塊的布局布線結果也進行復用,這么做雖然流程復雜,卻帶來了更全面的控制性,也是部分可重配置技術的實現基礎。

準則五:處理跨時鐘域設計

FPGA設計中通常都帶有跨時鐘域的路徑,如何處理這些CDC路徑非常重要。由于Vivado支持的約束標準XDC在處理CDC路徑上與上一代ISE中支持的UCF約束有本質區別,如何約束以及怎樣從設計上保證CDC路徑的可靠性就成了重中之重。

《XDC約束技巧之CDC篇》中對Vivado中的跨時鐘域設計有詳細描述,UG949中也有不少篇幅用來討論CDC路徑的各種設計技巧和約束方法。建議用戶深入學習和了解這部分的內容,其中有不少概念并不僅僅局限于FPGA設計中的跨時鐘域設計,放在其他IC設計上也一樣有效。

需要提醒大家的是,一定要利用好Vivado中的各種報告功能,例如report_cdc和DRC報告中的methodology_checks來檢測設計中的CDC結構問題,并作出具體的設計調整或是補全CDC約束。另外要注意各種不同的CDC路徑處理方法之間的優劣,選擇最適合自己設計的方式,配合相應的約束來保證跨時鐘域路徑的安全。

準則六:少而精的物理約束

不同于對時序約束尤其是時鐘約束之全面而精準的要求,Vivado對物理約束的要求只有一個字:少。這里的物理約束更多強調的是除了I/O引腳位置這些必要項之外的約束,例如對RAMB和DSP48的位置約束,還有局部的floorplan計劃。

很多資深工程師非常喜歡畫floorplan,因為其對設計的數據流和資源使用情況了如指掌,根據自己理解畫出的floorplan通常也算合理。但是,floorplan在Vivado中的重要性遠低于以往在ISE上的作用。根據客戶的實際經驗反饋,絕大多數的設計中都無需任何floorplan(某些時序要求較高的SSI芯片設計上可能需要),因為算法的改進,Vivado在布局上比上一代ISE更聰明,沒有任何物理約束(除了IO引腳位置約束)的設計反而能在更短的時間內更好地滿足時序要求。

在確實需要鎖定某些宏單元以及進行floorplan的設計中,一般我們會推薦先不加任何物理約束來跑設計,在其他諸如改進源代碼,設置約束和選項,改變策略等辦法都試過后,再嘗試物理約束。而且,最好只在少量關鍵的設計區域進行floorplan,切忌過度約束,不要創建資源利用率過高的pblocks,同時避免重疊的pblocks區域。

順便提一下,Vivado IDE中的Device視圖可以通過設置不同顏色來高亮顯示不同模塊,用戶可以根據當前設計的布局結果配合時序報告和關鍵路徑來創建和調整floorplan,操作非常便捷。

準則七:選擇實現策略

從ISE升級到Vivado后,很多用戶發現SmartXplorer功能不見了,當設計進行到后期,假如不能遍歷種子,常讓人感到無所適從,甚至懷疑到了這一步Vivado便無計可施。那么事實到底如何呢?

嚴格來講,Cost Table 其實是一種無奈之舉,說明工具只能通過隨機種子的改變來“撞大運”般篩選出一個最佳結果,這也解釋了為何改變Cost Table的結果是隨機的,一次滿足時序,并不代表一直可以滿足。

因為更高級算法的引入,Vivado中的設計實現變得更加可靠,而且是真正意義上的可預計的結果。但這并不代表在Vivado中對同一個設計進行布局布線只能有一種結果。我們可以通過“策略”來控制實現過程中的算法側重,從而可以產生更優化的結果。

策略(Strategy)是一組工具選項和各個階段指示(Directive)的組合,Vivado IDE中內置了幾十種可供用戶直接選用,但如果窮盡各種組合,整個實現過程大約有上千種策略。當然,我們沒必要遍歷每種策略。而且因為策略是一種可預計可重現的實現方法,所以對同一個設計,可以在選擇幾種有側重點的策略后挑選出效果最好的那個,只要設計后期沒有大的改動,便可一直延用同樣的策略。

具體策略的特性,請參考UG949和UG904等文檔,也可以在Vivado中通過help菜單了解。更多時候,選擇怎樣的策略是一種經驗的體現,另外,即使找到了最佳實現策略,也仍舊有可能不滿足時序要求,這時候我們還可以參考《用Tcl定制Vivado設計實現流程》中所述,對設計實現的流程進行進一步的個性化定制。

另外要強調一點,修改策略來提升性能必須放在調整代碼、約束和選項等更直接高效的優化方法之后進行,其能帶來的性能提升比起前述優化方法來說也更加局限。

準則八:共享控制信號

共享控制信號這一點充分體現了設計必須考慮到用于底層實現的芯片結構的重要性,在Xilinx的芯片上,時鐘、置位/復位和時鐘使能等信號通稱為Control Set,進入同一個SLICE的Control Set必須統一。換句話說,不同Control Set控制下的FFs不能被Vivado放進同一個SLICE。

為了提升SLICE的利用率,獲得更高效的布局方案,提升時序性能,我們必須控制一個設計中Control Set的總數,盡量共享控制信號。具體做法包括:

盡量整合頻率相同的時鐘和時鐘使能信號;

在生成IP時選擇“共享邏輯”功能,則可以在不同IP間盡可能的共享時鐘資源;

遵循Xilinx建議的復位準則:

盡量少使用復位

必須復位時采用同步復位

確保使用高電平有效的復位

避免異步復位(RAMB和DSP48模塊中不支持異步復位)

Xilinx的復位準則必須嚴格遵守,根據現場支持的經驗來看,很多設計性能的瓶頸就在于設計源代碼時沒有考慮底層實現器件的硬件結構特點,尤其以復位信號的實現問題最為突出。

準則九:讀懂日志和報告

任何一個工具的日志和報告都是衡量其性能最重要的一環,正因為有了完備的日志與報告,用戶才可以通過其中顯示的信息,定位設計中可能的問題,決定優化方向。

Vivado日志中將信息顯示為三大類,分別為Error、Critical Warning和一般Warning/Notes等。Error會導致工具直接中斷,其他警告不會中斷工具運行,但所有的Critical Warning都需要用戶逐一檢查并通過修改設計、增加約束或設置選項之類的辦法來修復。

Vivado的報告功能很強大,除了《讀懂用好Timing Report》中描述的時序分析報告,還有很多重要的報告,小到檢查設計中的特定時序元件和鏈路,大到各種預置和自定義的DRC檢查,不僅提供給了用戶多樣的選擇,也進一步保證了設計的可靠性。

Vivado也一直在增強和更新報告的種類,比如2014.3之后還增加了一個設計分析報告report_design_analysis,用來報告關鍵路徑上的潛在問題以及設計的擁塞程度。完整的report命令和功能可以在UG835中查詢。

準則十:發揮Tcl的作用

Tcl在Vivado中的作用不容小覷,不僅設計流程和報告全面支持Tcl腳本,就連XDC約束根本上也來自于Tcl,用戶甚至可以直接把包含有循環等功能的高級約束以Tcl的形式讀入Vivado中用來指引整個實現流程。

《Vivado使用誤區與進階》系列中有三篇關于Tcl在Vivado中的應用文章,詳細描述了如何使用Tcl創建和應用約束,查找目標和定位問題;如何用Tcl來定制Vivado的設計實現流程,為圖形化界面提供更多擴展支持;以及如何用Tcl實現ECO流程。Tcl所帶來的強大的可擴展性決定了其在版本控制、設計自動化流程等方面具有圖形化界面不能比擬的優勢,也解釋了為何高端FPGA用戶和熟練的Vivado用戶都更偏愛Tcl腳本。

另外,隨著Xilinx Tcl Store的推出,用戶可以像在App Store中下載使用app一樣下載使用Tcl腳本,簡化了Tcl在Vivado上應用的同時,進一步擴展了Tcl的深入、精細化使用。最重要的是,Tcl Store是一個基于GitHub的完全開源的環境,當然也歡迎大家上傳自己手中有用的Tcl腳本,對其進行補充。

小結

關于UltraFast的要點總結基本可以概括在上述十點,這也可以看作是對《Vivado使用誤區與進階》系列短文的一個串燒。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式系統
    +關注

    關注

    41

    文章

    3607

    瀏覽量

    129599
  • 代碼
    +關注

    關注

    30

    文章

    4808

    瀏覽量

    68808
  • 約束
    +關注

    關注

    0

    文章

    82

    瀏覽量

    12748
收藏 人收藏

    評論

    相關推薦

    采用FPGA實現DisplayPort詳細教程【內部資料】

    一些芯片制造商已針對上述應用推出了現成的標準發送器和接收機,而推出了名為 Xilinx LogiCORETMDisplayPort v
    發表于 03-01 11:10

    FPGA是用altera多還是的多呢

    FPGA是用altera多還是的多呢,我買的開發板是altera的,但是很多人推薦說學習
    發表于 01-09 21:27

    推出DTV可編程平臺

    推出DTV可編程平臺 公司日前在美國國
    發表于 01-09 10:38 ?807次閱讀

    推出即插即用高清電視參考設計

    推出即插即用高清電視參考設計  全球可編程邏輯解決方案領導廠商
    發表于 01-27 09:52 ?714次閱讀

    推出ISE 12軟件設計套件

    推出ISE 12軟件設計套件  全球可編程平臺領導廠商
    發表于 05-05 09:49 ?748次閱讀

    面向未來十年 “All Programmable”器件 發布Vivado設計套件

    公司 (Xilinx, Inc. (NASDAQ:XLNX) )今天公開發布以 IP及系統為中心的新一代顛覆性設計環境 Vivado 設計套件
    發表于 04-25 08:51 ?1339次閱讀

    客戶共賀Vivado 設計套件推出

    推出Vivado 設計套件和 Virtex-7 FPGA,使 EVE 等標準 FPGA 仿真供應商在產品性能和功能方面全面超越定制
    發表于 04-25 09:10 ?1625次閱讀

    新一代Vivado設計套件首次面向公眾開放

    公司(Xilinx, Inc. (NASDAQ:XLNX) )今天宣布首次面向所有用戶全面開放其新一代設計環境Vivado?設計套件2
    發表于 07-27 10:22 ?835次閱讀
    <b class='flag-5'>賽</b><b class='flag-5'>靈</b><b class='flag-5'>思</b>新一代<b class='flag-5'>Vivado</b>設計套件首次面向公眾開放

    XilinxVivado設計套件加入全新UltraFast設計方法

    中國北京- All Programmable 技術和器件的全球領先企業公司(Xilinx, Inc. (NASDAQ:XLNX))今天宣布針對其Vivado設計套件
    發表于 10-29 10:21 ?711次閱讀

    Vivado設計套件震撼登場

    Vivado設計套件終于震撼登場,采用先進的 EDA技術和方法,提供了全新的工具套件,可顯著提高設計生產力和設計結果質量,使設計者更好、更快地創建系統,而且所用的芯片更少。
    發表于 11-24 16:24 ?1880次閱讀

    推出Vivado設計套件HLx版本,助力SoC和FPGA以及打造可復用的平臺

    公司推出 Vivado 設計套件 HLx 版本,為All Programmable SoC 和 FPGA以及打造可復用的平臺提供了全
    發表于 08-17 11:43 ?3407次閱讀

    Vivado Design Suite設計套件的UltraFast設計方法的介紹

    UltraFast設計方法對您在Vivado Design Suite中的成功至關重要。 介紹UltraFast for Vivado并了解可用的材料,以
    的頭像 發表于 11-20 06:48 ?2524次閱讀

    的目標和發展

    公司亞太區銷售與市場副總裁楊飛表示,的SDx系列仍會持續發展。毫無疑問,這會
    的頭像 發表于 07-24 17:58 ?3354次閱讀
    <b class='flag-5'>賽</b><b class='flag-5'>靈</b><b class='flag-5'>思</b>的目標和發展

    推出首個基于機器學習優化算法 FPGA EDA 工具套件

    公司昨日宣布推出 Vivado ML 版,這是業內首個基于機器學習( ML )優化算法以及
    的頭像 發表于 06-24 11:42 ?2077次閱讀

    Vivado ML版優化應用設計

    近日宣布推出 Vivado ML 版,這是業內首個基于機器學習(ML )優化算法以及先進的
    的頭像 發表于 07-02 16:40 ?2795次閱讀
    <b class='flag-5'>賽</b><b class='flag-5'>靈</b><b class='flag-5'>思</b><b class='flag-5'>Vivado</b> ML版優化應用設計
    主站蜘蛛池模板: 狠狠的操| 婷婷啪啪| 狠狠久| 国产美女亚洲精品久久久久久 | 伊人久久综合成人网小说| 国产精品丝袜在线观看| 国产精品露脸脏话对白| 孩交啪啪网址| 2021久久精品免费观看| 欧美黄网站| 乱肉情欲杂乱小说| 一区不卡在线观看| 亚洲国产日韩欧美在线as乱码| 日韩性xxx| 日本一区二区三区在线观看视频| 狠狠叉| 四虎永久精品视频在线| 免费人成动漫在线播放r18| 国产精品永久免费| 午夜在线观看网站| 国产精品网站在线进入| 68日本xxxxxxxxx777| 久久99热国产这有精品| 天堂日本| 国产一线在线观看| 天天插综合| 黄在线网站| 亚洲精品自拍区在线观看| 在线观看免费国产| 99热手机在线观看| 色婷婷影视| 国产三级日本三级韩国三级在线观看 | 在线黄色免费| 日本高清视频色wwwwww色| 国产三级日产三级日本三级| 天天躁天天狠天天透| 在线观看黄色x视频| 99久久久久久久| 欧美色老头| 亚州色图欧美色图| 五月天激情在线|