vivado中design with ip相比于ise感觉还是改进了。
首先我们简单介绍一下vivado中design with ip的设计过程:
(1)打开IP Catlog定制自己的IP设计,比如这里我们选择Standard Bus Interface-PCI Express-7 Series Integrated Block for PCIE,然后右键Customize IP,就会出现一个定制IP的界面:
我们根据需要配置就行,接着我们就要产生对应IP的输出文件了,这里输出文件这有很多值得注意的地方。
首先,选择是否Using Core Container,这个设置是在Tool-Project Settings-IP里,Core Container作用是把IP生成的各种文件打包成一个文件存储,等到使用使用IP模块的时候再从.xcix中解析出来就行;如果不使用Core Container,那么最后IP的输出文件各个独立出来,存储也是分开存储。但是不论是不是用Core Container,vivado工程中显示的IP核的结构都是没有什么区别的:
然后,就是生成IP输出文件注意的地方,是选择Global还是Out of context per IP:
vivado默认是第二种,Out of context per IP是指让vivado在综合的时候对IP进行单独综合,生成.dcp文件,然后再工程要用到IP的时候,只需从.dcp文件中解析出对应IP的网表文件即可,而不需对IP进行重新综合,这样的方式可以加快综合的速度;而Gobal选择则是每次工程综合的时候,IP核都会和工程一起综合,这样综合的时间就很长,而且Global选项不会产生.dcp文件,因为工程综合的时候是对IP核的源码进行综合的。
(2)把IP加到自己的工程中,这里假设综合是采用Out of context per IP进行,如果要把IP和加到自己工程中,我们就需要IP核的顶层设计模块,而由于采用Out of context per IP的时候只会输出包含网表的.dcp文件,所以工程用到IP的时候是不会直接调用源码模块的。而是会调用一个*stub.v的Black Box模块,这个模块值包含IP和顶层模块的输入输出定义,工程表面上是调用这个模块,实际上是解析.dcp文件中的网表,这样工程就可以进行综合了。
以上就是design with IP的大致的过程,关于design with IP的仿真,这里暂且不说,以后会总结。
原文地址:https://www.cnblogs.com/tubujia/p/9246102.html