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

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

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

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

電子工程師 ? 來源:XILINX開發(fā)者社區(qū) ? 作者:Vivian Yin ? 2021-04-10 09:38 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

時序約束中的

set_input_delay/set_output_delay約束一直是一個難點,無論是概念、約束值的計算,還是最終的路徑分析,每一次都要費一番腦子。Vivado為方便用戶創(chuàng)建輸入輸出接口的約束,整理出了一套非常實用的InputDelay/Output Delay Constraints Language Templates。只需根據(jù)接口信號的特征匹配到對應的template分類,就可以輕松套用模板中的公式創(chuàng)建約束。

本文將通過3個例子來展示,如何精確找到匹配的template。

01Input Delay/Output Delay Constraints Language Template

首先來介紹下Vivado的language Template。在Vivado GUI界面下,Tools菜單里即可打開Language Template。下圖紅框部分即InputDelay/Output Delay Constraints部分的模板

6de3ad70-998c-11eb-8b86-12bb97331649.png

02模板分類目錄中的關鍵字

1. System Synchronous(系統(tǒng)同步)和Source Synchronous(源同步)

System Synchronous:兩個 device 之間進行通信時,使用一個共用時鐘,用于數(shù)據(jù)發(fā)送和接收。

6df62dc4-998c-11eb-8b86-12bb97331649.png

Source Synchronous:兩個 device 間進行通信時,發(fā)送端生成一個伴隨發(fā)送數(shù)據(jù)的時鐘信號。接收端利用該隨路時鐘進行數(shù)據(jù)接收。

6e0e23d4-998c-11eb-8b86-12bb97331649.png

2. SDR 和 DDR

SDR:singledata rate。一個時鐘周期只傳輸一個 data。

6e191d70-998c-11eb-8b86-12bb97331649.png

DDR:doubledata rate。一個時鐘周期傳輸兩個 data。

6e3ddcbe-998c-11eb-8b86-12bb97331649.png

3. Center-Aligned 和 Edge-Aligned

Center-Aligned 中心對齊,指時鐘的采樣沿 (capture edge) 處于對應數(shù)據(jù)有效窗口的中心位置附近。

6e47e312-998c-11eb-8b86-12bb97331649.png

Edge-Aligned 邊沿對齊,指時鐘的采樣沿處于對應數(shù)據(jù)的起始或結(jié)束位置附近.

6e55fcfe-998c-11eb-8b86-12bb97331649.png

03Template的內(nèi)容

我們以"InputDelay Constraints -> Source Synchronous -> Center-Aligned -> SDR, Rising Edge"模板為例,看看模板的具體內(nèi)容。

6e5e0c6e-998c-11eb-8b86-12bb97331649.png

每個模板開頭都有個波形圖,描述這個模板對應的接口 data 與 clock 之間的時序關系。后面我們會講,這個時序圖將是精準匹配模板的關鍵。

波形圖里標示的參數(shù) dv_bre,dv_are,是用來代入約束模板里面的公式計算 -max 和 -min 的約束值。因此匹配了正確的模板,確定了波形圖里的參數(shù)值,就可以套用公式完成約束的創(chuàng)建。

04匹配模板的法寶 - 波形圖

那么問題來了,去哪里找接口信號的波形圖?

模板里用來計算的參數(shù)如何確定呢?

答案: 對端器件的 Datasheet

Inputdelay 和 output delay 約束提供給 Vivado工具的信息,是 FPGA 外部電路上的時序數(shù)據(jù)。這部分數(shù)據(jù)跟 FPGA 內(nèi)部電路上的時序信息(這部分工具已知)相結(jié)合才能完整地分析整條路徑是否滿足終點器件的建立時間和保持時間。

Inputdelay 約束的創(chuàng)建依賴 FPGA 上游器件的 Datasheet;Output delay 約束的創(chuàng)建依賴下游器件的 Datasheet。

我們以 LTC2000A-11 DAC 器件的 Datasheet 為例:https://www.analog.com/media/en/technical-documentation/data-sheets/2000afb.pdf

