自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(71)
  • 资源 (7)
  • 收藏
  • 关注

原创 NVMe高速传输之摆脱XDMA设计12:系统初始化

摘要:系统初始化流程通过PCIe实现NVMe功能,分为链路训练、PCIe初始化和NVMe初始化三个阶段。链路训练由PCIE集成块完成,成功后通过LinkUp信号触发后续初始化。用户控制模块启动PCIe和NVMe初始化,各阶段均设有状态检测和错误处理机制。整个过程在毫秒级完成,最终使NoP逻辑加速引擎进入正常工作模式。初始化失败会终止流程并记录错误状态。

2025-07-04 08:47:14 67

原创 NVMe高速传输之摆脱XDMA设计11:性能监测单元设计

性能监测单元用于监控NVMe over PCIe加速引擎的运行状态,记录包括运行时间、指令数量、数据操作、IOPS性能及延迟等统计信息。这些数据存储在专门的性能监测寄存器组中(具体定义见附表1)。如需了解更多技术细节,可访问B站用户"专注与守望"的主页(https://space.bilibili.com/585132944)。(98字)

2025-07-02 17:46:58 98

原创 NVMe高速传输之摆脱XDMA设计10: DMA 控制单元设计

摘要:DMA控制单元通过寄存器组实现NVMe数据传输控制,包含操作寄存器(定义读写类型)、长度寄存器(以逻辑块为单位)、地址寄存器(定义源/目的地址)以及状态寄存器(记录请求数量和执行状态)。该机制简化了用户对数据传输事务的管理。具体寄存器定义详见文中表格,更多信息可查看B站相关视频资源。 (字数:96字)

2025-07-02 17:44:31 149

原创 NVMe高速传输之摆脱XDMA设计9:队列控制单元设计

摘要:NVMe队列控制单元通过队列控制寄存器和状态寄存器实现队列管理功能,可动态调整运行队列数量以优化数据传输性能。控制寄存器配置队列参数(类型、深度等),状态寄存器实时反馈操作结果(成功/失败及错误代码)。该机制允许用户高效管理NVMe存储设备的队列资源,相关寄存器定义详见表格说明。更多信息可访问B站用户"专注与守望"的视频资源。(140字)

2025-07-01 09:07:41 340

原创 NVMe高速传输之摆脱XDMA设计8:初始化控制单元设计

本文介绍了PCIe初始化控制的实现方法,重点阐述了初始化寄存器组的功能设计。通过初始化控制寄存器、状态寄存器、内存页大小寄存器和单队列最大深度寄存器四个专用寄存器,实现了对PCIe和NVMe初始化进程的分阶段控制与状态监控。文章详细说明了各寄存器的具体功能,包括初始化流程控制、状态反馈、参数获取等,并强调了初始化顺序的严格性以及错误排查方法。该方案为PCIe数据读写提供了可靠的初始化保障机制。

2025-07-01 08:54:40 508

原创 NVMe高速传输之摆脱XDMA设计7之系统控制模块设计

本文介绍了NVMe over PCI控制模块的功能与结构。该模块通过初始化控制、队列管理、DMA等功能实现对逻辑加速引擎的控制,并反馈工作状态。模块包含多个控制单元和寄存器组,采用低功耗的AXI4-Lite总线接口,简化设计并方便系统集成。图1展示了该控制模块的具体结构。

2025-06-29 11:38:30 119

原创 NVMe高速传输之摆脱XDMA设计6之系统架构设计

本文提出了一种基于FPGA的通用高性能NVMe存储控制IP设计。该设计采用纯逻辑电路实现,支持PCIe 3.0和NVMe 1.3d协议,具有以下核心特点:1) 通过AXI总线接口实现易集成性;2) 支持16个I/O队列的动态配置管理;3) 提供DMA功能实现高效数据传输。系统架构包含五大模块:系统控制、初始化、NVMe控制、PCIe加速和PCIE集成块,可实现2GB/s顺序读写和50万IOPS的随机写性能。该设计无需CPU介入,适用于多种FPGA平台,为前端数据采集系统提供了高效的存储解决方案。

