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

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

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

詳細講解SDC語法中的set_input_delay和set_output_delay

快樂的芯片工程師 ? 來源:快樂的芯片工程師 ? 2024-05-06 14:15 ? 次閱讀

數(shù)字集成電路設(shè)計中,Synopsys Design Constraints(SDC)是一種重要的約束語言,用于指導(dǎo)綜合、布局布線等后續(xù)流程。本文將詳細講解SDC語法中的set_input_delay和set_output_delay,解釋它們的原理、作用,并通過實例進行說明。

一、set_input_delay和set_output_delay的基本原理

1. 時序約束:在數(shù)字集成電路設(shè)計中,時序約束是一個重要的概念。它定義了信號從一個時鐘邊沿到另一個時鐘邊沿之間的時間延遲。時序約束有助于確保設(shè)計滿足性能要求,如時鐘周期、時鐘偏斜、時鐘抖動等。

2. set_input_delay和set_output_delay:在SDC語法中,set_input_delay和set_output_delay是兩種常用的時序約束命令。它們分別用于設(shè)置輸入信號的建立時間和保持時間,以及輸出信號的建立時間和保持時間。

3. 建立時間和保持時間:在時序分析中,建立時間和保持時間是兩個關(guān)鍵參數(shù)。建立時間是指信號從低電平跳變到高電平,并在時鐘邊沿之后保持一段時間的最小要求。保持時間是指信號從高電平跳變到低電平,并在時鐘邊沿之前保持一段時間的最小要求。

二、set_input_delay和set_output_delay的作用

1. 確保信號正確傳輸:通過設(shè)置輸入輸出信號的建立時間和保持時間,可以確保信號在時鐘邊沿之前和之后都保持一段時間,從而保證信號的正確傳輸。

2. 優(yōu)化設(shè)計性能:合理的設(shè)置輸入輸出信號的建立時間和保持時間,可以優(yōu)化設(shè)計性能,提高電路的可靠性。

3. 支持時序分析:set_input_delay和set_output_delay是時序分析的重要組成部分,有助于確保設(shè)計滿足時序要求。

三、set_input_delay和set_output_delay的舉例說明

1. set_input_delay: 假設(shè)我們設(shè)計了一個簡單的時序電路,包含一個時鐘信號clk和一個輸入信號A。為了確保信號A能夠在時鐘邊沿之前和之后保持一段時間,我們可以使用set_input_delay命令進行設(shè)置。

set_input_delay -clock clk -max 2 [get_ports A]
這條命令設(shè)置了輸入信號A的最大建立時間為2ns,確保信號A在時鐘邊沿之前至少保持2ns。

2. set_output_delay: 同樣,為了確保信號A在時鐘邊沿之后保持一段時間,我們可以使用set_output_delay命令進行設(shè)置。
set_output_delay-clockclk-min1[get_portsA]
這條命令設(shè)置了輸入信號A的最小保持時間為1ns,確保信號A在時鐘邊沿之后至少保持1ns。

四、總結(jié)

set_input_delay和set_output_delay是SDC語法中常用的時序約束命令,它們有助于確保信號的正確傳輸,優(yōu)化設(shè)計性能,并支持時序分析。通過合理的設(shè)置輸入輸出信號的建立時間和保持時間,可以提高電路的可靠性。在數(shù)字集成電路設(shè)計中,了解和使用set_input_delay和set_output_delay是設(shè)計者必備的技能。



審核編輯:劉清

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

    關(guān)注

    5371

    文章

    11248

    瀏覽量

    359746
  • SDC
    SDC
    +關(guān)注

    關(guān)注

    0

    文章

    48

    瀏覽量

    15504
  • 時鐘信號
    +關(guān)注

    關(guān)注

    4

    文章

    440

    瀏覽量

    28466
  • CLK
    CLK
    +關(guān)注

    關(guān)注

    0

    文章

    126

    瀏覽量

    17089

原文標題:深入解析SDC語法中的set_input_delay和set_output_delay

