hu_li

Vivado中IP的使用方法

0
阅读(138) 评论(0)

1、ISE和Vivado中IP核生成的区别即对应关系:

1.png

        其中.ngc文件为可综合文件,ucf为约束文件。对于IP的仿真,在ISE下要调用XilinxCoreLib这个仿真库,而在Vivado中,生成IP的过程会生成仿真要用到的文件。

2、在Vivado中调用IP会生成的文件

2.png

    1)实例化的模板,即在自己工程中需要实例化该IP时的模板。Verilog语言的.veo,VHDL语言的.vho。

    2)综合的网表文件.dcp

    3)行为级的仿真文件。.v或者.vhdl,还有可能生成Testbench。

    4)有的IP会生成例子工程,会创建一个以该IP为顶层的工程,帮助我们对IP进行独立的仿真分析。

3、使用IP的方式

3.png

        一种是使用manage IP 的方式,创建IP的工程;另一种是在当前工程中定制IP。这两种方式都可以采用ooc(out of context)和globally的方式来进行综合。其中OOC会首先对IP进行综合,生成dcp文件;globally方式是只会生成RTL代码放到工程中,然后整个工程一起综合。

        具体使用IP时,在project_mode下,需要将.xci或者.dcp文件加到当前工程中;而Non-ProjectMode下可以通过read_ip命令将相应的IP加到工程中。

4、manage IP的方式

4.png

        如上,首先利用Manage IP以OOC独立创建一个IP工程,对该工程进行综合生成相应的dcp文件。创建综合好改IP工程后会有一个独立的文件夹来保存与该IP相关的文件。在我们自己的工程中使用该IP时再将dcp或者xci文件加入到工程中即可。具体在加入文件时为了避免查找文件的繁琐,我们可以调用Tcl命令来快速完成。因此,在Vivado中,每一个IP都有自己独立的文件夹。

5、在工程中定制IP的方式

        如下,我们在自己工程中点击IP catalog,定制我们自己的IP。然后在工程中进行实例化。在定制时选择生成dcp文件,就是OOC的综合方式。

5.png

6、关于IP的约束文件xdc

6.png

        如上,Vivado会针对每个IP生成一个xdc约束文件,而且默认情况下是只读并应用到综合和实现中,不需要用户做额外的操作。如果想要知道IP生成的约束文件和用户自定义的约束文件的优先级(执行顺序)可以用相应的Tcl命令。

7、关于IP的例子工程

7.png

 

8、第三方综合工具利用IP的流程

8.png

9、VIvado的以IP为核心的设计方式

9.png