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

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

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

Versal HDIO OBUFT和IOBUF三態(tài)時序影響

XILINX開發(fā)者社區(qū) ? 來源:XILINX開發(fā)者社區(qū) ? 2023-07-12 09:50 ? 次閱讀

問題描述:

本文著重探討 HDIO OBUFT 和 IOBUF 用例。如果含三態(tài)控制 (OBUFT/IOBUF) 的 HDIO 輸出緩沖器的上電電壓為 3.3V 或 2.5V 并且 Data(數(shù)據(jù))控制信號與 Tristate(三態(tài))控制信號的切換時間彼此相近,則可能會受到三態(tài)數(shù)據(jù)爭用條件的影響。

僅當(dāng)三態(tài)和數(shù)據(jù)開關(guān)彼此相反(例如,三態(tài) 0 -> 1 且數(shù)據(jù) 1 -> 0)時,此爭用條件才會導(dǎo)致問題。當(dāng)三態(tài)和數(shù)據(jù)開關(guān)同向(例如,三態(tài) 0 -> 1 且數(shù)據(jù) 0 -> 1)時,則不會導(dǎo)致問題。

生成的輸出可能會驅(qū)動錯誤的焊盤電壓。焊盤可能保持在此錯誤電壓下,直至三態(tài)(dataValidBeforeTristate 場景)或數(shù)據(jù)(dataValidAfterTrisate 場景)再次切換為止。

b9c18b6e-1fda-11ee-962d-dac502259ad0.png

dataValidBeforeTristate = 550ps
dataValidAfterTristate = 200ps

受影響的器件:除 VSVD1760 外的其他封裝中的 VC1902、VC1802、VM1802、VM1402 和 VM1302。

僅限含 HD bank 的器件才會受到 HDIO IOBUF 和 OBUFT 用例的影響。VSVD1760 封裝不含 HDIO bank,因此不受影響。

受影響的 IP 核:

雖然 IP 通常并不強制使用 HDIO,但以下 IP 核使用 HDIO 緩沖器的方式很可能使其受此問題影響。此處隨附的 Tcl 腳本可用于幫助調(diào)整諸多場景下的數(shù)據(jù)到三態(tài)布線關(guān)系:

AXI 1G 以太網(wǎng)

AXI QSGMII

三模以太網(wǎng) MAC

AXI QSPI

解決方法:

要解決該問題,請確保在有問題的窗口(dataValidBeforeTristate = 0.550ps 和 dataValidAfterTristate = 0.200ps)中,數(shù)據(jù)和三態(tài)不執(zhí)行切換。

在 Vivado 2021.2 和更高版本中,DRC 將向用戶標(biāo)記此問題:

b9de6dce-1fda-11ee-962d-dac502259ad0.png

下列方法可用于確保在有問題的窗口中,數(shù)據(jù)和三態(tài)不執(zhí)行切換:

1. 通過設(shè)計系統(tǒng)將三態(tài)和數(shù)據(jù)切換偏移一個周期。

2. 寄存的數(shù)據(jù)和三態(tài)信號可以在 IOL Flop 的 I 輸入中利用數(shù)據(jù)和三態(tài)的邏輯 OR 來避免此問題。

b9fc0514-1fda-11ee-962d-dac502259ad0.png

替換為

ba1ed7e2-1fda-11ee-962d-dac502259ad0.png


時序圖示例:

ba302740-1fda-11ee-962d-dac502259ad0.png

3. 通過 Tcl 腳本使用 set_data_check 約束來確保數(shù)據(jù)和三態(tài)信號線的偏差足以確保數(shù)據(jù)和三態(tài)都能避免出現(xiàn)爭用條件。

注釋:僅當(dāng)數(shù)據(jù)和三態(tài)都發(fā)生切換時,才會發(fā)生此問題。在 Data 管腳上,Open Drain(開漏)接口保持常量“0”,因此常用 2.5V 接口和 3.3V 接口(如 I2C)將不受影響。

僅當(dāng)數(shù)據(jù)或三態(tài)已綁定時,才能通過以下命令豁免 DRC。

