前言
最近有網(wǎng)友對(duì)小編說:xilinx時(shí)序收斂完全不會(huì)用,不知道工具在干啥,一直都在瞎點(diǎn),報(bào)告一直是瞎看。
好消息是,Xilinx發(fā)布了一篇新文檔ug1292。這個(gè)文檔把ug949中時(shí)序收斂的相關(guān)內(nèi)容單獨(dú)提取出來,用最簡(jiǎn)練的語言介紹了時(shí)序收斂的方法。ug1292是時(shí)序收斂的一個(gè)快速參考手冊(cè),也就是看完之后你可以快速知道怎么用工具實(shí)現(xiàn)時(shí)序收斂。
UG1292百度云鏈接:
鏈接:https://pan.baidu.com/s/1FOZCRzDogrGeuIMDXkaeaA
提取碼:gku9
ug1292 總體了解
這個(gè)手冊(cè)只有十頁內(nèi)容,一天就可以看完,每一頁都有流程圖或表格都可以指導(dǎo)使用者更好的操作。該手冊(cè)每一頁都是一個(gè)章節(jié),哪個(gè)地方不懂直接翻到該頁仔細(xì)看,建議看英文原版,目錄翻譯如下:
手冊(cè)目錄
第1頁——初始設(shè)計(jì)檢查流程
第2頁——時(shí)序基線流程
第3頁——分析建立時(shí)間違規(guī)流程
第4頁——保持時(shí)間違規(guī)解決
第5頁——減少邏輯延時(shí)流程
第6,7頁——減少網(wǎng)絡(luò)延時(shí)流程
第8頁——改善時(shí)鐘偏斜流程
第9頁——改善時(shí)鐘不確定性流程
第10頁——FAILFAST報(bào)告概覽
從目錄和內(nèi)容其實(shí)可以看出來,xilinx的理念是——一切問題盡量在設(shè)計(jì)初期干預(yù)。越是在設(shè)計(jì)初期考慮的全面,后期的工作會(huì)越順利,也就是時(shí)序是設(shè)計(jì)出來的,不是測(cè)試出來的!所以前期多花時(shí)間設(shè)計(jì)好時(shí)序,可能最開始進(jìn)度慢一些,但是后期會(huì)避免很多不必要的問題。如果前期設(shè)計(jì)的不周全導(dǎo)致后期項(xiàng)目不停打補(bǔ)丁而導(dǎo)致維護(hù)成本增加得不償失。所以各位老司機(jī)設(shè)計(jì)前期請(qǐng)慎重,后期各種問題堆起來可能根本就解決不了,就算能解決,后面接手維護(hù)的人內(nèi)心也只能吶喊:臣妾做不到啊!!
設(shè)計(jì)期初可以從以下角度去考慮時(shí)序方面的問題:
初始設(shè)計(jì)檢查
UG1292第一頁是針對(duì)綜合后或者opt_design階段的使用說明。vivado的基本流程有5步(其實(shí)不同策略可以更多,具體使用方法和好處以后講),分別是synth_design, opt_design, place_design, route_design, write_bitstream,除了最后生成bit外每一步都可以生成一個(gè)時(shí)序報(bào)告,幫助分析定位問題或者優(yōu)化設(shè)計(jì)做出指導(dǎo)。而UG1292第一頁是講opt_design階段如何去利用vivado提供的工具和報(bào)告分析和定位問題的。
UG1292初始設(shè)計(jì)檢查流程圖
簡(jiǎn)單地說只需要下面幾步。
初始設(shè)計(jì)檢查步驟
1.opt_design階段生成的dcp(design check point)
2. 用report_failfast生成failfast報(bào)告
3. 用report_timing_summary生成時(shí)序報(bào)告
4. 用report_methodology可以生成UFDM報(bào)告
failfast報(bào)告作用
failfast作用是給出各類資源利用率的推薦上限和實(shí)際上限比值,根據(jù)這兩個(gè)比值的對(duì)比可以知道哪里是時(shí)序的瓶頸,需要自己去檢查的。下面是K7某個(gè)芯片各個(gè)資源的推薦利用率:
如果某項(xiàng)實(shí)際使用指標(biāo)超過了指導(dǎo)指標(biāo),在status一欄(Guideline旁邊一欄沒有截圖出來)里面會(huì)有REVIEW的字樣,表示這里你要檢查下,這里會(huì)對(duì)時(shí)序有一定影響需要你人為去評(píng)估,但是不以為著一定要改。比如DONT_TOUCH約束推薦是一條都不要用,然而有的特殊情況處理,人是有把握比機(jī)器更好的,所以為了不讓編譯器去修改,就加這條約束,但是編譯器不確定你是否有能力把握,或者是否注意到這一點(diǎn),所以會(huì)提示你,如果你的設(shè)計(jì)需要必須這樣,并且有把握那么可以不做任何修改的。
時(shí)序報(bào)告作用
這里生成的時(shí)序報(bào)告看路徑延遲之類的是沒有任何意義的,因?yàn)檫€沒有布局布線。這里主要檢查以下幾點(diǎn)。
check_timing下面有沒有未約束路徑,loop有沒有,已經(jīng)約束的是否合理,比如本來是125M時(shí)鐘實(shí)際約束是120M。
異步時(shí)鐘域路徑約束是否合理。
UFDM報(bào)告
UFDM(UltraFast Design Methodology)報(bào)告主要作用是報(bào)告RTL級(jí)代碼檢查,IP使用分析等方面的報(bào)告,主要關(guān)注報(bào)告里面Bad Practice的項(xiàng)目即可。
-
芯片
+關(guān)注
關(guān)注
456文章
51170瀏覽量
427243 -
ug1292
+關(guān)注
關(guān)注
0文章
3瀏覽量
2330
原文標(biāo)題:時(shí)序收斂官方文檔UG1292解讀之一
文章出處:【微信號(hào):HaveFunFPGA,微信公眾號(hào):玩兒轉(zhuǎn)FPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論