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

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

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

Vivado IDE 中的Timing Constraints窗口介紹

XILINX開(kāi)發(fā)者社區(qū) ? 來(lái)源:XILINX開(kāi)發(fā)者社區(qū) ? 作者:XILINX開(kāi)發(fā)者社區(qū) ? 2022-09-15 10:24 ? 次閱讀

隨著設(shè)計(jì)復(fù)雜度和調(diào)用 IP 豐富度的增加,在調(diào)試時(shí)序約束的過(guò)程中,用戶常常會(huì)對(duì)除了頂層約束外所涉及的繁雜的時(shí)序約束感到困惑而無(wú)從下手。舉個(gè)例子,用戶在 XDC 里面并沒(méi)有指定 set_false_path,為什么有些路徑在分析時(shí)忽略了?那怎么去定位這些約束是哪里設(shè)定的?


事實(shí)上,Vivado 集成設(shè)計(jì)環(huán)境提供了很多輔助工具來(lái)協(xié)助用戶完成時(shí)序約束的分析。

本文闡述了如何結(jié)合 Timing Constraints 窗口對(duì)設(shè)計(jì)中的約束進(jìn)行查看及分析,希望為用戶的設(shè)計(jì)調(diào)試提供一些思路和方向。

Timing Constraints 窗口的開(kāi)啟

Timing Constraints窗口僅對(duì)Synthesized Design或Implemented Design適用。您可以通過(guò)以下三種方式之一找到其入口:

1. Open Synthesized/Implemented Design,選擇菜單Windows > Timing Constraints

a8cbfc62-341d-11ed-ba43-dac502259ad0.png

2. Open Synthesized Design,選擇Flow Navigator里Synthesized Design 部分的 Edit Timing Constraints

a8ed7004-341d-11ed-ba43-dac502259ad0.png

3. Open Implemented Design,選擇Flow Navigator里Implemented Design 部分的 Edit Timing Constraints

a90b82c4-341d-11ed-ba43-dac502259ad0.png ? ?

Timing Constraints 窗口一覽

Timing Constraints 窗口可以以圖示的方式直觀顯示當(dāng)前導(dǎo)入的設(shè)計(jì)中所存儲(chǔ)的時(shí)序約束,以分類組織的架構(gòu),用戶可以方便地定位約束創(chuàng)建的順序及來(lái)源。

打開(kāi)后的窗口整體如下圖所示:

a927e20c-341d-11ed-ba43-dac502259ad0.png

左上部分子窗口將約束做了分類,括號(hào)里是每一類約束的數(shù)量。

a953a540-341d-11ed-ba43-dac502259ad0.png

當(dāng)選定某一類約束后,設(shè)計(jì)中所有這類約束信息會(huì)以電子表格的形式顯示在右上部分子窗口。

以 Create Clock 約束為例:

a977aa76-341d-11ed-ba43-dac502259ad0.png

Position 列是約束的位置信息,跟約束的讀入順序?qū)?yīng)。前面帶鎖圖標(biāo)表明此約束無(wú)法在表格上直接編輯,通常是 IP 自帶的約束。


Source File 列顯示了約束來(lái)源于哪個(gè) XDC 或 Tcl 文件。


Scoped Cell 列顯示了約束的作用范圍,是全局還是某一個(gè)實(shí)例,通常此列顯示的名稱對(duì)應(yīng)于自帶特定約束的 IP 實(shí)例名。

當(dāng)點(diǎn)擊某一行選中約束后,同時(shí)在下方的 All Constraints 子窗口會(huì)高亮此約束語(yǔ)句

a997a754-341d-11ed-ba43-dac502259ad0.png

用戶可以快速看到原始約束語(yǔ)句以及其來(lái)源 XDC 的具體文件位置。

All Constraints 子窗口顯示加載到內(nèi)存中的約束的完整列表,其順序與應(yīng)用它們的順序相同。 約束根據(jù)它們所源自的 XDC file 或 Tcl 腳本進(jìn)行分組,根據(jù)查看需要可切換多種視圖。

您可以點(diǎn)擊 expand 或 collapse 圖標(biāo)展開(kāi)或折疊每個(gè)約束文件的約束,如下圖所示:

展開(kāi)約束:

a9c1d22c-341d-11ed-ba43-dac502259ad0.png

折疊約束:

a9e9dcea-341d-11ed-ba43-dac502259ad0.png

此時(shí)點(diǎn)擊 Constraints 旁的箭頭可以看到所有關(guān)聯(lián)的約束文件,進(jìn)一步可以點(diǎn)擊某個(gè)約束文件旁的箭頭進(jìn)行逐一查看。

aa0141f0-341d-11ed-ba43-dac502259ad0.png

您也可以取消選擇 Group by Source 圖標(biāo),將視圖切換到一個(gè)表格,按序顯示設(shè)計(jì)中的所有時(shí)序約束,其中source constraint 文件和 Scoped Cell 信息顯示在右側(cè)的兩列中。