2025-06-29 11:28:14 899

原创 NVMe高速传输之摆脱XDMA设计5:TLP 读处理优化

本文分析了PCIe读请求处理的优化方案。研究表明,将队列管理和PRP放置在近PCIe端可显著降低读取延迟。通过对比三种处理模式发现:低性能模式因串行处理导致延迟累积;仅支持outstanding的模式仍存在总线空闲;而采用并行响应处理单元和发送缓存的优化模式,可实现CplD优先发送,有效提升总线传输效率和吞吐量。实验结果表明该设计能充分利用PCIe乱序传输能力。更多详情可参见B站"专注与守望"的相关视频。

2025-06-25 16:30:24 223

原创 NVMe高速传输之摆脱XDMA设计3:PCIe 应答模块设计

摘要:XDMA工具虽方便但其黑箱特性限制了深入理解NVMe和RDMA高速传输机制。本文剖析了基于PCIe的NVMe实现原理,重点介绍应答模块对存储器写请求TLP的处理流程:通过解析TLP报头字段完成地址映射,将数据分别导向队列管理模块和AXI总线。处理过程无需返回完成报文,采用并行引擎提升效率(见图1)。更多技术细节可访问B站"专注与守望"频道。 核心要点: XDMA工具的局限性 PCIe协议在NVMe中的关键作用 存储器写请求TLP的处理架构 地址映射与数据传输路径 技术资源获取渠道

2025-06-25 16:24:54 469

原创 NVMe高速传输之摆脱XDMA设计4之TLP读处理

摘要: 存储器读请求TLP采用Non-Posted传输方式,读处理模块通过axis_cc总线返回CplD响应。该模块采用带outstanding能力的并行处理结构,128位宽总线可同时处理多个读请求。处理流程包括:解析/地址映射流水线→outstanding缓存→分类处理(队列/PRP/数据请求)→CplD打包发送。模块支持三种请求类型,有效提升处理效率和吞吐量。详细视频见B站"专注与守望"空间。 (149字)

2025-06-25 16:23:41 169

原创 RDMA简介9之AXI 总线协议分析2

AXI4总线通道结构解析:采用读写分离、数据与控制分离的设计,包含五个通道(写地址、写数据、写响应、读地址、读数据),实现多主多从连接与并行处理。写通道包含独立响应反馈,读响应则与数据合并返回。这种架构显著提升了数据吞吐量。(图1为通道结构示意图,相关视频可访问B站链接或搜索用户名"专注与守望")

2025-06-24 13:50:19 190

原创 RDMA简介8之AXI 总线协议分析1

AXI总线是由ARM公司推出的高速片内互连协议,包含AXI4、AXI4-Lite和AXI4-Stream三种接口类型。AXI4支持高性能传输特性如乱序和突发传输;AXI4-Lite简化了功能,适用于简单单次通信;AXI4-Stream专为点对点数据流设计,无地址总线。三种接口各有特点,满足不同的片内互连需求。表1详细对比了它们的特性差异。

2025-06-24 13:44:29 789

原创 RDMA简介7之RoCE v2可靠传输

摘要:RoCEv2协议通过丢包重传机制(采用后退N帧算法)、流量控制(PFC算法)和拥塞管理(DCQCN算法)实现可靠传输。其中PSN编号检测丢包,PFC通过8个虚拟通道进行优先级流控,而DCQCN则利用ECN标记实现拥塞控制。这些技术共同保障了RoCEv2在无损网络中的高效传输。(149字)

2025-06-13 09:01:53 1061

原创 RDMA简介6之RoCE v2连接管理

RoCEv2协议提供两种队列工作模式:有连接模式(支持可靠RC和不可靠UC传输)和无连接模式(仅支持UD传输)。有连接模式要求队列对严格绑定通信,而无连接模式允许任意队列对间通信。连接建立可通过CMAPI(基于UD报文交换QP信息)或SocketAPI(需先建立TCP/IP连接)两种方式实现,涉及缓冲区、MTU等参数协商。两种模式在通信机制上存在显著差异。

