System Generator学习——使用 AXI 接口和 IP 集成器


前言

在本节中,将学习如何使用 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。
在这里插入图片描述

3、创建 IP 集成设计(IPI)

在这一步中,将使用 System Generator IP 创建一个设计
①、单击 “Create Block Design” 窗格中的“创建块设计”
在这里插入图片描述

②、在 “Create Block Design” 对话框中,单击 “确定” 接受默认名称。你将首先为 System Generator IP 创建一个 IP 存储库,并将 IP 添加到存储库中,点击 OK
在这里插入图片描述

③、右键单击 Diagram 窗口并选择 IP Settings
在这里插入图片描述

④、在 Settings 的界面下,依次找到 Project Settings -> IP -> Repository,然后在右边点击 “+”,添加相关的 IP 文件到存储库中
在这里插入图片描述

⑤、然后在弹出的文件选择界面,找到通过 System Generator 生成的 IP 文件,本设计的路径:D:\Project\SystemGenerator_Prj\Lab5_1\ip,选好 ip 后点击Select,然后再弹出的 Add Repository 对话框点 OK
在这里插入图片描述
这时候的 IP Repositories 界面就多了一项,点击 OK 保存并关闭
在这里插入图片描述

⑥、Diagram 界面中的中间有个 “+”,单击界面的“+”,然后再弹出的对话框,搜索 zynq,然后双击 ZYNQ7 Processing System,将其添加到设计中
在这里插入图片描述

⑦、添加成功后,点击 Diagram 下的 Run Block Automation
在这里插入图片描述
在出现的界面,确保 option 下的 Apply Board Preset 是选择的,然后保持默认配置,点击 OK
在这里插入图片描述

⑧、回到 Diagram 界面,在空白处右键单击,然后选择 Add IP
在这里插入图片描述
在对话框中输入 System Generaor 设计的文件名,本设计的名字为 Lab5_1,双击 Lab5_1
在这里插入图片描述

⑨、接下来就需要将 IP 连接到设计的其余部分,当使用 AXI 接口的时候,Vivado IP Integrator 提供了自动连接的功能,在 Diagram 的空白部分点一下,确保没选中 AXI 模块,然后点击 Run Connection Automation
在这里插入图片描述
在出现的对话框保持默认状态,然后按 OK 继续
在这里插入图片描述
等待一下会儿,连线完成,结果如下
在这里插入图片描述

⑩、双击 ZYNQ7 Processing System 以自定义 IP,在出现的界面点击 PS-PL Configuration,展开 HP Slave AXI Interface 然后选择 S AXI HP0 interface,将框框勾上,如下
在这里插入图片描述
点击 OK,将此端口添加到 ZYNQ7 Processing System
在这里插入图片描述

⑪、找到 AXI 模块的输入接口,s_axis_source,然后用鼠标拖到 processing_system7_0 的 S_AXI_HP0 接口,然后会出现绿色的勾
在这里插入图片描述
松开鼠标,弹出的对话框,直接点击 OK,让其自动连接
在这里插入图片描述
然后继续点击上方的 Run Connection Automation,出现的界面保持默认配置,点击 OK,使得其余的线连接完成,连接后的结果如下:
在这里插入图片描述

⑫、在 Diagram 的下方有个 Validate Design 的工具,使用它来进行设计的检查,确保无误
在这里插入图片描述
单击该按键,等待一会儿,出现检查结果,说明此时无误
在这里插入图片描述

点击 OK 关闭,此时已经相当于 System Generator 的设计已经成功的导入 IP Integrator 的设计中,存储库的 IP 可以在任何 Vivado 的项目中进行使用,只需要将存储库添加到项目中即可。

接下来将完成设计的最后一步,运行设计生成比特流数据。

4、实现设计

在这一步中,您将实现 IPI 设计并生成比特流
①、在 Flow Navigator 的界面下,点击 Project Manager,使其返回到工程管理的界面
在这里插入图片描述

②、Sources 的菜单下,对 Design Sources 下的设计即 design_1 右击,并单击 Generate Output Products
在这里插入图片描述

③、在 Generate Output Products 的对话框下,点击 Generate 开始启动以生成必要源文件的过程
在这里插入图片描述

④、等待生成完成后,再一次右击 design_1,选择 Create HDL Wrapper
在这里插入图片描述

⑤、保持默认的 Let Vivado manage wrapper and auto-update,然后点击 OK 退出窗口
在这里插入图片描述

⑥、这时候的 Design Sources 的源文件已经变成了 design_1_wrapper.v,这时的文件已经可以被用于综合,实现以及生成 FPGA下 载所需的比特流数据。
在这里插入图片描述

⑦、在 Flow Navigator 菜单下,点击 Generate Bitstream,用以启动其余部分
在这里插入图片描述
在弹出的界面点击 Yes,继续运行
在这里插入图片描述
出现 Launch Runs 的对话框,按 OK 开始运行
在这里插入图片描述

⑧、等待编译完成后,在出现的对话框中,选择 Open Implemented Design 并且点击 OK
在这里插入图片描述
⑨、观察此时已实现的设计,设计最后一步也到此结束,可以关闭 Vivado 了。
在这里插入图片描述


总结

