AXI Memory Mapped to PCI Express学习笔记(三)——IP核参数配置

news2024/9/29 15:32:58
  在配置 AXI Memory Mapped to PCI Express core的过程中,需要根据设计需求调整各种参数,如数据位宽、时钟频率、输入输出接口等。这些参数将直接影响IP核的行为和性能,因此请务必仔细选择和配置。完成配置后,IP核生成,即可将其集成到设计中。

在配置该IP core前,首先从IP Catalog中选择IP,双击所选的IP,或从工具栏或右键菜单中选择“Customize IP”命令,然后,设置各项参数。

一、Basic Parameter settings

在这里插入图片描述
Component Name
输出文件的基本名称是为core生成的,名称必须以字母开头,并且可以由以下字符组成:a到z,0到9,以及“_”。
注:输出文件的名称不能与核心模块的名称相同;例如,“axi_pcie”是一个保留名称。
PCIe Device/Port Type
指出PCIe 的设备类型(Root or Endpoint)。
Reference Clock Frequency
选择提供给refclk输入引脚的参考时钟频率。
Slot Clock Configuration
在Link Status register中通过启用Slot Clock来设置该配置,选择该选项意味着该链路是时钟同步。
Silicon Type
选择Silicon Type。
Additional Transceiver Control and Status Ports
当选择该选项时,启用接收器调试端口。
Enable External GT Channel DRP
外部的GT通道DRP端口被引到core顶层。
Enable External PIPE Interface
当选中该选项时,它将允许外部第三方总线功能模型(BFM)连接到AXI PCIe核心的PIPE接口。请注意,此选项默认是禁用的,只有在Vivado IDE的共享逻辑页面中的“Include Shared Logic (Clocking) in example design”选项被选中时,它才会被启用。

二、 PCIe Link Configuration

在这里插入图片描述
Number of Lanes
可以根据目标设备的通道宽度来选择AXI Memory Mapped to PCI Express core的初始通道宽度。如果选择的初始通道宽度大于目标设备的通道宽度,核心将能够自动调整以适应较小的通道宽度,确保系统的正常通信。
例如,表4-1中列出了8x、4x和1x三种通道宽度,可以根据实际需求选择8x的通道宽度。如果目标设备只支持4x的通道宽度,那么该IP core会自动适应并调整到4x的通道宽度进行通信。
在这里插入图片描述
Link Speed
允许选择设备支持的最大链路速度。表4-2定义了设备所支持的通道宽度和链路速度。可以根据目标设备的性能要求,在该IP中配置适当的最大链路速度。如果设备支持较高的链路速度,但与之连接的PCI Express设备仅支持较低的链路速度,那么该IP core会自动调整以适应这种较低的速度,确保两者之间能够正常通信。
在这里插入图片描述
PCIe Block Location
可以在Xilinx FPGA中选择PCI Express硬件模块,用于实现PCI Express协议的功能。

三、PCIe ID Settings

在这里插入图片描述
Vendor ID
标识设备或应用程序的制造商。默认值10EEh是Xilinx的供应商ID。在此处输入您的供应商识别号码。FFFFh是保留值。
Device ID
应用程序的唯一标识符;默认值取决于所选的配置,格式为70h。这个字段可以是任何值;根据应用程序的需要更改此值。
注:由于DeviceID参数是根据设备系列(在7系列IP的情况下为7)、端点(EP)或根端口(RP)模式、链路宽度和链路速度来评估的,因此当这些参数中的任何一个发生变化时,它都会发生变化。建议首先更改链路宽度、链路速度和设备端口类型,然后再更改DeviceID的值。
Revision ID
指示设备或应用程序的修订版本;是DeviceID的扩展。默认值为00h;请输入适合应用程序的值。
Subsystem Vendor ID
进一步限定设备或应用程序的制造商。在此处输入Subsystem Vendor ID;默认值为10EEh。通常,此值与Vendor ID相同。将该值设置为0000h可能会导致合规性测试问题。
Subsystem ID
进一步限定设备或应用程序的制造商。此值通常与DeviceID相同;默认值取决于所选的通道宽度和链路速度。将该值设置为0000h可能会导致合规性测试问题。
Class Code
用于标识设备的一般功能,并被分为三个字节大小的字段。Vivado IDE可以通过选中“Enter Class Code Manually”复选框来手动输入24位值(默认),或者使用Class Code lookup assistant来填充该字段。取消选中复选框可启用Class Code lookup assistant。
• Base Class:大致标识设备执行的功能类型。
• Sub-Class:更具体地标识设备功能。
• Interface:如果有的话,定义特定的寄存器级编程接口,允许与设备无关的软件与设备进行交互。
使用Class Code Look-up Assistant可以简化配置过程,确保为设备选择了正确的类代码值。通过选择设备的一般功能,系统会自动填充Base Class、Sub-Class和Interface,可以直接将这些值输入到设备的配置中。

