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

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

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

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

FPGA之家 ? 來源:FPGA之家 ? 作者:Vivian Yin ? 2022-10-26 09:53 ? 次閱讀

時序約束中的

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

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

01Input Delay/Output Delay Constraints Language Template

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

bc4e2b58-54ce-11ed-a3b6-dac502259ad0.png

02模板分類目錄中的關(guān)鍵字

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

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

bc5f3c54-54ce-11ed-a3b6-dac502259ad0.png

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

bc70cfc8-54ce-11ed-a3b6-dac502259ad0.png

2. SDR 和 DDR

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

bc87884e-54ce-11ed-a3b6-dac502259ad0.png

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

bc97d898-54ce-11ed-a3b6-dac502259ad0.png

3. Center-Aligned 和 Edge-Aligned

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

bcc14ebc-54ce-11ed-a3b6-dac502259ad0.png

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

bccac44c-54ce-11ed-a3b6-dac502259ad0.png

03Template的內(nèi)容

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

bcd2ae0a-54ce-11ed-a3b6-dac502259ad0.png

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

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

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

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

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

答案: 對端器件的 Datasheet

Inputdelay 和 output delay 約束提供給 Vivado工具的信息,是 FPGA 外部電路上的時序數(shù)據(jù)。這部分?jǐn)?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 部分。

bcfadd76-54ce-11ed-a3b6-dac502259ad0.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。

bd2f26d0-54ce-11ed-a3b6-dac502259ad0.png

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

bd446a54-54ce-11ed-a3b6-dac502259ad0.png

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

bd530bf4-54ce-11ed-a3b6-dac502259ad0.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

bd6532ac-54ce-11ed-a3b6-dac502259ad0.jpg

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

bd742708-54ce-11ed-a3b6-dac502259ad0.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

bd83db26-54ce-11ed-a3b6-dac502259ad0.png

bda21d5c-54ce-11ed-a3b6-dac502259ad0.png

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

bdbd30e2-54ce-11ed-a3b6-dac502259ad0.png

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

bdc61c66-54ce-11ed-a3b6-dac502259ad0.png

其中

tsu_r = tsu_f = t11

thd_r = thd_f = t12

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

審核編輯 :李倩


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

    關(guān)注

    33

    文章

    8598

    瀏覽量

    151152
  • 模板
    +關(guān)注

    關(guān)注

    0

    文章

    108

    瀏覽量

    20563
  • 時序
    +關(guān)注

    關(guān)注

    5

    文章

    387

    瀏覽量

    37332

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

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

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

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

    gpio接口是干什么的 gpio四種輸入輸出模式怎么選擇

    GPIO接口的作用 GPIO(General Purpose Input/Output)接口,即通用輸入輸出接口,是一種用于連接和控制各種外部設(shè)備的數(shù)字
    的頭像 發(fā)表于 10-06 16:07 ?2743次閱讀

    誤差放大器的輸入輸出關(guān)系

    誤差放大器(Error Amplifier)在電子測量和控制系統(tǒng)中扮演著至關(guān)重要的角色,其輸入輸出關(guān)系對于理解和設(shè)計這些系統(tǒng)至關(guān)重要。以下是對誤差放大器輸入輸出關(guān)系的詳細(xì)解析,包括其工作原理、輸入輸出特性、影響因素以及實際應(yīng)用等
    的頭像 發(fā)表于 09-11 15:32 ?1200次閱讀

    隔離變壓器輸入輸出可以隨便接嗎

    隔離變壓器的輸入輸出接線并非可以隨便接,而是需要遵循一定的原則、步驟和注意事項,以確保其正常、安全、高效地運行。 一、接線原則 電壓匹配 :在接線之前,必須確保輸入電源和輸出電器的電壓與隔離變壓器
    的頭像 發(fā)表于 09-06 11:07 ?855次閱讀

    寄存器的輸入輸出方式

    寄存器的輸入輸出方式是數(shù)字電路設(shè)計中至關(guān)重要的部分,它決定了數(shù)據(jù)如何在寄存器中進(jìn)出以及處理的效率。下面將詳細(xì)探討寄存器的幾種主要輸入輸出方式,包括并行輸入輸出、串行輸入輸出以及雙向
    的頭像 發(fā)表于 09-05 14:09 ?1297次閱讀

    PLC運動控制中的輸入輸出設(shè)備

    在PLC(可編程邏輯控制器)運動控制系統(tǒng)中,輸入輸出設(shè)備扮演著至關(guān)重要的角色。這些設(shè)備不僅負(fù)責(zé)將外部信號傳遞給PLC,還負(fù)責(zé)將PLC的處理結(jié)果輸出到外部執(zhí)行機(jī)構(gòu),從而實現(xiàn)對機(jī)械設(shè)備運動的精確控制。以下是對PLC運動控制中輸入輸出
    的頭像 發(fā)表于 09-03 10:52 ?838次閱讀

    深度解析FPGA中的時序約束

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

    FPGA 高級設(shè)計:時序分析和收斂

    結(jié)果當(dāng)然是要求系統(tǒng)時序滿足設(shè)計者提出的要求。 下面舉一個最簡單的例子來說明時序分析的基本概念。 假設(shè)信號需要從輸入輸出在FPGA 內(nèi)部經(jīng)過一些邏輯延時和路徑延時。我們的系統(tǒng)要求這個
    發(fā)表于 06-17 17:07

    PLC輸入輸出信號異常的原因分析

    在工業(yè)自動化領(lǐng)域中,PLC(可編程邏輯控制器)作為控制系統(tǒng)的核心部件,其性能的穩(wěn)定性和可靠性對于整個生產(chǎn)線的正常運行具有至關(guān)重要的影響。然而,在實際應(yīng)用中,PLC的輸入輸出信號異常問題時有發(fā)生,這不
    的頭像 發(fā)表于 06-12 11:25 ?2234次閱讀

    Xilinx FPGA編程技巧之常用時序約束詳解

    ;SysClk\"; 2. 源同步輸入約束Source Synchronous Input   在源同步接口中,時鐘是在源設(shè)備中和數(shù)據(jù)一起產(chǎn)生并傳輸。 上圖的時序
    發(fā)表于 05-06 15:51

    自定義位寬輸入輸出截位模塊的靈活配置方案

    可配置任意輸入輸出位寬截位模塊
    的頭像 發(fā)表于 04-25 11:36 ?402次閱讀

    Xilinx FPGA編程技巧之常用時序約束詳解

    ;; 2. 源同步輸入約束Source Synchronous Input  在源同步接口中,時鐘是在源設(shè)備中和數(shù)據(jù)一起產(chǎn)生并傳輸。 上圖的時序
    發(fā)表于 04-12 17:39

    PLC的輸入輸出接口是否需要進(jìn)行隔離保護(hù)?

    PLC(可編程邏輯控制器)的輸入輸出接口是否需要進(jìn)行隔離保護(hù),取決于具體的應(yīng)用場景和需求。
    的頭像 發(fā)表于 02-23 09:09 ?2073次閱讀

    鎖相環(huán)的輸入輸出相位一致嗎?

    鎖相環(huán)是保證相位一致,還是相位差一致?鎖相環(huán)的輸入輸出相位一致嗎? 鎖相環(huán)(PLL)是一種回路控制系統(tǒng),用于保持輸出信號的相位與參考信號的相位之間的恒定關(guān)系。簡單來說,鎖相環(huán)的目的是保證相位一致
    的頭像 發(fā)表于 01-31 15:45 ?1178次閱讀

    輸入輸出電壓差與效率的關(guān)系

    在開關(guān)穩(wěn)壓電源中,輸入電壓的范圍是預(yù)知的,輸出電壓也是知道的,但是輸入輸出的電壓差和轉(zhuǎn)換效率的關(guān)系很多人 不清楚,有經(jīng)驗的工程師就會根據(jù)公式去推導(dǎo)出來輸入輸出電壓差越小,轉(zhuǎn)換效率越高。
    發(fā)表于 01-05 15:12 ?882次閱讀
    <b class='flag-5'>輸入輸出</b>電壓差與效率的關(guān)系