AXI Interconnect IP核用法

news2024/12/27 11:18:58

本文描述了如何使用Xilinx的Vivado Design Suite环境中的工具来定制和生成AXI Interconnect IP 核。Vivado Design Suite是一个强大的FPGA设计和开发环境,它允许用户定制和配置各种IP核以适应他们的特定设计需求。

以下是针对如何定制IP核的步骤的简要概述:

1. 从IP Catalog中或Diagram的“+”中选择IP。

485758261ef04193adaddb5e605c6c6a.png

2. 定制IP核

双击选择的IP核,或者从工具栏或右键菜单中选择“Customize Block”命令,打开IP核,开始设置与IP核相关的各种参数值。

在Xilinx的Vivado Design Suite中,AXI Interconnect IP核的参数通常被分为几个类别,以便用户根据设计需求进行定制。

2a2a810fba4146f7b9109d2cff2a35db.png(1)Interconnect Optimization Strategy(互联优化策略)

描述:

  • 如果参数值设置为Custom(0),互联将根据其他配置页面中的参数设置进行配置。这意味着用户可以详细定制互联的行为和特性。
  • 如果参数值设置为Minimize Area(1),将启用能够最小化互联实例中使用的基础设施IP核心(Infrastructure IP Cores)面积的特性。具体来说,互联内的交叉开关(Crossbar)将被配置为SASD(共享访问)模式,这种模式可以减少所需的硬件资源,从而减小面积。
  • 如果参数值设置为Maximize Performance(2),将启用能够最大化互联实例中使用的基础设施IP核心性能的特性。具体来说,互联内的交叉开关将被配置为SAMD(交叉开关)模式,所有SI(Slave Interface,从接口)接口上都将启用包模式FIFO(First In First Out,先进先出队列),并且所有交叉开关的接受和发布阈值都将增加,以允许每个连接的主从设备之间进行多个未完成的事务。

格式/范围
整数(0, 1, 2)

默认值
0(Custom)

注意
选择哪种优化策略取决于特定的应用需求和资源限制。如果需要节省FPGA的面积,可能会选择Minimize Area选项。如果需要最大化性能,尤其是在需要高带宽和低延迟的应用中,可能会选择Maximize Performance选项。而Custom选项则提供了最大的灵活性,允许用户根据具体需求进行定制。

(2)Number of Slave Interfaces(从接口数量)

从接口是用于接收数据或命令的接口。它们可能连接到其他设备或系统,并从那里接收信息。

  • 格式/范围:整数(1-16)。这意味着从接口的数量可以是1到16之间的任何整数。
  • 默认值:2。如果没有特殊设置,设备或系统将默认配置2个从接口。

(3)Number of Master Interfaces(主接口数量)

主接口则通常用于发送数据或命令。它们可能是设备或系统的主要通信点,用于与其他设备或系统进行交互。

  • 格式/范围:这是一个条件性的范围。
    • 当从接口数量为1时,主接口的数量可以是1到64之间的任何整数。
    • 当从接口数量大于1时,主接口的数量可以是1到16之间的任何整数。
  • 默认值:1。这意味着在没有特殊设置的情况下,设备或系统将默认配置1个主接口。

(4)Enable Register Slice 

6859b2d94bb54197bda26ebf94b3b350.png

Enable Register Slice 是一个控制选项,用于在AXI接口上控制寄存器切片的插入。寄存器切片(Register Slice)通常用于解决时序问题,减少时钟域之间的延迟,并确保数据在跨时钟域传输时的正确性。

以下是关于Enable Register Slice选项的详细描述:

  • 描述:控制是否在SI(可能是指某个特定的接口或模块,如Stream Interface或Slave Interface)上插入AXI寄存器切片。

  • 选项

    • None (0):不插入寄存器切片。
    • Outer (1):在SI耦合器(coupler)单元层次的SI侧插入一个寄存器切片。这通常用于确保从外部接口到内部逻辑的数据同步。
    • Auto (2):如果检测到具有共同时序路径的SI耦合器单元,则自动在SI耦合器单元层次中插入寄存器切片。
    • Outer and Auto (3):在SI耦合器单元层次的SI侧插入一个寄存器切片,并且如果检测到具有共同时序路径的SI耦合器单元,则还可以插入额外的寄存器切片。

(5)Enable Data FIFO

12b700fa401544a1add7c1eb4c736bc7.png

描述

这个参数控制是否在SI(可能是Slave Interface或某个特定的数据接口)上插入AXI数据FIFO(First-In-First-Out)缓存。数据FIFO在数字设计中用于处理不同模块之间的数据速率不匹配,或者用于平滑数据流的波动。

