NVMe高速传输之摆脱XDMA设计36:初始化功能验证与分析3
在完成桥设备的初始化配置后, 应对桥设备下游设备进行配置。 配置桥设备下游的 NVMe 设备模型波形如图 1 所示。 待测设计首先获取设备与供应商 ID, 然后获取配置空间类型为 TYPE0, 再向 BAR0~5 寄存器分配地址, 由于只启...
发表于 11/17/2025 8:47:35 AM
阅读(232)
NVMe高速传输之摆脱XDMA设计34:初始化功能验证与分析
初始化功能主要实现 PCIe 链路设备的初始化配置和 NVMe 初始化配置。 复杂的PCIe 事务交互与设备行为都通过 NVMe 子系统模型来实现, 因此对初始化功能的测试用例的实现比较简单, 只需要配置初始化控制寄存器来控制初始化进程, ...
发表于 11/12/2025 8:15:52 AM
阅读(414)
NVMe高速传输之摆脱XDMA设计33:寄存器功能验证与分析2
(3) 边界测试结果测试步骤 4 对应波形如图 1所示, 寄存器最大值为 64’hFFFFFFFFFFFFFFFF,到达最大值后一个时钟周期后翻转回 0, 在随机时刻使用 force 将寄存器赋值临近最大值, 当寄存器达到最大值后, 翻转回...
发表于 11/11/2025 11:16:11 AM
阅读(275)
NVMe高速传输之摆脱XDMA设计32:寄存器功能验证与分析1
在待测设计中, 系统控制模块中的寄存器通过 AXI4-Lite 接口访问, 该接口与axi4_lite_agent 对应, 因此可以直接在测试用例中实现寄存器的读写操作。 对寄存器的测试需要考虑到寄存器的初始值、 读写操作测试、 边界值测试...
发表于 11/10/2025 8:34:38 AM
阅读(476)
NVMe高速传输之摆脱XDMA设计31:NVMe 设备模型设计
在待测设计中, 系统控制模块中的寄存器通过 AXI4-Lite 接口访问, 该接口与axi4_lite_agent 对应, 因此可以直接在测试用例中实现寄存器的读写操作。 对寄存器的测试需要考虑到寄存器的初始值、 读写操作测试、 边界值测试...
发表于 11/7/2025 8:16:30 AM
阅读(469)
NVMe高速传输之摆脱XDMA设计30:NVMe 设备模型设计
本文主要交流NVMe设计思路,在本博客已给出相关博文几十,希望对初学者有用。注意这里只是抛砖引玉,切莫认为参考这就可以完成商用IP设计。有对项目或产品感兴趣的,先看完下面链接再决定。
发表于 10/22/2025 4:56:56 PM
阅读(769)
NVMe高速传输之摆脱XDMA设计29:TLP 请求处理流程
本文主要交流设计思路,在本博客已给出相关博文九十多篇,希望对初学者有用。注意这里只是抛砖引玉,切莫认为参考这就可以完成商用IP设计。若有NVME或RDMA 产品及项目需求,请看B站视频后联系。
发表于 10/13/2025 3:51:40 PM
阅读(460)
NVMe高速传输之摆脱XDMA设计28:TLP 事务处理程序的执行流程计
前面提到最小桥设备模型的每个端口的输入端对接一个 TLP事务处理程序, 该程序负责将接收到的 TLP 事务进行解析和路由转发。 TLP 事务处理程序的执行流程如图 1 所示。图1 TLP 事务处理程序的执行流程图当对应任务接口的事务缓存中存...
发表于 10/2/2025 11:59:39 AM
阅读(416)
NVMe高速传输之摆脱XDMA设计27:桥设备模型设计
桥设备模型模拟虚拟 PCI 桥设备的配置空间和路由功能。 桥设备是拓展 PCIe 链路的关键设备, 在 NVMe 子系统模型中, 桥设备模型一方面负责模拟 PCIE 集成块的配置空间, 另一方面用于构造 PCIe Switch 模型。 最小...
发表于 9/23/2025 8:57:27 AM
阅读(459)
NVMe高速传输之摆脱XDMA设计25:驱动器设计
桥设备模型模拟虚拟 PCI 桥设备的配置空间和路由功能。 桥设备是拓展 PCIe 链路的关键设备, 在 NVMe 子系统模型中, 桥设备模型一方面负责模拟 PCIE 集成块的配置空间, 另一方面用于构造 PCIe Switch 模型。 最小...
发表于 9/15/2025 8:08:22 AM
阅读(540)
NVMe高速传输之摆脱XDMA设计24:驱动器设计
驱动器负责 TLP 事务与接口信号的转换, 驱动器的程序结构如图 1 所示。 在本项目中使用的接口为 PCIE 集成块的接口, 分别是 cfg_mgmt 接口、axis_rq 接口、axis_rc接口、 axis_cq 接口、 axis_c...
发表于 9/11/2025 7:59:18 AM
阅读(521)
NVMe高速传输之摆脱XDMA设计23:NVMe 子系统模型设计
NVMe 子系统模型是用来模拟 NVMe 子系统的功能仿真模型。 在当前的技术背景下, 单一的存储设备难以满足巨大的存储容量和速度需求, 因此很多存储系统都采用 PCIe 交换机来拓展链路, 或通过 RAID 技术来提升存储性能, 这些都使...
发表于 9/8/2025 10:45:16 AM
阅读(610)
NVMe高速传输之摆脱XDMA设计22: UVM 验证包设计
UVM 验证包的主要功能是对 DUT 提供激励, 仿真验证对应的功能, 并对测试结果进行自动对比分析与统计。 验证包包含一个NoPHAE_env 验证环境, 验证环境下包含 axi4_lite_age...
发表于 8/29/2025 2:12:01 PM
阅读(875)
NVMe高速传输之摆脱XDMA设计21: UVM验证平台
NVMe over PCIe采用 AXI4-Lite 接口、AXI4 接口和 PCIe3.0X4 接口,其中AXI4-Lite 和 AXI4 总线接口均可抽象为总线事务,而 PCIe 接口信号可被抽象为 PCIeTLP 事务,因此为了方便的...
发表于 8/19/2025 9:25:58 AM
阅读(858)
NVMe高速传输之摆脱XDMA设计20: TLP读处理优化
对于存储器读请求TLP,使用Non-Posted方式传输,即在接收到读请求后,不仅要进行处理,还需要通过axis_cc总线返回CPLD,这一过程由读处理模块执行,读处理模块的结构如图1所示。图1 读处理模块的结构图当axis_cq总线接...
发表于 8/5/2025 5:38:23 PM
阅读(1016)

