|
[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
|