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

简介: 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。


System Generator学习——使用 AXI 接口和 IP 集成器(二)https://developer.aliyun.com/article/1472318

目录
相关文章
|
1月前
|
NoSQL Java Redis
SpringBoot集成Redis解决表单重复提交接口幂等(亲测可用)
SpringBoot集成Redis解决表单重复提交接口幂等(亲测可用)
355 0
|
1月前
|
存储 JSON Java
SpringBoot集成AOP实现每个接口请求参数和返回参数并记录每个接口请求时间
SpringBoot集成AOP实现每个接口请求参数和返回参数并记录每个接口请求时间
28 2
|
10天前
|
定位技术
【视频】Boosting集成学习原理与R语言提升回归树BRT预测短鳍鳗分布生态学实例-3
【视频】Boosting集成学习原理与R语言提升回归树BRT预测短鳍鳗分布生态学实例
23 3
|
10天前
|
机器学习/深度学习 缓存 算法
【视频】Boosting集成学习原理与R语言提升回归树BRT预测短鳍鳗分布生态学实例-2
【视频】Boosting集成学习原理与R语言提升回归树BRT预测短鳍鳗分布生态学实例
26 5
|
25天前
|
机器学习/深度学习 前端开发 测试技术
机器学习第10天:集成学习
机器学习第10天:集成学习
28 0
|
2天前
|
机器学习/深度学习 算法 前端开发
【Python机器学习专栏】集成学习中的Bagging与Boosting
【4月更文挑战第30天】本文介绍了集成学习中的两种主要策略:Bagging和Boosting。Bagging通过自助采样构建多个基学习器并以投票或平均法集成,降低模型方差,增强稳定性。在Python中可使用`BaggingClassifier`实现。而Boosting是串行学习,不断调整基学习器权重以优化拟合,适合弱学习器。Python中可利用`AdaBoostClassifier`等实现。示例代码展示了如何在实践中运用这两种方法。
|
2天前
|
机器学习/深度学习 算法 前端开发
【Python机器学习专栏】集成学习算法的原理与应用
【4月更文挑战第30天】集成学习通过组合多个基学习器提升预测准确性,广泛应用于分类、回归等问题。主要步骤包括生成基学习器、训练和结合预测结果。算法类型有Bagging(如随机森林)、Boosting(如AdaBoost)和Stacking。Python中可使用scikit-learn实现,如示例代码展示的随机森林分类。集成学习能降低模型方差,缓解过拟合,提高预测性能。
|
2天前
|
分布式计算 DataWorks 关系型数据库
DataWorks操作报错合集之DataWorks集成实例绑定到同一个vpc下面,也添加了RDS的IP白名单报错:数据源配置有误,请检查,该怎么处理
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
15 0
|
8天前
|
机器学习/深度学习 算法
大模型开发:描述集成学习以及它如何工作。
【4月更文挑战第24天】集成学习通过结合多个模型预测提升整体性能,减少偏差和方差。主要分为Bagging和Boosting两类。Bagging中,模型并行在数据子集上训练,如随机森林,通过投票或平均聚合预测。Boosting则顺序训练模型,聚焦纠正前一个模型的错误,如AdaBoost,加权组合所有模型预测。Stacking则是用基础模型的输出训练新模型。关键在于模型多样性以捕捉数据不同模式。集成学习广泛应用于分类、回归等任务,能提高泛化能力,降低过拟合风险。
13 3
|
10天前
|
机器学习/深度学习 算法
【视频】Boosting集成学习原理与R语言提升回归树BRT预测短鳍鳗分布生态学实例-1
【视频】Boosting集成学习原理与R语言提升回归树BRT预测短鳍鳗分布生态学实例
16 3

热门文章

最新文章