0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

NVMe高速传输之摆脱XDMA设计23:UVM验证平台

高速传输与存储 ? 2025-08-25 18:53 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

NVMe over PCIe采用 AXI4-Lite 接口、AXI4 接口和 PCIe3.0X4 接口,其中AXI4-Lite 和 AXI4 总线接口均可抽象为总线事务,而 PCIe 接口信号可被抽象为 PCIeTLP 事务,因此为了方便的在事务层构建复杂的测试用例,项目基于 UVM 搭建验证平台进行功能验证。

wKgZPGiLK1eAaAZ3AADcEM0u3Cw872.png

图1 验证平台架构图

在验证平台中将 PCIE 集成块从待测试设计(Design Under Test,DUT)中剥离,以 PCIE 集成块接口作为 DUT 接口执行仿真。一方面,因为 PCIe 接口采用 PCIE 集成块作为物理层和数据链路层驱动,而 PCIe 物理层和数据链路层的仿真十分复杂,需要使用成熟的验证知识产权(Verification IP,VIP)保证仿真的准确性和效率,这一类的 VIP 通常十分昂贵并且复杂;另一方面,PCIE 集成块是 Xilinx 提供的过了充分验证的硬核 IP,因此在验证过程中可以只使用其接口进行模拟,这将极大减小验证平台复杂度和构建难度,同时对验证的完备性影响较小.

验证平台由 UVM 验证包、DUT、AXI BRAM IP 和 NVMe 子系统模型组成。UVM验证包用于构建测试用例、提供激励、监测接口、对比分析统计测试结果;DUT 为待测试对象即 NoP 逻辑加速引擎;AXI BRAM IP 用于模拟外部存储,对接 DUT 的AXI4 数据总线;NVMe 子系统模型(NVMe Subsystem Model)是自主设计的用于模拟 PCIe 链路设备和 NVMe 设备的功能模型。

