前言
在本节中,将学习如何使用 System Generator 实现 AXI 接口。将以 IP 目录格式保存设计,并在 Vivado IP Integrator 环境中使用生成的 IP。然后,还将看到 IP Integrator 在使用 AXI 接口时如何通过提供连接辅助来提高我们的工作效率。
一、目标
完成本实验后,你将能够:
- 在你的设计中实现 AXI 接口
- 将你的设计作为 IP 添加到 Vivado IP 目录中
- 连接你的设计在 IP 集成器
二、步骤
这个练习有四个主要部分:
- 在第 1 步中,将回顾如何使用 System Generator 实现 AXI 接口
- 在第 2 步中,将为 System Generator IP 创建一个 Vivado 项目
- 在步骤 3 中,将使用 System Generator IP 在 IP Integrator 中创建一个设计
- 在步骤 4 中,将实现设计并生成 FPGA 比特流(用于对 FPGA 编程的文件)
1、检查 AXI 接口
在这一步中,我们将回顾如何定义和创建 AXI 接口
①、启动 System Generator 并打开 Simulink 将 Lab5\Lab5_1.slx 打开,如下图所示。这将打开如下图所示的设计。
这个复杂很多,是一个 DES 算法,用于数据加密/解密,由于本次设计只是为了使用 System Generator 实现 AXI 接口,并将涉及到出到 Vivado IP 的目录下以及在 Vivado 的工程中进行 IP 的使用,所以就不对设计文件进行具体分析,在模型文件中的空白区域有个英文的注释,对模型进行了详细的描述。
本设计使用了多个 AXI 接口。您将很快回顾这些内容
- 使用 AXI 接口允许导出到 Vivado IP 目录的设计有效地集成到使用 IP Integrator 的更大系统中
- 导出到 IP Catalog 的设计并不要求使用 AXI 接口
本设计使用以下 AXI 接口:
- 端口 s_axis_source_* 使用 AXI4-Stream 接口。所有网关输入和输出信号都以相同的名称(s_axis_source_)作为前缀,确保它们被分组到相同的接口中。所有端口的后缀都是有效的 AXI4-Stream 接口信号名称(tready、tvalid、tlast 和 tdata)
- 类似地,对 m_axis_dout_* 端口使用了一个 axis4-stream 接口
- 剩下的端口使用了一个 AXI4-Lite 接口。你可以使用以下步骤进行确认
双击 Gateway In 的实例,decrypt(或者是其他的 reset,Keys[63:32],Keys[31:0] 以及 parity_err),在属性编辑界面选择 Implementation 这一项,Interface 选项设定的是否为 AXI4-Lite,依次将讲到的所有 Gate 实例都检查一遍,确保接口选择的是 AXI4-Lite。举例如下
点击 OK 保存并关闭
2、使用 System Generator IP 创建一个 Vivado 项目
在此步骤中,你将创建一个用于创建硬件设计的 Vivado 项目
①、双击 System Generator 令牌以打开 Properties Editor,在属性编辑器中,确保为编译类型选择了 IP Catalog,单击 Generate 以 IP Catalog 格式生成设计
②、单击 OK 以关闭编译状态对话框
该设计以 IP Catalog 格式写入到 D:/Project/SystemGenerator_Prj/Lab5_1 目录中。现在,将把该 IP 导入到 Vivado IP Catalog 中,并在现有的示例项目中使用该 IP
③、开始创建 Vivado 工程
<1>、打开 Vivado 2017.4,打开后,点击 Create Project 创建新工程
<2>、点击 Next,将工程路径设置为刚刚 System Generaotr 导出文件对应的 D:/Project/SystemGenerator_Prj/Lab5_1 对应的目录路径,工程名字可默认,也可自行定义
<3>、点击 Next,选 RTL Project,把 Do not… 这个勾选上,然后 Next
<4>、我这里选择我手头的一块 FPGA 板子,相关参数如下:
<5>、点击 Next,然后检查下总结,无误后点击 Finish。
System Generator学习——使用 AXI 接口和 IP 集成器(二)https://developer.aliyun.com/article/1472318