2025-06-13 08:44:23 150

原创 RDMA简介5之RoCE v2队列

摘要:RoCE v2协议通过工作队列(WQ)和完成队列(CQ)实现数据传输控制,其中工作队列分为发送队列(SQ)和接收队列(RQ),二者组成队列对(QP)。数据传输时,应用程序提交工作请求(WR)生成WQE,网卡处理后产生CQE。五种操作类型中,RECEIVE仅作用于接收队列,而READ、WRITE、ATOMIC为单边操作。RoCE v2队列包括五种状态(RESET、INIT、RTR、RTS、ERROR),由状态机控制切换,决定队列的数据收发能力。不同状态下队列可执行的操作权限各异,ERROR状态表示队列失

2025-06-05 17:16:07 636

原创 RDMA简介之4ROCE V2初析

RDMA原语分为单边和双边语义,单边操作(READ/WRITE/ATOMIC)无需远程CPU参与,提供高吞吐和低延迟;双边操作(SEND/RECEIVE)需双方CPU协作,保证可靠性但性能较低。单边语义通过地址和密钥访问远程内存,原子操作确保数据一致性。双边语义用于信息交换和错误处理,需发送和接收缓冲区匹配。

2025-06-05 15:28:24 402

原创 RDMA简介3之四种子协议对比

RDMA协议包含四种实现方式:InfiniBand、RoCE(v1/v2)和iWARP。InfiniBand采用专用网络架构,性能最优但成本高昂;RoCE协议通过以太网承载IB协议,其中v1仅支持二层网络,v2基于UDP/IP可支持三层网络;iWARP基于TCP/IP实现,兼容性最好但资源消耗较大。从应用趋势看,兼顾成本与性能的RoCE v2正成为数据中心的主流选择。各协议在网络层级、硬件需求和部署成本方面存在显著差异。

2025-06-04 15:54:26 471

原创 RDMA简介2之技术优势分析

摘要:随着数据中心对网络性能要求的提升,RDMA网络因其高带宽、低延迟的优势逐渐替代传统TCP/IP协议。RDMA通过零拷贝、绕过CPU介入等特性显著提升效率。图1对比显示,TCP/IP需多次数据拷贝和CPU处理,而RDMA直接由网卡读取已注册内存数据。这种架构差异使RDMA更适用于高性能计算场景。 (字数:97字)

2025-06-04 11:42:51 603

原创 RDMA简介1之RDMA开发必要性

摘要:FPGA作为数据采集前端面临存储容量不足的挑战,DDR SDRAM已无法满足TB级数据存储需求。研究表明,结合RDMA技术可实现高带宽、低延时数据传输,其中RoCE v2协议因以太网兼容性和低成本成为理想选择。当前研究聚焦于FPGA实现RoCE v2协议控制,并需解决不同数据采集场景下的性能优化问题。(148字)

2025-06-03 14:37:10 345

原创 NVMe IP现状扫盲

本文比较了SSD与机械硬盘的性能优势,指出传统接口协议已成为SSD的性能瓶颈。NVMe协议作为专为PCIe SSD设计的接口规范,具有高效管理、高I/O效率等优势,并已扩展到网络传输领域(NVMe-oF)。研究显示,将NVMe SSD应用于嵌入式系统虽能提升性能,但受限于嵌入式CPU主频和软件协议栈复杂度。为充分发挥NVMe性能,需要优化软件流程或采用硬件逻辑实现并行处理。随着协议完善,NVMe技术将成为存储领域的主流解决方案。

2025-06-02 23:30:39 905

原创 NVMe协议简介之AXI总线更新

AXI4总线协议是ARM提出的高性能片内总线标准,广泛应用于SOC设计。协议包含三种类型:AXI4-Full(支持突发传输等高级功能)、AXI4-Lite(简化版用于寄存器配置)和AXI4-Stream(专用于高速数据流)。AXI4采用五通道架构(读/写地址、数据及写响应通道),通过独立又相互依赖的通道实现高效数据传输。多设备通信需通过AXI互联IP实现路由转发。该协议因其高性能和低延迟特性,被Xilinx等厂商广泛采用,极大提升了SOC模块间的互联效率。

