Vivado中如何修改IP源文件

前一篇文章是通过改变JESD204B IP的设置,在Shared Logic里勾选in example design,来避免共用输入时钟的问题。那么还有没有别的办法呢?有没有更直接点的实现方式呢?

答案是肯定的:可以直接修改IP,将IBUFDS从IP里移出去,放到外面就可以共用了。修改IP是一个比较复杂的办法,需要谨慎使用!参考手册UG896,有中文版,如下是相关内容的截图。

Vivado中如何修改IP源文件_第1张图片

 另外可以参考如下路径的描述:

57546 - Vivado IP Flows - How to modify/edit IP core source files in Vivado? (xilinx.com)


具体实现步骤如下:

1、在Block Design搞完之后,Generate Output Products里要选Out of Context per IP,而不要选Out of Context per Block Design,否则后面会报错,这个问题搞了我很久。

Vivado中如何修改IP源文件_第2张图片

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上有个红色的小锁就说明设置成功了。 

Vivado中如何修改IP源文件_第3张图片Vivado中如何修改IP源文件_第4张图片

 3、修改IP源文件:用Notepad++或者其它的文本编辑器打开如上右图verilog文件,做如下图更改:就是把IBUFDS和BUFG注释掉,然后移到IP外面。

Vivado中如何修改IP源文件_第5张图片

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是否已经综合成功。

Vivado中如何修改IP源文件_第6张图片

 8、修改上层的例化文件,将IBUFDS移到IP外面,如下图所示:

Vivado中如何修改IP源文件_第7张图片

 9、最后按正常流程编译工程即可。

 

你可能感兴趣的:(vivado,技巧,fpga开发)