xilinx gt ip 位置约束
覆蓋xilinx ip自動生成位置約束最好的辦法不是disable掉ip的位置xdc,而是使用優先級更高的約束去自動覆蓋:(位置約束覆蓋這個概念在xdc尤其對于gt的ip是非常有效的)
如果使用具體的pin腳位代LOC命令那么,怎么快速找到對應的位置呢?
一種方法可以使用get_package_pins命令通過PIN_FUNC來查找,因為PIN_FUNC是有規律的:
在配合tcl腳本可以簡化需要的約束描述。
? 在log查看執行結果:
第二種方法就是打開手動disable掉xdc的文件實現后的工程,使用write_xdc命令生成當前的所有約束,然后手動提取需要位置約束,替換掉原來的即可。
?
?? 在使用pcie ip時有時候因為硬件布線問題我們需要交換lane序(pcie自動交換lane序列的功能比較弱,一般只能按一個順序交換),此時會遇到這篇文章提到的問題:
位置覆蓋:相比于手動禁止xdc這種方法是流程標準化的,也是xilinx默認推薦的:
(pcie ip工程默認生成的是反序,lane0-3實際對應loc3-0;除非手動調整,但一般情況下這個順序沒有影響)
?對于gt的參考時鐘也是一樣(里面具體的約束位置隨xdc而自動交換):
?
?可以看到每個GT有兩個ref輸入源頭,同時每個源頭都可以送到QPLL0或1,如圖中所示。即使用戶將ref1的loc xdc約束到0,并不會報錯甚至不是warining(此處存疑,有的情況可能還是有,多次例化的同一IP,只列化一次可以無縫覆蓋·),而是會自動交換:
?雖然手冊給出的最終實際選用的時鐘源來自refsel的值:
實際測試的結論是此處并不影響默認選擇的時鐘源仍然由XDC決定,最終的bit仍然可以正常工作。(這部分xilinx描述不是很清楚,沒有詳細的說明)通過drp接口修改REFSEL可以動態切換需要的時鐘源,但初始靜態的REFSEL似乎沒有效果。這樣做的效果就是用戶只需要修改XDC中的約束,而不需要修改對應的代碼就可以切換需要的時鐘源是ref0還是ref1。(說明refsel在進行仿真時是有效的,需要和實際時鐘源輸入位置對應)
另一種思路最終效果為成功:
補充disable還是需要,最終選擇在生成工程的tcl中添加:先執行ip生成
?否則critical warining還是會有。不糾結了,就這樣吧,,,,
總結
以上是生活随笔為你收集整理的xilinx gt ip 位置约束的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: STM32(一)STM32简介
- 下一篇: 河北职高计算机专业高考分数线,河北职高对