[FPGA] NVMe高速传输之摆脱XDMA设计32: 初始化功能验证与分析

[复制链接]
27|0
xianuser 发表于 2025-11-11 18:32 | 显示全部楼层 |阅读模式
[color=rgba(0, 0, 0, 0.75)]

本文主要交流设计思路,在本博客已给出相关博文30多篇,希望对初学者有用。注意这里只是抛砖引玉,切莫认为参考这就可以完成商用IP设计。若有NVME或RDMA 产品及项目需求,请看B站视频后联系。

2) PCIe 初始化功能测试结果

PCIe 初始化是初始化功能的重要步骤之一, 这一过程中对 PCIe 链路上的所有设备进行枚举和初始化配置。 对 PCIe 初始化功能的验证主要考虑待测设计能否正确的遍历总线、 枚举设备和初始化配置空间。 在本例最小存储子系统模型中, 待测设计应能够正确地配置桥设备模型和 NVMe 设备模型的配置空间。

图2 PCIe 初始化测试仿真波形一


[color=rgba(0, 0, 0, 0.75)]

PCIe 初始化开始执行后, 首先配置位于总线号 0, 设备号 0 的桥设备模型, 配置过程波形如图2所示, 图中bus_no表示当前配置总线号, dev_no表示设备号, reg_no表示寄存器号, 也对应双字对齐的寄存器地址。 待测设计首先读取了配置空间 00h 寄存器获取设备与供应商 ID, 然后读取 0Ch 寄存器获取配置空间类型, 读取的数据显示配置空间类型为 TYPE1,然后分别向 BAR0( 10h)、 BAR1( 14h) 寄存器写入32’hFFFFFFFF, 然后读取获得可分配的空间大小, BAR0、 BAR1 读回数据为 0, 表示未使用, 与预先配置一致。 然后向 18h 寄存器配置当前节点信息, 向 20h、 24h、28h 寄存器配置当前节点地址信息, 配置的信息均与拓扑结构一致。


[color=rgba(0, 0, 0, 0.75)]

B站已给出相关性能的视频,如想进一步了解,请搜索B站用户:专注与守望
链接:https://space.bilibili.com/585132944/dynamic?spm_id_from=333.1365.list.card_title.click



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
您需要登录后才可以回帖 登录 | 注册

本版积分规则

42

主题

47

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部