文章出處:【微信號:快樂的芯片工程師,微信公眾號:快樂的芯片工程師】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    FPGA的IO約束如何使用

    ??set_input_delay屬于時序約束的IO約束,我之前的時序約束教程,有一篇關(guān)于set_input_delay的文章,但里面寫的并不是很
    發(fā)表于 09-06 09:22 ?1888次閱讀

    什么是output_delay?

    顧名思義,output_delay就是指輸出端口的數(shù)據(jù)相對于參數(shù)時鐘邊沿的延時。
    的頭像 發(fā)表于 09-26 10:07 ?3496次閱讀

    Vivado IP核心約束錯誤的解決辦法?

    :create_clock -period 16.667 -name FT_CLK -waveform {0.000 8.333} [get_ports FT_CLK]set_input_delay -clock
    發(fā)表于 04-27 09:11

    ICinout port需要同時設(shè)置input_delayoutput_delay嗎?

    請教:ICinout port 需要同時設(shè)置input_delayoutput_delay嗎?
    發(fā)表于 06-25 06:37

    input_delay應(yīng)該設(shè)置為多少?

    1、如下圖所示,當CLK1為100MHz時,約束set_input_delay -clocks CLK1 -max 5sig_a,如果CLK1變成50MHz,需要保證的約束效果不變,此時
    發(fā)表于 07-22 07:11

    FPGA設(shè)計約束技巧之XDC約束之I/O篇 (上)

    從UCF到XDC的轉(zhuǎn)換過程,最具挑戰(zhàn)的可以說便是本文將要討論的I/O約束了。 I/O 約束的語法 XDC 可以用于 I/O 約束的命令包括 set_input_delay /
    發(fā)表于 11-17 18:54 ?1.3w次閱讀
    FPGA設(shè)計約束技巧之XDC約束之I/O篇 (上)

    set_max_delay被覆蓋的解決辦法

    XDC描述的時序約束是有優(yōu)先級的,尤其是涉及到時序例外的約束,如set_clock_groups、set_false_path、set_max_delayset_multicycle
    的頭像 發(fā)表于 09-07 10:53 ?9714次閱讀
    <b class='flag-5'>set_max_delay</b>被覆蓋的解決辦法

    Xilinx Vivado I/O延遲約束介紹

    的延遲值: 1,set_input_delay 2,set_output_delay 2 輸入延遲(Input Delayset_input_d
    的頭像 發(fā)表于 11-29 10:01 ?5030次閱讀

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

    時序約束的? set_input_delay/set_output_delay?約束一直是一個難點,無論是概念、約束值的計算,還是最終的路徑分析,每一次都要費一番腦子。Vivado為方便用戶創(chuàng)建
    的頭像 發(fā)表于 04-10 09:38 ?1937次閱讀
    時序約束<b class='flag-5'>中</b>如何精確找到匹配的template?

    Vivado如何做set_input_delay約束

    在STA,要分析上游器件和FPGA之間的時序關(guān)系就得指定input delay。
    的頭像 發(fā)表于 02-19 19:32 ?3089次閱讀
    Vivado<b class='flag-5'>中</b>如何做<b class='flag-5'>set_input_delay</b>約束

    Vivado如何做set_input_delay約束

    在STA,要分析上游器件和FPGA之間的時序關(guān)系就得指定input delay。
    的頭像 發(fā)表于 02-16 16:21 ?3309次閱讀
    Vivado<b class='flag-5'>中</b>如何做<b class='flag-5'>set_input_delay</b>約束

    FPGA的虛擬時鐘用于什么地方?

    如果I/O路徑參考時鐘源于內(nèi)部的衍生時鐘,那set_input_delayset_output_delay約束-clock參數(shù)后的時鐘不能是衍生時鐘,比如下圖的例子,輸入10MH
    的頭像 發(fā)表于 06-23 10:15 ?1537次閱讀

    創(chuàng)建輸入輸出接口時序約束的竅門

    時序約束set_input_delay/set_output_delay 約束一直是一個難點,無論是概念、約束值的計算,還是最終的路徑分析,每一次都要費一番腦子。Vivado為方便用戶創(chuàng)建
    的頭像 發(fā)表于 08-02 09:54 ?2408次閱讀
    創(chuàng)建輸入輸出接口時序約束的竅門

    set_output_delay的本質(zhì)是什么?淺談set_ouput_delay時序

    set_output_delay是對模塊output信號在模塊外部延遲的約束,本質(zhì)上EDA工具會根據(jù)約束調(diào)整內(nèi)部器件(UFF0)的類型,擺放位置以及組合邏輯(C1)以滿足約束要求,即EDA工具保證模塊DUA的UFF0的Tclk2q+Tc1延時能夠滿足約束要求。
    的頭像 發(fā)表于 08-12 09:48 ?1656次閱讀
    <b class='flag-5'>set_output_delay</b>的本質(zhì)是什么?淺談<b class='flag-5'>set_ouput_delay</b>時序

    怎樣查看input/output delay是否生效

    通過get_port命令查看接口。 get_ports * 以LVDS的輸入輸出為例 怎樣去查看outputdelay ? set_output_delay -clock
    的頭像 發(fā)表于 02-27 08:38 ?527次閱讀
    怎樣查看<b class='flag-5'>input</b>/<b class='flag-5'>output</b> <b class='flag-5'>delay</b>是否生效