典型設(shè)計應該不會出現(xiàn)時序違例。多 bank 設(shè)計更容易受此問題影響。
對于多 bank 接口配置,如果單個 bank 同時具有 RX 和 TX,并且其中序列化因子不同,或者如果在“Advanced”選項卡上使用了 enable_all_ports,則可能發(fā)生此問題。
在 2021.1 版的 Advanced IO Wizard 中為 PLL 提供了經(jīng)過更新的去歪斜電路,此更新可解決大部分時序違例。
如果仍發(fā)生違例,請考慮手動調(diào)整時鐘的 PHASE 屬性,直至解決違例為止。
XPLL 的 CLKIN_DESKEW 連接到 XPLL 的 CLKOUT3(XPLL 將設(shè)置為使 CLKOUT3 頻率 = CLKIN 頻率)。
![](https://file1.elecfans.com/web2/M00/8C/3E/wKgaomSn3uSAcxPnAAEpNT_gA5k650.jpg)
在以下示例中,到 PHY_RDEN 的路徑上存在保持時間違例,最差情況下保持時間為 0.076 ns。
![](https://file1.elecfans.com/web2/M00/8C/3E/wKgaomSn3uSAJ7RxAAFqgXN8qUA977.jpg)
您可使用以下 Tcl 命令來計算 CLKOUT3 的相移,以解決此保持時間問題,然后對該路徑進行定時:
set XPLL [get_cells >]
set THSviolation 0.076
set existingPhaseShift [get_property CLKOUT3_PHASE $XPLL]
set clkout3_divide [get_property CLKOUT3_DIVIDE $XPLL]
set c_stepsize [expr 45.0/$clkout3_divide]
set phaseAdjust [expr {$THSviolation / [get_property PERIOD [get_clocks -of [get_pins -of $XPLL -filter REF_PIN_NAME=~CLKOUT3]]] * 360}]
set updatedPhaseShift [expr {$existingPhaseShift + $phaseAdjust}]
set c_phase_rounded [format %.3f [expr $c_stepsize * round($updatedPhaseShift/$c_stepsize)]]
set c_phase_rounded_margin [format %.3f [expr $c_phase_rounded + $c_stepsize]]
set_property CLKOUT3_PHASE $c_phase_rounded_margin $XPLL
report_timing -from [get_pins {design_1_i/advanced_io_wizard_0/inst/design_1_advanced_io_wizard_0_0_phy_i/inst/phy_rden_int_bli_reg[*]/C}] -to [get_pins design_1_i/advanced_io_wizard_0/inst/design_1_advanced_io_wizard_0_0_phy_i/inst/BANK_WRAPPER_INST0/NIBBLE[1].UNISIM.I_XPHY/PHY_RDEN[*]]
同樣,您也可使用以下 Tcl 命令來計算 CLKOUT3 的新相移,以解決此建立時間違例,然后對該路徑進行定時:
set XPLL [get_cells >]
set WNSviolation 0.076
set existingPhaseShift [get_property CLKOUT3_PHASE $XPLL]
set clkout3_divide [get_property CLKOUT3_DIVIDE $XPLL]
set c_stepsize [expr 45.0/$clkout3_divide]
set phaseAdjust [expr {$WNSviolation / [get_property PERIOD [get_clocks -of [get_pins -of $XPLL -filter REF_PIN_NAME=~CLKOUT3]]] * 360}]
set updatedPhaseShift [expr {$existingPhaseShift - $phaseAdjust}]
set c_phase_rounded [format %.3f [expr $c_stepsize * round($updatedPhaseShift/$c_stepsize)]]
set c_phase_rounded_margin [format %.3f [expr $c_phase_rounded - $c_stepsize]]
set_property CLKOUT3_PHASE $c_phase_rounded_margin $XPLL
report_timing -from [get_pins {design_1_i/advanced_io_wizard_0/inst/design_1_advanced_io_wizard_0_0_phy_i/inst/phy_rden_int_bli_reg[*]/C}] -to [get_pins design_1_i/advanced_io_wizard_0/inst/design_1_advanced_io_wizard_0_0_phy_i/inst/BANK_WRAPPER_INST0/NIBBLE[1].UNISIM.I_XPHY/PHY_RDEN[*]]
如果 Advanced IO Wizard 有多個實例(如有其它 IP 使用此 Wizard,例如 SGMII,那也計算在內(nèi)),那么在某些情況下,此 Tcl 腳本可以解決 PHY_RDEN 上的保持時間問題,但會在 PHY_WREN 路徑上引發(fā)建立時間問題。
2022.2 版及更低版本的 Advanced IO Wizard 默認在 PHY_WREN 路徑上不使用 BLI 寄存器。如果使用該腳本解決保持時間問題導致 PHY_WREN 出現(xiàn)建立時間問題,請為 PHY_WREN 設(shè)置 BLI = TRUE,這樣即可幫助解決此問題。
在 XDC 文件中應用下列約束,然后重新運行實現(xiàn)。
set_property BLI TRUE [get_cells -hierarchical phy_wren_bli_temp_*]
審核編輯:湯梓紅
-
接口
+關(guān)注
關(guān)注
33文章
8706瀏覽量
151987 -
pll
+關(guān)注
關(guān)注
6文章
781瀏覽量
135342 -
時序
+關(guān)注
關(guān)注
5文章
392瀏覽量
37443 -
Versal
+關(guān)注
關(guān)注
1文章
163瀏覽量
7716
發(fā)布評論請先 登錄
相關(guān)推薦
進行RTL代碼設(shè)計需要考慮時序收斂的問題
![進行RTL代碼設(shè)計需要考慮<b class='flag-5'>時序</b><b class='flag-5'>收斂</b>的問題](https://file.elecfans.com/web1/M00/C7/DC/o4YBAF9t-ByAL_xhAAAO8kuVqWE143.png)
UltraFast設(shè)計方法時序收斂快捷參考指南
![UltraFast設(shè)計方法<b class='flag-5'>時序</b><b class='flag-5'>收斂</b>快捷參考指南](https://file.elecfans.com/web2/M00/1B/84/pYYBAGGE2wiAcruZAAANWGykQVk985.png)
FPGA的IO口時序約束分析
FPGA時序收斂學習報告
基于MCMM技術(shù)IC時序收斂的快速實現(xiàn)
![基于MCMM技術(shù)IC<b class='flag-5'>時序</b><b class='flag-5'>收斂</b>的快速實現(xiàn)](https://file.elecfans.com/web2/M00/4A/18/pYYBAGKhvJeASublAAAxvxIKqBo633.png)
FPGA設(shè)計的“三個代表”:Ultrafastdesign methodology
![FPGA設(shè)計的“三個代表”:Ultrafastdesign methodology](https://file.elecfans.com/web1/M00/55/B9/pIYBAFsy9QKAKMKeAAA3slxVQmk069.png)
FPGA中IO口的時序分析詳細說明
![FPGA中<b class='flag-5'>IO</b>口的<b class='flag-5'>時序</b>分析詳細說明](https://file.elecfans.com/web1/M00/DA/28/o4YBAF_-u0CAYaKtAAEwBToVPTQ307.png)
從已布線設(shè)計中提取模塊用于評估時序收斂就緒狀態(tài)
![從已布線設(shè)計中提取模塊用于評估<b class='flag-5'>時序</b><b class='flag-5'>收斂</b>就緒狀態(tài)](https://file.elecfans.com/web2/M00/1F/6A/pYYBAGGYH0-APO5TAAMTjnLKXNQ333.png)
使用IO-link主幀處理程序?qū)崿F(xiàn)靈活的時序配置
![使用<b class='flag-5'>IO</b>-link主幀處理程序?qū)崿F(xiàn)靈活的<b class='flag-5'>時序</b><b class='flag-5'>配置</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
AMD Versal自適應SoC器件Advanced Flow概覽(上)
![AMD <b class='flag-5'>Versal</b>自適應SoC器件<b class='flag-5'>Advanced</b> Flow概覽(上)](https://file1.elecfans.com/web3/M00/06/57/wKgZO2eJvBqAdomcAAAM6Mnzhi0018.png)
AMD Versal自適應SoC器件Advanced Flow概覽(下)
![AMD <b class='flag-5'>Versal</b>自適應SoC器件<b class='flag-5'>Advanced</b> Flow概覽(下)](https://file1.elecfans.com/web3/M00/06/F8/wKgZO2eRnLKAM_GZAAAk2TiKVbI293.png)
評論