AXI4-Stream Interconnect模块的使用

2024-03-28 04:30

本文主要是介绍AXI4-Stream Interconnect模块的使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述
显示AXI4-Stream互连核心框图。 在AXI4-Stream互连中,AXI4-Stream交换机核心路由从接口(SI)和主接口(MI)之间的通信。 在连接SI或MI到交换机的每一条路径上,一个可选的AXI4-Stream基础设施核心(耦合器)系列可以执行各种转换和缓冲功能。 两个耦合器包括:AXI4-流寄存器切片、AXI4-流数据FIFO、AXI4-流时钟转换器、AXI4-流数据宽度转换器和AXI4-流协议转换器。
可以将AXI4-Stream互连核心配置为多达16个从接口(SI)和多达16个主接口(MI)。 每个SI连接到一个AXI4-Stream主设备并接受transfe来自连接的主设备的RS。 每个MI连接到一个AXI4-Stream从设备,并发出传输到从设备。 在中心是开关核心,路由之间的SI和MI传输。 在SI和开关之间的每条通路上,或者在开关和MI之间,可以有一个或多个AXI4-Stream基础设施核心来执行各种转换和存储功能。
该开关有效地将AXI4-Stream互连核心从SI相关功能单元(SI半球)和MI相关单元(MI半球)之间的中间分割开来)。 可能的话,ADO系统设计工具自动将耦合器插入SI或MI半球,以解决连接的主从设备的配置差异。

为AXI4-Stream互连生成一个项目

AXI4-Stream互连v2.1需要IP积分器。 要访问IP,首先创建Vivado项目,然后从Vivado流导航器中选择CreateBlockDesign。 在块设计画布中,从工具栏中选择AddIP选项,并从IP积分器IP目录窗口中选择AXI4-Stream互连。 在块设计画布中添加了一个AXI4-Stream互连IP实例。 单击图中的IP实例将打开其自定义窗口。
Toplevel Settings

Toplevel Settings
Number of Slave Interfaces

此参数指定IP上存在的AXI4-Stream从接口的数量。 值可以在1到16之间。

Number of Master Interfaces

此参数指定IP上存在的AXI4-Stream主接口的数量。 值可以在1到16之间。

Enable ACLKEN

如果设置为“是”,则此参数指定所有AXI4-Stream接口时钟是否存在可选的ACLKEN信号。

Use Control Register Routing

使用控制寄存器路由
此参数指定路由模式。 控制寄存器路由使AXI4-Lite控制寄存器接口能够处理传输路由。 如果此选项设置为No,则内联TDEST值用于路由。

Data Flow Properties

数据流属性
只有当从接口的数量大于1时,数据流属性选项修改。

Arbitrate on Maximum Number of Transfers

最高转让次数仲裁
此设置指定在放弃授予的仲裁之前要计算多少传输,并直接传递到AXI4-Stream互连实例中的AXI4-Stream交换机。 领事有关有效值范围和此参数的使用的更多详细信息,请参阅AXI4-StreamSwitch参数描述。

Arbitrate on Number of LOW TVALID Cycles

对LOW TVALID周期数进行仲裁
此设置允许在没有传输的情况下放弃授予的仲裁,并直接传递到AXI4-Stream互连实例中的AXI4-Stream交换机。 请参阅AXI4-Stream有关有效值范围和此参数的使用的更多详细信息,请切换参数描述。

Arbitrate on TLAST Transfer

对TLAST传输进行仲裁
此设置允许在接收到具有TLAST断言的传输并直接传递到AXI4-Stream互连insta中的AXI4-Stream交换机时放弃授予的仲裁NCE。 有关此参数的有效值范围和使用的更多细节,请参阅AXI4-StreamSwitch参数描述。

Arbiter Algorithm

仲裁算法
此设置允许选择仲裁算法,并直接传递到AXI4-流互连实例中的AXI4_Stream开关。 请参阅AXI4-Stream开关参数有关有效值范围和此参数使用的更多详细信息的说明。
Slave Interfaces

Enable Register Slice

启用寄存器切片
如果选中,则在Snn_AXIS接口和AXI4流开关之间的SI半球耦合器中插入AXI4流寄存器切片。

FIFO Depth