我們需要的波形圖通常在 Datasheet 的 Timing Diagram 部分,而用來計算的參數(shù)通常在Timing Characteristics 部分。

6e889f38-998c-11eb-8b86-12bb97331649.png

對于前面講解的模板的三種分類目錄,SystemSynchronous/Source Synchronous 以及SDR/DDR 的區(qū)分相對容易,而 Center-Aligned 和 Edge-Aligned 如何得知呢?

這就依賴于對端器件的 Datasheet 中的 Timing 波形圖。

我們來看幾個例子:

例一:

這是一個 SourceSynchronous 的 DDR 接口,需要約束 Dx 數(shù)據(jù)的 inputdelay,時鐘為DCO。下圖為上游器件 Datasheet 中的TimingDiagram,其中tDATA的范圍是1.3ns~1.9ns。

6ea63188-998c-11eb-8b86-12bb97331649.png

從圖中可以看出時鐘采樣沿大致在 Data 的中心,因此是 Center-Aligned。那么這個數(shù)據(jù)接口符合 SourceSynchronous --> Center-Aligned --> DDR 模板。

6edae61c-998c-11eb-8b86-12bb97331649.png

這個模板需要 dv_bre 等4個參數(shù),如何確定呢?我們只需將 Datasheet 里的原波形圖做一點細化改動,就可以與模板里的波形圖完美匹配了。

6ef3757e-998c-11eb-8b86-12bb97331649.png

tDATA之所以是一個范圍值,就是因為 data 是有“有效數(shù)據(jù)”(datavalid)和“無效數(shù)據(jù)”(陰影部分)窗口的。把原波形圖畫出陰影部分就一目了然了。

因此,

dv_bfe = dv_bre = tDATA_MIN = 1.3ns

dv_afe = dv_are = tDATA_MAX = (? Period – 1.9)ns

例二、

從下面這個 Datasheet 里的波形圖可以看出,這是一個 SourceSynchronous Edge-Aligned DDR 接口,需要創(chuàng)建 DQ 的 input delay 約束,時鐘是 DQS

6f1ac1ce-998c-11eb-8b86-12bb97331649.jpg

這個例子比較直觀,直接匹配 SourceSynchronous ->Edge-Aligned -> DDR 模板

6f2756c8-998c-11eb-8b86-12bb97331649.png

其中

skew_bre = skew_bfe = ? Period - tQH

skew_are = skew_afe = tDQSQ

例三、

這個例子也是 SourceSynchronous,是從前面的 LTC2000A-11DAC 器件的 Datasheet 中提取出來的,需要創(chuàng)建 DAP/N的outputdelay 約束,隨路時鐘是DCKI。其中t11參數(shù)為0.057ns,t12參數(shù)為-0.017ns

6f327602-998c-11eb-8b86-12bb97331649.png

6f43ee50-998c-11eb-8b86-12bb97331649.png

Output delay 模板的分類不同于 Inputdelay,分為 Skew Based 和 Setup/HoldBased。仔細分析模板內(nèi)容不難看出,兩者之間的差別是看對端器件 Datasheet 里提供的數(shù)據(jù)與時鐘之間關系的參數(shù)值是 Skew 形式還是 Setup/Hold 形式

6f7ac6f0-998c-11eb-8b86-12bb97331649.png

本例中t11,t12是Setup/Hold值,因此匹配 SourceSynchronous -> Setup/Hold Based -> DDR 模板。

6f841372-998c-11eb-8b86-12bb97331649.png

其中

tsu_r = tsu_f = t11

thd_r = thd_f = t12

希望通過這三個例子,能夠幫助大家找到使用模板創(chuàng)建輸入輸出接口時序約束的竅門。

也歡迎大家有問題把手中的“實例”上傳導賽靈思中文社區(qū)論壇,提供更多的學習素材來討論。

原文標題:運用 Language Template 來創(chuàng)建set_input_delay/set_output_delay約束

文章出處:【微信公眾號:XILINX技術(shù)社區(qū)】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

責任編輯:haq

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

    關注

    1

    文章

    118

    瀏覽量

    13670