选项

  • 如果参数值为0,则不插入数据FIFO。
  • 如果参数值为1,则插入一个深度为32的数据FIFO。
  • 如果参数值为2,则插入一个深度为512的数据FIFO,并且启用其包模式(packet mode)特性。包模式通常用于处理以数据包为单位的数据流,其中每个数据包都有特定的开始和结束标记。

格式/范围

  • 参数为整数,可以取的值为0, 1, 或 2。

默认值

  • 默认不插入数据FIFO,即默认值为0。

使用场景

  • 当源和目的地的数据速率不一致时,可能需要插入数据FIFO来平衡数据速率。
  • 如果数据流存在波动(例如,由于外部因素导致的延迟或抖动),数据FIFO可以平滑这些波动,确保数据能够稳定地传输到下一个模块。
  • 在某些应用中,数据是以数据包的形式传输的,这时可能需要启用包模式特性来处理这些数据包。

注意

  • 插入数据FIFO会增加系统的复杂性和延迟,因此应根据具体的应用需求来权衡是否使用数据FIFO。
  • 在选择数据FIFO的深度时,也需要根据应用的需求来确定。如果FIFO的深度过小,可能会导致数据溢出;如果FIFO的深度过大,可能会浪费硬件资源。
  • 包模式特性可能需要根据具体的数据包格式和传输协议来配置,因此在使用前需要仔细阅读相关的文档或手册。

(6)Advanced Options

3a561bbd8b5d4b13be27f989dbeda8d4.png

如果在Top Level Setting选项页选择了Enable Advanced Configuraiton Options,会出现Advanced Options选项页。

12e09399fa4745bb8dc29036aab23992.png

Clock Domain Crossing (CDC) MTBF Options 和 Synchronization Stages 在数字设计中涉及跨时钟域信号的处理。以下是对这些选项的详细解释:

① Clock Domain Crossing (CDC) MTBF Options:

MTBF (Mean Time Between Failures): 平均无故障工作时间,是衡量一个产品(尤其是电子产品)可靠性的指标。在数字设计中,特别是在跨时钟域信号传输时,MTBF可以衡量由于信号不同步或亚稳态等问题导致的故障之间的平均时间。

在跨时钟域设计中,由于时钟信号的不匹配或数据的不稳定传输,可能会出现数据错误或亚稳态。为了解决这些问题,可能需要使用多级同步器或FIFO(First-In-First-Out)缓冲区来确保数据的正确传输。

MTBF Options 可能涉及到如何配置这些同步器或FIFO,以最大化MTBF,即减少故障发生的频率。这可能包括选择同步器的数量、FIFO的深度和配置等。

② Synchronization Stages:

是指在AXI互联核心内实例化的任何异步时钟域转换耦合器所使用的同步阶段数量。

范围:整数(2-8)。这意味着可以配置从2到8个同步阶段。

默认值:2。即默认情况下,使用两个同步阶段。

在跨时钟域设计中,同步阶段用于确保信号在不同时钟域之间正确传输。通过增加同步阶段的数量,可以增加信号同步的可靠性,但也会增加延迟和硬件资源的使用。

每个同步阶段可能包括一个或多个寄存器,用于缓存和稳定跨时钟域的信号。通过多个阶段的缓存和比较,可以减少由于时钟不匹配或数据不稳定导致的错误。

Interconnect Crossbar Options
 

在Interconnect Crossbar的选项中,关于AXI Crossbar的数据宽度(Data Width)是一个重要的参数。当您手动指定这个值时,它会覆盖AXI互联实例内AXI Crossbar的DATA_WIDTH参数的任何IP集成器自动设置值。

具体来说,AXI Crossbar的数据宽度决定了它一次可以处理的数据位数。例如,如果数据宽度设置为32位,那么AXI Crossbar一次可以处理32位的数据。这个参数对于系统的性能和效率有重要影响,因为它直接决定了数据传输的带宽和速度。

Interconnect Debug Options
 

当勾选Enable Protocol Checkers and mark interfaces for debug时,AXI协议检查器IP核会在AXI互联核内部实例化,并与每个启用的AXI主接口(Master Interface)和AXI从接口(Slave Interface)连接。此外,每个AXI互联核的AXI接口也会被标记为用于调试。这样做的好处是可以在运行时监控和检查AXI接口的数据传输是否符合AXI协议规范,有助于发现潜在的问题并进行调试。

