ZYNQ-7000 Vivado 自定义IP封装

软件版本:vivado 2018.01

操作系统:cent os 6.0

本文章中主要介绍在vivado中如何使用系统工具封装我们自己的IP,此例实现了将sha256_pad这个模块挂在AXI-STREAM总线上

sha256_pad定义如下:

//---------------------------------------------------------
// Module : sha256_pad
// Input: length of pkt
// Input: pkt
// Output: data after padding
//---------------------------------------------------------
// Author: zxl
// Date:   2018/8/13
// Verion: v1.0
//---------------------------------------------------------

module sha256_pad #(
	//RSV
)
(
	sys_clk,
	sys_rst,
	
	len_data_byte,
	
	data_in_valid,
	data_ori_4_byte,
	
	data_pad_valid,
	data_pad_out

);

//port define
input 					sys_clk;
input					sys_rst;

input [31:0] 			        len_data_byte;

input                                   data_in_valid;
input [31:0]			        data_ori_4_byte;
        
output reg				data_pad_valid;
output reg [511:0]		        data_pad_out;

1、新建vivado工程,tools->create and package new ip ->next

ZYNQ-7000 Vivado 自定义IP封装_第1张图片

2、 Create AXI4 Peripheral -> next

ZYNQ-7000 Vivado 自定义IP封装_第2张图片

3 、命名好自己的IP名,此处我命名为SHA256,点击next后,总线类型选为AXI STREAM, SLAVE模式,finish

ZYNQ-7000 Vivado 自定义IP封装_第3张图片

4、在IP Catalog 中检索刚才定义好的SHA256

ZYNQ-7000 Vivado 自定义IP封装_第4张图片

5、选中SHA256_V1_0 右键 Edit in IP Packager

ZYNQ-7000 Vivado 自定义IP封装_第5张图片

6、打开工程后,我们将sha256_pad.v文件通过add source添加到工程中去,此处图略。

7、查看源码,打开SHA256_v1_0_S00_AXIS.v文件,在端口定义处添加自己的端口定义,如图:

ZYNQ-7000 Vivado 自定义IP封装_第6张图片

8、在最下方例化自己的模块,如图:

ZYNQ-7000 Vivado 自定义IP封装_第7张图片

9、其它逻辑代码也可自行修改,保存后,综合。

10、代开Package IP视图,更新所有选项使其变为绿色后,Re-Package IP

ZYNQ-7000 Vivado 自定义IP封装_第8张图片

 11、完成后,新的IP修改成功,可在工程中直接检索使用。

你可能感兴趣的:(FPGA)