首页 > 其他分享 >NVMe主机控制器,AMBA-AXI4接口,Xilinx FPGA,介绍手册

NVMe主机控制器,AMBA-AXI4接口,Xilinx FPGA,介绍手册

时间:2024-08-09 14:49:06浏览次数:19  
标签:DMA FPGA AXI4 NVMe PCIe Host Xilinx SSD

NVMe AXI4 Host Controller IP

1      介绍

NVMe AXI4 Host Controller IP可以连接高速存储PCIe SSD,无需CPU,自动加速处理所有的NVMe协议命令,具备独立的数据写入和读取AXI4接口,不但适用高性能、顺序访问的应用,也适用于随机访问的应用,同时结合外部存储器(比如DDR),使得Host端的数据访问管理更加灵活。

无需CPU,NVMe AXI4 Host Controller IP自动执行对PCIe SSD的PCIe设备枚举和配置、NVMe控制器识别和初始化、NVMe队列设置和初始化,实现必须以及可选的NVMe Admin Command Set和NVM Command Set,实现对PCIe SSD的复位/断电/SMART/Error Information/Device Self-test管理、IO(Page)读写、DMA读写和数据擦除功能,提供用户一个简单高效的接口实现高性能存储解决方案。

NVMe AXI4 Host Controller IP读写的顺序传输长度是RTL运行时动态可配置的,最小是4K-Byte,最大是512K-Byte。每次读写访问,用户可以指定本次传输的顺序传输长度(4K~512K Byte),不同的顺序传输长度对应不同的DMA读写性能。

针对多路数据通道访问PCIe SSD,使用NVMe的多队列特性,NVMe AXI4 Host Controller IP支持灵活配置DMA读写的通道个数,按照NVMe队列优先级仲裁(循环仲裁或加权循环仲裁)机制,实现多个DMA通道对同一块PCIe SSD的高效访问,从而达到多路数据通道访问的并行需求和QoS要求。

1.1      特性

  • 支持Ultrascale+,Ultrascale,7 Series FPGA
  • 支持PCIe Gen4,PCIe Gen3,PCIe Gen2 SSD
  • 无需CPU
  • 自动实现对PCIe SSD的PCIe设备枚举、NVMe控制器识别和NVMe队列设置
  • 支持对PCIe SSD的NVM Subsystem Reset、Controller Reset和Shutdown
  • 支持NVMe Admin Command Set:Identify、SMART、Error Information、Device Self-test、Create/Delete IO Submission/Completion Queue、Set Features – Volatile Write Cache/Arbitration
  • 支持NVMe NVM Command Set:Write、Read、Flush、Dataset Management
  • 提供1个Admin命令接口,实现对PCIe SSD的复位/断电/SMART/Error Information/Device Self-test管理功能
  • 提供1个IO命令接口,实现对PCIe SSD的IO(Page)读写、Cache Flush和逻辑数据块擦除功能;提供1个IO-AXI4-MM接口读写IO(page)数据
  • 提供1个DMA命令接口,实现对PCIe SSD的DMA读写功能

n  提供1个DMA-AXI4接口实现DMA数据的输入和输出

  • DMA读写的顺序传输长度可以动态配置,4K-Byte~512K-Byte;不同的顺序传输长度对应不同的DMA读写性能
  • 针对多通道DMA需求,可以配置4个DMA命令接口,1个DMA-AXI4接口
  • NVMe队列的个数(配置DMA通道的个数)和深度可配置,平衡对PCIe SSD的DMA性能和消耗的逻辑资源
  • 支持循环仲裁(Round Robin Arbitration)和加权循环仲裁(Weighted Round Robin Arbitration)
  • 支持NVMe Admin和IO命令的超时和错误处理恢复机制,提供详尽以及扩展的访问错误状态输出
  • 支持的NVMe设备:

n  Base Class Code:01h(mass storage),Sub Class Code:08h(Non-volatile),Programming Interface:02h(NVMHCI)

n  MPSMIN(Memory Page Size Minimum):0(4K-byte)

n  MDTS(Maximum Data Transfer Size):大于等于顺序传输长度或0(无限制)

n  LBA Unit:512-byte,1024-byte,2048-byte或4096-byte

  • 一个NVMe AXI4 Host Controller IP直接连接到PCIe SSD
  • 易于集成的同步、可综合Verilog设计
  • 通过完全验证的NVMe AXI4 Host Controller IP

 

链接:

https://files.cnblogs.com/files/zhang-fpgachipip/NVMe_AXI4_Host_Controller_IP.zip?t=1723186100&download=true