aa256698-341d-11ed-ba43-dac502259ad0.png ? ?

在 Timing Constraints 窗口進(jìn)行約束編輯

除了在表格中查看已有約束,還可以對(duì)已有約束進(jìn)行刪減、修改或者添加新的約束,改動(dòng)結(jié)果也會(huì)實(shí)時(shí)反映在下方的All Constraints 窗口并應(yīng)用在當(dāng)前的 in-memory 設(shè)計(jì),方便用戶在不重新跑綜合實(shí)現(xiàn)的前提下進(jìn)行多角度的時(shí)序分析試驗(yàn)。

要?jiǎng)h除某一條約束,可以從任一子窗口選中此約束,右鍵選Remove Constraint,或者點(diǎn)擊-圖標(biāo),并點(diǎn)擊窗口下方的Apply 按鍵以刷新內(nèi)存中的約束。

aa52199a-341d-11ed-ba43-dac502259ad0.png

要編輯某一條約束(注意只能修改非只讀,即約束前沒(méi)有帶鎖標(biāo)志的),可以選中此約束,右鍵選 Edit Constraint,或者點(diǎn)擊編輯圖標(biāo)。

aa7f96ea-341d-11ed-ba43-dac502259ad0.png

在隨后打開(kāi)的約束編輯對(duì)話框中完成修改,并點(diǎn)擊窗口下方的Apply 按鍵以刷新內(nèi)存中的約束。

要添加新的約束,可以點(diǎn)擊分類表格子窗口的+圖標(biāo),或者在某一類約束的空白處雙擊,在隨后打開(kāi)的對(duì)話框中將約束信息補(bǔ)充完整。

aaad7862-341d-11ed-ba43-dac502259ad0.png

也可以在 Tcl Console 敲入新的約束進(jìn)行添加。

新約束出現(xiàn)在名為的組中的列表末尾。

aad1427e-341d-11ed-ba43-dac502259ad0.png

約束修改后可以直接在 in-memory 設(shè)計(jì)上生效,由此展開(kāi)更新后的時(shí)序分析,在當(dāng)前布局布線的結(jié)果上評(píng)估修改后的時(shí)序。

評(píng)估完成后,如果需要保存所作的修改,可以在 Close Design的時(shí)候選擇 Save Constraints,工具會(huì)自動(dòng)選擇標(biāo)記為 Target的 XDC 文件進(jìn)行保存。如果并不想改動(dòng)原始約束或者并不需要保存全部改動(dòng),可以在退出設(shè)計(jì)時(shí)忽略 Save Constraints,之后再手動(dòng)修改設(shè)計(jì)中的約束文件,加入想要的改動(dòng)。

總結(jié)

以上內(nèi)容對(duì) Vivado IDE 中的Timing Constraints 窗口做了介紹,與 write_xdc 命令相比,其最大的優(yōu)勢(shì)是能直觀顯示設(shè)計(jì)中所有約束的分組及來(lái)源,為時(shí)序約束的查看、驗(yàn)證及假設(shè)分析提供了比較方便的接口,與其他調(diào)試手段結(jié)合,可以提升設(shè)計(jì)效率。

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

    關(guān)注

    33

    文章

    8673

    瀏覽量

    151554
  • 時(shí)序
    +關(guān)注

    關(guān)注

    5

    文章

    391

    瀏覽量

    37370
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    815

    瀏覽量

    66718

原文標(biāo)題:開(kāi)發(fā)者分享|讀懂用好 Timing Constraints 窗口

