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核

首先,将第一部分的代码添加到工程中
ZedBoard+Vivado(四)——源文件自定义IP核及调用_第1张图片
接下来,Tools->Create and Package New IP
ZedBoard+Vivado(四)——源文件自定义IP核及调用_第2张图片
直接Next,这里注意选择Package your current project,用当前工程来创建IP核,Next
ZedBoard+Vivado(四)——源文件自定义IP核及调用_第3张图片
这一步直接Next
ZedBoard+Vivado(四)——源文件自定义IP核及调用_第4张图片
Finish后,IP核就已创建完成,接下来可以修改或查看IP核相关信息
ZedBoard+Vivado(四)——源文件自定义IP核及调用_第5张图片

2.3 修改或查看IP核

在如下面板中

  • Identification 包含IP核名称、版本等基本信息
  • Compatibility 指定与IP核兼容的芯片或开发板
  • File Groups 包含该IP核创建的源文件、仿真文件
  • Customization Parameter 显示在IP核源文件中使用的参数
  • Ports and Interfaces 该IP核的端口和接口信息
  • Addressing and Memory 地址和存储
  • Customization GUI 该IP核的GUI

ZedBoard+Vivado(四)——源文件自定义IP核及调用_第6张图片
在Customization Parameter可以看见WIDTH参数,这是在源文件中定义的,在这里可以进一步修改和完善,双击WIDTH
ZedBoard+Vivado(四)——源文件自定义IP核及调用_第7张图片
勾选Specify Range,将Type改为Range of integers,最小值0,最大值31,并将默认值改为7,点OK
ZedBoard+Vivado(四)——源文件自定义IP核及调用_第8张图片
最后在Review and Package下点击Package IP
ZedBoard+Vivado(四)——源文件自定义IP核及调用_第9张图片
Vivado会提示package成功
ZedBoard+Vivado(四)——源文件自定义IP核及调用_第10张图片

2.4 调用IP

在该工程中就可以将该IP核添加到IP integrator的Diagram里面
ZedBoard+Vivado(四)——源文件自定义IP核及调用_第11张图片
双击该IP核,便可以看到Width参数默认值和范围
ZedBoard+Vivado(四)——源文件自定义IP核及调用_第12张图片
那么其他工程如何调用该IP核呢?可以从工程文件中将该IP核复制到IP核目录里
一般是vivado2018\project_4\project_4.srcs\sources_1\new
ZedBoard+Vivado(四)——源文件自定义IP核及调用_第13张图片
将new目录复制到IP核目录就可以了,可以将new改为其他名字以便使用。

你可能感兴趣的:(嵌入式)