ba52c250-1fda-11ee-962d-dac502259ad0.png

對于 Vivado 2022.1 和更低版本,您可使用隨附的fixHDIO.tcl 腳本來評估影響,并且可能通過布線來修復(fù)此問題。

此腳本將檢查 IOBUF 或 OBUFT 的設(shè)計,并檢查三態(tài)與數(shù)據(jù)之間的延遲,確認在有問題的窗口內(nèi)是否發(fā)生切換。

如果發(fā)生了切換,此腳本將通過set_data_check 置位來取消這些信號線的布線,重新布線,并報告結(jié)果。

要運行該腳本,請打開已實現(xiàn)的設(shè)計或 DCP。

在 Tcl 控制臺中,使用 source 命令找到該腳本:

source -quiet fixHDIO.tcl

找到 Tcl 腳本后,可運行多個過程來分析設(shè)計:

getHDIOTristateBuffers- 列出以 2.5V 或 3.3V 上電的 HDIO bank 中含三態(tài)控制的所有緩沖器,這些緩沖器可能會受到三態(tài)/數(shù)據(jù)爭用問題的影響。

reportHDIOTristateBuffers- 報告以 2.5V 或 3.3V 上電的 HDIO bank 中含三態(tài)控制的所有緩沖器(可能受三態(tài)/數(shù)據(jù)爭用問題影響),并描述用于報告這些緩沖器的原因的機制。

validateHDIOTristateBuffers- 該命令將分析設(shè)計,查看是否有足夠的時序裕度能在尚未運行fixHDIOTristateBuffers 時就避免出現(xiàn)爭用條件。如果發(fā)生違例,則必須運行 fixHDIOTristateBuffers 來解決問題。

waiveHDIOTristateBuffers - 該命令應(yīng)僅用于為下列已寄存的緩沖器豁免 DRC 違例:此類緩沖器在三態(tài)/數(shù)據(jù)管腳之間實現(xiàn) OR 門控,或者已知不受影響(即,在設(shè)計中,數(shù)據(jù)和三態(tài)控制已偏移)。運行 fixHDIOTristateBuffers 后,應(yīng)自動禁止顯示這些緩沖器的 DRC 違例。 僅限在已知不存在問題的緩沖器上運行該過程。 fixHDIOTristate 緩沖器將通過更改時序來解決此問題,應(yīng)將其用于有問題場景的所有緩沖器。

fixHDIOTristateBuffers - 為沒有足夠數(shù)據(jù)和三態(tài)偏差的緩沖器的數(shù)據(jù)和三態(tài)信號線執(zhí)行重新布線。此命令不修復(fù)在三態(tài)/數(shù)據(jù)管腳之間需要 OR 門控的已寄存的緩沖器。此過程結(jié)束時會報告時序關(guān)系。此過程結(jié)束時,應(yīng)在 Tcl 中運行“report_route_status”以驗證腳本確實能夠成功完成信號線的重新布線。 如不執(zhí)行此操作,可能導(dǎo)致該腳本誤報所有時序路徑都已滿足。

timeHDIOTristateBuffers - 報告數(shù)據(jù)與三態(tài)管腳之間的時序關(guān)系。應(yīng)在 fixHDIOTristateBuffers 插入必要的時序約束后運行此命令。如果該工具能夠找到布線解決方案,那么應(yīng)僅存在正時序裕量。

分析結(jié)果:

fixHDIOTristateBuffers 和 timeHDIOTrisateBuffers 將報告所提供的緩沖器上的時序。裕量值為正表示腳本已成功完成 Data (I) 和 Tristate 控制 (T) 的重新布線。

在此場景下為了正確定時,將對數(shù)據(jù)或三態(tài)給予 1000ns 的要求。預(yù)計將有一條信號線存在較大的偏差要求。 只要信號線均為正,就不會發(fā)生 HDIO 三態(tài)沖突。

出現(xiàn)如下消息表示,如果 Tcl 腳本無法通過新的布線解決該問題,那么布線器就無法以充足的偏差完成設(shè)計的重新布線。

注釋:在此場景中,如果報告的裕量為正值,那么即使出現(xiàn)該警告也沒問題。