2025-06-02 23:21:32 952

原创 NVMe高速传输之摆脱XDMA设计4:PCIe 读应答模块设计

本文提出了一种高效的非Posted式存储器读请求TLP处理模块设计。该模块采用128位宽axis总线,通过三级流水结构和并行响应处理单元实现outstanding能力,支持队列、PRP和数据三类请求的并发处理。相比传统串行处理模式,该设计能显著减少总线空闲周期,充分利用PCIe乱序传输特性。时序分析表明,其吞吐量较单事务处理模式提升明显,有效解决了请求阻塞问题。

2025-05-25 09:19:47 333

原创 NVMe高速传输之摆脱XDMA设计3:PCIe 写应答模块设计

写应答模块架构,包括处理存储器写请求TLP的流程:解析报头字段、地址映射、数据缓存及通过AXI总线实现数据传输。该模块支持对完成队列和写数据的区分处理,提高了NVMe协议下的数据传输效率。

2025-05-25 09:12:51 302

原创 NVMe高速传输之摆脱XDMA设计2

选用XDMA做NVMe IP的关键传输模块,可以加速IP的设计,但是XDMA对于开发者来说,还是不方便,原因是它就象一个黑匣子,调试也非一番周折,尤其是后面PCIe4.0升级。因此决定直接采用PCIe设计,虽然要费一番周折,但是目前看,还是值得的,uvm验证也更清晰。

2025-05-24 16:53:07 561

原创 NVMe高速传输之摆脱XDMA设计1

PCIe 加速模块负责处理PCIe事务层,并将其与NVMe功能和AXI接口直接绑定。

2025-05-24 16:25:49 520

原创 NVMe简介7之PCIe配置空间

PCIe 设备具有和PCI设备相同的配置空间头类型,此外使用PCIe拓展配置空间 管理PCIe总线。PCI配置空间头分为Type0和Type1两种类型,Type0类型配置空间 头在PCIe总线中用于EP,Type1类型配置空间头用于Switch中的虚拟PCI桥。

2025-05-18 00:20:25 328

原创 NVMe简介6之PCIe事务层

PCIe事务层连接了PCIe设备核心与PCIe链路,采用TLP(事务层包)进行数据传输。TLP由TLP前缀、头部、有效载荷和TLP摘要组成,其中TLP头部最为关键,通常包含三到四个双字。PCIe事务类型分为Non-Posted和Posted两类,Non-Posted事务需要完成报文响应,而Posted事务则不需要。

2025-05-18 00:09:37 424

原创 NVMe简介5之PCIe

PCIe(Peripheral Component Interconnect Express)体系结构主要由根复合体(Root Complex, RC)、Switch和终端设备(EndPoint, EP)组成。RC作为树形结构的根节点,负责配置总线设备、分配资源和管理数据传输。Switch用于扩展PCIe链路,实现路由功能,允许在一条链路上连接多个设备。EP则是连接到PCIe总线上的外部设备,如网卡、显卡等,能够接收和发起请求。PCIe总线采用分层协议,包括事务层、数据链路层和物理层。

2025-05-17 12:04:11 475

原创 NVMe协议简介4之AXI总线读写

AXI总线是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)协议中的重要组成部分,主要面向高性能、高带宽、低延时的片内互连需求。这里简要介绍AXI总线分类及读写通道架构。

2025-05-17 10:19:04 403

原创 NVMe简介3之数据寻址

NVMe 协议支持物理区域内存页(Physical Region Page, PRP)和散集列表(ScatterGather List, SGL) 两种寻址模型, 基于 PCIe 的 NVMe 主要使用 PRP 寻址模型, 因此这里仅对 PRP 寻址模型进行分析。

2025-05-15 07:55:20 189

