RTL 类型的内核工程 - 2022.1 简体中文

Vitis 统一软件平台文档 应用加速开发 (UG1393)

Document ID
UG1393
Release Date
2022-05-25
Version
2022.1 简体中文

RTL 类型的内核可以提供顶层 Verilog 设计,此设计由控制寄存器和 Vadd 子模块设计示例组成。下图显示了配置有 2 个 AXI4 主接口的顶层设计。如果修改了控制寄存器模块以确保它仍与位于 Vivado 内核工程的导入目录中的 kernel.xml 文件保持一致,则应该谨慎处理。此块示例可替换为您的定制逻辑,或者用作为设计的起点。

图 1. 内核类型 RTL 顶层

下图所示的 Vadd 块示例由简单的加法器函数、1 个 AXI4 读取主接口和 1 个 AXI4 写入主接口组成。每个已定义的 AXI4 接口都有一个独立的加法器代码示例。每个接口的第一个关联实参用作示例的数据指针。每个示例读取 16 KB 数据,执行 32 位加 1 操作,然后将 16 KB 数据写回原位(读写地址相同)。

图 2. 内核类型 RTL 示例

下表描述了 IP 工程示例内的部分重要文件,这些文件与内核的 Vivado 工程根目录有关,其中 <kernel_name> 是您在“RTL Kernel”Wizard 中指定的内核名称。

表 1. “RTL Kernel”Wizard 的源文件和测试激励文件
文件名 描述 随内核类型提供
<kernel_name>_ex.xpr Vivado 工程文件 全部
imports 目录
<kernel_name>.v 内核顶层模块 全部
<kernel_name>_control_s_axi.v RTL 控制寄存器模块 RTL
<kernel_name>_example.sv RTL 块示例 RTL
<kernel_name>_example_vadd.sv RTL AXI4 矢量加法块示例 RTL
<kernel_name>_example_axi_read_master.sv RTL AXI4 读取主接口示例 RTL
<kernel_name>_example_axi_write_master.sv RTL AXI4 写入主接口示例 RTL
<kernel_name>_example_adder.sv RTL AXI4-Stream 加法器块示例 RTL
<kernel_name>_example_counter.sv RTL 计数器示例 RTL
<kernel_name>_exdes_tb_basic.sv 仿真测试激励文件 全部
<kernel_name>_cmodel.cpp 用于软件仿真的软件 C 语言模型示例。 全部
<kernel_name>_ooc.xdc 非关联赛灵思约束文件 全部
<kernel_name>_user.xdc 用于内核用户约束的赛灵思约束文件。 全部
kernel.xml 内核描述文件 全部
package_kernel.tcl 内核封装脚本 proc 定义 全部
post_synth_impl.tcl Tcl 实现后文件 全部
exports 目录
src/host_example.cpp 主机代码实例 全部
makefile makefile 示例 全部