当前位置: 首页 > article >正文

国产fpga nvme ip高速存储方案设计

国产高速存储方案主要是使用nvme ip实现高速存储方案,nvme ip采用纯verilog语言实现,用户拿到nvme  ip使用起来也很简单。

先看看效果如

zu7eg板子,这个芯片支持pcie3.0 x4.

zynq 7045板子只支持pcie 2.0 x4

速度测试,测试nvme ip的代码采用c语言,在zu板卡上再ps端跑测试代码,测试性能如下所示。

nvme ip bd工程如下所示,注意到这个bd工程搭建了arm核,这个核仅仅是用于测试nvme ip的测试代码,用户正式使用时可以换成自己的verilog代码。

zu7eg资源使用情况

zynq7035资源使用情况

nvme ip接口

nvme 提供了admin管理命令读写接口,用户通过填充admin  sq buff实现发送命令,通过polling cq寄存器确认该命令是否完成。

nvme提供了io命令,io命令提供了lba,command id,len,opcode,prp地址等寄存器,用户填充这些命令后,通过trigger寄存器实现命令发送,nvme ip实现了qd128队列深度,用户通过polling寄存器找到空闲 的queue node实现sq的填充。通过polling cq完成寄存器确认 某个command id命令是否完成。

nvme ip支持如下命令


http://www.kler.cn/a/505677.html

相关文章:

  • 年后找工作需要注意的事项
  • 【零基础入门unity游戏开发——unity3D篇】地形Terrain的使用介绍
  • 1️⃣Java中的集合体系学习汇总(List/Map/Set 详解)
  • 【 PID 算法 】PID 算法基础
  • --- 多线程编程 基本用法 java ---
  • 怎么防止SQL注入攻击
  • MATLAB语言的编程范式
  • 当父级元素设置了flex 布局 ,两个子元素都设置了flex :1, 但是当子元素放不下的时候会溢出父元素怎么解决 (css 样式问题)
  • 雷达流量监测系统:精准监控水流,确保水资源安全
  • 基于vite+vue3+mapbox-gl从零搭建一个项目
  • 使用 VSCode 进行 AI Commit 的笔记
  • Python 的函数式编程与应用场景
  • TIOBE编程语言排行靠前的编程语言的吉祥物
  • 跨平台实践:python中如何检查当前操作系统
  • 使用JMeter模拟多IP发送请求!
  • Jenkins-简介/安装!
  • Lesson 109 A good idea
  • 【全套】基于Springboot的房屋租赁网站的设计与实现
  • Trie树算法
  • 1月13日学习
  • 安全开发 javaEE应用 servlet 路由技术 生命周期 JDBC数据库操作
  • Centos9-SSH免密登录配置-修改22端口-关闭密码登录-提高安全性
  • 服务端渲染(SSR)与客户端渲染(CSR)详解
  • 8.User-Agnet代理池
  • 链家房价数据爬虫和机器学习数据可视化预测
  • 解决 Git SSL 连接错误:OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno