感慨于各大论坛里关于vivado的一些冷门功能使用技巧十分匮乏,我决定慢慢更新一些自己经历项目实战后的使用心得,仅作抛砖引玉。
第一篇来介绍下开发完毕后以IP核形式打包工程文件的一些操作。
可能很多人是以纯verilog代码+IP核xci文件的形式开发的,这样移植起来确实算是很方便,但是一旦这个工程文件离开你的电脑,你经常会遇到一些问题:
1、大多数情况下是某些文件缺失,只要在add source里重新添加即可。
2、verilog顶层文件调用的子IP核被锁住,右键upgrade后可以解锁,IP恢复为橙色。
3、综合失败,提示需要在tcl中输入指令来解锁,一般输入相应的操作后就好了,IP会变成白色。
4、verilog里调用带ip的verilog文件,又层层套娃,一般会提示你需要把某些ip移到外边,在source窗口右键有这个选项。
这种程序移植的方式当然是没有问题的,硬说有什么缺点在于你几乎需要复制整个工程路径到新的工程,包含大量的冗余文件,要知道某些地方只能用光驱的(笑。并且,因为一些操作不当和vivado的bug,绝大多数情况下是无法直接使用的,你不得不按照以上4条逐步操作一下(其实问题不大)。
因此我推荐使用IP核形式来打包你的工程,优点很多,使用方便,文件很小,打包速度也很快。最重要的一点,封装成IP核并不意味着不能再修改这套代码了,打包的IP核src文件夹里包含了你这套工程一切的verilog和xci文件,只需要在新工程里添加这个文件夹就好了。