ba6a63e2-1fda-11ee-962d-dac502259ad0.png

該腳本將標(biāo)記 IOB 觸發(fā)器對數(shù)據(jù)和三態(tài)進行寄存的情況,但不會嘗試解決。


這些管腳需實現(xiàn)與上述邏輯等效的電路更改,并對驅(qū)動 IOB 數(shù)據(jù)寄存器的輸入管腳的數(shù)據(jù)和三態(tài)信號線執(zhí)行 OR 邏輯。

如果 Tcl 腳本以避免出現(xiàn)該問題的方式成功完成數(shù)據(jù)和三態(tài)管腳的重新布線,則將需要修改設(shè)計。圍繞此問題常見的修改包括:

寄存數(shù)據(jù)和三態(tài)控制信號,對數(shù)據(jù)控制和三態(tài)控制執(zhí)行 OR 邏輯,如上所述。

調(diào)整設(shè)計,使三態(tài)和數(shù)據(jù)斷言偏移一個周期。

如果出現(xiàn)該腳本無法解決此問題的罕見情況,請評估選項 1“將三態(tài)和數(shù)據(jù)切換偏移一個周期”和選項 2“對數(shù)據(jù)和三態(tài)執(zhí)行邏輯 OR”,并對設(shè)計執(zhí)行必要的更改。

審核編輯:湯梓紅

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

    關(guān)注

    40

    文章

    5287

    瀏覽量

    169633
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5250

    瀏覽量

    119192
  • 緩沖器
    +關(guān)注

    關(guān)注

    6

    文章

    1903

    瀏覽量

    45319
  • 觸發(fā)器
    +關(guān)注

    關(guān)注

    14

    文章

    1990

    瀏覽量

    60866
  • Versal
    +關(guān)注

    關(guān)注

    1

    文章

    151

    瀏覽量

    7598

原文標(biāo)題:開發(fā)者分享|設(shè)計咨詢 - Versal:HDIO OBUFT 和 IOBUF 三態(tài)時序影響

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

