91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

Vivado時序約束中invert參數(shù)的作用和應(yīng)用場景

FPGA設(shè)計論壇 ? 來源:FPGA設(shè)計論壇 ? 2026-02-09 13:49 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在Vivado的時序約束中,-invert是用于控制信號極性的特殊參數(shù),應(yīng)用于時鐘約束(Clock Constraints)和延遲約束(Delay Constraints)中,用于指定信號的有效邊沿或邏輯極性。

1.-invert參數(shù)的作用

-invert參數(shù)的字面含義是 "反轉(zhuǎn)",其核心功能是告訴時序分析工具:信號的有效邊沿或邏輯電平與默認狀態(tài)相反。在數(shù)字電路中,信號通常有默認的有效狀態(tài)(如時鐘的上升沿有效、復(fù)位信號的低電平有效),而-invert參數(shù)允許設(shè)計者明確指定信號的實際有效狀態(tài),確保時序分析結(jié)果與電路實際行為一致。

對于時鐘信號,Vivado默認假設(shè)上升沿為有效邊沿(即信號在上升沿觸發(fā)寄存器采樣)。當(dāng)使用-invert參數(shù)時,表示該時鐘信號的下降沿為有效邊沿,時序分析工具會基于下降沿計算建立時間(Setup Time)和保持時間(Hold Time)。

d581c136-04a0-11f1-90a1-92fbcf53809c.jpg

對于復(fù)位信號或控制信號(如使能信號),-invert參數(shù)用于指定信號的有效電平與默認邏輯相反。例如,默認情況下工具可能認為高電平為有效狀態(tài),使用-invert后則表示低電平為有效狀態(tài)。

2.-invert參數(shù)的應(yīng)用場景

-invert參數(shù)主要用于以下兩類約束命令中,其語法格式和應(yīng)用場景各有側(cè)重。

1.時鐘約束中-invert的典型應(yīng)用是定義下降沿觸發(fā)的時鐘,語法格式如下:

# 基本語法:創(chuàng)建下降沿有效的時鐘create_clock -name-period-waveform {}        -invert -ports# 示例:創(chuàng)建一個100MHz(周期10ns)的下降沿有效時鐘create_clock -name clk_100mhz -period 10 -waveform {5 10} -invert -ports [get_ports clk_in]

參數(shù)說明

-name:指定時鐘名稱;

-period:時鐘周期(單位:ns);

-waveform:定義時鐘波形的上升沿和下降沿時間點(默認 {0 period/2},反轉(zhuǎn)時鐘通常設(shè)置為 {period/2 period});

-invert:指定時鐘下降沿有效;

-ports:指定時鐘輸入端口。

應(yīng)用場景

當(dāng)電路中存在下降沿觸發(fā)的寄存器時(如always@(negedgeclk)描述的時序邏輯);

跨時鐘域交互中,需要明確區(qū)分上升沿和下降沿時鐘以避免時序沖突;

雙邊沿采樣電路(如 DDR 存儲器接口),需分別約束上升沿和下降沿時鐘。

2.延遲約束(如set_max_delay、set_min_delay)中-invert是反轉(zhuǎn)信號的邏輯極性。

# 基本語法:約束反轉(zhuǎn)極性信號的最大延遲 set_max_delay -invert-from-to# 示例:約束低電平有效的復(fù)位信號的最大延遲 set_max_delay -invert5-from [get_ports rst_n] -to[get_pins *reg/R]

參數(shù)說明

-invert:指定信號為低電平有效(默認高電平有效);

:最大延遲值(單位:ns);

-from/-to:指定延遲路徑的起點和終點。

應(yīng)用場景

低電平有效的復(fù)位信號(如rst_n),確保復(fù)位信號在低電平時的路徑延遲滿足要求;

低電平有效的使能信號(如enable_n),約束其有效狀態(tài)下的路徑延遲;

差分信號對中的負向信號(如clk_p和clk_n),明確信號極性以保證時序分析準確性。

