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

NVMe控制器IP设计之接口模块

这是NVMe控制器IP设计系列博客之一,其他的见本博客或csdn搜用户名:tiantianuser。相关视频见B站用户名:专注与守望。

接口转换模块负责完成AXI4接口与控制器内部的自定义接口之间的转换工作。接口转换模块的框图如图1所示。
在这里插入图片描述
图1 接口转换示意图

由于AXI4接口协议的实现会占用大量的逻辑资源,为了节约资源,控制器内部的接口信号均采用逻辑简单的自定义接口,对外通过此模块转换为通用的AXI4接口,从而实现与其他模块之间的高效互联。

接口转换模块内部包含AXI4-Lite写转换模块、AXI4读转换模块、AXI4写转换模块。AXI4-Lite写转换模块是用于将内部信号(addr、en、data_db)转换为与AXI PCIe IP模块相连接的AXI4-Lite接口。该模块的主要功能是在队列管理模块需要更新SSD内部门铃寄存器时,通过访问BAR空间实现更新NVMe SSD内部门铃寄存器。门铃寄存器更新后,NVMe SSD会通过AXI PCIe IP模块的AXI4接口访问提交队列内存空间,读取NVMe命令。在这个过程中,需要通过读转换模块将读地址通道和读数据通道的信号转换为控制器内部信号(addr、en、data_out)。命令执行结束后,完成信息通过AXI PCIe IP模块的AXI4接口传输至完成信息解析模块。这个过程需要通过AXI4写转换模块将读地址通道和读数据通道的信号转换为控制器内部信号(addr、en、data_in)。

http://www.xdnf.cn/news/5168.html

相关文章:

  • 机器学习 day02
  • PD快充诱骗协议芯片XSP04D与主板共用一个Type-C和电脑传输数据
  • 关于Spring
  • 小刚说C语言刷题—1078求恰好使s=1+1/2+1/3+…+1/n的值大于X时n的值
  • 巡检机器人数据处理技术的创新与实践
  • 【Redis】string
  • Git 时光机:修改Commit信息
  • Java零组件实现配置热更新
  • gitkraken 使用教程
  • ai agent(智能体)开发 python3基础14:在python 中 总能看到方法里面套方法,那什么时候用这种方式合适呢?
  • Python常见面试题
  • LWIP的IP协议笔记
  • 通俗的理解MFC消息机制
  • 理解计算机系统_并发编程(2)_基于I/O复用的并发(一):select浅解
  • 如何理解编程中的递归、迭代与回归?
  • Shell 脚本编程1(常用命令+概述)
  • 在 Elasticsearch 中删除文档中的某个字段
  • Web自动化测试入门详解
  • 【深入理解SpringCloud微服务】手写实现一个微服务分布式事务组件
  • 如何阅读、学习 Linux 2 内核源代码 ?
  • ADI ADRV902x的射频模拟信号输入输出端口的巴伦匹配
  • nvme Unable to change power state from D3cold to D0, device inaccessible
  • akshare爬虫限制,pywencai频繁升级个人做量化,稳定数据源和券商的选择
  • HTTP 的发展史:从前端视角看网络协议的演进
  • Java字节缓冲流高效读写文件指南
  • 【论文阅读】——一些小tips和测试
  • DS18B20温度传感器
  • 问题解决思路:numpy:DLL load failed
  • 贪心算法专题(Part2)
  • React Hooks 精要:从入门到精通的进阶之路