前一篇文章是通過改變JESD204B IP的設置,在Shared Logic里勾選in example design,來避免共用輸入時鐘的問題。那么還有沒有別的辦法呢?有沒有更直接點的實現(xiàn)方式呢?
答案是肯定的:可以直接修改IP,將IBUFDS從IP里移出去,放到外面就可以共用了。修改IP是一個比較復雜的辦法,需要謹慎使用!參考手冊UG896,有中文版,如下是相關內容的截圖。
?另外可以參考如下路徑的描述:
57546 - Vivado IP Flows - How to modify/edit IP core source files in Vivado? (xilinx.com)
具體實現(xiàn)步驟如下:
1、在Block Design搞完之后,Generate Output Products里要選Out of Context per IP,而不要選Out of Context per Block Design,否則后面會報錯,這個問題搞了我很久。
2、?在TCL控制臺里將當前文件路徑改到IP所在路徑,然后把 這兩個IP的IS_LOCKED 屬性設為 true,TCL命令如下所示:
cd D:/saa_4ch_v0.3.4/100_syn_ip_cores/jesd204b_sys/ip/
set_property IS_LOCKED true [get_files jesd204b_sys_jesd204_0_0/jesd204b_sys_jesd204_0_0.xci]
set_property IS_LOCKED true [get_files jesd204b_sys_jesd204_0_1/jesd204b_sys_jesd204_0_1.xci]
如下左圖所示,看到IP上有個紅色的小鎖就說明設置成功了。?
?3、修改IP源文件:用Notepad++或者其它的文本編輯器打開如上右圖verilog文件,做如下圖更改:就是把IBUFDS和BUFG注釋掉,然后移到IP外面。
4、同樣的方法修改另一個jesd204 IP;
5、記得把vivado工程下的cache文件刪掉;
6、在TCL控制臺里將當前文件路徑改到synth所在路徑,然后把這兩個IP的文件復位掉,TCL命令如下所示:
cd D:/saa_4ch_v0.3.4/400_saa_u2_fpga/saa_4ch_top/phy/saa_4ch_top.runs/
reset_run jesd204b_sys_jesd204_0_0_synth_1
reset_run jesd204b_sys_jesd204_0_1_synth_1
7、重新生成文件,TCL命令如下所示:
launch_run jesd204b_sys_jesd204_0_0_synth_1
launch_run jesd204b_sys_jesd204_0_1_synth_1
確認下兩個IP是否已經綜合成功。
?8、修改上層的例化文件,將IBUFDS移到IP外面,如下圖所示:
?9、最后按正常流程編譯工程即可。
文章來源:http://www.zghlxwxcb.cn/news/detail-515666.html
?文章來源地址http://www.zghlxwxcb.cn/news/detail-515666.html
到了這里,關于Vivado中如何修改IP源文件的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!