基于A7板卡的PCIE 2.0共享屏幕(二)RIFFA框架

项目:基于A7板卡的PCIE 2.0共享屏幕

章节:RIFFA框架

本章目的:介绍RIFFA框架如何修改到自己项目使用

前言

Pcie 总线是相对比较复杂的总线协议,并且需要设计硬件、驱动、软件API 等才能真正调试运行起来,由于以上复杂度不能每个公司都设计开发自己的驱动和 API 这样耗时耗力,那么就有了开源框架 如同RIFFA,XDMA

RIFFA框架干了什么?

上一讲讲解了PCIE,有需要的可以去看看,再PCIE中有多层架构,而我们需要关心的只有应用层,这是因为,其他所有层都已经有RIFFA框架给我们解析好了
在通俗易懂一点,上位机发送信息到PCIE接口上之后,所有的信号全部转移到RIFFA框架中,最后到达我们用户端的时候就已经是数据了,这些数据是通过RIFFA框架的用户端接口传输的。

RIFFA框架的用户端接口有哪些呢?都是什么作用呢?

接口和作用如下
在这里插入图片描述
在这里插入图片描述其实非常类似于AXI协议,下面给出仿真波形图

RX接收端波形仿真

在这里插入图片描述
在这里插入图片描述
上图为用户接收端的波形,首先当有数据发给用户后,RIFFA 会把 CNHL_RX拉高,CHNL_RX_LEN[31:0]有效。等待用户回应,即用户将 CHNL_RX_ACK 拉高,之后只要 RIFFA 收 到数据后,检测到 CHNL_RX_DATA_REN 位 1,开始将CHNL_RX_DATA_VALID 拉高同时数据有效,拉高 CHNL_RX_LEN 个时钟后CHNL_RX_DATA_VALID 拉低,数据无效,这样就完成一次 RX 事务。CHNL_RX_OFF一直给0即可

TX接收端波形仿真

在这里插入图片描述
上图为用户发送端的波形,首先用户把CHNL_TX拉高,同时给,RIFFA会把CNHL_RX、CHNL_TX_LAST 和 CHNL_TX_DATA_VALID 拉高,同时给 CHNL_TX_LEN[31:0]、CHNL_TX_OFF[30:0]有效数据。等待 RIFFA 回应,当检测到 CHNL_TX_ACK 为 1,就表示 RIFFA 已经准备好接收用户的数据了。之后当 CHNL_TX_DATA_VALID 位 1时,将 CHNL_TX_DATA[DWIDTH-1:0]数值有效。当数据全部给 RIFFA 后,用户的发送事务便完成了。

如何修改RIFFA代码以供自己项目使用

(1)移植 Riffa 到自己的项目中

在这里插入图片描述
我们所需要的是以下2个部分
![在这里插入图片描述](https://img-blog.csdnimg.cn/c1f307a5d5b64cc7bc5d2ffe88397b08.png
在这里插入图片描述
在这里插入图片描述

将这两个部分的文件复制到自己的工程design中

(2)生成PCIE 的IP(重要!!!)

双击 IP Catalog,搜索 PCIe,双击 7 Series Integrated Block for PCI Express
在这里插入图片描述

首先在 model 里选择 ADVANCED 模式,这样用户就有更多选项可选择。

在定义选项中我们不用以下选项:
LinkRegisters,PowerMangement,Ext.Capabilities,Ext.Capabilities2,TL Settings and DL/PL Settings.
设备端口类型选择 PCI Express 端点设备
线宽选择 x2
速率选择 5.0Gt/s 即 PCIE2.0
axi 时钟选择 62.5,也可以选择更高时钟
数据位宽选择 64
PIPE 模式仿真选择 none,我们没有仿真模型,不能进行仿真
在这里插入图片描述
设置设备 ID 有助于识别不同的 FPGA 在多 FPGA 系统中,可以设置也可以默认不修改。其他选项,特别是供应商 ID,必须保持不变。
在这里插入图片描述
必须配置下图选项,让BAR0启用。将类型设置为Memory和单位KiloByters,
并从下拉菜单中将“大小”值设置为 1。如果这些值没设置正确,RIFFA 的驱动将不能识别 FPGA 器件
在这里插入图片描述
在此选项卡中选择“优化总线主控应用程序”和“扩展标签字段。 .从下拉列表中选择最大有效载荷大小 ,用于设置 RIFFA C MAX PAYLOAD BYTES 参数。
在这里插入图片描述
在下图所示的中断选项卡中,清除 Enable INTx(禁用)的复选框的 INTx) 即不用传统带中断管脚的中断模式。选择消息中断,64 位地址信息。
在这里插入图片描述
在下图所示的共享逻辑选项卡中,清除显示的所有复选框。 这些设置不会影响生成的核心,但会影响 Vivado 生成的示例设计。生成的示例设计将为RIFFA提供一个镜像设计。
在这里插入图片描述
在“接口参数”选项卡中,选择与下图一样的选项,简化生成的核心接口
在这里插入图片描述

