自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 【GMAC学习笔记】深入理解以太网DMA描述符机制

分享记录以太网MAC控制器的验证,关于Synopsys DWC Ethernet QoS IP核。在学习和调试过程中,发现描述符(Descriptor)机制是整个DMA传输的核心,也是理解以太网控制器工作原理的关键。刚开始接触时,面对几百页的Databook文档,各种寄存器位域、状态标志位,感觉非常抽象。经过反复阅读文档、查看波形、调试代码,终于对描述符机制有了一些理解。特此整理成文,分享给正在学习网络协议栈、以太网驱动开发或IC验证的同学。

2026-04-24 22:15:00 22

原创 【35 天 PCIe 验证学习・基础知识 完结篇】PCIe 知识复盘 + Checklist+Bug 定位

历时 35 天,我们从物理层、数据链路层、事务层,到配置空间、系统拓扑、路由转发、高级功能,完整走完了 PCIe 协议与验证的核心体系。PCIe 是严格分层协议栈,下层为上层服务,缺一不可。LTSSM 链路训练到 L0,是所有功能正常的前提。流控 + ACK/NAK + 重传,构成 PCIe 硬件级可靠传输。配置空间 = 设备身份证BAR = 系统分配的访问地址。**BDF(Bus:Device.Function)** 是设备唯一标识。

2026-04-16 07:45:00 322

原创 【PCIe 验证每日学习・Day34】PCIe Switch 拓扑、多设备路由与跨桥转发机制

PCIe 验证体系完整复盘验证feature、用例库 ChecklistBug 定位通用流程35 天整体基础知识闭环(基础入门完结篇)

2026-04-15 07:45:00 737

原创 【PCIe 验证每日学习・Day33】PCIe 配置空间、Capability 结构与系统枚举全流程

配置空间就是这个快递柜的 “身份证 + 功能菜单本”,系统(BIOS/OS)一上电就会先查这个本;配置寄存器就是身份证信息和功能菜单条目,比如 “我是网卡(Vendor ID=0x1234)”“我有 16GB 的存储空间(BAR)”“我支持 MSI-X 中断(MSI-X Capability)”;Capability 结构就是 “功能菜单的扩展页”,因为设备功能越来越多(虚拟化、电源管理、错误处理等),配置空间本身大小有限,所以用 Capability 链表串联扩展功能。PCIe 配置空间是。

2026-04-14 07:15:00 350

原创 【PCIe 验证每日学习・Day32】重传、重放缓冲、ACK/NAK 与数据链路可靠性学习记录

大家好,继续我们每日半小时的 PCIe 学习打卡。本篇承接上一天流控与信用机制,拆解 PCIe 数据链路层(DLL 层)的核心 ——。这部分不只是 “知道怎么工作”,更要搞懂 “为什么这么设计”“工程上会出什么隐藏问题”“验证要怎么覆盖”,是链路稳定性验证的核心难点。

2026-04-13 07:30:00 377

原创 【PCIe 验证每日学习・Day31】PCIe 流控(Flow Control)与信用机制

接收方告诉发送方:“我还有多少缓冲区空间,你最多能发多少”发送方严格按照这个额度发送,不超额、不插队接收方每用完一些空间,就更新一次额度防止接收缓冲区溢出,导致报文丢失、链路卡死。

2026-04-12 07:15:00 296

原创 【PCIe 验证每日学习・Day30】PCIe 速率 / 宽度协商、Lane 极性 / 反转与信号均衡全解析

PCIe 采用差分信号传输(TX+/TX-、RX+/RX-),如果 PCB 布线时把差分线正负接反(TX + 接 RX-、TX - 接 RX+),就会出现极性错误,导致信号无法识别。而极性反转就是 PCIe 物理层的自动纠错功能:硬件自动检测差分线极性,若接反则自动翻转,无需修改 PCB,就能正常完成链路训练。PCB 布线时,受空间限制,经常出现 Lane 顺序乱序(如 Lane0→Lane15、Lane1→Lane14,或完全打乱顺序),Lane 反转 / 重映射。

2026-04-11 07:30:00 357

原创 【PCIe 验证每日学习・Day29】PCIe 链路训练与 LTSSM 状态机全解析

链路训练与状态机它是 PCIe 物理层 + 数据链路层共同维护的自动状态机检测对端设备是否存在协商速率、链路宽度、 Lane 对齐链路异常时自动恢复,维持通信稳定简单理解:LTSSM 就是 PCIe 链路的 “开机自检 + 自动修复系统”。Lane 绑定顺序错误,导致多 Lane 无法同步极性校正逻辑缺失,接反即训练失败Recovery 无法跳回 L0,链路死锁速率协商超时,不自动降级低功耗唤醒后同步丢失,必须重新全训练状态机跳转缺少互锁,出现非法状态跳转。

