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

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

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

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

電子工程師 ? 來(lái)源:XILINX開(kāi)發(fā)者社區(qū) ? 作者:Vivian Yin ? 2021-04-10 09:38 ? 次閱讀

時(shí)序約束中的

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

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

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

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

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

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

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

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

2. SDR 和 DDR

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

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

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

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

3. Center-Aligned 和 Edge-Aligned

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

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

Edge-Aligned 邊沿對(duì)齊,指時(shí)鐘的采樣沿處于對(duì)應(yīng)數(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

每個(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é)合才能完整地分析整條路徑是否滿足終點(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/2000afb.pdf

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

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

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

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

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

例一:

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

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

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

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

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

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

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

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

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

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

其中

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

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

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

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

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

也歡迎大家有問(wèn)題把手中的“實(shí)例”上傳導(dǎo)賽靈思中文社區(qū)論壇,提供更多的學(xué)習(xí)素材來(lái)討論。

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

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

責(zé)任編輯:haq

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

    關(guān)注

    1

    文章

    115

    瀏覽量

    13403

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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    常用時(shí)序約束使用說(shuō)明-v1

    為了防止約束失敗,我們?cè)赥cl輸入框驗(yàn)證,沒(méi)有告警或者錯(cuò)誤說(shuō)明約束的寫(xiě)法是正確的set_max_delay 5.00 -from [get_cells key2_detect_inst/state
    的頭像 發(fā)表于 11-01 11:06 ?110次閱讀

    深度解析FPGA時(shí)序約束

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

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

    Static Timing Analysis,簡(jiǎn)稱 STA。它可以簡(jiǎn)單的定義為:設(shè)計(jì)者提出一些特定的時(shí)序要求(或者說(shuō)是添加特定的時(shí)序約束),套用特定的時(shí)序模型,針對(duì)特定的電路進(jìn)行分析。
    發(fā)表于 06-17 17:07

    Xilinx FPGA編程技巧之常用時(shí)序約束詳解

    今天給大俠帶來(lái)Xilinx FPGA編程技巧之常用時(shí)序約束詳解,話不多說(shuō),上貨。 基本的約束方法 為了保證成功的設(shè)計(jì),所有路徑的時(shí)序要求必須能夠讓執(zhí)行工具獲取。最普遍的三種路徑以及
    發(fā)表于 05-06 15:51

    FPGA工程的時(shí)序約束實(shí)踐案例

    詳細(xì)的原時(shí)鐘時(shí)序、數(shù)據(jù)路徑時(shí)序、目標(biāo)時(shí)鐘時(shí)序的各延遲數(shù)據(jù)如下圖所示。值得注意的是數(shù)據(jù)路徑信息,其中包括Tco延遲和布線延遲,各級(jí)累加之后得到總的延遲時(shí)間。
    發(fā)表于 04-29 10:39 ?631次閱讀
    FPGA工程的<b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>實(shí)踐案例

    時(shí)序約束實(shí)操

    添加約束的目的是為了告訴FPGA你的設(shè)計(jì)指標(biāo)及運(yùn)行情況。在上面的生成約束之后,在Result àxx.sdc中提供約束參考(請(qǐng)注意該文件不能直接添加到工程,需要熱復(fù)制到別的指定目錄或
    的頭像 發(fā)表于 04-28 18:36 ?2118次閱讀
    <b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>實(shí)操

    Xilinx FPGA編程技巧之常用時(shí)序約束詳解

    ,這一約束降低工具的布線難度而又不會(huì)影響時(shí)序性能。這種約束通常用在有時(shí)鐘使能控制的同步元件路徑。 必須說(shuō)明的是上圖Enable信號(hào)的產(chǎn)生周期必須大于等于n*PERIOD,且每
    發(fā)表于 04-12 17:39

    構(gòu)建相位和時(shí)序精確的多通道脈沖描述字(PDW)雷達(dá)信號(hào)產(chǎn)生方案

    AnaPico公司的APVSG多通道相參矢量信號(hào)發(fā)生器具有快速捷變、相位相干、相位相干切換和時(shí)序精確操作等特點(diǎn)。這些VSG允許用戶在雷達(dá)和電子戰(zhàn)應(yīng)用場(chǎng)景輕松生成通用和真實(shí)的脈沖信號(hào)。PDW的多個(gè)列表可以從內(nèi)部存儲(chǔ)器或通過(guò)快速控
    的頭像 發(fā)表于 03-12 17:13 ?3354次閱讀
    構(gòu)建相位和<b class='flag-5'>時(shí)序</b><b class='flag-5'>精確</b>的多通道脈沖描述字(PDW)雷達(dá)信號(hào)產(chǎn)生方案

    如何快速找到PCB的GND?

    如何快速找到PCB的GND?? 在PCB設(shè)計(jì)和制作過(guò)程,找到地線(GND)是非常關(guān)鍵的步驟。GND是電子電路中一個(gè)非常重要的參考面,它提供了電路
    的頭像 發(fā)表于 02-03 17:04 ?3550次閱讀

    如何用3D Occupancy處理遮擋問(wèn)題下的圖像匹配

    圖像匹配是各種視覺(jué)應(yīng)用基本且關(guān)鍵的任務(wù),如同時(shí)定位與地圖構(gòu)建( Simultaneous Localization and Mapping,SLAM )和圖像檢索,這些應(yīng)用都需要精確的位姿估計(jì)。
    的頭像 發(fā)表于 01-06 10:24 ?599次閱讀
    如何用3D Occupancy處理遮擋問(wèn)題下的圖像<b class='flag-5'>匹配</b>?

    如何快速找到PCB的GND?

    如何快速找到PCB的GND?
    的頭像 發(fā)表于 12-07 14:26 ?1267次閱讀
    如何快速<b class='flag-5'>找到</b>PCB<b class='flag-5'>中</b>的GND?

    vlookup精確匹配介紹

    VLOOKUP函數(shù)是Excel中最常用的函數(shù)之一,它用于在一個(gè)數(shù)據(jù)表查找某個(gè)值,并返回與該值相關(guān)聯(lián)的數(shù)據(jù)。在使用VLOOKUP函數(shù)時(shí),可以選擇是否進(jìn)行精確匹配。 精確
    的頭像 發(fā)表于 12-01 11:17 ?1853次閱讀

    vlookup函數(shù)近似匹配精確匹配有什么區(qū)別

    VLOOKUP函數(shù)是一種在Excel中常用的查找函數(shù),它能通過(guò)指定的關(guān)鍵詞在表格查找并返回相應(yīng)的數(shù)值。VLOOKUP函數(shù)支持兩種匹配方式:近似匹配精確
    的頭像 發(fā)表于 12-01 10:33 ?1.5w次閱讀

    物理約束實(shí)踐:I/O約束

    I/O約束(I/O Constraints)包括I/O標(biāo)準(zhǔn)(I/OStandard)約束和I/O位置(I/O location)約束
    的頭像 發(fā)表于 11-18 16:42 ?1013次閱讀
    物理<b class='flag-5'>約束</b>實(shí)踐:I/O<b class='flag-5'>約束</b>

    FPGA時(shí)序約束--基礎(chǔ)理論篇

    FPGA開(kāi)發(fā)過(guò)程,離不開(kāi)時(shí)序約束,那么時(shí)序約束是什么?簡(jiǎn)單點(diǎn)說(shuō),F(xiàn)PGA芯片中的邏輯電路,從輸入到輸出所需要的時(shí)間,這個(gè)時(shí)間必須在設(shè)定的時(shí)
    發(fā)表于 11-15 17:41