四、PCIe Base Address Registers

PCIe基址寄存器(Base Address Registers,BARs)(如图4-4所示)用于设置端点(Endpoint)配置的基址寄存器空间。每个BAR(从0到5)都配置了物理功能的BAR Aperture Size和控制属性,如表4-3所述。
在这里插入图片描述
BARs在PCI(Peripheral Component Interconnect)和PCIe(PCI Express)设备中扮演着重要角色。它们是一组寄存器,用于描述设备所需的资源,如内存地址空间和I/O端口空间。每个BAR寄存器的大小可以是32位或64位,具体取决于PCI或PCIe的版本和配置。BARs的值可以通过PCIe配置空间的寄存器进行访问和配置。
在这里插入图片描述
在Endpoint配置中,AXI Memory Mapped to PCI Express core支持最多三个32位BAR或三个64位BAR。而在Root Port配置中,该IP core支持一个32位BAR或一个64位BAR。
所有BAR寄存器都具备以下选项:
勾选框
点击勾选框以启用BAR。取消勾选以禁用BAR。
类型
BAR仅可作为Memory apertures。Memory BARs可以是64位或32位。对于64位,启用Prefetch(预取);对于32位,则不启用。当BAR被设置为64位时,它会使用下一个BAR作为扩展地址空间,从而使其变得不可访问。
大小
可用的Size范围取决于PCIe设备/端口类型以及所选的BAR类型。

根据当前选择为BAR分配的值。
PCIe到AXI转换
此文本字段应设置为适当的值,以执行从PCI Express基址到所需AXI基址的转换。

五、 PCIe Miscellaneous

在这里插入图片描述
Interrupt Pin
将要使用Legacy中断,即传统中断。
MSI Vectors Requested
该IP core需要的MSI向量个数。
Completion Timeout Configuration
由于未完成的内存读取请求而导致的传入完成的超时值。这有助于确保在设备读取内存时,如果操作未能及时完成,系统可以做出相应的响应。
Dynamic Slave Bridge Address Translation
允许通过AXI4-Lite接口动态更改AXI Memory Mapped to PCI Express桥接逻辑内的地址转换向量。这提供了更大的灵活性和配置选项,以适应不同的系统需求和应用场景。

六、AXI Base Address Registers

AXI基址寄存器(BARs)设置如图4-6所示,用于设置AXI基址寄存器以及AXI内存空间与PCI Express内存空间之间的转换关系。每个BAR都包含基址、高地址和转换字段,这些字段可以通过Vivado IDE进行配置。
在这里插入图片描述
Number of BARs
启用的AXI BAR的数量。BARs是顺序启用的。
64-bit Enable
允许32位的AXI地址空间映射到64位的PCIe地址空间。
Aperture Base Address
为AXI BAR的地址空间设置基地址。
Aperture High Address
为AXI BAR的地址空间设置地址上限阈值。
AXI to PCIe Translation
配置AXI和PCI Express地址空间之间的转换映射。

七、AXI System

在这里插入图片描述
AXI(Advanced Extensible Interface)是一种高性能、低延迟的接口协议,广泛应用于高性能处理器和存储器之间的连接。AXI System提供了一个直观的配置界面,用于定义AXI接口的寻址方式和互联参数。
BASEADDR
设置设备的AXI基地址。
HIGHADDR
设置设备的地址上限阈值
S AXI ID WIDTH
设置AXI从接口的ID宽度。
S AXI ADDR WIDTH
AXI支持32位寻址,因此这个值要设置成32.
S AXI DATA WIDTH
AXI从接口的数据总线宽度的设置。AXI从接口的数据总线宽度可以设置为64位或128位,具体取决于你的需求。对于X4G2和X8G1这两种特定的配置或核心,仅支持128位的数据总线宽度,以实现最大的性能。
M AXI ADDR WIDTH
AXI支持32位寻址,因此这个值要设置成32.
M AXI DATA WIDTH
AXI主接口的数据总线宽度的设置。AXI主接口的数据总线宽度可以设置为64位或128位,具体取决于你的需求。对于X4G2和X8G1这两种特定的配置或核心,仅支持128位的数据总线宽度,以实现最大的性能。
注:在AXI主接口中,确实不支持多个ID。这意味着与ID相关的所有信号在AXI主接口上都是不可用的。
S AXI SUPPORTS NARROW BURST
配置IP接受窄突发事务。当未启用此功能时,IP会进行相应的优化。
在AXI协议中,突发事务是一种数据传输模式,其中主设备会发送一系列连续的数据请求给从设备。窄突发事务指的是突发长度较短的事务,即主设备在连续请求中传输的数据量较少。

