RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

詳細(xì)解析vivado約束時序路徑分析問題

電子設(shè)計 ? 來源:FPGA開源工作室 ? 作者:FPGA開源工作室 ? 2020-11-29 10:34 ? 次閱讀

時序不滿足約束,會導(dǎo)致以下問題:

? 編譯時間長的令人絕望
? 運行結(jié)果靠運氣——時對時錯

導(dǎo)致時序問題的成因及其發(fā)生的概率如下表:


由上表可見,造成時序問題的主要原因除了約束不完整,就是路徑問題,本文就時序路徑分析問題作一介紹:

1、時鐘網(wǎng)絡(luò)分析

時鐘網(wǎng)絡(luò)反映了時鐘從時鐘引腳進(jìn)入FPGA后在FPGA內(nèi)部的傳播路徑。

報告時鐘網(wǎng)絡(luò)命令可以從以下位置運行:
① Vivado?IDE中的Flow Navigator
② Tcl命令:report_clock_networks -name {network_1}

報告時鐘網(wǎng)絡(luò)提供設(shè)計中時鐘樹的樹視圖。 如下圖。每個時鐘樹顯示從源到端點的時鐘網(wǎng)絡(luò),端點按類型排序。


時鐘樹:
? 顯示由用戶定義或由工具自動生成的時鐘。
? 報告從I / O端口加載的時鐘。
? 可用于查找驅(qū)動其他BUFGs的BUFGs。
? 顯示驅(qū)動非時鐘負(fù)載的時鐘。

溫馨提醒:完整的時鐘樹僅在報告的GUI形式中詳細(xì)說明。此報告的文本版本僅顯示時鐘根的名稱。

以vivado自帶的例子wavegen為例。點擊Synthesis的Report CLock Networks如下圖所示:


時鐘clk_pin_p從輸入引腳輸入之后,經(jīng)過IBUFDS,再通過MMCM生成時鐘,同時顯示了各個時鐘的頻率。如果我們未添加時鐘約束,報告將顯示Unconstrained(未約束的時鐘,root clock).可以選中未約束的時鐘右擊選擇Create Clock創(chuàng)建時鐘。

如下圖所示:


2、 跨時鐘域路徑分析

若要查看跨時鐘域路徑分析報告,可選擇以下內(nèi)容之一來查看:

? Reports > Timing > Report Clock Interaction

? Flow Navigator > Synthesis > Report Clock Interaction

? Flow Navigator > Implementation > Report Clock Interaction

? Tcl command: report_clock_interaction -name clocks_1

如下圖所示,點擊Synthesis–>Report Clock Interaction.


跨時鐘域路徑分析報告分析從一個時鐘域(源時鐘)跨越到另一個時鐘域(目標(biāo)時鐘)的時序路徑??鐣r鐘域路徑分析報告有助于識別可能存在數(shù)據(jù)丟失或亞穩(wěn)態(tài)問題的情況.

運行“Report Clock Interaction”命令后,結(jié)果將在“時鐘交互”窗口中打開。如下圖所示,時鐘交互報告顯示為時鐘域矩陣,源時鐘位于垂直軸,目標(biāo)時鐘位于水平軸。


No Path --用黑色框來表示:沒有從源時鐘到目標(biāo)時鐘的定時路徑。在這種情況下,沒有時鐘交互,也沒有任何報告。

Timed – 用綠色框來表示:源時鐘和目標(biāo)時鐘具有同步關(guān)系,并安全地被約束在一起。當(dāng)兩個時鐘具有共同的主時鐘和簡單的周期比時,該狀態(tài)由定時引擎確定。

User Ignored Paths–用深藍(lán)色框來表示:用戶定義的假路徑或時鐘組約束涵蓋從源時鐘到目標(biāo)時鐘的所有路徑。

Partial False Path–用淡藍(lán)色框來表示:用戶定義的偽路徑約束覆蓋了從源時鐘到目標(biāo)時鐘的一些時序路徑,其中源時鐘和目標(biāo)時鐘具有同步關(guān)系。

Timed (Unsafe)–用紅色框來表示:源時鐘和目標(biāo)時鐘具有異步關(guān)系。在這種情況下,沒有共同的主時鐘或沒有可擴(kuò)展的時段。