2026-04-10 07:15:00 340

原创 【PCIe 验证每日学习・Day28】PCIe 虚拟化与 SR-IOV 核心原理

完整的 PCIe 功能拥有完整配置空间可管理、配置、创建、销毁 VF可控制 VF 的带宽、优先级、中断、复位只有 PF 能访问全局设备资源。

2026-04-09 07:30:00 279

原创 【PCIe 验证每日学习・Day27】PCIe 中断体系全解析(INTx / MSI / MSI-X)

MSI 是真正意义上PCIe 原生的中断不使用电平,不使用引脚本质是一个设备往 RC 指定地址写一个数据 → 触发 CPU 中断│ 特性 │ INTx │ MSI │ MSI-X ││ 信号方式 │ 虚拟电平 │ 写消息 │ 写消息 ││ 向量数量 │ 最多4个 │ 最多32个 │ 最多2048个 ││ 独立掩码 │ 不支持 │ 共用掩码 │ 每个向量独立 ││ 多队列适配 │ 差 │ 中 │ 极佳 ││ 虚拟化支持 │ 弱 │ 中 │ 强(SR-IOV) │。

2026-04-08 07:45:00 600

原创 【PCIe 验证每日学习・Day26】PCIe 错误处理与异常恢复机制

大家好,继续我们的 PCIe 验证每日学习。今天搭配清晰文本图表,系统讲解 PCIe 从报文级到系统级的,是芯片验证中的核心内容,承接前面电源管理、事务处理、Completion 等知识,形成完整闭环。

2026-04-07 22:15:00 329

原创 DWC Ethernet QoS VLAN高级功能深度解析

/ 8个优先级映射到4个队列过滤失败处理:可路由到特定队列或丢弃,灵活配置描述符差异:Tx Context描述符配置VLAN操作,Rx Write-back描述符包含VLAN信息数据比对:比对帧内容、描述符状态、长度变化多通道分配:每个通道独立配置VLAN,支持多租户优先级配置:PSRQ映射、严格优先级/WRR调度组播广播:VLAN隔离组播/广播域,支持包复制。

2026-04-06 21:00:00 389

原创 DWC Ethernet QoS VLAN功能实现详解

发送路径(Tx)功能VLAN标签插入(Insertion)VLAN标签替换(Replacement)VLAN标签删除(Deletion)双层VLAN(QinQ)处理基于队列/通道的VLAN标签插入接收路径(Rx)功能VLAN标签剥离(Stripping)VLAN过滤(Filtering)双层VLAN标签解析VLAN优先级到队列映射VLAN过滤失败队列VLAN操作模式:插入、替换、删除,通过VLC字段配置VLAN标签来源:寄存器或控制字,通过VLTI位选择双层VLAN。

2026-04-05 21:45:00 687

原创 深入理解VLAN:从原理到实践(基于DesignWare Ethernet QoS)

VLAN(Virtual Local Area Network,虚拟局域网)是一种将物理网络划分为多个逻辑网络的技术。通过VLAN,我们可以在不改变物理连接的情况下,将网络设备按功能、部门或应用进行逻辑分组。通俗理解:想象一栋办公楼,虽然大家都在同一栋楼里工作(同一个物理网络),但通过VLAN技术,我们可以把不同部门的人"虚拟地"隔离到不同的楼层,就像他们真的在不同楼层工作一样。// 帧类型枚举ETH_MAC_DATA_FRAME, // 普通数据帧。

2026-04-04 23:00:00 393

原创 【PCIe验证每日学习·Day25】PCIe 电源管理机制(L0s/L1/L2/L3)全解析

PCIe 电源管理机制,是 PCIe 协议为适配“节能需求”设计的核心功能,本质是通过动态切换链路/设备的电源状态,在不影响通信性能的前提下,最大限度降低功耗。尤其在服务器、笔记本、移动设备等对功耗敏感的场景中,电源管理直接决定设备的续航与能耗效率。功耗与性能平衡——正常工作状态(L0)保障高吞吐、低延迟;低功耗状态(L0s/L1/L2/L3)降低功耗,同时确保能快速唤醒,切换回 L0 状态,不影响业务连续性。

2026-04-03 21:45:00 583

原创 【PCIe验证每日学习·Day24】PCIe 原子操作、锁定事务与总线仲裁机制