① Maximum number of idle cycles for READY monitoring

这个参数指定了在所有启用的协议检查器中,READY监控的最大空闲周期数。当AXI接口处于空闲状态时,如果READY信号保持低电平的时间超过了这个设定的周期数,那么协议检查器就会报告一个错误。这个参数的设置可以根据具体的系统需求来调整。

Maximum READ Transactions per ID 和 Maximum Write Transactions per ID

这两个参数分别指定了每个ID的最大未完成的读事务和写事务数量。在AXI协议中,每个读或写事务都会有一个唯一的ID用于标识。如果某个ID的未完成事务数量超过了这两个参数设定的值,那么协议检查器就会报告一个错误。这有助于防止因为事务堆积而导致的系统性能下降或资源耗尽。

Master Interface Options  - Secure Slave
 

这个选项指示每个主接口(MI)插槽是否连接到安全的从设备(需要TrustZone安全访问)。TrustZone是一种硬件级别的安全机制,可以在同一颗处理器上创建两个独立的执行环境:一个用于执行安全的代码(如操作系统、支付应用等),另一个用于执行非安全的代码(如普通应用、游戏等)。如果启用了这个选项,那么主接口只能与具有TrustZone安全访问权限的从设备通信。

Slave Interface Options - Arbitration Priority

当启用了多个从接口(SI)时(即NUM_SI > 1),这个选项可以为每个启用的从接口在AXI交叉开关(Crossbar)上分配一个仲裁优先级。仲裁优先级决定了在多个从接口同时请求访问主接口时,哪个从接口的请求会被优先处理。这个参数的设置可以根据具体的系统需求和性能要求来调整。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1673000.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FullCalendar日历组件集成实战(2)

背景 有一些应用系统或应用功能,如日程管理、任务管理需要使用到日历组件。虽然Element Plus也提供了日历组件,但功能比较简单,用来做数据展现勉强可用。但如果需要进行复杂的数据展示,以及互动操作如通过点击添加事件&#xff0…

光数据传送器|光通讯传感器极速版OPT系列尺寸与安装步骤

光数据传送器|光通讯传感器极速版OPT系列是利用可见光及不可见光作为信息载体,无需光纤、网线等有线介质,在空中直接进行信息传输的无线方式通信。驱动光源以可见光及不可见光的高速明暗变化来传输数字信号,以极高光频率双向发射接收光信号&a…

AI与边缘设备,光子芯片,AI规划能力,自然语言驱动的AI游戏

1 Archetype AI 发布了一个创新的人工智能平台 —— Newton 这是一个专门为理解物理世界设计的基础模型。 Newton 设计用于连接实时物理数据,其数据源是全球数十亿传感器的输入,实现了对物理现实的直接解读。 利用从各种传感器(如加速度计…

Linux进程间几种通信机制

一. 简介 经过前一篇文章的学习, 我们知道Linux下有两种标准:system V标准和 Posix标准。 System V 和 POSIX 标准是操作系统提供的接口标准,它们规定了操作系统应该如何实现一些基本功能,比如线程、进程间通信、文件处理等。 …

MySQL————创建存储过程函数 有参数传递

存储过程使用大纲 有参数传递 delimiter $$ 声明一个名称为get_student_introduce CREATE PROCEDURE gei_student_introduce(in p_name VARCHAR(20)) 开始操作 BEGIN 撰写真正在操作DMLDQL都行 select introduce 简介 from student WHERE userNamep_name; end $$ delimite…

[muduo网络库]——muduo库TimeStamp类(剖析muduo网络库核心部分、设计思想)

接着之前我们[muduo网络库]——muduo库logger类(剖析muduo网络库核心部分、设计思想),我们接下来继续看muduo库中的TimeStamp类,这也是每一个类几乎都能用到的非常简单的类。 TimeStamp类 Timestamp类主要用于日志、定时器模块中…

C语言指针详解(三)

目录 前言 一. 回调函数是什么? 1.定义 2. 代码示例:计数器 2.1 使用回调函数改造前 2.2 使用回调函数改造后 二. qsort使用举例 1. qsort介绍 2. 使用qsort函数排序整型数据 3. 使用qsort排序结构体数据 三. qsort函数的模拟实现 四. sizeo…

单链表经典算法OJ题---力扣21

1.链接:. - 力扣(LeetCode)【点击即可跳转】 思路:创建新的空链表,遍历原链表。将节点值小的节点拿到新链表中进行尾插操作 遍历的结果只有两种情况:n1为空 或 n2为空 注意:链表为空的情况 代…

[力扣题解] 96. 不同的二叉搜索树

题目:96. 不同的二叉搜索树 思路 动态规划 f[i]:有i个结点有多少种二叉搜索树 状态转移方程: 以n3为例: 以1为头节点,左子树有0个结点,右子树有2个结点; 以2为头节点,左子树有1个…

单文件EXE绿色软件制作工具​Enigma Virtual Box​利用 EnigmaVB 打包 Qt 应用程序

功能描述:详细介绍如何利用 EnigmaVB 打包 Qt 应用程序,从 EnigmaVB 软件下载、安装,到如何使用,一步步教你走进 EnigmaVB 软件,最后还介绍了一款针对 Enigma Virtual Box 制作的单文件程序进行解包的工具 EnigmaVBUnp…

git-将本地项目上传到远程仓库

在gitee中新建一个远程仓库。 填写对应内容。 打开你想上传的文件夹,比如我想上传yuanshen 右击,打开git bash 输入git init初始化仓库 git init 添加项目所有文件 git add . 将添加的文件提交到本地仓库(提交说明必填) git …

61、内蒙古工业大学、内蒙科学技术研究院:CBAM-CNN用于SSVEP - BCI的分类方法[脑机二区还是好发的]

前言: 之前写过一篇对CBAM模型改进的博客,在CBAM中引入了ECANet结构,对CBAM中的CAM、SAM模块逐一改进,并提出ECA-CBAM单链双链结构,我的这个小的想法已经被一些同学实现了,并进行了有效的验证,…

3.运算符详解(java)

算术运算符 基本四则运算符:加减乘除模(、-、*、/、%) 注意: 都是二元运算符,使用时必须要有左右两个操作数 int / int 结果还是int类型,而且会向下取整 I.做除法和取模时 右操作数不能为0 II. %不仅可…

福派斯鲜肉狗粮大揭秘,狗狗吃了都说好!

狗粮哪个牌子好?我强烈推荐福派斯鲜肉狗粮!在众多狗粮品牌中,福派斯以其高品质、营养均衡以及独特的产品特点,受到了广大宠物主人的一致好评。 (1) 福派斯鲜肉狗粮的配方表透露出其对于原料选择的严谨和用心。高达75%的鲜肉含量&a…

探索美国动态IP池:技术赋能下的网络安全新篇章

在数字化飞速发展的今天,网络安全成为了各行各业关注的焦点。特别是在跨国业务中,如何保障数据的安全传输和合规性成为了企业面临的重要挑战。美国动态IP池作为一种新兴的网络技术,正逐渐走进人们的视野,为网络安全提供新的解决方…

学习古琴律学的好东西,帮您从基因里学古琴

《从基因里学懂古琴》是一本关于古琴律学的著作,作者通过基因的角度来解读古琴音乐的奥秘和美妙。古琴作为我国传统文化的瑰宝之一,具有悠久的历史和独特的音乐风格,但其律学原理一直以来都是一个谜。本书从基因的角度探讨了古琴音乐的律学特…

Microsoft Office for Mac 2024 (Office 365) 16.84 Universal 预览版

Microsoft Office for Mac 2024 (Office 365) 16.84 Universal 预览版 Office LTSC 2024 for Mac 请访问原文链接:Microsoft Office for Mac 2024 (Office 365) 16.84 Universal 预览版,查看最新版。原创作品,转载请保留出处。 作者主页&a…

【Spring Boot】 深入理解Spring Boot拦截器:自定义设计与实现全攻略

💓 博客主页:从零开始的-CodeNinja之路 ⏩ 收录文章:【Spring Boot】 深入理解Spring Boot拦截器:自定义设计与实现全攻略 🎉欢迎大家点赞👍评论📝收藏⭐文章 目录 SpringBoot统⼀功能处理一…

机器学习中表格数据预处理

目录 缺失值处理 在dataframe中进行填补 使用模型填补缺失值(随机森林) 异常值 数据无量纲化 中心化 数据归一化 数据标准化 缩放处理 转换数据类型 文本—>数值preprocessing.LabelEncoder:标签专用,能够将分类转换为…

计算机毕业设计 | SpringBoot健身房管理系统(附源码)

1,项目背景 随着人们生活水平的提高和健康意识的增强,健身行业逐渐兴起并迅速发展。而现代化的健身房管理系统已经成为健身房发展的必备工具之一。传统的健身房管理方式已经无法满足现代化健身房的需求,需要一种更加高效、智能、安全的管理系…