Partial False Path (Unsafe)–用橘橙色框來表示:此類別與Timed(Unsafe)相同,只是由于偽路徑異常,從源時鐘到目標(biāo)時鐘的至少一條路徑被忽略。

Max Delay Datapath Only --用紫色框來表示:set_max_delay -datapath_only約束涵蓋從源時鐘到目標(biāo)時鐘的所有路徑。

Report_clock_interaction呈現(xiàn)的報告并不是根據(jù)時序約束生成的,但是和時序約束有關(guān),它反映出用戶定義的偽路徑。

以wavegen工程為示例,點擊Report Clock Interaction,如下圖所示:


ID: 正在顯示的源/目標(biāo)時鐘對的數(shù)字ID。

Source Clock: 路徑源時鐘域。

Destination Clock: 路徑終端的時鐘域。

Edges (WNS):用于計算最大延遲分析(設(shè)置/恢復(fù))的最差裕度的時鐘邊緣。

WNS (Worst Negative Slack):為跨越指定時鐘域的各種路徑計算的最差裕度時間。負(fù)裕量時間表示路徑違反了所需的建立(或恢復(fù))時間的問題。

TNS (Total Negative Slack):屬于跨越指定時鐘域的路徑的所有端點的最差松弛違規(guī)的總和。

Failing Endpoints (TNS): 交叉路徑中的端點數(shù)量無法滿足時序要求。違規(guī)的總和對應(yīng)于TNS。

Total Endpoints (TNS):交叉路徑中端點的總數(shù)。

Path Req (WNS):定時路徑要求對應(yīng)于WNS列中報告的路徑。如果兩個時鐘中的至少一個時鐘的上升沿和下降沿都有效,則在任何時鐘對之間可能存在若干路徑要求,或者在兩個時鐘之間的路徑上應(yīng)用了一些時序異常。本專欄中報告的值并不總是最具挑戰(zhàn)性的要求。

Clock Pair Classification: 提供有關(guān)公共節(jié)點和時鐘對之間的公共周期的信息。從最高優(yōu)先級到最低優(yōu)先級:忽略,虛擬時鐘,無公共時鐘,無公共周期,部分公共節(jié)點,無公共節(jié)點和清除。

Inter-Clock Constraints: 顯示源時鐘和目標(biāo)時鐘之間所有路徑的約束摘要。

