日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

XDC IO --- Output Delay Constraints(Vivado)

發(fā)布時(shí)間:2023/12/8 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 XDC IO --- Output Delay Constraints(Vivado) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

    • 一、XDC約束格式
    • 二、系統(tǒng)同步接口(System Synchronous)
      • 1、Single Data Rate(SDR),Rising Edge
      • 2、Double Data Rate(DDR)
    • 三、源同步接口(Source Synchronous)
      • 1、Setup/Hold Based
      • 2、Skew Based
        • 1>、Single Data Rate(SDR),Rising Edge
        • 2>、Double Data Rate(DDR)

本文參考
1、【Vivado使用誤區(qū)與進(jìn)階】XDC約束技巧
2、《綜合與時(shí)序分析的設(shè)計(jì)約束—Synopsys設(shè)計(jì)約束(SDC)實(shí)用指南》
3、 Vivado 中的Language Template

一、XDC約束格式

set_output_delay -clock <clock_name>-max <maxdelay>-min <mindelay>[get_ports <input_ports>] -add_delay //用于DDR-clock_fall; //用于DDR

二、系統(tǒng)同步接口(System Synchronous)

1、Single Data Rate(SDR),Rising Edge

芯片間只傳遞數(shù)據(jù),時(shí)鐘信號(hào)的同步完全依靠板級(jí)設(shè)計(jì)對(duì)齊。僅需要考慮下游芯片的建立時(shí)間和保持時(shí)間以及板級(jí)延遲。XDC約束技巧中的例子特別好,不過這里還是以Language Template中的例子說明,注意下邊時(shí)序圖中的箭頭,這里的參考方向變成了采樣沿之前的時(shí)間。

set_output_delay -clock $destination_clock -max [expr $trce_dly_max + $tsu] [get_ports $output_ports]; set_output_delay -clock $destination_clock -min [expr $trce_dly_min - $thd] [get_ports $output_ports];

2、Double Data Rate(DDR)

DDR需要上升沿和下降沿都要約束,分析角度同上。

三、源同步接口(Source Synchronous)

在源同步接口中,定義接口約束之前,需要用set_generated_clock先定義送出的隨路時(shí)鐘

1、Setup/Hold Based

采用建立保持時(shí)間的角度,那么約束與系統(tǒng)同步約束相同。

2、Skew Based

1>、Single Data Rate(SDR),Rising Edge

把同步數(shù)據(jù)相對(duì)與時(shí)鐘的skew限定在一定范圍內(nèi),可以基于Skew的大小來設(shè)置同步輸出的約束。此時(shí)可以不考慮下游采樣器件的建立時(shí)間和保持時(shí)間。先來看看Language Template中的例子:

# Output Delay Constraints set_output_delay -clock $fwclk -max [expr $fwclk_period - $are_skew] [get_ports $output_ports]; set_output_delay -clock $fwclk -min $bre_skew [get_ports $output_ports];

每次看到這的時(shí)候都一臉××,但是還是要試著去理解,再畫一張圖。

這里可能不對(duì),請(qǐng)自行取舍。在分析的時(shí)候一定要記得之前說的-max是setup分析;-min是hold分析。所以在set_output_delay的時(shí)候,數(shù)據(jù)有效窗口的大小是指的采樣沿之前。

2>、Double Data Rate(DDR)

手疼,不寫了。language template如下:

# Output Delay Constraints set_output_delay -clock $fwclk -max [expr $fwclk_period/2 - $afe_skew] [get_ports $output_ports]; set_output_delay -clock $fwclk -min $bre_skew [get_ports $output_ports]; set_output_delay -clock $fwclk -max [expr $fwclk_period/2 - $are_skew] [get_ports $output_ports] -clock_fall -add_delay; set_output_delay -clock $fwclk -min $bfe_skew [get_ports $output_ports] -clock_fall -add_delay;

再畫出時(shí)序圖:

注意:
1、set_input_delay把啟動(dòng)時(shí)鐘(源時(shí)鐘)作為參考時(shí)鐘。
2、set_output_delay把采樣時(shí)鐘(目的時(shí)鐘)作為參考時(shí)鐘。

總結(jié)

以上是生活随笔為你收集整理的XDC IO --- Output Delay Constraints(Vivado)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。