收藏 人收藏

    評論

    相關(guān)推薦

    什么是三態(tài)電路 三態(tài)電路有什么特點

    三態(tài)電路有什么特點,什么是上拉電阻、下拉電阻以及高阻態(tài)?
    的頭像 發(fā)表于 05-21 07:28 ?6585次閱讀
    什么是<b class='flag-5'>三態(tài)</b>電路 <b class='flag-5'>三態(tài)</b>電路有什么特點

    什么是三態(tài)門和OC門?

    三態(tài)門和OC門一、OC門實際使用中,有時需要兩個或兩個以上與非門的輸出端連接在同一條導(dǎo)線上,將這些與非門上的數(shù)據(jù)(狀態(tài))用同一條導(dǎo)線輸送出去。因此,需要一種新的與非門電路來實現(xiàn)線與邏輯,這種門電路
    發(fā)表于 05-26 13:01

    labview做一組三態(tài)燈求助

    如果:紅色-0,綠色-1,藍色-2 輸入:數(shù)組 輸出:布爾數(shù)組或簇 例如:輸入數(shù)組為〔0 1 2 1 0〕 希望輸出顯示為紅色,綠色,藍色,綠色,紅色的一組三態(tài)燈。 網(wǎng)上給的子vi是利用bool引用句柄實現(xiàn)一個燈的三態(tài)顯示,如果數(shù)組元素少的話用枚舉可以實現(xiàn),但是如果數(shù)組元
    發(fā)表于 12-09 14:32

    高阻態(tài)三態(tài)門的電路原理分析

    高阻態(tài)三態(tài)門高阻態(tài) 高阻態(tài)的實質(zhì):電路分析時高阻態(tài)可做開路理解。你可以把它看作輸出(輸入)電阻非常大。他的極限可以認為懸空。也就是說理論上
    發(fā)表于 01-08 11:03

    三態(tài)緩沖區(qū)未按預(yù)期工作

    嗨,我寫了一個非常簡單的代碼,其中FGPA從/向處理器讀/寫。我使用以下代碼推斷數(shù)據(jù)總線的三態(tài)緩沖區(qū)(16位寬)。 - 推斷IOBUF io_datah s_data_read注意
    發(fā)表于 03-08 14:01

    三態(tài)門的工作原理是什么?

    三態(tài)門的工作原理是什么?
    發(fā)表于 05-20 06:55

    三態(tài)單片機IO的三態(tài)是指什么

    一、三態(tài)單片機IO的三態(tài)是指:高電平(1)、低電平(0)、高組態(tài)(Z)。二、高阻態(tài)高阻i是一種電路狀態(tài).既不是高電平,也不是低電平,以高阻態(tài)對下級電路輸出,下級電路什么影響也沒有.高阻
    發(fā)表于 11-25 06:42

    什么是三態(tài)門? 三態(tài)邏輯與非門電路以及三態(tài)門電路

    什么是三態(tài)門? 三態(tài)門,是指邏輯門的輸出除有高、低電平兩種狀態(tài)外,還有第種狀態(tài)——高阻狀態(tài)的門電路 高阻態(tài)相當(dāng)于隔斷狀態(tài)。
    發(fā)表于 05-26 12:48 ?4.6w次閱讀
    什么是<b class='flag-5'>三態(tài)</b>門? <b class='flag-5'>三態(tài)</b>邏輯與非門電路以及<b class='flag-5'>三態(tài)</b>門電路

    三態(tài)門的組成及工作原理

    三態(tài)門的組成及工作原理
    發(fā)表于 02-28 19:13 ?2.5w次閱讀
    <b class='flag-5'>三態(tài)</b>門的組成及工作原理

    三態(tài)緩沖器介紹

    三態(tài)緩沖器三態(tài)緩沖器三態(tài)緩沖器三態(tài)緩沖器三態(tài)緩沖器三態(tài)緩沖器
    發(fā)表于 11-16 11:59 ?0次下載

    三態(tài)緩沖器介紹_三態(tài)緩沖器邏輯符號

    三態(tài)數(shù)據(jù)緩沖器是數(shù)據(jù)輸入/輸出的通道,數(shù)據(jù)傳輸?shù)姆较蛉Q于控制邏輯對三態(tài)門的控制。本文介紹三態(tài)緩沖器的邏輯符號。
    發(fā)表于 01-11 10:42 ?1.5w次閱讀
    <b class='flag-5'>三態(tài)</b>緩沖器介紹_<b class='flag-5'>三態(tài)</b>緩沖器邏輯符號

    三態(tài)門有哪三態(tài)_三態(tài)門有什么特點

    本文開始介紹了三態(tài)門的定義與三態(tài)門的應(yīng)用,其次對三態(tài)門的三態(tài)及特點進行了介紹,最后闡述了三態(tài)輸出門電路與
    發(fā)表于 03-01 14:47 ?12.8w次閱讀
    <b class='flag-5'>三態(tài)</b>門有哪<b class='flag-5'>三態(tài)</b>_<b class='flag-5'>三態(tài)</b>門有什么特點

    三態(tài)門怎么理解

    三態(tài)門亦稱“三態(tài)輸出門”、“三態(tài)門輸出電路”。是一種重要的總線接口電路。具有高電平、低電平和高阻抗種輸出狀態(tài)的門電路。
    的頭像 發(fā)表于 03-10 09:29 ?1.8w次閱讀

    HDIO OBUFTIOBUF用例簡析

    本文著重探討 HDIO OBUFTIOBUF 用例。如果含三態(tài)控制 (OBUFT/IOBUF
    的頭像 發(fā)表于 07-12 10:04 ?1166次閱讀
    <b class='flag-5'>HDIO</b> <b class='flag-5'>OBUFT</b>和<b class='flag-5'>IOBUF</b>用例簡析

    三態(tài)緩沖器的工作原理和應(yīng)用

    三態(tài)緩沖器(Three-state buffer),又稱為三態(tài)門、三態(tài)驅(qū)動器,是一種特殊的邏輯門電路,其工作原理主要基于三態(tài)輸出控制。三態(tài)
    的頭像 發(fā)表于 08-02 17:47 ?1193次閱讀