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

目录
相关文章
|
2月前
|
机器学习/深度学习 Python
堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能
本文深入探讨了堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能。文章详细介绍了堆叠的实现步骤,包括数据准备、基础模型训练、新训练集构建及元学习器训练,并讨论了其优缺点。
62 3
|
3月前
|
测试技术
软件质量保护与测试(第2版)学习总结第十三章 集成测试
本文是《软件质量保护与测试》(第2版)第十三章的学习总结,介绍了集成测试的概念、主要任务、测试层次与原则,以及集成测试的不同策略,包括非渐增式集成和渐增式集成(自顶向下和自底向上),并通过图示详细解释了集成测试的过程。
83 1
软件质量保护与测试(第2版)学习总结第十三章 集成测试
|
3月前
|
前端开发 Java 程序员
springboot 学习十五:Spring Boot 优雅的集成Swagger2、Knife4j
这篇文章是关于如何在Spring Boot项目中集成Swagger2和Knife4j来生成和美化API接口文档的详细教程。
280 1
|
3月前
|
Java Spring
springboot 学习十一:Spring Boot 优雅的集成 Lombok
这篇文章是关于如何在Spring Boot项目中集成Lombok,以简化JavaBean的编写,避免冗余代码,并提供了相关的配置步骤和常用注解的介绍。
138 0
|
3月前
|
机器学习/深度学习 算法 前端开发
集成学习任务七和八、投票法与bagging学习
集成学习任务七和八、投票法与bagging学习
34 0
|
3月前
|
机器学习/深度学习 算法
【机器学习】迅速了解什么是集成学习
【机器学习】迅速了解什么是集成学习
|
5月前
|
机器学习/深度学习 运维 算法
【阿里天池-医学影像报告异常检测】3 机器学习模型训练及集成学习Baseline开源
本文介绍了一个基于XGBoost、LightGBM和逻辑回归的集成学习模型,用于医学影像报告异常检测任务,并公开了达到0.83+准确率的基线代码。
82 9
|
5月前
|
人工智能
LLama+Mistral+…+Yi=? 免训练异构大模型集成学习框架DeePEn来了
【8月更文挑战第6天】DeePEn是一种免训练异构大模型集成学习框架,旨在通过融合多个不同架构和参数的大模型输出概率分布,提升整体性能。它首先将各模型输出映射至统一概率空间,然后进行聚合,并最终反转回单一模型空间以生成输出。实验证明,在知识问答和推理任务上,DeePEn相比单一大模型如LLaMA和Mistral有显著提升,但其效果受模型质量和数量影响,并且计算成本较高。[论文: https://arxiv.org/abs/2404.12715]
48 1
|
5月前
|
机器学习/深度学习
【机器学习】模型融合Ensemble和集成学习Stacking的实现
文章介绍了使用mlxtend和lightgbm库中的分类器,如EnsembleVoteClassifier和StackingClassifier,以及sklearn库中的SVC、KNeighborsClassifier等进行模型集成的方法。
62 1
|
6月前
|
数据采集 数据安全/隐私保护
Kameleo指纹浏览器进阶使用:轻松集成IPXProxy海外代理IP
Kameleo是一款出色的指纹浏览器,它能够帮助用户实现隐身浏览。大家在进行网络抓取的时候总会碰到一些阻碍,而采取指纹浏览器可以提升网络抓取的效率,并且集成代理IP能增加一层防护,让数据采集更加全面,为制定营销策略提供更好的支持。那如何将Kameleo指纹浏览器与IPXProxy海外代理IP集成?

热门文章

最新文章