B站已给出相关性能的视频,如想进一步了解,请搜索B站用户:专注与守望

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • PCIe
    +关注

    关注

    16

    文章

    1368

    浏览量

    85874
  • FGPA
    +关注

    关注

    1

    文章

    27

    浏览量

    16292
  • 高速存储
    +关注

    关注

    0

    文章

    14

    浏览量

    6032
  • nvme
    +关注

    关注

    0

    文章

    272

    浏览量

    23340
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    NVMe高速传输摆脱XDMA设计20: PCIe应答模块设计

    应答模块的具体任务是接收来自PCIe链路上的设备的TLP请求,并响应请求。由于基于PCIe协议的NVMe数据传输只使用PCIe协议的存储器读请求TLP和存储器写请求TLP,应答模块也分别针对两种TLP设置处理引擎来提高并行性和处理速度。
    的头像 发表于 08-13 10:43 ?211次阅读
    <b class='flag-5'>NVMe</b><b class='flag-5'>高速</b><b class='flag-5'>传输</b><b class='flag-5'>之</b><b class='flag-5'>摆脱</b><b class='flag-5'>XDMA</b>设计20: PCIe应答模块设计

    NVMe高速传输摆脱XDMA设计20: PCIe应答模块设计

    应答模块的具体任务是接收来自PCIe链路上的设备的TLP请求,并响应请求。由于基于PCIe协议的NVMe数据传输只使用PCIe协议的存储器读请求TLP和存储器写请求TLP,应答模块也分别针对两种
    发表于 08-12 16:04

    NVMe高速传输摆脱XDMA设计17:PCIe加速模块设计

    PCIe加速模块负责实现PCIe传输层任务的处理,同时与NVMe层进行任务交互。PCIe加速模块按照请求发起方分为请求模块和应答模块。
    的头像 发表于 08-09 14:38 ?1561次阅读
    <b class='flag-5'>NVMe</b><b class='flag-5'>高速</b><b class='flag-5'>传输</b><b class='flag-5'>之</b><b class='flag-5'>摆脱</b><b class='flag-5'>XDMA</b>设计17:PCIe加速模块设计

    NVMe高速传输摆脱XDMA设计17:PCIe加速模块设计

    PCIe加速模块负责实现PCIe传输层任务的处理,同时与NVMe层进行任务交互。如图1所示,PCIe加速模块按照请求发起方分为请求模块和应答模块。请求模块负责将内部请求事务转化为配置管理接口信号或
    发表于 08-07 18:57

    NVMe高速传输摆脱XDMA设计25:UVM验证平台

    抽象为 PCIeTLP 事务,因此为了方便的在事务层构建复杂的测试用例,项目基于 UVM 搭建验证平台进行功能验证
    的头像 发表于 08-04 16:52 ?289次阅读
    <b class='flag-5'>NVMe</b><b class='flag-5'>高速</b><b class='flag-5'>传输</b><b class='flag-5'>之</b><b class='flag-5'>摆脱</b><b class='flag-5'>XDMA</b>设计25:<b class='flag-5'>UVM</b><b class='flag-5'>验证</b><b class='flag-5'>平台</b>

    NVMe高速传输摆脱XDMA设计14: PCIe应答模块设计

    应答模块的具体任务是接收来自PCIe链路上的设备的TLP请求,并响应请求。由于基于PCIe协议的NVMe数据传输只使用PCIe协议的存储器读请求TLP和存储器写请求TLP,应答模块也分别针对两种TLP设置处理引擎来提高并行性和处理速度。
    的头像 发表于 08-04 16:47 ?299次阅读
    <b class='flag-5'>NVMe</b><b class='flag-5'>高速</b><b class='flag-5'>传输</b><b class='flag-5'>之</b><b class='flag-5'>摆脱</b><b class='flag-5'>XDMA</b>设计14: PCIe应答模块设计

    NVMe高速传输摆脱XDMA设计14: PCIe应答模块设计

    应答模块的具体任务是接收来自PCIe链路上的设备的TLP请求,并响应请求。由于基于PCIe协议的NVMe数据传输只使用PCIe协议的存储器读请求TLP和存储器写请求TLP,应答模块也分别针对两种
    发表于 08-04 16:44

    NVMe IP高速传输却不依赖XDMA设计九:队列管理模块(上)

    这是采用PCIe设计NVMe,并非调用XDMA方式,后者在PCIe4.0时不大方便,故团队直接采用PCIe设计,结合UVM验证加快设计速度。 队列管理模块采用队列的存储与控制分
    的头像 发表于 08-04 09:53 ?244次阅读
    <b class='flag-5'>NVMe</b> IP<b class='flag-5'>高速</b><b class='flag-5'>传输</b>却不依赖<b class='flag-5'>XDMA</b>设计<b class='flag-5'>之</b>九:队列管理模块(上)

    NVMe高速传输摆脱XDMA设计18:UVM验证平台

    验证的硬核 IP,因此在验证过程中可以只使用其接口进行模拟,这将极大减小验证平台复杂度和构建难度,同时对验证的完备性影响较小.
    发表于 07-31 16:39

    NVMe高速传输摆脱XDMA设计九:队列管理模块设计(上)

    本帖最后由 xianuser2012 于 2025-7-30 15:57 编辑 注:这是采用PCIe设计NVMe,并非调用XDMA方式,后者在PCIe4.0时不大方便,故团队直接采用PCIe
    发表于 07-27 17:41

    NVMe IP高速传输却不依赖XDMA设计八:系统初始化

    采用XDMA是许多人常用xilinx库实现NVMe或其他传输的方法。但是,XDMA介绍较少,在高速存储设计时,尤其是PCIe4.0模式下,较
    的头像 发表于 07-26 15:14 ?402次阅读
    <b class='flag-5'>NVMe</b> IP<b class='flag-5'>高速</b><b class='flag-5'>传输</b>却不依赖<b class='flag-5'>XDMA</b>设计<b class='flag-5'>之</b>八:系统初始化

    NVMe高速传输摆脱XDMA设计十:NVMe初始化状态机设计

    在完成PCIe配置初始化后,PCIe总线域的地址空间都分配完毕,可以执行传出存储读写TLP,系统初始化进入NVMe配置初始化。NVMe配置初始化主要完成NVMe设备BAR空间的NVMe
    发表于 07-05 22:03

    NVMe高速传输摆脱XDMA设计七:系统初始化

    直接采用PCIe实现NVMe功能,它的系统初始化流程主要分为链路训练、PCIe 初始化和 NVMe 初始化, 分别实现 PCIe链路连接、 PCIe 设备枚举配置和 NVMe 设备配置功能。 其中链
    发表于 07-04 09:14

    NVMe IP高速传输却不依赖便利的XDMA设计之二

    NVMe IP放弃XDMA原因 选用XDMANVMe IP的关键传输模块,可以加速IP的设计,但是XD
    发表于 05-25 10:20

    NVMe IP over PCIe 4.0:摆脱XDMA,实现超高速

    基于NVMe加速引擎,它直接放弃XDMA,改为深度结合PCIe,通过高速传输机制开发。同时利用UVM验证
    的头像 发表于 04-16 14:57 ?546次阅读
    <b class='flag-5'>NVMe</b> IP over PCIe 4.0:<b class='flag-5'>摆脱</b><b class='flag-5'>XDMA</b>,实现超<b class='flag-5'>高速</b>!