vivado生成IP核及使用

利用vivado生成一个IP
1.    新建一个工程(注意:要保证所选FPGA型号正确)
 vivado生成IP核及使用
2.    添加要封装成IP的文件
  vivado生成IP核及使用vivado生成IP核及使用

3.    将代码进行综合
 vivado生成IP核及使用
4.    综合完成后,选择ToolsCreate and Packge New IP
 vivado生成IP核及使用
5.    选择后,会弹出如下界面,单击Next
 vivado生成IP核及使用
6.    选择Packge your current project,Next
 vivado生成IP核及使用
7.    选择生成IP保存的路径和是否要包含代码中使用的IP的源码,例子中没有使用Xilinx的官方IP,这里选择的默认包含.xci文件,Next(选择保存IP的路径最好是单独创建一个文件夹,方便移植使用)
 vivado生成IP核及使用
8.    选择OK
 vivado生成IP核及使用
9.    Finish
 vivado生成IP核及使用
10.    等待
 vivado生成IP核及使用
11.    弹出如下界面
 vivado生成IP核及使用
12.    找到Ports and Interface,选中时钟信号,右键唤出菜单,然后选择Auto Infer Single Bit Interface  Clock,这一步的目的是赋予端口属性,因为在block design中会用到。
 

vivado生成IP核及使用

vivado生成IP核及使用

 
13.    同样的操作,将复位信号也赋予属性
 

vivado生成IP核及使用

vivado生成IP核及使用

 
14.    生成中断信号,选择需要作为中断的信号,选择Auto Infer Single Bit Interface  Interrupt
 

vivado生成IP核及使用

vivado生成IP核及使用

 

15.    中断信号生成后,可以通过右键中断信号,选择Edit Interface对中断信号进行定义
 vivado生成IP核及使用
可以定义中断触发的形式:LEVEL_HIGH(高电平), LEVEL_LOW(低电平), EDGE_RISING(上升沿), EDGE_FALLING(下降沿)
 vivado生成IP核及使用
16.    给总线约束时钟
 vivado生成IP核及使用
 vivado生成IP核及使用
17.    在Addressing  and Memery  中,右击,选择IP Addressing and Memery Wizard
 vivado生成IP核及使用
 vivado生成IP核及使用
 vivado生成IP核及使用
18.    选择一个信号,Next
 vivado生成IP核及使用
Next
 vivado生成IP核及使用
Finish
  vivado生成IP核及使用

vivado生成IP核及使用

19.    重复上述第18步
 vivado生成IP核及使用
 vivado生成IP核及使用
20.    打包IP
 vivado生成IP核及使用

vivado生成IP核及使用

以上是一个IP生成的完整步骤,之后,就可以在block design或其他工程中使用了。

生成IP的使用
1.    在工程中选择ToolsProject Settings
 vivado生成IP核及使用
2.    将我们生成的IP添加到工程中
vivado生成IP核及使用 

vivado生成IP核及使用
 vivado生成IP核及使用
列表中出现我们生成的IP后,Apply -->OK

vivado生成IP核及使用

之后,就可以在IP中搜索到我们添加的IP了
vivado生成IP核及使用

Block design 中使用生成的IP
创建一个Block design
 vivado生成IP核及使用
添加IP
 vivado生成IP核及使用
添加我们生成的IP
 vivado生成IP核及使用

vivado生成IP核及使用

选择我们之前定义的中断信号,可以看到信号的类型为intr,说明我们定义的中断信号是正确的,在导出SDK生成PL的设备树时,如果连接中断的信号类型不对,那么在设备树中就会没有中断的信息
vivado生成IP核及使用