VIVADO時序分析練習


VIVADO時序分析練習

時序分析在FPGA設計中是分析工程很重要的手段,時序分析的原理和相關的公式小編在這里不再介紹,這篇文章是小編在練習VIVADO軟件時序分析的筆記,小編這里使用的是18.1版本的VIVADO。
這次的練習選擇的是ZYNQ的芯片,原本工程是工作在100MHz的時鍾,但是作為練習,我們可以把時鍾調到一個極限的程度來進行優化。
首先,打開一個工程,更改一下時鍾頻率,使得工程能夠有一些時序問題,我們再通過時序分析的方法對它進行優化。我們這里把原本的100M時鍾改成了200M時鍾,具體步驟如下:

  • :更改時鍾之后進行綜合,並打開timing analysis
    1

  • :通過report clock可以查看全局時鍾樹的情況
    2

  • :通過report timing summary可以看到出現了12個時序問題,總的時序問題達到9個ns多,說明時序問題已經比較糟糕了
    3

  • :在timing窗口里面可以查看相關的時序違例信息,這里只顯示了10個,可以在report timing summary中選擇要查看的個數,比如選擇100個
    4

5

  • :我們可以打開setting ->synthesis,更改strategy里面VIVADO提供的優化strategy來進行相關的優化,不同的strategy對應不同的綜合模式
    6
    也可以在design runs里面,右鍵點擊相應的sunth->change run settings來修改不同的綜合方案
    7
    8

  • :這里我們選擇Flow_PerfOptimized_high來進行綜合(也可以一個一個的嘗試),綜合完成之后,可以看到,違例的現象優化到了8條,總的違例時間減少了1ns。
    9

  • :小編在嘗試各種綜合方案之后,發現並不能夠優化很好,所以我們開始進行下一步操作——Run Implementation,看看通過Implementation VIVADO能夠把時序問題優化到什么程度。
    10

完成布局布線之后,可以看到先前的時序問題通過布局布線已經被優化了,現在沒有了時序問題,但是最差的余量只有0.152ns,這個結果並不是很理想。
11

  • :通過查看時序路徑詳情,可以看到時序的余量很不理想
    12

那么我們可以通過修改Implementation的方案來進行優化,在settings里面找到Implementation的strategy,選擇不同的方案進行嘗試

  • :這里我們選擇Performance Explore進行嘗試,可以看到通過更改Implementation的strategy,時序被優化了,最差的余量達到了0.556ns,比之前更好了,但是似乎還可以再進行優化,需要不斷的嘗試,從而找到最優的結果。
    13

14

  • :在synthesis的strategy和Implementation的strategy里面可以看到其他的一些選項,都可以嘗試,比如在Implementation的strategy里面有一個Flow quick的模式,選擇Flow quick模式對比之前的模式可以發現,VIVADO在這個模式下進行布局布線會快很多,但是時序也變的一塌糊塗。小編認為這種模式可以在一些比較大的工程里,比較趕時間的情況下嘗試使用。
    15

  • 十一:同樣的,我們還可以通過report power來查看功耗情況,並通過更改一些策略進行優化,其他的一些功能小編也在探索中。
    16


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM