時(shí)序約束中的
set_input_delay/set_output_delay約束一直是一個(gè)難點(diǎn),無(wú)論是概念、約束值的計(jì)算,還是最終的路徑分析,每一次都要費(fèi)一番腦子。Vivado為方便用戶(hù)創(chuàng)建輸入輸出接口的約束,整理出了一套非常實(shí)用的InputDelay/Output Delay Constraints Language Templates。只需根據(jù)接口信號(hào)的特征匹配到對(duì)應(yīng)的template分類(lèi),就可以輕松套用模板中的公式創(chuàng)建約束。
本文將通過(guò)3個(gè)例子來(lái)展示,如何精確找到匹配的template。
01Input Delay/Output Delay Constraints Language Template
首先來(lái)介紹下Vivado的language Template。在Vivado GUI界面下,Tools菜單里即可打開(kāi)Language Template。下圖紅框部分即InputDelay/Output Delay Constraints部分的模板

02模板分類(lèi)目錄中的關(guān)鍵字
1. System Synchronous(系統(tǒng)同步)和Source Synchronous(源同步)
System Synchronous:兩個(gè) device 之間進(jìn)行通信時(shí),使用一個(gè)共用時(shí)鐘,用于數(shù)據(jù)發(fā)送和接收。

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

SDR:singledata rate。一個(gè)時(shí)鐘周期只傳輸一個(gè) data。

DDR:doubledata rate。一個(gè)時(shí)鐘周期傳輸兩個(gè) data。

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

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

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

每個(gè)模板開(kāi)頭都有個(gè)波形圖,描述這個(gè)模板對(duì)應(yīng)的接口 data 與 clock 之間的時(shí)序關(guān)系。后面我們會(huì)講,這個(gè)時(shí)序圖將是精準(zhǔn)匹配模板的關(guān)鍵。
波形圖里標(biāo)示的參數(shù) dv_bre,dv_are,是用來(lái)代入約束模板里面的公式計(jì)算 -max 和 -min 的約束值。因此匹配了正確的模板,確定了波形圖里的參數(shù)值,就可以套用公式完成約束的創(chuàng)建。
04匹配模板的法寶 - 波形圖
那么問(wèn)題來(lái)了,去哪里找接口信號(hào)的波形圖?
模板里用來(lái)計(jì)算的參數(shù)如何確定呢?
答案: 對(duì)端器件的 Datasheet
Inputdelay 和 output delay 約束提供給 Vivado工具的信息,是 FPGA 外部電路上的時(shí)序數(shù)據(jù)。這部分?jǐn)?shù)據(jù)跟 FPGA 內(nèi)部電路上的時(shí)序信息(這部分工具已知)相結(jié)合才能完整地分析整條路徑是否滿(mǎn)足終點(diǎn)器件的建立時(shí)間和保持時(shí)間。
Inputdelay 約束的創(chuàng)建依賴(lài) FPGA 上游器件的 Datasheet;Output delay 約束的創(chuàng)建依賴(lài)下游器件的 Datasheet。
我們以 LTC2000A-11 DAC 器件的 Datasheet 為例:https://www.analog.com/media/en/technical-documentation/data-sheets/2000afb.pdf
我們需要的波形圖通常在 Datasheet 的 Timing Diagram 部分,而用來(lái)計(jì)算的參數(shù)通常在Timing Characteristics 部分。

對(duì)于前面講解的模板的三種分類(lèi)目錄,SystemSynchronous/Source Synchronous 以及SDR/DDR 的區(qū)分相對(duì)容易,而 Center-Aligned 和 Edge-Aligned 如何得知呢?
這就依賴(lài)于對(duì)端器件的 Datasheet 中的 Timing 波形圖。
我們來(lái)看幾個(gè)例子:
例一:
這是一個(gè) SourceSynchronous 的 DDR 接口,需要約束 Dx 數(shù)據(jù)的 inputdelay,時(shí)鐘為DCO。下圖為上游器件 Datasheet 中的TimingDiagram,其中tDATA的范圍是1.3ns~1.9ns。

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

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

tDATA之所以是一個(gè)范圍值,就是因?yàn)?data 是有“有效數(shù)據(jù)”(datavalid)和“無(wú)效數(shù)據(jù)”(陰影部分)窗口的。把原波形圖畫(huà)出陰影部分就一目了然了。
因此,
dv_bfe = dv_bre = tDATA_MIN = 1.3ns
dv_afe = dv_are = tDATA_MAX = (? Period – 1.9)ns
例二、
從下面這個(gè) Datasheet 里的波形圖可以看出,這是一個(gè) SourceSynchronous Edge-Aligned DDR 接口,需要?jiǎng)?chuàng)建 DQ 的 input delay 約束,時(shí)鐘是 DQS

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

其中
skew_bre = skew_bfe = ? Period - tQH
skew_are = skew_afe = tDQSQ
例三、
這個(gè)例子也是 SourceSynchronous,是從前面的 LTC2000A-11DAC 器件的 Datasheet 中提取出來(lái)的,需要?jiǎng)?chuàng)建 DAP/N的outputdelay 約束,隨路時(shí)鐘是DCKI。其中t11參數(shù)為0.057ns,t12參數(shù)為-0.017ns


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

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

其中
tsu_r = tsu_f = t11
thd_r = thd_f = t12
希望通過(guò)這三個(gè)例子,能夠幫助大家找到使用模板創(chuàng)建輸入輸出接口時(shí)序約束的竅門(mén)。
審核編輯 :李倩
-
接口
+關(guān)注
關(guān)注
33文章
9603瀏覽量
157676 -
模板
+關(guān)注
關(guān)注
0文章
111瀏覽量
21131 -
時(shí)序
+關(guān)注
關(guān)注
5文章
411瀏覽量
39020
原文標(biāo)題:運(yùn)用 Language Template 來(lái)創(chuàng)建set_input_delay/set_output_delay約束
文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
AD74115:?jiǎn)瓮ǖ儡浖膳渲?b class='flag-5'>輸入輸出設(shè)備的深度解析
西門(mén)子模擬量輸入輸出具體的應(yīng)用
SGM8431-1單運(yùn)放:高輸出電流與軌到軌輸入輸出的卓越之選
FPGA時(shí)序收斂的痛點(diǎn)與解決之道——從一次高速接口調(diào)試談起
SGM8710 | 低功耗、高性能的軌到軌輸入輸出比較器
Vivado時(shí)序約束中invert參數(shù)的作用和應(yīng)用場(chǎng)景
LT1218L:精密軌到軌輸入輸出運(yùn)算放大器的卓越之選
LT1219:精密軌到軌輸入輸出運(yùn)算放大器的卓越之選
輸入引腳時(shí)鐘約束_Xilinx FPGA編程技巧-常用時(shí)序約束詳解
一文帶你讀懂“脈沖輸入輸出模塊”
時(shí)序約束問(wèn)題的解決辦法
如何用FPGA實(shí)現(xiàn)4K視頻的輸入輸出與處理
線(xiàn)性穩(wěn)壓器IC的輸入輸出電容設(shè)計(jì)和紋波對(duì)策
使用模板創(chuàng)建輸入輸出接口時(shí)序約束的竅門(mén)
評(píng)論