本节文章参考的代买为xilinx github上vitis 的事例工程,主要是讲解如何写用户自己的rtl kernel,具体参考链接如下:
话不多说,直接上顶层的rtl代码。
本节事例是针对如下的kernel形式
对外接口主要分为时钟,复位,axi_lite口,和axi_master口,这是最简单的rtl kernel形式,其中左边的部分对时钟部分可以扩张,具体为多时钟的kernel,右边也可以具有多个axi_master接口。
时钟和复位:
input wire ap_clk,//建议直接按照此方式命名自己的kernel时钟和复位
input wire ap_rst_n,
axi_lite口:
// AXI4-Lite slave interface
input wire s_axi_control_AWVALID,
output wire s_axi_control_AWREADY,
input wire [C_S_AXI_CONTROL_ADDR_WIDTH-1:0] s_axi_control_AWADDR,
input wire s_axi_control_WVALID,
output wire s_axi_control_WREADY,
input wire [C_S_AXI_CONTROL_DATA_WIDTH-1:0] s_axi_control_WDATA,
input wire [C_S_AXI_CONTROL_DATA_WIDTH/8-1:0] s_axi_control_WSTRB,
input wire s_axi_control_ARVALID,
output