ZedBoard+Vivado(四)——源文件自定义IP核及调用
硬件:Zedboard
软件:Vivado2018.2 + Win10
1 设计
为了将关注点集中在创建和调用IP核的过程中,IP核代码采用简单的加法器。
功能:加法器
语言:Verilog
代码
`timescale 1ns / 1ps
module Add_USR_IP #(parameter WIDTH = 1)(
input [WIDTH:0] a,
input [WIDTH:0] b,
output cout,
output [WIDTH:0] c
);
assign {cout, c} = a + b;
endmodule
2 流程
2.1 创建工程
参考ZedBoard+Vivado(一)
2.2 创建IP核
首先,将第一部分的代码添加到工程中
接下来,Tools->Create and Package New IP
直接Next,这里注意选择Package your current project,用当前工程来创建IP核,Next
这一步直接Next
Finish后,IP核就已创建完成,接下来可以修改或查看IP核相关信息
2.3 修改或查看IP核
在如下面板中
- Identification 包含IP核名称、版本等基本信息
- Compatibility 指定与IP核兼容的芯片或开发板
- File Groups 包含该IP核创建的源文件、仿真文件
- Customization Parameter 显示在IP核源文件中使用的参数
- Ports and Interfaces 该IP核的端口和接口信息
- Addressing and Memory 地址和存储
- Customization GUI 该IP核的GUI
在Customization Parameter可以看见WIDTH参数,这是在源文件中定义的,在这里可以进一步修改和完善,双击WIDTH
勾选Specify Range,将Type改为Range of integers,最小值0,最大值31,并将默认值改为7,点OK
最后在Review and Package下点击Package IP
Vivado会提示package成功
2.4 调用IP
在该工程中就可以将该IP核添加到IP integrator的Diagram里面
双击该IP核,便可以看到Width参数默认值和范围
那么其他工程如何调用该IP核呢?可以从工程文件中将该IP核复制到IP核目录里
一般是vivado2018\project_4\project_4.srcs\sources_1\new
将new目录复制到IP核目录就可以了,可以将new改为其他名字以便使用。