FPGA|CPLD|ASIC论坛
直播中

杜喜喜

7年用户 1492经验值
私信 关注
[经验]

在Xilinx ZCU102评估套件上启用NVMe SSD接口

所述Zynq®的UltraScale +™片上多核家庭的基础上,赛灵思 ®的UltraScale™片上多核体系结构,集成了一个64位的四核或双核的基于ARM的处理系统(PS)和Xilinx可编程逻辑功能丰富的(PL)UltraScale架构在单个设备中。还包括片上存储器,多端口外部存储器接口和丰富的外围连接接口集,尤其是GTH 16.3 Gbps收发器,它具有支持PCIExpress®Gen3存储设备接口(例如NVMe SSD驱动器)的能力。本文演示了使用Design Gateway的XLinz的ZCU102评估套件在NVMe SSD(固态驱动器)接口上实现的解决方案。 NVMeG3-IP Core,能够实现令人难以置信的快速性能:2319 MB / s的写入速度和3347 MB​​ / s的读取速度。
Zynq®UltraScale + MPSoC ZCU102评估套件简介ZCU102是基于XCZU9EG-2FFVB1156E MPSoC器件的用于快速原型设计的通用评估板。板上包含高速DDR4 SODIMM和组件存储器接口,FMC扩展端口,每秒数千兆位的串行收发器,各种外围接口以及用于用户定制设计的FPGA逻辑,所有这些都提供了灵活的原型开发平台。
图1:ZCU102评估套件。(图片来源:Xilinx Inc.)
ZCU102提供可编程逻辑功能,可用于创建最先进的应用程序,例如5G无线网络,下一代高级驾驶员辅助系统(ADAS)和工业物联网(IIoT)解决方案。
无论如何,对于需要高性能和高可靠性的外部数据存储的应用程序(例如NVMe SSD驱动器),需要利用GTH收发器的PCIExpress®Gen3兼容接口的正确解决方案。
NVMe SSD存储简介NVM Express(NVMe)定义了主机控制器通过PCI Express以SSD形式访问的接口。NVM Express仅使用两个寄存器(命令发布和命令完成)来优化命令的发布和完成过程。否则,NVMe通过在单个队列中最多支持64K命令来支持并行操作。64K命令条目提高了顺序访问和随机访问的传输性能。
NVMe驱动器为高速数据存储和计算铺平了道路。通过使用PCIeExpress®Gen3技术,现代的NVMe SSD驱动器可以达到高达40 Gbit / s的峰值性能。
此处显示了NVMe存储设备的示例。
ZCU102上NVMe主机控制器的实现
图2:NVMe实施。(图片来源:Design Gateway)
通常,NVMe主机是通过使用与PCIe控制器一起运行的主机处理器来实现的,该主机处理器用于与NVMe SSD进行数据传输。NVMe协议的实现是为了与通过超高速总线连接的PCIe控制器硬件CPU外设进行设备驱动程序通信。数据缓冲和命令队列需要外部DDR内存,以便在PCIe控制器和SSD之间传输数据。
由于ZCU102的XCZU9EG-2FFVB1156E FPGA器件上没有PCIe Gen3集成模块,因此无法采用传统的实现方法。
Design Gateway通过使用NVMeG3-IP内核提出了一种解决方案,如图2所示,以为Zynq®UltraScale +™MPSoC器件启用NVMe SSD接口,而该PCIe集成模块不可用。ZCU102的NVMe接口允许构建具有非常高的性能和最低的FPGA资源消耗的多通道RAID系统。NVMeG3-IP核心许可证包括示例参考设计,可帮助设计人员减少开发时间和成本。
Design Gateway的NVMeG3-IP概述具有PCIe Gen3软IP(NVMeG3-IP)的NVMe IP内核是访问无需PCIe集成块,CPU和外部存储器的NVMe SSD的理想选择。NVMeG3-IP包括PCIe Gen3 Soft IP和256 KB内存。对于需要通过使用不包含PCIe集成模块的低成本FPGA要求具有超高速性能的NVMe SSD存储的应用,建议使用此解决方案。
图3:NVMeG3-IP框图。(图片来源:Design Gateway)
NVMeG3-IP的功能NVMeG3-IP具有许多功能,其中一些功能在下面突出显示:
  • 实施应用程序层,事务层,数据链路层和物理层的某些部分以访问NVMe SSD,而无需占用CPU
  • 使用配置为4通道PCIe Gen3(128位总线接口)的Xilinx PCIe PHY IP进行操作
  • 包括256 KB RAM数据缓冲区
  • 通过dgIF typeS的简单用户界面
  • 支持六个命令,即“识别”,“关机”,“写”,“读”,“ SMART”和“刷新”(支持附加命令作为可选)
  • 支持的NVMe设备:
    • 基本类代码:01h(大量存储),子类代码:08h(非易失性),编程接口:02h(NVMHCI)
    • MPSMIN(最小内存页大小):0(4 KB)
    • MDTS(最大数据传输大小):至少5(128 KB)或0(无限制)
    • LBA单位:512字节或4096字节
  • 用户时钟频率必须大于或等于PCIe时钟(Gen3为250MHz)
  • 可用的参考设计:
    • 带有AB17-M2FMC适配器板的ZCU102
    • 带有AB18-PCIeX16 / AB16-PCIeXOVR适配器板的KCU105
    • 带有AB18-PCIeX16适配器板的VCU118