原文標題:運用 Language Template 來創(chuàng)建set_input_delay/set_output_delay約束

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    西門子再收購EDA公司 西門子宣布收購Excellicon公司 時序約束工具開發(fā)商

    精彩看點 此次收購將幫助系統(tǒng)級芯片 (SoC) 設計人員通過經(jīng)市場檢驗的時序約束管理能力來加速設計,并提高功能約束和結(jié)構(gòu)約束的正確性 ? 西門子宣布 收購 Excellicon 公司
    的頭像 發(fā)表于 05-20 19:04 ?794次閱讀
    西門子再收購EDA公司  西門子宣布收購Excellicon公司  <b class='flag-5'>時序</b><b class='flag-5'>約束</b>工具開發(fā)商

    PCB Layout 約束管理,助力優(yōu)化設計

    本文重點PCBlayout約束管理在設計的重要性Layout約束有助避免一些設計問題設計可以使用的不同約束在PCB設計規(guī)則和
    的頭像 發(fā)表于 05-16 13:02 ?348次閱讀
    PCB Layout <b class='flag-5'>約束</b>管理,助力優(yōu)化設計

    基于LockAI視覺識別模塊:C++多模板匹配

    _0.png template_1.png template_2.png template_3.png 5.3 運行效果 運行程序后,您將看到實時視頻流
    發(fā)表于 05-14 15:00

    基于LockAI視覺識別模塊:C++多模板匹配

    多模板匹配是一種在圖像同時尋找多個模板的技術(shù)。通過對每個模板逐一進行匹配,找到與輸入圖像最相似的區(qū)域,并標記出匹配度最高的結(jié)果。本實驗提供
    的頭像 發(fā)表于 05-14 14:37 ?295次閱讀
    基于LockAI視覺識別模塊:C++多模板<b class='flag-5'>匹配</b>

    基于LockAI視覺識別模塊:C++模板匹配

    模板匹配是一種在圖像尋找特定模式的技術(shù)。它通過滑動一個模板圖像(較小的圖像)在輸入圖像上進行比較,找到最相似的區(qū)域。本實驗提供了一個簡單的模板匹配案例,并將其封裝為一個自定義函數(shù)
    發(fā)表于 05-13 14:40

    FPGA時序約束之設置時鐘組

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

    一文詳解Vivado時序約束

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

    集成電路設計靜態(tài)時序分析介紹

    本文介紹了集成電路設計靜態(tài)時序分析(Static Timing Analysis,STA)的基本原理、概念和作用,并分析了其優(yōu)勢和局限性。 ? 靜態(tài)時序分析(Static Timing
    的頭像 發(fā)表于 02-19 09:46 ?603次閱讀

    xilinx FPGA IOB約束使用以及注意事項

    xilinx FPGA IOB約束使用以及注意事項 一、什么是IOB約束 在xilinx FPGA,IOB是位于IO附近的寄存器,是FPGA上距離IO最近的寄存器,同時位置固定。當你輸入或者輸出
    的頭像 發(fā)表于 01-16 11:02 ?876次閱讀
    xilinx FPGA IOB<b class='flag-5'>約束</b>使用以及注意事項

    DAC8728和DSP28335的XINTF接口時序匹配怎么解決?

    DAC8728EVM評估板上說DAC8728的時序不滿足TI的DSP的時序, 我是在CPLD實現(xiàn)這個邏輯的XWE0和XRD相與后,和XZCS0相或后作為DAC8728的片選信號,但
    發(fā)表于 01-10 06:07

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

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

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

    為了防止約束失敗,我們在Tcl輸入框驗證,沒有告警或者錯誤說明約束的寫法是正確的set_max_delay 5.00 -from [get_cells key2_detect_inst/state
    的頭像 發(fā)表于 11-01 11:06 ?557次閱讀

    Vivado使用小技巧

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

    電路的兩類約束指的是哪兩類

    電路的兩類約束通常指的是電氣約束和物理約束。這兩類約束在電路設計和分析起著至關重要的作用。 一、電氣
    的頭像 發(fā)表于 08-25 09:34 ?2003次閱讀

    深度解析FPGA時序約束

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

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品