八、Shared Logic

通过选择一个或在多个实例化之间共享公共块此页面上的更多选项。

九、Add. Debug Options

Figure 4-8包含一个选项,用于启用JTAG调试器进行调试。
在这里插入图片描述
该特性为以下方面提供了调试可用性:
1、 集成PCIe调试选项到IP核顶部,用户需要在设计中包含这一选项,
2、 假设将使用外部时钟。
3、LTSSM状态转换,展示了从链路建立开始的所有LTSSM(链路训练与状态机)状态转换。
4、 PHY复位有限状态机(FSM)转换,这展示了PHY复位FSM的转换情况。
5、接收器检测,展示了所有成功完成接收器检测的通道。
以下是操作步骤:
1、打开一个新的Vivado设计套件并连接到开发板。
2、hw_axi_1应该已经存在。
在这里插入图片描述
3、在Vivado Tcl控制台中输入source test_rd.tcl。
4、对于后处理,双击以下脚本:
draw_ltssm.tcl(Windows系统)或 wish draw_ltssm.tcl
draw_reset.tcl(Windows系统)或 wish draw_reset.tcl
draw_rxdet.tcl(Windows系统)或 wish draw_rxdet.tcl
这些脚本用于生成图形化表示的LTSSM状态转换、PHY复位状态转换和接收器检测状态。

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

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

相关文章

[激光原理与应用-77]:基于激光器加工板卡的二次开发软件的系统软硬件架构

目录 一、1个板卡、1个激光器、1个振镜的应用架构、1个工位 (1)PLC (2)MES (3)加工板卡 (4)激光加工板卡与激光器之间的转接卡 (5)DB25、DB15 &#x…

手机termux免root安装kali:一步到位+图形界面_termux安装kali-

1.工具 安卓包括鸿蒙手机、WiFi、充足的电量、脑子 2.浏览器搜索termuxvnc viewer下载安装。 3.对抗华为纯净模式需要一些操作先断网弹窗提示先不开等到继续安装的时候连上网智能检测过后就可以了 termux正常版本可以通过智能监测失败了就说明安装包是盗版 4.以后出现类似…

OpenCV初识

1、OpenCV简介 OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库。它由一系列的C函数和少量C类构成,同时提供Python、Java和MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算…

【前端学习——js篇】11.元素可见区域

具体见:https://github.com/febobo/web-interview 11.元素可见区域 ①offsetTop、scrollTop offsetTop,元素的上外边框至包含元素的上内边框之间的像素距离,其他offset属性如下图所示: 下面再来了解下clientWidth、clientHeight…

Memcached非关系型数据库介绍

使用背景 Memcached 不是一个数据库,而是一个高性能的分布式内存对象缓存系统。它主要用于减轻数据库负载,提高动态Web应用的速度、可扩展性和性能。Memcached 的工作原理是将数据存储在内存中,以提供快速的数据访问。当应用程序需要访问数据…

android 11 SystemUI 状态栏打开之后的界面层级关系说明之一

比如WiFi 图标的父layout为: Class Name: ButtonRelativeLayout Class Name: QSTileView Class Name: TilePage Class Name: PagedTileLayout Class Name: QSPanel Class Name: NonInterceptingScrollView Class Name: QSContainerImpl Class Name: FrameLayout Cl…

Docker搭建LNMP环境实战(06):Docker及Docker-compose常用命令

Docker搭建LNMP环境实战(06):Docker及Docker-compose常用命令 此处列举了docker及docker-compose的常用命令,一方面可以做个了解,另一方面可以在需要的时候进行查阅。不一定要强行记忆,用多了就熟悉了。 1、…

Qt扫盲-QAssisant 集成其他qch帮助文档

