在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 573|回复: 1

[原创] FPGA NVMe Host控制器介绍与测试

[复制链接]
发表于 2024-5-5 10:30:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
本帖最后由 WALI-123 于 2024-5-5 10:39 编辑

1      测试环境
FPGA NVMe Host控制器测试环境为Zynq45TFPGA +闪迪1T NVMe硬盘。
FPGA   NVME.png
NVME.png



2      FPGA NVMe Host控制器结构
FPGA NVMe Host控制器采用纯PL 设计,设计语言为Verilog,支持NVMe硬盘PCie EP初始化,支持NVMe配置寄存器空间初始化,支持Admin指令管理,组要包括可识别命名空间和控制器数据结构,以及Namespace list ID的获取;同时支持IO队列的创建。
Host项目结构图.png

2.1FPGA NVMeHost控制器特性
(1)      Admin队列支持256个entries;
(2)      IO队列支持64个entries;
(3)      同时支持8个IO队列,每个队列时分复用,可执行写或者读NVme操作;
(4)      支持MSI中断和INTA中断,MSI中断支持9个向量或者1个向量号;
(5)      支持PRP List模式执行DMA数据搬移。
备注:目前的NVMe Host IO队列采用FPGA片上RAM,所以,属于简化的设计模式,最大读写速率每个通道是150MB/s;每个通道速率彼此独立,不会互相干扰。
3      FPGA NVMe Host控制器测试寄存器
3.1       通过Admin指令获取NVMe控制器数据结构
控制器数据结构.png

3.2      通过Admin指令获取NVMe 命名空间数据结构
命名空间数据结构.png
3.3      通过初始化状态机获取NVMe EP配置空间数据结构
NVMe EP SPACE.png
3.4      通过初始化状态机获取NVMe 控制器配置空间数据结构
NVMe CTRL SPACE.png

3.5      通过初始化状态机获取ROOT配置空间数据结构
ROOT.png
4         FPGA NVMe Host控制器测试数据
NVme 写操作波形如下,用户侧支持31bit的总扇区数进行读写,NVMeHost控制器内部惊醒指令拆分。
nvme data write.png
NVme 读操作波形如下,用户侧支持31bit的总扇区数进行读写,NVMeHost控制器内部惊醒指令拆分。



nvme data read.png
发表于 2024-5-5 13:14:02 | 显示全部楼层
不错
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-23 09:15 , Processed in 0.016090 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表