PCIe 中的原子操作,是指“一系列不可分割、不可中断的事务组合”——整个操作序列要么全部执行完成,要么全部不执行,中间不会被其他事务打断,本质是保障多主设备访问同一共享资源时的数据一致性,避免出现“读取-修改-写入”过程中的数据错乱。简单类比:你和朋友同时往一个存钱罐里放钱(共享资源),原子操作就相当于“先确认存钱罐当前金额→放入自己的钱→更新金额”这一整套流程,中间不会被对方打断,确保最终金额准确;若没有原子操作,可能出现你和朋友同时读取到相同金额,各自放入钱后,最终金额只增加了一份,导致数据错误。

2026-04-02 22:15:00 378

原创 【PCIe验证每日学习·Day23】Completion 完成包全机制深度解析

Completion 是 PCIe 事务层专门定义的响应类 TLP,唯一作用是“回应 Non-Posted 事务”,不承载主动发起的业务数据,仅用于反馈请求的处理结果,是 Non-Posted 事务闭环的唯一载体。简单类比:你(请求端)向超市(响应端)买东西(读请求),超市给你的“购物小票+商品”(Completion),小票对应“处理结果”,商品对应“读数据”,没有小票+商品,就意味着交易没完成。

2026-04-01 20:30:00 388

原创 【PCIe 验证每日学习・Day22】PCIe 拓扑结构与 Switch / 桥片转发全解析

大家好,继续我们的 PCIe 验证每日打卡学习。今天聚焦——PCIe 拓扑结构与多设备转发机制。承接前序 Day21 的复位机制,今日深入学习,是从 “单设备链路” 到 “多设备系统” 的关键跨越,也是验证中处理 Switch、桥片、多 EP 挂载场景的核心基础。

2026-03-31 20:30:00 308

原创 【PCIe验证每日学习·Day21】PCIe复位机制与功能级复位(FLR)全解析

复位是PCIe系统保证设备初始状态合规、故障后恢复正常、异常隔离止损的核心手段,目的是将设备、链路或功能模块恢复至默认初始状态,清除异常残留、修复卡死逻辑、重置配置状态。PCIe复位遵循分级管控原则,按复位范围、触发方式、影响程度分为常规复位和功能级复位两大类,不同复位类型的作用范围、执行力度、恢复时长各不相同,工程中需严格区分使用,避免复位过度或复位不彻底引发故障。

2026-03-30 20:15:00 359

原创 【PCIe验证每日学习·阶段复盘02】Day8~Day14 理论复盘

Day8~Day14是PCIe验证的核心可靠性模块,承接Day1~Day7的基础架构、链路、地址映射知识,聚焦数据传输保序、纠错、流量管控、设备能力枚举等关键内容,是保障PCIe链路稳定、数据不丢不错、高效运行的核心环节。这一阶段吃透协议握手、异常处理、流控规则,才能看懂高阶场景的问题根源,也是工程验证中覆盖率达标、排查链路bug的关键。本次复盘纯理论沉淀,无代码,梳理知识脉络、深挖规范细节、总结易错坑点,方便巩固记忆。

2026-03-29 11:45:00 317

原创 【PCIe验证每日学习·阶段复盘01】Day1~Day7 纯理论深度复盘

Day1~Day7是整个PCIe验证体系的核心地基,后续的ACK/NAK重传、流控Credit、路由寻址、中断机制、低功耗管理、错误处理等高阶内容,全都依托这7天的基础知识点展开。这一阶段主打搭建整体框架、吃透底层逻辑、牢记规范铁律,只有把基础打牢,后续学习复杂协议、排查工程Bug才能得心应手。本次复盘聚焦规范原理、知识串联、工程易错点,理论沉淀,搭配思维导图,方便梳理记忆、查漏补缺。

2026-03-28 22:00:00 360

原创 【PCIe 验证每日学习・Day20】PCIe 事务排序规则(Ordering)彻底吃透 + 死锁 / 阻塞验证

同一地址先写后读,读不超车,顺序严格不同地址读写允许合理乱序,提升性能Non-Posted 不越过 Posted多并发读写不出现死锁、不阻塞Switch/Bridge 转发严格遵守排序规则压力场景下无协议报错、无卡死。

2026-03-27 20:15:00 359

原创 【PCIe 验证每日学习・Day19】PCIe 功耗管理(PM)深度解析 & L0s/L1/L2 低功耗全流程验证

休眠时 still have replay buffer → 死锁唤醒延迟超标L1 握手单边、不回应低功耗期间链路掉 Link寄存器未使能,却自动休眠。

2026-03-26 20:30:00 417