(3)将RIFFA顶层中的IP改成自己IP的name,并删除无效文件

(4)更改顶层中的参数

在这里插入图片描述

(5)生成bit,下载板卡

如何绑定引脚,PCIE和RIFFA框架的接口呢是通过GTP这种高速接口连接的,在我的板卡上是这样的
在这里插入图片描述

(6)Riffa 官方提供了c测试文件

在这里插入图片描述
为了使用这个测试,我们需要安装驱动,官方驱动没有数字签名所以必须先要关闭
Win10关闭数字签名的方法:

管理员运行 cmd,输入bcdedit.exe /set nointegritychecks on 重启电脑
准备安装驱动
打开设备管理器,查看是否有 PCI 位置设备,如果没有请重复检查是否 FPGA 程
序下载然后重启,重启后查看是否有 PCI 未知设备,如果没有需要检查 FPGA 程
序是否正确了。
找到 riffa_2.2.2\install\windows\win7 下的
带有 dbg 结尾的是带有调试薪资打印功能的,请安装此版本。
把此文件拷贝到目标需要安装的计算机中
Win7 直接右键管理员安装即可(注意必须已经关闭数字签名,也就之前的 CMD
的操作)
如果是 WIN10 操作系统,需要右键更改兼容模式为 win7 模式,再进行安装。
在这里插入图片描述
如果是 win10 需要设置兼容模式,在安装前设置注意注意!
在这里插入图片描述
再进入设备管理器查看已经有个 Riffa device,然后需要重启计算机,这步必须做

在这里插入图片描述
最后测试结果
在这里插入图片描述

  • 2
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 为了更好的理解PCIEDMA测试分析,需要先了解Riffa架构。Riffa是一种基于FPGA的PCI Express总线实现框架,可用于支持高带宽、低延迟的数据传输和重新配置。 使用基于RiffaPCIEDMA测试分析,可以对PCIE总线进行全面的测试分析,以确保工作正常且数据传输无误。具体来说,可以通过以下步骤来执行测试: 首先,需要使用FPGA平台开发一个实际的数据传输应用程序。该应用程序可能包括PCIE DMA传输和其他FPGA实现的功能,如数字信号处理等。 之后,需要将该应用程序集成到Riffa框架中,并通过PCIe总线与主机进行连接。在运行应用程序之前,可以使用Riffa提供的一些工具来进行端口扫描、爬行和脉冲示波器捕获等测试和分析。 接下来,可以通过观察Riffa提供的吞吐量和时延数据等指标,来对应用程序的性能进行评估。同时,还可以使用一些诊断工具来检查是否存在数据包丢失或重复等问题。 最后,需要对测试结果进行分析和总结,并根据需要进行优化和修改,以确保应用程序能够高效、稳定地工作。 综上所述,通过使用基于Riffa架构的PCIEDMA测试分析,可以帮助用户对PCIE总线进行全面的测试和分析,从而确保数据传输的稳定性和可靠性。 ### 回答2: Riffa是一种基于FPGA的PCI Express(PCIe)通信架构,用于高速数据传输。PCIEDMA测试分析是对基于Riffa架构的PCIe DMA传输的测试和分析。 在PCIEDMA测试分析中,需要考虑传输性能、延迟、容错性等因素。首先,需要对DMA传输的带宽进行测试,以确保数据传输速度达到预期。其次,需要测试延迟情况,以确保DMA传输的实时性。同时,需要进行容错性测试,以确保数据传输的稳定性和可靠性。 PCIEDMA测试分析可以用于验证基于Riffa架构的PCIe DMA传输的性能和稳定性,同时也可以为使用该架构的应用提供参考。在实际应用中,可以根据测试分析结果对传输参数进行优化,以提高数据传输效率和可靠性。 综上,PCIEDMA测试分析是对基于Riffa架构的PCIe DMA传输进行测试和分析的过程,可以为数据传输的性能和稳定性提供参考和优化方案。 ### 回答3: 基于riffa架构的PCIEDMA测试分析是一项非常重要的技术领域,它可以帮助人们更好地了解数据传输的性能和效率,同时也可以为高速数据传输应用提供强有力的技术支持。 PCIEDMA是一种利用PCIe总线实现高速数据传输的技术,该技术可使计算机的DMA控制器直接传输数据而不需要CPU的干预,从而提高数据传输速度和效率。rifta架构是一种基于FPGA的高性能计算架构,可以通过提供丰富的硬件资源和可编程性来支持PCIE DMA的实现。 在进行基于riffa架构的PCIEDMA测试分析时,可以通过对传输数据的大小、传输速度、错误率以及吞吐量等进行评估和分析,来确定系统的性能和可靠性。通过对这些指标的测量和分析,可以全面了解系统的实际传输性能,并针对不同的应用场景进行优化和改进。 因此,基于riffa架构的PCIEDMA测试分析具有重要的意义,在高速数据传输领域具有广泛的应用前景和重要的研究价值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值