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

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

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

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

吳湛 ? 來源:魯林 ? 作者:魯林 ? 2022-08-02 09:54 ? 次閱讀

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

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

01 Input Delay/Output Delay Constraints Language Template

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

pYYBAGGYH_SAOI_fAAPHF3eoQbs200.png

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

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

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

pYYBAGGYH_aAE8rTAABc-XyNwP0096.png

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

poYBAGGYH_eAd__7AABZz5yfVHI887.png

2. SDR 和 DDR

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

poYBAGGYH_iAQ5jbAAAlMfPFWIU090.png

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

pYYBAGGYH_mAAsOwAAAtHqrJK_k133.png

3. Center-Aligned 和 Edge-Aligned

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

poYBAGGYH_qAZ6ieAAAQDcPq_R8498.png

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

pYYBAGGYH_uAJUr1AAASWCF1I0E042.png

03 Template的內(nèi)容

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

poYBAGGYH_2AJnqMAAGMhIDFpnY728.png

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

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

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

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

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

答案: 對(duì)端器件的 Datasheet

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

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

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

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

pYYBAGGYH_-AZbV8AAS7t8EI4z4750.png

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

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

我們來看幾個(gè)例子:

例一:

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

pYYBAGGYIACAY8v_AAIWwtgxMmw756.png

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

poYBAGGYIAGAF4LYAAAX8sTTXJc474.png

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

pYYBAGGYIAKAUy8aAABK8mhffBM487.png

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

因此,

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

poYBAGGYIASAXKlYAAHsSeXpzqs533.png

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

poYBAGGYIAWAJnZTAAAYGEYRSJY507.png

其中

skew_bre = skew_bfe = ? Period - tQH

skew_are = skew_afe = tDQSQ

例三、

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

pYYBAGGYIAaALqUyAACgomuoAT0190.png

poYBAGGYIAiAcFkQAAR6fuYPcp8396.png

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

pYYBAGGYIAmALUmMAABLhFFzDM4586.png

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

poYBAGGYIAqAYKIMAAAaLyHrr7o364.png

其中

tsu_r = tsu_f = t11

thd_r = thd_f = t12

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

審核編輯:湯梓紅

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

    關(guān)注

    33

    文章

    8355

    瀏覽量

    150510
  • 時(shí)序約束
    +關(guān)注

    關(guān)注

    1

    文章

    114

    瀏覽量

    13396
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    799

    瀏覽量

    66128
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    VIVADO時(shí)序約束及STA基礎(chǔ)

    時(shí)序約束的目的就是告訴工具當(dāng)前的時(shí)序狀態(tài),以讓工具盡量優(yōu)化時(shí)序并給出詳細(xì)的分析報(bào)告。一般在行為仿真后、綜合前即創(chuàng)建基本的
    的頭像 發(fā)表于 03-11 14:39 ?9585次閱讀

    FPGA時(shí)序約束OFFSET

    FPGA時(shí)序約束,總體來分可以分為3類,輸入時(shí)序約束輸出時(shí)序
    發(fā)表于 09-05 21:13

    輸入輸出總線接口技術(shù)

      輸入輸出總線接口技術(shù)
    發(fā)表于 06-29 13:45 ?39次下載

    DVD視頻刻錄機(jī)的輸入輸出接口

    DVD視頻刻錄機(jī)的輸入輸出接口   輸入輸出接口         
    發(fā)表于 12-23 09:49 ?2046次閱讀

    微機(jī)原理--輸入輸出方法及常用的接口電路

    微機(jī)原理--輸入輸出方法及常用的接口電路
    發(fā)表于 12-12 22:07 ?0次下載

    數(shù)字信號(hào)輸入輸出接口電路

    數(shù)字信號(hào)輸入輸出接口電路【更齊全】
    發(fā)表于 12-16 21:32 ?0次下載

    FPGA開發(fā)之時(shí)序約束(周期約束

    時(shí)序約束可以使得布線的成功率的提高,減少ISE布局布線時(shí)間。這時(shí)候用到的全局約束就有周期約束和偏移約束。周期
    發(fā)表于 02-09 02:56 ?693次閱讀

    一文詳解FPGA編程技巧輸入輸出偏移約束

    偏移約束(Offset Constraint)用來定義一個(gè)外部時(shí)鐘引腳(Pad)和數(shù)據(jù)輸入輸出引腳之間的時(shí)序關(guān)系,這種時(shí)序關(guān)系也被稱為器件上的Pad-to-Setup或Clock-to
    的頭像 發(fā)表于 07-14 07:14 ?5412次閱讀
    一文詳解FPGA編程技巧<b class='flag-5'>輸入輸出</b>偏移<b class='flag-5'>約束</b>

    添加時(shí)序約束的技巧分析

    。 在添加全局時(shí)序約束時(shí),需要根據(jù)時(shí)鐘頻率劃分不同的時(shí)鐘域,添加各自的周期約束;然后對(duì)輸入輸出端口信號(hào)添加偏移約束,對(duì)片內(nèi)邏輯添加附加
    發(fā)表于 11-25 09:14 ?2551次閱讀

    DSPs系統(tǒng)硬件設(shè)計(jì)5_輸入輸出接口

    輸入輸出接口類型有哪些?
    發(fā)表于 04-09 17:16 ?3次下載
    DSPs系統(tǒng)硬件設(shè)計(jì)5_<b class='flag-5'>輸入輸出</b><b class='flag-5'>接口</b>

    如何使用時(shí)序約束向?qū)?/a>

    了解時(shí)序約束向?qū)绾斡糜凇巴耆?b class='flag-5'>約束您的設(shè)計(jì)。 該向?qū)ё裱璘ltraFast設(shè)計(jì)方法,定義您的時(shí)鐘,時(shí)鐘交互,最后是您的輸入輸出
    的頭像 發(fā)表于 11-29 06:47 ?2948次閱讀
    如何使用<b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>向?qū)? />    </a>
</div>                            <div   id=

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

    輸入輸出接口約束,整理出了一套非常實(shí)用的InputDelay/Output Delay Constraints Language Templates。只需根據(jù)接口信號(hào)的特征匹配到對(duì)應(yīng)
    的頭像 發(fā)表于 04-10 09:38 ?1935次閱讀
    <b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>中如何精確找到匹配的template?

    GPIO通用輸入輸出

    GPIO通用輸入輸出一、GPIO的功能概述用途:GPIO是通用輸入輸出(General Purpose I/O)的簡稱,主要用于工業(yè)現(xiàn)場(chǎng)需要用到數(shù)字量輸入/輸出的場(chǎng)合。例如:
    發(fā)表于 12-20 18:58 ?6次下載
    GPIO通用<b class='flag-5'>輸入輸出</b>

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

    Source Synchronous:兩個(gè) device 間進(jìn)行通信時(shí),發(fā)送端生成一個(gè)伴隨發(fā)送數(shù)據(jù)的時(shí)鐘信號(hào)。接收端利用該隨路時(shí)鐘進(jìn)行數(shù)據(jù)接收。
    的頭像 發(fā)表于 10-26 09:53 ?817次閱讀

    FPGA編程技巧系列之輸入輸出偏移約束詳解

    Pad-to-Setup:也被稱為OFFSET IN BEFORE約束,是用來保證外部輸入時(shí)鐘和外部輸入數(shù)據(jù)的時(shí)序滿足FPGA內(nèi)部觸發(fā)器的建立時(shí)間要求的。如下圖TIN_BEFORE
    的頭像 發(fā)表于 02-15 11:52 ?2050次閱讀