3.-invert參數(shù)的工程實踐

波形設(shè)置與-invert的配合

當(dāng)使用-invert定義下降沿時鐘時,建議將-waveform設(shè)置為{period/2 period},使波形描述與實際有效邊沿一致:

# 正確:10ns周期的下降沿時鐘,波形從5ns開始下降create_clock-name clk_neg -period10-waveform {510} -invert -ports[get_ports clk_in]# 不推薦:波形與-invert含義沖突(仍以0ns為上升沿)create_clock-name clk_neg -period10-waveform {05} -invert -ports[get_ports clk_in]

與時鐘分組的協(xié)同

下降沿時鐘應(yīng)單獨分組或明確標記,避免與上升沿時鐘混淆:

# 將下降沿時鐘加入獨立時鐘組create_clock-name clk_neg -period10-invert -ports[get_ports clk_in]set_clock_groups-name neg_edge_clocks -group[get_clocks clk_neg]

跨時鐘域的時序處理

當(dāng)下降沿時鐘與上升沿時鐘交互時,需使用set_clock_uncertainty等約束明確時序關(guān)系:

# 為下降沿時鐘與上升沿時鐘之間的路徑設(shè)置額外不確定性set_clock_uncertainty0.5-from[get_clocks clk_neg] -to [get_clocks clk_pos]

復(fù)位信號的延遲約束

對于低電平有效的復(fù)位信號(rst_n),使用-invert確保工具分析復(fù)位有效(低電平)時的路徑延遲:

# 約束rst_n(低有效)從輸入端口到寄存器復(fù)位端的最大延遲 set_max_delay -invert3-from[get_ports rst_n]-to[get_pins *reg/R]# 同時約束最小延遲,避免復(fù)位釋放時的競爭冒險 set_min_delay -invert0.5-from[get_ports rst_n]-to[get_pins *reg/R]

避免過度約束

-invert僅需用于實際極性與默認相反的信號,對于高電平有效的信號無需添加,否則會導(dǎo)致時序分析錯誤:

# 錯誤:高電平有效信號不應(yīng)使用-invert set_max_delay -invert2-from[get_ports enable]-to[get_pins *reg/CE]

與多周期路徑的配合

當(dāng)反轉(zhuǎn)極性的信號涉及多周期路徑時,需確保-invert參數(shù)與多周期約束協(xié)同工作:

# 為低電平有效的控制信號設(shè)置2周期路徑 set_multicycle_path2-setup -invert -from[get_ports ctrl_n]-to[get_pins data_reg/D]

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

    關(guān)注

    1660

    文章

    22406

    瀏覽量

    636074
  • 時序約束
    +關(guān)注

    關(guān)注

    1

    文章

    120

    瀏覽量

    13960
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    857

    瀏覽量

    71094