原创 NVMe简介2之数据结构

NVMe协议中规定每个提交命令的大小为64字节,完成命令大小为16字节,NVMe命令分为Admin和IO两类,NVMe的数据块组织方式有PRP和SGL两种。

2025-05-15 00:12:13 641

原创 NVMe简介1之NVMe队列和分层结构

NVM Express(NVMe)是一种高性能、可扩展的接口协议,用于通过PCI express(PCIe)总线,实现主机软件与NVM设备之间的通信。目前,由于NVMe SSD相比于SATA SSD具有更高的吞吐量、更快的访问速度和更低的功耗,已经被广泛应用于各种计算领域和存储系统。

2025-05-14 23:55:43 1102

原创 NVMe控制器之仿真平台搭建

通过搭建仿真平台,编写测试激励对高速存储传输系统中的关键模块进行仿真验证,并对验证的功能点进行波形检查与分析,在完成仿真后使用Vivado开发工具完成系统整体搭建

2025-05-10 14:45:40 206

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

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

2025-05-10 14:40:00 435

原创 NVMe控制器之完成信息解析模块

完成信息解析模块用于解析NVMe命令执行完成后返回的信息。该模块首先提取完成信息中的Status Field字段和ID号。通过检查Status Field字段,判断NVMe命令是否成功执行。

2025-05-03 15:55:58 259

原创 NVME控制器之队列管理模块

队列管理模块是整个NVMe Host控制器的核心模块,该模块实现了提交队列与完成队列的管理,多队列请求的仲裁判决等功能。队列管理模块中含有数据选择单元、SQ、CQ、和仲裁器等模块。

2025-05-03 15:35:40 1071

原创 NVME控制器之指令控制模块设计

指令控制模块由一个指令信息缓存, 一个指令组装状态机和一个 ID 池组成。 指令信息缓存中存放着由系统控制模块写入的待处理指令信息; 指令组装状态机获取缓存的指令信息, 将其组装成提交队列条目写入提交队列中; ID 池则用于存放可使用的指令 ID。

2025-04-24 10:20:40 296

原创 NVMe 控制模块设计之架构

NVMe 控制模块负责实现用户请求事务与 NVMe 事务的转换、 NVMe 命令提交与完成机制、 PRP 寻址机制。 这里简介主要组成及功能,后续详细讨论。

2025-04-24 10:03:38 508

原创 一种适合万兆以太网存储传输系统设计(3)之详细设计3

接口转换模块实现了AXI4接口与AXI4-Stream接口之间的转换功能。接口转换模块主要由寄存器、S2MM和M2SS三部分组成。

2025-04-10 09:29:22 247

原创 一种适合万兆以太网存储传输系统设计(3)之详细设计2

一种适合万兆以太网存储传输系统设计(3)之详细设计2。流程控制模块主要由寄存器、读状态机、写状态机和命令生成模块组成。

2025-04-10 09:21:41 348

cadence学习资料

学习cadence的资料,希望对学习这方面的人有用,谢谢

2013-07-12

电源设计参考

Ti经典电源设计,从多方面讨论如何设计优秀的电源部分

2013-07-14

模拟IC设计的EDA平台和流程-cadence

IC设计经典文章, 重点是cadence,希望对大家有用

2013-07-14

NVMe1.3c协议,便于理解和研究高速传输新技术

最新NVMe1.3c协议,TheNVM ExpressTM(NVMeTM)interface allows host software to communicate with a non-volatile memorysubsystem. This interface is optimized for Enterpriseand Clientsolid statedrives, typically attachedas aregister level interfaceto the PCI Express interface.

2018-11-17

Cadence高速电路板设计与实践范例文件

学习cadence较好的参考资料,包括原理图,pcb版图和gerber文件设计指导

2013-07-12

ad采样设计参考

IC设计中AD部分文档6份,希望对采样设计人员有参考价值

2013-07-12

cadence16.3参考设计

学习cadence较好的参考资料,包括原理图,pcb版图和gerber文件设计指导

2013-07-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除