Vivado 封装IP核调试记录
在很多vivado IP封装教程中 都是写如何一次性成功的封装一个IP。但是当我们修改了源文件后,再使用就会出现一些奇怪的问题,现记录下来。
1.端口名重导入
更改了源文件的input /output 接口定义后,在Ports and Interfaces栏中,没有同步更新端口名,即使此时点击刷新按钮(尤其是只是更改了端口名的大小写后,我一度认为是VIVADO不区分大小写,但是此时IP是可以正常封装完成的,只有在综合仿真的时候会报错:cannot find port 'xxxx' on this module 才发现端口名没有映射成功)。正确操作是右键一个端口名,点击import IP Ports,重新导入端口名。
2.IP核自动绑定时钟域和复位域。
在时钟栏,不绑定时钟的相关总线,在block design 检查时,会报时钟不匹配的错误。此时需要在IP核的时钟里绑定对应的总线。在block design里,时钟域的值的更新在点击了validate design 后会更新显示。复位信号同理