- 博客(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关注的人
RSS订阅