在本实验中,你了解了如何将 AXI 接口添加到 System Generator 设计中,以及如何将 System Generator 设计保存为 IP Catalog 格式,合并到 Vivado IP Catalog 中,并在更大的设计中使用。还看到了在设计中使用 AXI 接口时, IP Integrator 如何通过连接自动化和提示大大提高生产率。


我的qq:2442391036,欢迎交流!


  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Matlab 是一种强大的数学计算软件,而 Xilinx FPGA 系统生成器System Generator)是一种能够在 FPGA 中实现数字信号处理(DSP)和通信系统的工具。结合使用这两个工具,我们可以实现数字调制的仿真。 数字调制是将数字信号转换为模拟信号或其他数字信号的过程。在仿真中,我们可以通过 Matlab 中的信号处理工具箱来生成不同类型的数字调制信号,并使用 System Generator 将这些信号加载到 FPGA 中进行仿真和验证。 首先,我们需要在 Matlab 环境中编写代码来生成数字调制信号。例如,我们可以使用波形生成器来生成基带信号,然后将其转换为调制信号。在 Matlab 中,我们可以编写生成调制信号的代码,并使用适当的工具箱函数将其转换为 FPGA 可接受的格式。 然后,我们可以使用 Matlab 中的 FPGA 支持软件来生成对应的 System Generator 模块。System Generator 具有可视化界面,可以通过图形化的方式来实现 FPGA 的逻辑设计。我们可以选择适当的模块和连接它们,以实现数字调制的功能。 System Generator 提供了一个 FPGA 的模型库,其中包括了各种数字信号处理和通信系统的模块。我们可以从这个库中选择合适的模块,包括调制器和解调器等,来构建完整的数字调制系统。 一旦完成系统设计,我们可以使用 Matlba 中的仿真工具对设计进行验证。我们可以使用 System Generator 提供的仿真工具对 FPGA 中的设计进行仿真。在仿真过程中,我们可以观察数字调制系统的性能,如误码率、频谱等,并根据需要进行调整和优化。 总而言之,通过使用 Matlab 和 Xilinx FPGA 系统生成器,我们可以实现数字调制的仿真。这使得我们可以在 FPGA 中验证和优化数字调制系统的设计,从而得到更好的系统性能。 ### 回答2: Matlab是一种功能强大的数学建模与仿真软件,通过使用Xilinx FPGA系统生成器System Generator,可以实现数字调制的仿真。 数字调制是将数字信号转换为模拟或数字信号的过程。它在通信系统中起着至关重要的作用,用于将信息传输到接收端。通过实现数字调制仿真,可以评估不同调制方案的性能,并进行系统优化和设计。 在Matlab中,可以使用Xilinx FPGA系统生成器System Generator工具箱来实现数字调制仿真。System Generator是一种基于模型的设计环境,可以将数学模型转换为硬件描述,从而进行FPGA系统的设计和仿真。 通过System Generator,在Matlab中可以使用图形化界面来设计数字调制系统。可以选择不同的调制算法和参数,配置调制器和解调器的结构,并设置信号的采样频率和位宽等参数。系统生成器还可以根据这些参数生成相应的硬件描述,从而实现数字调制的仿真。 在仿真过程中,可以通过观察输出信号的波形、频谱和误码率等指标,来评估系统的性能。可以通过修改模型参数或调整调制方案,进行系统的优化。同时,System Generator还提供了其他功能,如验证器、交互式测试台和调试工具,可以帮助用户更好地进行仿真和优化。 综上所述,通过Matlab和Xilinx FPGA系统生成器System Generator,可以方便地实现数字调制的仿真。这种方法可以帮助用户进行系统设计和优化,并评估不同调制方案的性能。 ### 回答3: 在数字通信领域中,数字调制是将模拟信号转换为数字信号的过程,常用于无线通信、移动通信以及数据传输等应用中。MATLAB是一种常用的科学计算和仿真软件,而Xilinx FPGA系统生成器System Generator)是一种用于设计、实现和验证数字信号处理系统的软硬件协同开发工具。 使用MATLAB和Xilinx FPGA系统生成器可以实现数字调制的仿真。首先,在MATLAB环境中编写数字调制的算法或者导入已有的算法模型。然后,使用Xilinx FPGA系统生成器将算法模型转换为VHDL或Verilog代码,并对应配置FPGA芯片上的逻辑资源。随后,将生成的代码下载到FPGA芯片上进行硬件执行。最后,使用MATLAB进行仿真,可以对数字调制的性能进行评估和优化。 在整个过程中,MATLAB提供了丰富的信号处理和仿真函数,可以用于数字调制算法的开发和测试。而Xilinx FPGA系统生成器则提供了直观的图形界面,可以在不具备硬件开发经验的情况下进行FPGA芯片的配置和设计。通过这种软硬件协同开发的方式,可以快速构建数字调制系统,并在硬件平台上进行实时仿真和测试。 总之,MATLAB和Xilinx FPGA系统生成器的结合,为数字调制的仿真和实现提供了便捷的工具和方法。通过使用这两个工具,可以快速开发和优化数字调制算法,并将其部署到FPGA芯片上进行实时执行。这种集成开发环境能够加快数字调制系统的设计和验证过程,提高系统性能和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

须尽欢~~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值