編輯:hfy
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    812

    瀏覽量

    66470
  • 時序路徑
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    1397
收藏 人收藏

    評論

    相關(guān)推薦

    時序約束一主時鐘與生成時鐘

    的輸出,對于Ultrascale和Ultrascale+系列的器件,定時器會自動地接入到GT的輸出。 1.2 約束設(shè)置格式 主時鐘約束使用命令create_clock進(jìn)行創(chuàng)建,進(jìn)入Timing
    的頭像 發(fā)表于 11-29 11:03 ?293次閱讀
    <b class='flag-5'>時序</b><b class='flag-5'>約束</b>一主時鐘與生成時鐘

    常用時序約束使用說明-v1

    的完整路徑all_inputs/all_outputs 可以查看輸入輸出端口get_ports?*get_nets *get_pins *|*get cells
    的頭像 發(fā)表于 11-01 11:06 ?181次閱讀

    Vivado使用小技巧

    有時我們對時序約束進(jìn)行了一些調(diào)整,希望能夠快速看到對應(yīng)的時序報告,而又不希望重新布局布線。這時,我們可以打開布線后的dcp,直接在Vivado Tcl Console里輸入更新后的
    的頭像 發(fā)表于 10-24 15:08 ?304次閱讀
    <b class='flag-5'>Vivado</b>使用小技巧

    使用IBIS模型進(jìn)行時序分析

    電子發(fā)燒友網(wǎng)站提供《使用IBIS模型進(jìn)行時序分析.pdf》資料免費下載
    發(fā)表于 10-21 10:00 ?0次下載
    使用IBIS模型進(jìn)行<b class='flag-5'>時序</b><b class='flag-5'>分析</b>

    鎖存器的基本輸出時序

    在深入探討鎖存器的輸出時序時,我們需要詳細(xì)分析鎖存器在不同控制信號下的行為表現(xiàn),特別是控制信號(如使能信號E)的電平變化如何影響數(shù)據(jù)輸入(D)到輸出(Q)的傳輸過程。以下是對鎖存器輸出時序
    的頭像 發(fā)表于 08-30 10:43 ?547次閱讀

    深度解析FPGA中的時序約束

    建立時間和保持時間是FPGA時序約束中兩個最基本的概念,同樣在芯片電路時序分析中也存在。
    的頭像 發(fā)表于 08-06 11:40 ?659次閱讀
    深度<b class='flag-5'>解析</b>FPGA中的<b class='flag-5'>時序</b><b class='flag-5'>約束</b>

    FPGA 高級設(shè)計:時序分析和收斂

    Static Timing Analysis,簡稱 STA。它可以簡單的定義為:設(shè)計者提出一些特定的時序要求(或者說是添加特定的時序約束),套用特定的時序模型,針對特定的電路進(jìn)行
    發(fā)表于 06-17 17:07

    esp idf是否有支持中文路徑解析的接口?

    錯:implicit declaration of function \'_wfopen\'; did you mean \'fopen\'? 我的代碼已經(jīng)引用了#include 的頭文件,這個有辦法解決嗎?esp idf是否有支持中文路徑解析的接口?謝謝!
    發(fā)表于 06-05 08:03

    Xilinx FPGA編程技巧之常用時序約束詳解

    Register-to-Register Constraint 寄存器到寄存器約束往往指的是周期約束,周期約束的覆蓋范圍包括: 覆蓋了時鐘域的時序要求 覆蓋了同步數(shù)據(jù)在內(nèi)部寄存器
    發(fā)表于 05-06 15:51

    FPGA工程的時序約束實踐案例

    詳細(xì)的原時鐘時序、數(shù)據(jù)路徑時序、目標(biāo)時鐘時序的各延遲數(shù)據(jù)如下圖所示。值得注意的是數(shù)據(jù)路徑信息,其
    發(fā)表于 04-29 10:39 ?738次閱讀
    FPGA工程的<b class='flag-5'>時序</b><b class='flag-5'>約束</b>實踐案例

    時序約束實操

    添加約束的目的是為了告訴FPGA你的設(shè)計指標(biāo)及運行情況。在上面的生成約束之后,在Result àxx.sdc中提供約束參考(請注意該文件不能直接添加到工程中,需要熱復(fù)制到別的指定目錄或者新建自己的SDC文件添加到工程)。
    的頭像 發(fā)表于 04-28 18:36 ?2288次閱讀
    <b class='flag-5'>時序</b><b class='flag-5'>約束</b>實操

    Xilinx FPGA編程技巧之常用時序約束詳解

    寄存器到寄存器約束往往指的是周期約束,周期約束的覆蓋范圍包括: 覆蓋了時鐘域的時序要求 覆蓋了同步數(shù)據(jù)在內(nèi)部寄存器之間的傳輸 分析一個單獨
    發(fā)表于 04-12 17:39

    “AI+工業(yè)互聯(lián)網(wǎng)”賦能新型工業(yè)化的路徑分析

    橫看成嶺側(cè)成峰,探索“AI+工業(yè)互聯(lián)網(wǎng)”技術(shù)賦能新型工業(yè)化的路徑,還要從技術(shù)視角、產(chǎn)業(yè)視角、應(yīng)用視角綜合分析。
    的頭像 發(fā)表于 03-14 10:57 ?1149次閱讀

    FPGA設(shè)計的常用基本時序路徑分析

    該條路徑包括了觸發(fā)器內(nèi)部clock-to-Q的延遲,觸發(fā)器之間的由組合邏輯造成的路徑延遲以及目標(biāo)觸發(fā)器的建立時間,其延時是數(shù)據(jù)從源觸發(fā)器開始,在下一個時鐘沿來到之前通過組合邏輯和布線的最大時間
    的頭像 發(fā)表于 01-18 16:31 ?786次閱讀
    FPGA設(shè)計的常用基本<b class='flag-5'>時序</b><b class='flag-5'>路徑分析</b>

    Vivado時序問題分析

    有些時候在寫完代碼之后呢,Vivado時序報紅,Timing一欄有很多時序問題。
    的頭像 發(fā)表于 01-05 10:18 ?2109次閱讀
    RM新时代网站-首页