原创 【PCIe 验证每日学习・Day16】PCIe 拓扑与路由机制详解:地址 / ID / 隐式路由

大家好,继续我们「PCIe 验证每日学习・30 分钟打卡」系列。今天进入,内容有深度、细节拉满、严格遵循 PCIe 规范无错误,讲解通俗但专业度拉满,风格与前面完全统一,适配 CSDN 富文本,可直接复制发布。

2026-03-25 22:00:00 392

原创 【PCIe 验证每日学习・Day18】PCIe 完整错误处理体系 & 异常上报 / 日志 / 恢复全流程验证

大家好,继续我们「PCIe 验证 30 分钟每日打卡」系列。

2026-03-24 20:15:00 367

原创 【PCIe 验证每日学习・Day17】PCIe 消息 TLP + 底层中断路由机制(INTx/MSI 原理落地)

大家好,继续我们「PCIe 验证 30 分钟每日打卡」系列。今天:Msg / MsgD 消息 TLP、INTx 虚拟中断、MSI 消息中断、路由规则、易错点、UVM 验证全覆盖。

2026-03-23 20:45:00 379

原创 【PCIe 验证每日学习・Day15】Completion 完成包机制详解 + 路由与排序

Completion(CPL)是专门用来 “回应读请求” 的 TLP。只有会触发 CompletionMemWr / CfgWr 只发不回,不需要 Completion完成包携带:读取的数据 + 状态 + 匹配信息一个读请求可以被拆分成多个 Completion。

2026-03-21 20:15:00 387

原创 【PCIe 验证每日学习・Day14】PCIe 流控(Flow Control)与 Credit 机制基础验证

大家好,继续我们「PCIe 验证每日学习・30 分钟打卡」系列。今天进入,它是 PCIe 不丢包、不阻塞、高效传输的关键保障。

2026-03-20 21:15:00 323

原创 【PCIe 验证每日学习・Day13】DLLP 与 ACK/NAK 重传机制基础验证

数据链路层包,只在数据链路层使用,对事务层不可见。保证 TLP 传输可靠、有序、无错、不丢失。TLP:业务数据包(MemRd/Wr、CfgRd/Wr 等)DLLP:控制应答包(ACK、NAK、流控、电源管理)ACK = 确认收到,NAK = 传错重传,重传由链路层自动搞定。

2026-03-17 22:00:00 308

原创 【PCIe 验证每日学习・Day12】PCIe 链路控制与 LTSSM 状态验证(芯片验证版)

大家好,继续我们「PCIe 验证每日学习・30 分钟打卡」系列。今天进入:LTSSM 状态机 + PCIe Cap 链路控制寄存器。

2026-03-16 20:45:00 376

原创 【PCIe 验证每日学习・Day11】PCIe 能力结构(Capability)基础验证

PCIe 能力结构(Capability)是配置空间的 “扩展功能模块”,用于实现 PCIe 设备的高级功能(中断、电源管理、链路控制等),本质是 “配置空间中的一段连续寄存器”,通过 “链表” 形式串联,方便 RC 枚举和访问。

2026-03-15 20:00:00 333

原创 【PCIe 验证每日学习・Day10】CfgRd/CfgWr 配置交易基础与 UVM 验证

大家好,继续我们「PCIe 验证每日学习・30 分钟打卡」系列。今日进入验证,它是 PCIe 设备枚举、初始化、功能配置的基础,也是继 Mem 交易之后第二大核心交易类型。

2026-03-14 21:30:00 342

原创 【PCIe 验证每日学习・Day9】Mem 交易异常场景验证:UVM 断言 + 错误响应处理

大家好,继续我们「PCIe 验证每日学习・30 分钟打卡」系列。今日聚焦,是 Day8 正常 MemRd/MemWr 交易的延伸,也是芯片验证中 “鲁棒性测试” 的核心入门内容。重点讲清 “常见错误响应、异常激励构造、UVM 断言监控”,30 分钟掌握异常验证核心逻辑。

2026-03-13 20:45:00 364

原创 【PCIe 验证每日学习・Day8】MemRd/MemWr 基础交易:UVM 序列编写 + 数据比对

MemRd/MemWr(内存读 / 写)是 RC 与 EP 之间最核心的双向数据交互方式MemWr(内存写):RC 向 EP 的 BAR 地址空间写入数据(如配置 EP 寄存器、下发指令),对应 TLP 类型为0x01(Day2 知识点,无错);MemRd(内存读):RC 从 EP 的 BAR 地址空间读取数据(如读取 EP 状态、获取数据),对应 TLP 类型为0x00(Day2 知识点,无错)。芯片验证视角。