Design Gateway开发了NVMeG3-IP,可作为用于访问NVMe SSD的NVMe主机控制器运行。用户界面和标准功能旨在易于使用,而无需了解NVMe协议。NVMeG3-IP的附加功能是内置的PCIe软IP,该IP通过纯逻辑实现了数据链路层和PCIe协议的物理层的某些部分。因此,通过使用内置PCIe软IP和Xilinx PCIe PHY IP内核,NVMeG3-IP可以在不具有PCIe集成模块的FPGA中运行。Xilinx PCIe PHY IP是一个可用的免费IP内核,其中包括收发器和逻辑均衡器。
NVMeG3-IP支持六个NVMe命令,即“识别”,“关闭”,“写入”,“读取”,“ SMART”和“刷新”。256 KB BlockRAM集成在NVMeG3-IP中,用作数据缓冲区。系统不需要CPU和外部存储器。NVMeG3-IP的更多详细信息在其数据表中描述  ,可以从我们的网站下载。
下表1中显示了XCZU9EG-2FFVB1156E FPGA器件上的FPGA资源使用情况。
家庭示例设备最大频率(MHz)CLB RegsCLB LUT俱乐部IOB布拉姆锁相环GTX设计工具
Zynq-Ultrascale +XCZU9EG-2FFVB1156E30018982171093690--70----Vivado2017.4
表1:Ultrascale / Ultrascale +设备的示例实现统计信息
ZCU102的实现和性能结果图4显示了基于ZCU102的参考设计概述,以演示NVMeG3-IP操作。演示系统中的NVMeG3IPTest模块包括以下模块:TestGen,LAxi2Reg,CtmRAM,IdenRAM和FIFO。
有关NVMeG3-IP参考设计的更多详细信息,请参考 Design Gateway网站上提供的NVMeG3-IP参考设计文档。
图4:NVMeG3-IP参考设计概述。(图片来源:Design Gateway)
该演示系统旨在使用ZCU102上的NVMe SSD写入/验证数据。用户通过串行控制台控制测试操作。为了使NVMe SSD与ZCU102相连,需要一个AB17-M2FMC适配器板,如图5所示。
图5:在ZCU102上设置的NVMeG3-IP演示环境。(图片来源:Design Gateway)
当使用512 GB Samsung 970 Pro在ZCU102上运行演示系统时,示例测试结果如图6所示。
图6:使用Samsung 970 PRO S在ZCU102上的NVMe SSD读/写性能。(图片来源:Design Gateway)
结论NVMeG3-IP Core提供了一种在ZCU102评估套件上启用NVMe SSD接口的解决方案,以及针对无法使用PCIe集成模块的Xilinx®Zynq®UltraScale +™MPSoC器件系列的解决方案。NVMeG3-IP的设计目标是在不使用CPU的情况下,以最低的FPGA资源使用量实现NVMe SSD访问的最高性能。它非常适合无需CPU发明的高性能NVMe存储,并且能够利用GTH收发器实现多个NVMe SSD接口,而不受FPGA器件上可用PCIe集成块数量的限制。

回帖(1)

ben111

2020-9-3 16:13:39
Zynq®Ultrascale +™MPSoC ZCU102评估套件Xilinx的评估套件可实现快速的应用原型设计
Xilinx的 Zynq UltraScale + MPSoC ZCU102评估套件使设计人员能够快速启动针对汽车,工业,视频和通信应用的设计。该套件具有Zynq UltraScale + MPSoC,该处理器具有四核Arm®Cortex®-A53,双核Cortex-R5F实时处理器以及基于Xilinx的16 nm FinFET +可编程逻辑架构的Mali-400 MP2图形处理单元。ZCU102支持所有主要的外围设备和接口,从而能够针对各种应用进行开发。
特征
  • Vivado设计套件:一种以IP和系统为中心的设计环境,旨在加速FPGA和SoC设计
  • Vitis统一软件平台:全套工具,用于嵌入式软件开发,硬件加速和针对Xilinx平台的调试
  • 使用Zynq UltraScale + MPSoC进行快速应用原型设计
  • DDR4 SODIMM:4 GB 64位,ECC连接到处理系统(PS)
  • DDR4组件:512 MB 16位附加到可编程逻辑(PL)
  • PCIe®根端口Gen2 x4,USB3,DisplayPort™和SATA
  • 4个SFP +以太网接口
  • 2个FPGA夹层卡(FMC)接口用于I / O扩展,包括十六(16)个16.3 Gb / s GTH收发器和64个用户定义的差分I / O信号


应用领域
  • 汽车行业
  • 产业
  • 视频
  • 通讯技术
  • 嵌入式系统

ZCU102快速入门指南.pdf (786.12 KB)
(下载次数: 9, 2020-9-3 16:13 上传)
举报

更多回帖

发帖
×
20
完善资料,
赚取积分