典型設(shè)計(jì)應(yīng)該不會(huì)出現(xiàn)時(shí)序違例。多 bank 設(shè)計(jì)更容易受此問(wèn)題影響。
對(duì)于多 bank 接口配置,如果單個(gè) bank 同時(shí)具有 RX 和 TX,并且其中序列化因子不同,或者如果在“Advanced”選項(xiàng)卡上使用了 enable_all_ports,則可能發(fā)生此問(wèn)題。
在 2021.1 版的 Advanced IO Wizard 中為 PLL 提供了經(jīng)過(guò)更新的去歪斜電路,此更新可解決大部分時(shí)序違例。
如果仍發(fā)生違例,請(qǐng)考慮手動(dòng)調(diào)整時(shí)鐘的 PHASE 屬性,直至解決違例為止。
XPLL 的 CLKIN_DESKEW 連接到 XPLL 的 CLKOUT3(XPLL 將設(shè)置為使 CLKOUT3 頻率 = CLKIN 頻率)。
![](https://file1.elecfans.com/web2/M00/8C/3E/wKgaomSn3uSAcxPnAAEpNT_gA5k650.jpg)
在以下示例中,到 PHY_RDEN 的路徑上存在保持時(shí)間違例,最差情況下保持時(shí)間為 0.076 ns。
![](https://file1.elecfans.com/web2/M00/8C/3E/wKgaomSn3uSAJ7RxAAFqgXN8qUA977.jpg)
您可使用以下 Tcl 命令來(lái)計(jì)算 CLKOUT3 的相移,以解決此保持時(shí)間問(wèn)題,然后對(duì)該路徑進(jìn)行定時(shí):
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 命令來(lái)計(jì)算 CLKOUT3 的新相移,以解決此建立時(shí)間違例,然后對(duì)該路徑進(jìn)行定時(shí):
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 有多個(gè)實(shí)例(如有其它 IP 使用此 Wizard,例如 SGMII,那也計(jì)算在內(nèi)),那么在某些情況下,此 Tcl 腳本可以解決 PHY_RDEN 上的保持時(shí)間問(wèn)題,但會(huì)在 PHY_WREN 路徑上引發(fā)建立時(shí)間問(wèn)題。
2022.2 版及更低版本的 Advanced IO Wizard 默認(rèn)在 PHY_WREN 路徑上不使用 BLI 寄存器。如果使用該腳本解決保持時(shí)間問(wèn)題導(dǎo)致 PHY_WREN 出現(xiàn)建立時(shí)間問(wèn)題,請(qǐng)為 PHY_WREN 設(shè)置 BLI = TRUE,這樣即可幫助解決此問(wèn)題。
在 XDC 文件中應(yīng)用下列約束,然后重新運(yùn)行實(shí)現(xiàn)。
set_property BLI TRUE [get_cells -hierarchical phy_wren_bli_temp_*]
審核編輯:湯梓紅
-
接口
+關(guān)注
關(guān)注
33文章
8650瀏覽量
151409 -
pll
+關(guān)注
關(guān)注
6文章
777瀏覽量
135206 -
時(shí)序
+關(guān)注
關(guān)注
5文章
389瀏覽量
37357 -
Versal
+關(guān)注
關(guān)注
1文章
160瀏覽量
7677
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
進(jìn)行RTL代碼設(shè)計(jì)需要考慮時(shí)序收斂的問(wèn)題
![進(jìn)行RTL代碼設(shè)計(jì)需要考慮<b class='flag-5'>時(shí)序</b><b class='flag-5'>收斂</b>的問(wèn)題](https://file.elecfans.com/web1/M00/C7/DC/o4YBAF9t-ByAL_xhAAAO8kuVqWE143.png)
UltraFast設(shè)計(jì)方法時(shí)序收斂快捷參考指南
![UltraFast設(shè)計(jì)方法<b class='flag-5'>時(shí)序</b><b class='flag-5'>收斂</b>快捷參考指南](https://file.elecfans.com/web2/M00/1B/84/pYYBAGGE2wiAcruZAAANWGykQVk985.png)
FPGA的IO口時(shí)序約束分析
記錄一次時(shí)序收斂的過(guò)程
![記錄一次<b class='flag-5'>時(shí)序</b><b class='flag-5'>收斂</b>的過(guò)程](https://file1.elecfans.com/web2/M00/B0/DE/wKgZomVYeF6AH64_AAAKq2ORAio736.png)
FPGA時(shí)序收斂學(xué)習(xí)報(bào)告
基于MCMM技術(shù)IC時(shí)序收斂的快速實(shí)現(xiàn)
![基于MCMM技術(shù)IC<b class='flag-5'>時(shí)序</b><b class='flag-5'>收斂</b>的快速實(shí)現(xiàn)](https://file.elecfans.com/web2/M00/4A/18/pYYBAGKhvJeASublAAAxvxIKqBo633.png)
FPGA設(shè)計(jì)的“三個(gè)代表”:Ultrafastdesign methodology
![FPGA設(shè)計(jì)的“三個(gè)代表”:Ultrafastdesign methodology](https://file.elecfans.com/web1/M00/55/B9/pIYBAFsy9QKAKMKeAAA3slxVQmk069.png)
FPGA中IO口的時(shí)序分析詳細(xì)說(shuō)明
![FPGA中<b class='flag-5'>IO</b>口的<b class='flag-5'>時(shí)序</b>分析詳細(xì)說(shuō)明](https://file.elecfans.com/web1/M00/DA/28/o4YBAF_-u0CAYaKtAAEwBToVPTQ307.png)
從已布線設(shè)計(jì)中提取模塊用于評(píng)估時(shí)序收斂就緒狀態(tài)
![從已布線設(shè)計(jì)中提取模塊用于評(píng)估<b class='flag-5'>時(shí)序</b><b class='flag-5'>收斂</b>就緒狀態(tài)](https://file.elecfans.com/web2/M00/1F/6A/pYYBAGGYH0-APO5TAAMTjnLKXNQ333.png)
UltraFast設(shè)計(jì)方法時(shí)序收斂快捷參考指南(UG1292)
![UltraFast設(shè)計(jì)方法<b class='flag-5'>時(shí)序</b><b class='flag-5'>收斂</b>快捷參考指南(UG1292)](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
使用IO-link主幀處理程序?qū)崿F(xiàn)靈活的時(shí)序配置
![使用<b class='flag-5'>IO</b>-link主幀處理程序?qū)崿F(xiàn)靈活的<b class='flag-5'>時(shí)序</b><b class='flag-5'>配置</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評(píng)論