文章出處:【微信號(hào):gh_2d1c7e2d540e,微信公眾號(hào):XILINX開(kāi)發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    玩轉(zhuǎn)VivadoTiming Constraints

    玩轉(zhuǎn)VivadoTiming Constraints特權(quán)同學(xué),版權(quán)所有最近在熟悉Xilinx已經(jīng)推出好幾年的Vivado,雖然特權(quán)同學(xué)之前已經(jīng)著手玩過(guò)這個(gè)新開(kāi)發(fā)工具,但只是簡(jiǎn)單的玩玩
    發(fā)表于 01-11 16:55

    vivado約束參考文檔

    - Design Analysis and Closure TechniquesUG945- Vivado Design Suite Tutorial - Using Constraints (約束向?qū)?b class='flag-5'>介紹)
    發(fā)表于 09-26 15:35

    Vivado 2014.1工具流程結(jié)果不可重復(fù)

    Vivado toolchain in batch mode for the same project (everything is identical: scripts, constraints
    發(fā)表于 10-25 15:26

    vivado掛在place_design

    38-35] Done setting XDC timing constraints.INFO: [Timing 38-2] Deriving generated clocks
    發(fā)表于 11-08 11:38

    使用VIVADO IDE設(shè)計(jì)的最有效方法是什么?

    HDL。使用vivado,您現(xiàn)在可以使用IP集成商,在其中使用IP創(chuàng)建塊設(shè)計(jì)。使用VIVADO IDE設(shè)計(jì)的最有效方法是什么?Vivado IDE
    發(fā)表于 03-29 09:14

    Global Timing Constraints

    Without Timing Constraints• This design had no timingconstraints or pin assignments– Note
    發(fā)表于 01-11 08:54 ?6次下載

    Timing Groups and OFFSET Const

    Timing Groups and OFFSET Constraints: •Use the Constraints Editor to create groups of path
    發(fā)表于 01-11 08:55 ?4次下載

    Achieving Timing Closure

    Achieving Timing Closure:Timing Reports• Timing reports enable you to determine how and why
    發(fā)表于 01-11 08:56 ?0次下載

    具體介紹ISE通過(guò)編輯UCF文件來(lái)對(duì)FPGA設(shè)計(jì)進(jìn)行約束

    本文主要通過(guò)一個(gè)實(shí)例具體介紹ISE通過(guò)編輯UCF文件來(lái)對(duì)FPGA設(shè)計(jì)進(jìn)行約束,主要涉及到的約束包括時(shí)鐘約束、群組約束、邏輯管腳約束以及物理屬性約束。 Xilinx定義了如下幾種約束類型
    發(fā)表于 11-24 19:59 ?3560次閱讀
    具體<b class='flag-5'>介紹</b>ISE<b class='flag-5'>中</b>通過(guò)編輯UCF文件來(lái)對(duì)FPGA設(shè)計(jì)進(jìn)行約束

    通過(guò)一個(gè)實(shí)例具體介紹ISE通過(guò)編輯UCF文件來(lái)對(duì)FPGA設(shè)計(jì)進(jìn)行約束

    摘要:本文主要通過(guò)一個(gè)實(shí)例具體介紹ISE通過(guò)編輯UCF文件來(lái)對(duì)FPGA設(shè)計(jì)進(jìn)行約束,主要涉及到的約束包括時(shí)鐘約束、群組約束、邏輯管腳約束以及物理屬性約束。 Xilinx定義了如下幾種約束類型
    發(fā)表于 11-25 01:27 ?5445次閱讀
    通過(guò)一個(gè)實(shí)例具體<b class='flag-5'>介紹</b>ISE<b class='flag-5'>中</b>通過(guò)編輯UCF文件來(lái)對(duì)FPGA設(shè)計(jì)進(jìn)行約束

    Vivado進(jìn)行時(shí)序約束的兩種方式

    上面我們講的都是xdc文件的方式進(jìn)行時(shí)序約束,Vivado還提供了兩種圖形界面的方式,幫我們進(jìn)行時(shí)序約束:時(shí)序約束編輯器(Edit Timing Constraints )和時(shí)序約束
    的頭像 發(fā)表于 03-08 17:17 ?2w次閱讀
    <b class='flag-5'>Vivado</b>進(jìn)行時(shí)序約束的兩種方式

    Vivado IDE全面了解XDC文件的約束順序

    Vivado IDE約束管理器將任何已編輯的約束保存回XDC文件的原始位置,但不會(huì)保存在Tcl腳本。 任何新約束都保存在標(biāo)記為目標(biāo)的XDC文件的末尾。
    的頭像 發(fā)表于 11-13 10:53 ?4213次閱讀
    <b class='flag-5'>Vivado</b> <b class='flag-5'>IDE</b>全面了解XDC文件的約束順序

    如何在Vivado添加時(shí)序約束呢?

    今天介紹一下,如何在Vivado添加時(shí)序約束,Vivado添加約束的方法有3種:xdc文件、時(shí)序約束向?qū)В?b class='flag-5'>Constraints Wiza
    的頭像 發(fā)表于 06-26 15:21 ?4259次閱讀
    如何在<b class='flag-5'>Vivado</b><b class='flag-5'>中</b>添加時(shí)序約束呢?

    時(shí)序分析基本概念介紹Timing Arc

    今天我們要介紹的時(shí)序基本概念是Timing arc,中文名時(shí)序弧。這是timing計(jì)算最基本的組成元素,在昨天的lib庫(kù)介紹,大部分時(shí)序信
    的頭像 發(fā)表于 07-06 15:00 ?3669次閱讀
    時(shí)序分析基本概念<b class='flag-5'>介紹</b>—<b class='flag-5'>Timing</b> Arc

    Vivado設(shè)計(jì)套件用戶:使用Vivado IDE的指南

    電子發(fā)燒友網(wǎng)站提供《Vivado設(shè)計(jì)套件用戶:使用Vivado IDE的指南.pdf》資料免費(fèi)下載
    發(fā)表于 09-13 15:25 ?14次下載
    <b class='flag-5'>Vivado</b>設(shè)計(jì)套件用戶:使用<b class='flag-5'>Vivado</b> <b class='flag-5'>IDE</b>的指南