原文標題:FPGA時序約束分析——‘-invert’約束分析

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設(shè)計論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    VIVADO時序約束及STA基礎(chǔ)

    時序約束的目的就是告訴工具當(dāng)前的時序狀態(tài),以讓工具盡量優(yōu)化時序并給出詳細的分析報告。一般在行為仿真后、綜合前即創(chuàng)建基本的時序
    的頭像 發(fā)表于 03-11 14:39 ?1.1w次閱讀

    FPGA主時鐘約束詳解 Vivado添加時序約束方法

    在FPGA設(shè)計,時序約束的設(shè)置對于電路性能和可靠性都至關(guān)重要。在上一篇的文章,已經(jīng)詳細介紹了FPGA時序
    發(fā)表于 06-06 18:27 ?1.3w次閱讀
    FPGA主時鐘<b class='flag-5'>約束</b>詳解 <b class='flag-5'>Vivado</b>添加<b class='flag-5'>時序</b><b class='flag-5'>約束</b>方法

    一文詳解Vivado時序約束

    Vivado時序約束是保存在xdc文件,添加或創(chuàng)建設(shè)計的工程源文件后,需要創(chuàng)建xdc文件設(shè)置時序約束
    的頭像 發(fā)表于 03-24 09:44 ?4821次閱讀
    一文詳解<b class='flag-5'>Vivado</b><b class='flag-5'>時序</b><b class='flag-5'>約束</b>

    時序約束資料包

    Vivado基本操作流程2、時序基本概念3、時序基本約束和流程4、Baselining時序約束
    發(fā)表于 08-01 16:45

    時序約束時序分析 ppt教程

    時序約束時序分析 ppt教程 本章概要:時序約束時序分析基礎(chǔ)常用
    發(fā)表于 05-17 16:08 ?0次下載

    FPGA時序約束設(shè)計

    一個好的FPGA設(shè)計一定是包含兩個層面:良好的代碼風(fēng)格和合理的約束時序約束作為FPGA設(shè)計不可或缺的一部分,已發(fā)揮著越來越重要的作用。毋
    發(fā)表于 11-17 07:54 ?3030次閱讀
    FPGA<b class='flag-5'>中</b>的<b class='flag-5'>時序</b><b class='flag-5'>約束</b>設(shè)計

    Vivado的靜態(tài)時序分析工具Timing Report的使用與規(guī)范

    過程必須以滿足XDC約束為目標來進行。那么: 如何驗證實現(xiàn)后的設(shè)計有沒有滿足時序要求? 如何在開始布局布線前判斷某些約束有沒有成功設(shè)置? 如何驗證
    發(fā)表于 11-17 18:03 ?4w次閱讀
    <b class='flag-5'>Vivado</b><b class='flag-5'>中</b>的靜態(tài)<b class='flag-5'>時序</b>分析工具Timing Report的使用與規(guī)范

    時序約束資料包】培訓(xùn)課程Timing VIVADO

    維持嗎? 1、Vivado基本操作流程 2、時序基本概念 3、時序基本約束和流程 4、Baselining時序
    發(fā)表于 08-06 15:08 ?751次閱讀

    Vivado進行時序約束的兩種方式

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

    時序約束如何精確找到匹配的template?

    時序約束的? set_input_delay/set_output_delay?約束一直是一個難點,無論是概念、約束值的計算,還是最終的路
    的頭像 發(fā)表于 04-10 09:38 ?2763次閱讀
    <b class='flag-5'>時序</b><b class='flag-5'>約束</b><b class='flag-5'>中</b>如何精確找到匹配的template?

    如何在Vivado添加時序約束

    前面幾篇文章已經(jīng)詳細介紹了FPGA時序約束基礎(chǔ)知識以及常用的時序約束命令,相信大家已經(jīng)基本掌握了時序約束
    的頭像 發(fā)表于 06-23 17:44 ?4279次閱讀
    如何在<b class='flag-5'>Vivado</b><b class='flag-5'>中</b>添加<b class='flag-5'>時序</b><b class='flag-5'>約束</b>

    如何在Vivado添加時序約束呢?

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

    Vivado綜合階段什么約束生效?

    Vivado綜合默認是timing driven模式,除了IO管腳等物理約束,建議添加必要的時序約束,有利于綜合邏輯的優(yōu)化,同時綜合后的design里面可以評估
    的頭像 發(fā)表于 07-03 09:03 ?1556次閱讀

    FPGA時序約束之設(shè)置時鐘組

    Vivado時序分析工具默認會分析設(shè)計中所有時鐘相關(guān)的時序路徑,除非時序約束
    的頭像 發(fā)表于 04-23 09:50 ?1320次閱讀
    FPGA<b class='flag-5'>時序</b><b class='flag-5'>約束</b>之設(shè)置時鐘組

    vivado中常用時序約束指令介紹

    vivado,我們常用的時序約束指令主要包括如下幾個方面。
    的頭像 發(fā)表于 01-20 16:15 ?281次閱讀