如果选择大于0的值,则在Snn_AXIS接口和AXI4流开关之间的SI半球耦合器中插入AXI4流数据FIFO。 FIFO的选定深度直接配置到AXI4-流数据FIFO实例中。

FIFO Packet Mode

FIFO分组模式
如果检查并选择大于0的FIFO深度进行Snn_AXIS,则启用AXI4流数据FIFO的分组模式。 有关Packet的更多细节,请参阅AXI4-Data FIFO参数描述分组模式操作。

Master Interfaces

Enable Register Slice

如果选中,则在AXI4流开关和Mnn_AXIS接口之间的MI半球耦合器中插入AXI4流寄存器切片。

FIFO Depth

如果选择大于0的值,则在AXI4流开关和Mnn_AXIS接口之间的MI半球耦合器中插入AXI4流数据FIFO。 FIFO的选定深度直接配置到AXI4-流数据FIFO实例中。 有关FIFO深度的有效范围的更多细节,请参阅AXI4-流数据FIFO参数描述。

FIFO Packet Mode

如果检查并选择大于0的FIFO深度进行Snn_AXIS,则启用AXI4流数据FIFO的分组模式。 有关更多细节,请参阅AXI4-流数据FIFO参数描述在分组模式操作上。

Base TDEST and High TDEST

上图所示的路由参数设置了解码,根据TDEST信号将从接口传输到主接口,并直接传递给AXI4-StreamSwitchI在AXI4-Stream互连中的状态。 有关路由的有效范围和使用,请参阅AXI4-StreamSwitch参数描述。 当使用控制寄存器路由设置为“是”时,这些参数是不可配置的。

参考:pg085 AXI4-Stream Interconnect部分

仿真部分:

在AXI4_Stream_Interconnect中,AXI4-Stream交换机核心路由从接口和主接口之间通信。
首先,在IP Catalog里添加模块:
在这里插入图片描述设置为2个Slave接口和2个Master接口,分别为S0,S1,M0,M1。其他设置保持不变。
在这里插入图片描述上图为S0,S1,M0, M1传输方式。可以在S接口与M接口之间相互传输。在S0==>M0, S1==>M1传输模式时,得到的仿真结果如下:
在这里插入图片描述从仿真结果可以看出,ARESETN低位有效,在S_AXIS_ARESETN复位后的两个时钟周期后 S_TREADY拉高,同时M_AXIS_TVAILD拉高,S0==>M0,S1==>M1数据成功传输。
注意:TDEST是选择通道的信号,使用 TDEST信号确定要将每个传输发送到哪个Mxx_AXIS接口。所以转换接口传输(如S0==>M1,S1==>M0)的时候要改变对应的S_TDEST的值。
这是最基本的数据传输,我在学习这个模块的过程中还遇到过下面的问题,可以进行参考。不一定完全正确,欢迎大家指正!
Tips:
1.如果能够读取数据,但是数据不连续,去看teatbench里给数据的延迟问题,多给一个延迟周期。
2.若从coe里面读取数据,输出端M_DATA可以成功读取,但是缺少S_VAILD前面的部分,要去看S_TLAST信号是不是给的太早,适当延迟S_TLAST信号,就可以将S_DATA读取coe的数据延迟一段时间。

这篇关于AXI4-Stream Interconnect模块的使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/854443

相关文章

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

使用opencv优化图片(画面变清晰)

文章目录 需求影响照片清晰度的因素 实现降噪测试代码 锐化空间锐化Unsharp Masking频率域锐化对比测试 对比度增强常用算法对比测试 需求 对图像进行优化,使其看起来更清晰,同时保持尺寸不变,通常涉及到图像处理技术如锐化、降噪、对比度增强等 影响照片清晰度的因素 影响照片清晰度的因素有很多,主要可以从以下几个方面来分析 1. 拍摄设备 相机传感器:相机传

pdfmake生成pdf的使用

实际项目中有时会有根据填写的表单数据或者其他格式的数据,将数据自动填充到pdf文件中根据固定模板生成pdf文件的需求 文章目录 利用pdfmake生成pdf文件1.下载安装pdfmake第三方包2.封装生成pdf文件的共用配置3.生成pdf文件的文件模板内容4.调用方法生成pdf 利用pdfmake生成pdf文件 1.下载安装pdfmake第三方包 npm i pdfma

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的