2026-03-11 20:02:58 353

原创 【PCIe 验证每日学习・Day7】BAR 基础与地址映射:UVM/SV 寄存器配置 + Mem 交易验证

BAR(Base Address Register,基地址寄存器)是 PCIe 设备(EP/VF)向 RC暴露自身内存 / 寄存器空间的 “地址标识”,也是 RC 访问设备内部空间的唯一入口。芯片验证视角:DUT(EP/VF)的内部寄存器 / 缓冲区,对 RC 来说是 “不可见” 的,必须通过 BAR 配置,将设备内部地址映射到 RC 的系统地址空间,RC 才能通过 MemRd/MemWr TLP 访问。

2026-03-10 22:30:00 667

原创 【PCIe验证每日学习 · Day6】MSI-X中断基础+VF中断入门

MSI-X是MSI中断的进阶版本核心定位:MSI-X = MSI + 灵活扩展,本质还是“用TLP数据包传递中断信号”(与MSI一致),但支持更多中断向量、更灵活的配置,无需共享中断。核心优势向量数更多:MSI最多32个,MSI-X最多2048个(入门阶段记“支持多向量”即可);配置更灵活:每个中断向量可独立配置地址、数据,无需统一设置;支持掩码:可单独屏蔽某个中断向量,不影响其他向量(MSI不支持单独掩码);兼容性更好:可与MSI、INTx共存,适配不同芯片设计需求。芯片验证视角。

2026-03-09 22:00:00 289

原创 【PCIe验证每日学习 · Day5】PCIe中断基础:EP→RC交互+INTx/MSI实操+异常定位

大家好,继续我们「PCIe验证每日学习」系列,今天告别基础链路内容,初步开始PCIe验证核心模块——中断,全程贴合工作场景,详细讲解“EP如何向RC发送中断、INTx与MSI的核心区别”,结合UVM仿真抓包、SV寄存器配置实操,补充芯片工程验证必测项和中断异常定位方法,不堆砌理论、不跳进度,通俗易懂。前4天核心回顾(1分钟衔接,贴合今日内容):Day1:PCIe三层架构、LTSSM链路训练基础(中断传输的前提)Day2:TLP结构、5类基础TLP(MSI中断本质是TLP传输,衔接今日核心)

2026-03-08 22:50:40 367

原创 GMAC VLAN基础学习总结(从原理到实操,新手友好)

GMAC VLAN的学习,核心是“先懂原理,再练实操,最后避坑”。本文从基础认知、核心原理、实操配置、报文构造、问题排查五个维度,覆盖了新手学习GMAC VLAN的全部重点,无专业错误,贴合CSDN博客的学习分享场景。其实VLAN本身的原理并不复杂,关键是掌握GMAC与VLAN的联动逻辑——GMAC是VLAN标签的“处理者”,VLAN是流量隔离的“规则”,两者结合才能实现网络的精细化管理。附:学习资料推荐。

2026-03-07 20:30:00 670

原创 【PCIe验证每日学习 · Day4(工程深度版)】EP/RC模式+VF Cap(SR-IOV):验证需求+实操细节

EP(Endpoint,端点设备)模式是PCIe设备最常见的工作模式,也是验证中最常作为DUT(被测对象)的模式——设备作为“终端节点”,不具备TLP转发能力,仅与上游设备(RC/Switch)进行交互,接收并响应上游发起的所有合法交易(CfgRd/CfgWr/MemRd/MemWr)。核心前提:工作在EP模式的设备,仅支持Type0配置Header(无路由需求),不具备Type1 Header的解析和转发能力,配置空间仅包含自身的设备信息(厂商ID、设备ID、BAR、中断配置等)。

2026-03-06 20:00:00 697

原创 【PCIe验证每日学习·Day3】配置空间+Type0/Type1 Header,枚举实操+面试必考(附思维导图)

PCIe配置空间,相当于PCIe设备的“身份档案+配置手册”,是PCIe协议定义的、专门用于存储设备信息、配置设备参数的专用空间,所有PCIe设备(Endpoint、Root Port、桥设备)都必须具备配置空间。简单说:PCIe设备上电后,自身处于“未初始化”状态,Root Port(根端口)会通过CfgRd/CfgWr TLP,读取配置空间的信息(比如设备是谁、支持什么功能),并配置相关参数(比如中断方式、地址映射),这个过程就是“设备枚举”,而配置空间就是枚举过程的“核心交互载体”。

2026-03-05 20:00:00 345

空空如也

空空如也

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

TA关注的人

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