标签:DMA,FPGA,AXI4,NVMe,PCIe,Host,Xilinx,SSD
From: https://www.cnblogs.com/zhang-fpgachipip/p/18350760

相关文章

  • fpga图像处理实战-RGB转YCBCR(YUV)算法
    YCBCR        YCbCr是一种用于数字图像和视频的颜色空间。它将颜色分解为亮度(Y)和两个色度分量(Cb和Cr)。这种分解使得视频压缩和传输更加高效,因为人眼对亮度变化更敏感,而对色度变化较不敏感。        亮度(Y):亮度表示图像的灰度级别或光强度。它是RGB颜色空间中......
  • fpga图像处理实战-RGB与HSV互转
    HSV颜色模型        HSV(Hue,Saturation,Value)颜色模型是一种常用的色彩表示方式,特别适用于图像处理、计算机图形学和色彩选取工具中。它通过将颜色的表示从传统的RGB(红、绿、蓝)模型转换为更符合人类视觉感知的方式来描述颜色。以下是HSV模型的三个主要分   ......
  • fpga图像处理实战-YCBCR转RGB
    计算公式    R=Y+1.402*(V-128)=Y+1.402*CR-1.402*128  G=Y-0.344*(U-128)-0.714*(V-128)=Y-0.344*CB-0.714*CR+1.058*128   B=Y+1.772*(U-128)=Y+1.772*CB-1.772*128FPGA实现`timescale1ns/1ps////Company://......
  • 【教程4>第3章>第5节】8ASK解调系统的FPGA开发与matlab验证
    本课程学习成果预览 欢迎订阅FPGA/MATLAB/Simulink系列教程《★教程1:matlab入门100例》《★教程2:fpga入门100例》《★教程3:simulink入门60例》《★教程4:FPGA/MATLAB/Simulink联合开发入门与进阶X例》目录1.软件版本2.8ASK解调理论简介3.8ASK解调过程的MATLA......
  • 第6章>>实验6:PS(ARM)端Linux RT与PL端FPGA之间(通过Reg寄存器进行通信和交互)-《LabVIEW Z
    1、实验内容       前面第五章入门实验和上一个实验5里面我们向大家展示通过了布尔类型的Reg寄存器通道实现了ZYNQPS端ARM和PL端FPGA二者之间的开关量交互,抛砖引玉。       从本节实验开始,接下来4个实验我们将着重向大家讲解更为通用和更为全面的4种交互方......
  • FPGA设计之跨时钟域(CDC)设计篇(5)----同步FIFO的两种设计方法(计数器法/高位扩展法 | 手撕
    1、什么是FIFO?        FIFO(FirstInFirstOut)是一种先进先出的数据缓存器,在逻辑设计里面用的非常多。它是一种存储器结构,被广泛应用于芯片设计中。FIFO由存储单元队列或阵列构成,第一个被写入队列的数据也是第一个从队列中读出的数据。        FIFO设计可......
  • FPGA MIPI DSI LCD彩条显示
    1MIPI简介MIPI(MobileIndustryProcessorInterface)是一种针对移动设备和嵌入式系统的接口标准,由MIPI联盟制定。其主要目的是提高移动设备之间的通信效率,降低功耗,并支持高速数据传输。MIPI的主要标准包括:MIPIDSI(DisplaySerialInterface):用于连接显示模块,支持高清视......
  • FPGA知识基础之--500ms计数器,边沿检测,按键消抖
    目录前言一、边沿检测1.1使用背景1.2方法:打拍法1.2.1背景1.2.2原理1.2.3上升沿二、计数器2.1原理2.2RTL代码三、按键消抖前言一、边沿检测1.1使用背景在我们设计电路时,经常会遇到需要继续检测上升沿和下降沿的电路,因此需要对边沿继续检测1.2方法:打......
  • 基于FPGA的出租车计费系统设计---第一版--郝旭帅电子设计团队
    欢迎各位朋友关注“郝旭帅电子设计团队”,本篇为各位朋友介绍基于FPGA的出租车计费系统设计---第一版 功能说明:    1.收费标准(里程):起步价5元,包括三公里;三公里之后,每公里2元(不到一公里,不收费)。   2.收费标准(低速等待费):当计费开始,车辆速度低于某一速度时,开始收取......
  • FPGA开发——按键控制LED的实现
    一、概述在上一篇文章中我们学习了按键的相关消抖及其使用,在这篇文章当中我们就针对通过按键实现LED的控制。1、按键原理图2、基本框架通过我们前面编写的按键消抖的文件和LED文件将按键和LED两个模块进行交互,从而达到按键控制LED的目的。 二、代码编写1、首先是按键......