QAssisant 集成其他qch帮助文档 一、概述二、Cmake qch例子1. 下载 Cmake.qch2. 添加qch1. 直接放置于Qt 帮助的目录下2. 在 QAssisant中添加 一、概述 QAssisant是一个很好的帮助文档,他提供了供我们在外部添加新的 qch帮助文档的功能接口,一般有两中添…

无人机+AI平安校园系统在天津大学成功运行

8月17日,北方天途航空联合天津大学,运用天途平安校园管理平台和大疆无人机场,开展无人机智能监控试点任务,协助学校保卫处监控人员和车辆情况,进行安全疏导和分流。 观看天途平安校园系统演示 现场工程师把天途平安校园…

[Linux_IMX6ULL驱动开发]-基础驱动

驱动的含义 如何理解嵌入式的驱动呢,我个人认为,驱动就是嵌入式上层应用操控底层硬件的桥梁。因为上层应用是在用户态,是无法直接操控底层的硬件的。我们需要利用系统调用(open、read、write等),进入内核态…

48 div 下面包含 el-radio, 点击 div 事件被触发多次

前言 这是一个最近碰到的一个很奇怪的问题 情况如下一个 div 下面有一个 el-radio, 然后 div 上面配置了 click 的回调为 handleClick 然后 但是点击 div 的时候, handleClick 触发了两次 然后 这里 来模拟一下, 并解决一下 这个问题 这里的知识主要是 设计到 label 和 …

机器人深度学习IMU和图像数据实现焊接精细操作

在双电极气体保护金属弧焊 (DE-GMAW) 中,对焊枪和旁路电极位置的精确控制是至关重要的。为了这一过程,科研团队提出了安装微型惯性测量单元(IMU)传感器和摄像头,来记录焊工控制焊枪的移动和微调…

来了!小学生Python创意编程(视频教学版)

目录 写在前面 推荐图书 推荐理由 写在最后 写在前面 在最好的年纪,一起来学Python吧!本期博主给大家推荐一本适合小学生阅读的书籍,一起来看看吧~ 推荐图书 小学生Python创意编程(视频教学版) 直达链接&#x…

SOLIDWORKS 2024新功能之钣金和结构系统

达索系统SOLIDWORKS钣金和结构系统是大家比较熟悉的模块了,在SOLIDWORKS 2024版本中钣金和结构系统功能也做了很大的提升。接下来微辰三维带大家一起看看如何使用达索系统SOLIDWORKS 2024钣金和结构系统的一些新功能快速完成相应的设计。 达索系统SOLIDWORKS 2024的…

bugku-web-GET

这里很明显是让用get请求传递一个名为what的参数,这个参数如果为flag,就会输出flag

HBase的Python API(happybase)操作

一、Windows下安装Python库:happybase pip install happybase -i https://pypi.tuna.tsinghua.edu.cn/simple 二、 开启HBase的Thrift服务 想要使用Python API连接HBase,需要开启HBase的Thrift服务。所以,在Linux服务器上,执行如…

(4)(4.3) Kogger Sonar

文章目录 前言 1 推荐硬件 2 配置回声探测仪模块 3 连接ArduPilot硬件 4 参数说明 前言 KOGGER 声纳(KOGGER Sonar)是一款结构紧凑、成本低廉的水下回声测深仪模块,带有 UART 接口,电源电压为 5-14v。 1 推荐硬件 CP210x USB->UART 转换器和安装…

其实StartAI也是一款修图工具 用StartAI修图之“去除背景”

其实StartAI不仅仅是一款AI绘画插件,更是一款可以对我们的摄影图片、广告海报进行修图的AI修图工具。StartAI包含了AI绘画、AI修图等多种复合型AI智能实用工具。 用【背景移除】功能对图片一个背景修图 1.实体广告图片 我们可以通过【背景移除】将广告图中的实体…

在 Windows 11 上安装 MongoDB

MongoDB 是一个流行的 NoSQL 数据库,它提供了灵活的数据存储方案,而 MongoDB Compass 则是一个可视化管理工具,可以更轻松地与 MongoDB 数据库交互和管理。在本文中,我们将介绍如何在 Windows 11 上安装 MongoDB,并配置…

好看又好用,这 10 个宝藏 App 免费拿走不谢!

目录 1. 综合AI工具箱——HuluAI 2. 文本视频生成工具——Jujilu 3.翻译软件 —— TTime 4.专业录屏和直播软件 —— OBS Studio 5.开源跨平台轻量计时软件 —— wnr 6.开源跨平台绘图 —— Drawio 7.开源三维建模动画渲染 —— Blender 8.跨平台的多功能软件 —— Pear…