文章目录
零、芯片设计制造全过程
所谓芯片,就是将可以实现运算或存储等功能的电路,集成在一块很小的硅片上。
1.IC设计
1.公司:英特尔、高通、苹果、华为海思、联发科、英伟达
2.做电路图所需要的工业软件:EDA(Electronic Design Automation),电子设计自动化
(1)EDA软件是芯片设计、验证、DFT、版图布局布线等全流程所依赖的软件工具集合
(2)主流厂商:Synopsis、Cadence、Mentor Graphics等
2.IC验证
3.IC制造
公司:台积电、三星、英特尔、中芯国际
4.封装
公司:日月光、长电科技、通富微电、华天科技、云尖信息
5.硅后IP功能验证
验证和测试的区别
如果是为了确认设计符合预期功能和需求,那是 Validation。
如果是为了保证制造质量,那是 Test;
常见验证数据:5A5A A5A5
十六进制 5A = 二进制 01011010 = 十进制 90 = ASCII 字符 Z;
5A5A 是 5A 重复(二进制 01011010 01011010);
5A5AA5A5 是 5A 和 A5 交替(二进制 01011010 01011010 10100101 10100101)。
6.测试
1.测试环节:
(1)功能测试
(2)老化测试
2.芯片测试工程师的职责:
(1)明确测试的范围——包括功能、时序、电⽓参数等,所有关键指标,再结合测试成本、量产效率等实际需求,选择合适的测试设备(如ATE⾃动测试设备)和测试⽅法,制定出可落地的测试⽅案,同时编写对应的测试程序,搭建稳定的测试环境,确保测试能够准确、⾼效地进⾏。
(2)其次是“测试执⾏与数据处理”,在芯⽚样品阶段,要通过实际测试验证芯⽚是否符合设计要求,及时发现研发阶段可能遗漏的缺陷;进⼊量产后,则需要监控每条测试产线的运⾏状态,定期抽检测试数据,确保测试过程的稳定性,同时整理、分析海量的测试数据——⽐如统计不同测试项的失败率、分析失败芯⽚的共性问题,为后续的问题定位和⼯艺优化提供数据⽀持。
(3)最后是“缺陷定位与流程优化”,当测试中出现不合格芯⽚时,测试⼯程师需要结合测试数据和芯⽚的设计原理,初步判断缺陷可能存在的模块或环节,再将相关信息反馈给研发团队,协助他们精准定位问题;同时,还要根据量产过程中的测试数据,优化测试流程——⽐如调整测试参数、简化冗余的测试步骤,在保证测试充分性的前提下,提升量产测试效率,降低测试成本。
3.芯片测试与其他环节的区别:
芯⽚测试⼯程师与验证⼯程师、后端设计⼯程师,存在明显的本质区别,核⼼差异集中在⼯作阶段、核⼼⽬标和⼯作对象上。
(1)从芯⽚验证⼯程师来看,他们的⼯作主要集中在“芯⽚设计阶段”,核⼼⽬标是“验证设计的正确性”——通过搭建虚拟的验证环境(如使⽤SystemVerilog编写测试⽤例),模拟芯⽚的各种⼯作场景,检查设计代码是否符合Spec要求,提前发现设计中的逻辑错误或功能缺陷,确保设计⽅案在理论层⾯是可⾏的,⼯作对象更多是“设计代码和虚拟模型”。
(2)后端设计⼯程师则聚焦在“设计完成后的物理实现阶段”,核⼼⽬标是“将逻辑设计转化为可⽣产的物理版图”,主要⼯作包括布局布线、时序分析、物理验证(如DRC、LVS检查)等,需要在满⾜芯⽚性能、功耗、⾯积(PPA)要求的前提下,确保物理版图能够适配实际的制造⼯艺,避免出现短路、时序违规等物理层⾯的问题,⼯作对象是“逻辑⽹表和物理版图”。
(3)相⽐之下,芯⽚测试⼯程师的⼯作从“研发后期的样品测试”开始,⼀直覆盖到“量产阶段的批量测试”,核⼼⽬标是“筛选合格芯⽚+定位实际缺陷”,⼯作对象是“真实的芯⽚样品或量产芯⽚”——⽆论是验证⼯程师还是后端设计⼯程师,都是在“理论或虚拟层⾯”确保芯⽚设计和物理实现的正确性,⽽测试⼯程师则是在“实际物理层⾯”,通过真实的测试操作,检验芯⽚是否真的符合要求,同时为研发和⽣产环节提供实际的问题反馈,这也是测试⼯程师不可替代的核⼼价值。
一、术语表 Glossary
1.岗位介绍
测试+验证+固件+软件+设计部门
| 缩写 | 英文全称 | 中文含义 | 拓展 |
|---|---|---|---|
| DE | Design Engineer | IC设计工程师 | |
| DV | Design Verification | IC设计验证工程师 | |
| CV | Chip Verification | 芯片验证工程师 | |
| Profiling | 性能分析调优 | 是一种用于分析和评估程序或系统性能的技术 | |
| DFT | Scan、MBIST、JTAG 等测试电路 | DFT 负责测试电路的构建和测试pattern的生成 | |
| ATE | Automatic Test Equipment | 自动测试设备 | 包括CP和FT。 ATE 有专门的测试用例设计和生成方式 |
| CP | Chip Probe / Wafer Probe | 芯片探测 / 晶圆探测 | 封装前的裸晶圆 / 裸 Die。该阶段写入uuid |
| FT | Final Test | 最终测试 (终测、成测) | 封装后的成品芯片 |
| SLT | System Level Test | 系统级测试 | 筛芯片,放在EVB上测试 EVB:Evaluation Board(评估板) |
| BLT | Board Level Test | 板卡级测试 | |
| BurnIn | 烧机老化测试 | ||
| PE | Production Engineer | 产品工程师 | 负责yield,良率统计 |
| FAE | Field Application Engineer | 现场应用工程师 | 又称 CE(Customer Engineer) 或 AE(Application Engineer) |
| diag | 验证 | 芯片验证 | |
| FW | firmware | 固件 | |
| QA | QQuality Assurance | 质量保证工程师 | 主要负责测试 |
| ME | Manufacturing Engineer | 制造工程师:负责芯片的制造和工艺流程管理工作 |
半导体岗位(Fabless):
1.IC设计 (俗称DE,Design)
2.IC验证(俗称DV,Design Verification)
3.芯片IP验证与诊断(俗称diag或CV,Chip Vacation)
4.芯片测试:ATE、SLT、BLT、BurnIn
5.产品工程师 (PE,Product Engineer),一般负责对接产线测试员
2.芯片IP
芯片IP核:PCIe、MC、MMU、SIP、LLC、DTE、SP、VPU、CVP、GMU
| Term缩写 | 英文全称 | 中文含义 | 分类 | 功能 |
|---|---|---|---|---|
| MAS | Micro-Architecture Specification | 微架构规范 | 电子工程领域:MAS主要被用于描述计算机硬件设计中的微架构层次,它涵盖了处理器设计的细节,如指令集、缓存系统和流水线结构等 在计算机硬件设计、系统架构和软件优化中。软件开发者可能会使用MAS来理解和优化设备的性能,或者硬件工程师在开发新型处理器时会参考MAS来确保其设计的高效性和兼容性 | |
| IP核 | Intellectual Property Core | 芯片知识产权核心 | 集成电路设计中预先设计好、经过验证的、可以重复使用的功能模块 | |
| PCIe | PCI Express,Peripheral Component Interconnect Express | 外设组件互连扩展总线 | 接口类IP | 主机/外设间高速通信 |
| MC | Memory Controller | 存储控制器 | 存储/内存类IP | DRAM/SRAM读写管理 |
| SIP | Scalable Intelligent Processor | 可扩展智能处理器 | ||
| LLC | last level cache | 末级cache | ||
| DTE | Data Transformation Engine | 数据传输引擎 | 数据传输类IP | 片上/片外数据搬运 |
| GDTE | General Data Transmission Engine | 通用数据传输引擎 | ||
| CDTE | Cluster DTE | 集群DTE | ||
| ODTE | Off-chip DTE | |||
| SDTE | SIP DTE | |||
| MMU | Memory Management Unit | 内存管理单元 | ||
| SSM | System & Security Management | 系统与安全管理 | ||
| SP | Scheduling Processor | 调度处理器 | ||
| CVP | Compute Vision Processor | 计算视觉处理器 | 视觉/图像类处理IP | 机器视觉处理 |
| VPU | Video Processing Unit | 视频处理单元 | 处理类IP | VPU Codec:VPU编解码器 |
| GMU | Global Management Unit | 全局管理单元 | ||
| DPF | Debug Profiler |
3.芯片级通信协议
| Term缩写 | 英文全称 | 中文含义 | 拓展 |
|---|---|---|---|
| JTAG | Joint Test Action Group | 联合测试行为组织 | JTAG 是一种标准化的 芯片级调试和测试接口协议,官方名称为 IEEE 1149.1 标准,主要用于集成电路(IC)的测试、调试和编程 |
| SPI | Serial Peripheral Interface | 串行外设接口 | |
| I²C | Inter-Integrated Circuit | I²C总线 | 串行通信协议,芯片之间的低速通信,连接微控制器和外围设备 |
| UART | Universal Asynchronous Receiver/Transmitter | 通用异步收发传输器 |
4.板卡级
| Term缩写 | 英文全称 | 中文含义 | 拓展 |
|---|---|---|---|
| GPIO | General Purpose Input/Output | 通用输入输出端口 | GPIO属于引脚功能,不属于芯片协议。 微控制器MCU、单片机的接口 |
| Gold Finger | 金手指 | 在电脑内存条、显卡上,有一排金黄色导电触片,就是大家俗称的“金手指”。 在PCB设计制作行业中的“金手指”,是由connector连接器作为PCB板对外连接网络的出口。 | |
| pin | 引脚 | 是芯片封装体向外引出的金属针脚,用于和外部电路进行电气连接。可以将其想象成芯片与外界沟通的“触角” | |
| PCB | printed circuit board | 印刷电路板 | PCB板有金手指 |

5.芯片级
| Term缩写 | 英文全称 | 中文含义 | 拓展 |
|---|---|---|---|
| ASIC | Application - Specific Integrated Circuit | 专用集成电路 | ASIC是专用的,与之相反的是通用芯片 应特定用户要求和特定电子系统的需求专门设计、制造的集成电路,和 CPU、GPU 这类适配多种任务的通用芯片不同,ASIC 相当于为单一或一类特定任务量身打造,能最大限度去除冗余功能,专注提升目标任务的效率。 |
| DSA | Domain-Specific Architecture | 领域专用架构 | DSA和GPU的核心区别在于设计哲学:GPU:为图形和高并行通用计算(如AI训练)设计,保留了较强的可编程性,但能效不是最优。DSA:针对特定领域(如AI推理、自动驾驶)做极致优化,放弃部分通用性以换取更高能效和性能密度。一句话总结:GPU是“并行通用处理器”,DSA是“领域专用加速器”;GPU更灵活,DSA能效更高。 燧原的计算卡就是DSA,算不上GPU,因为没有图形光栅渲染功能,只能做AI计算。【显示卡 or AI计算卡】。但是燧原的DSA做不了所有的科学计算,仅仅能做矩阵运算。 |
| GPU | Graphics Processing Unit | 图形处理器 | 专门加速图形渲染(顶点处理、像素着色、纹理映射等) |
| GPGPU | General-Purpose Graphics Processing Unit | 通用图形处理器 | 在 GPU 架构基础上,使其能高效处理非图形的通用并行计算任务 它的核心思想是:让原本专为渲染图形而生的 GPU,能够处理通用的科学计算和并行计算任务。 它与普通 GPU 的核心区别在于: 普通 GPU:硬件电路为图形渲染的固定流程(如顶点处理、像素着色)做了大量优化,功能相对固定。 GPGPU:在硬件上保留了 GPU 的大规模并行计算能力,同时通过软件(如英伟达的 CUDA)将其通用化。开发者可以用它来运行 AI 训练、物理模拟等非图形任务。 DSA(领域专用架构):为 特定领域(如 AI)做定向优化,像一把“专用钥匙”。能效高,但通用性有限。 GPGPU(通用图形处理器):为 广泛的通用并行计算 而设计,像一把“万能工具”。牺牲了一定的能效,但换来了极高的灵活性。 |
| SoC | System on Chip | 片上系统、系统级芯片 | SoC:把整个计算机系统集成到一块芯片上 传统芯片是一个芯片单独负责一个功能,而SoC是将多个芯片的功能(即一个完整的系统)集成到一个芯片上,包含处理器、存储器、输入输出接口等多个功能模块,如CPU、GPU、AI引擎、Wi-Fi、蓝牙等功能 |
| NoC | Network on Chip | 片上网络 | 片上网络是一种在单个芯片内部,用于各功能模块之间高效互联的通信架构。传统片内模块之间常靠总线(bus)通信,但随着核心数量和功能复杂度的增加,总线带宽和可扩展性都成为瓶颈。NoC 通过网格、环形或分层交换网络,把各功能块(IP 核)、处理器核、存储器控制器等节点用路由器和链路互联起来,支持并行、高带宽、低延迟的数据传输,并且更易于扩展和功耗管理。 |
| PHY | Physical Layer | 物理层 | 是通信系统中负责信号传输和接收的部分。PHY通常包括各种硬件组件,它们用于转换信号格式,使得数据能够在不同的物理介质(如电缆、光纤、无线信道等)中进行传输。 PHY (Physical Layer) 物理层: ①PCS (Physical Coding Sublayer):物理编码子层 ②PMA (Physical Medium Attachment):物理介质附加子层 PHY代表千兆以太网的物理层,包括物理编码子层Physical Coding Sublayer (PCS),依附物理介质子层 Physical MediumAttachment (PMA) 以及自动协商层 (AUTONEG)。MEDIUM表示最底层的信号传输介质。 |
| SDMEM | Scalar Data Memory | 标量数据内存 | 存放标量数据,包括:简单的变量 (如 int i、bool flag)、循环计数器、内存地址指针、控制状态寄存器 |
| VDMEM | Vector Data Memory | 向量数据内存 | 存放向量数据,包括:计算负载。例如图像的像素矩阵、神经网络的权重(Weights)、特征图(Feature Maps)。 向量运算单元(SIMD)在用VDMEM,负责大规模并行计算 |
| VARAM | Vector Array RAM | 向量阵列内存 | 待计算的向量数组、或者计算过程中的中间结果(Accumulator) 它是 VDMEM 的“前站”。数据从VDMEM取出来后,可能会先放在VARAM里排好队,供计算单元以极低延迟读取。 |
| RO | Ring Oscillator | 环形振荡器 | ATE阶段记录,判断芯片是哪种Corner |
| SA | Systerm Adaptor | ||
| bus arbitration | 总线仲裁 | ||
| DF | Data Fabric | 数据结构 | |
| CF | Control Fabric | 控制结构 | |
| ESL | Ethernet Smart Link | ||
| architecture | 架构 | ||
| ECCL | Enlightened Collective Communication Library | 集体通信库 | ECCL 主要专注于在大规模集群和多GPU系统上进行集体通信,目的是提高通信效率 |
| NCCL | NVIDIA Collective Communications Library | NCCL 是 NVIDIA 提供的通信库,专门优化了深度学习训练中的集体通信操作,通常用于多个 GPU 之间的同步和数据交换 | |
| HPC | High Performance Computing | 高性能计算 |


SY是DSA,其他四家是GPU

6.芯片设计
| 缩写 | 英文全称 | 中文含义 | 拓展 |
|---|---|---|---|
| EDA | Electronic Desgin Automation | 电子设计自动化 | 主流厂商:Synopsys、Cadence、Mentor Graphics |
| HDL | Hardware Description Language | 硬件描述语言 | 用于描述数字电路和系统的硬件结构和行为,如Verilog和VHDL |
| RTL | Register Transfer Level | 寄存器传输级 | 是一种对数字电路进行抽象描述的层次,在这个层次上,电路的行为是通过寄存器之间的数据传输和操作来描述的。 将数字电路看作由寄存器和组合逻辑构成的系统,代码主要描述数据如何从一个寄存器经过组合逻辑的处理传递到下一个寄存器 |
| RTL | Register-Transfer Level Module | 寄存器传输级模块 | 用硬件描述语言 (Verilog/SystemVerilog) 编写的数字电路代码,描述数据在寄存器之间的传输和变换 |
| RTL code | Register Transfer Level | 寄存器传输级 | RTL code是硬件本身的代码 (Verilog/VHDL) 它描述的是芯片硬件长什么样:1.有哪些寄存器 2.数据怎么在模块之间流动 3.状态机、总线、接口、时序逻辑。即用Verilog/SystemVerilog ,描述寄存器之间数据怎么传输、怎么运算 RTL code:造硬件的代码 ROM code:存在硬件里、上电就跑的程序 |
| ROM code | ROM code = 固化在 ROM 里的程序代码,芯片上电后,CPU 第一个执行的就是它。 内容一般是:1.启动代码 (boot code) 2.初始化代码 (配置时钟、DDR、外设) 3.底层固件 4.小的控制程序 | ||
| Synthesis | 综合 | 在芯片设计中,是指将RTL级别的代码转换为门级网表(Gate-Level Netlist)的过程 | |
| DFx | Design for Everything | 面向X的设计 | |
| DFT | Design For Test/Testability | 面向测试的设计、可测试性设计 | 核心原则是通过设计优化使产品在制造和使用阶段易于测试、故障诊断与隔离,从而降低测试成本、提高缺陷检出率 在芯片设计阶段就植入专用测试电路(如扫描链、边界扫描、内建自测试BIST等),解决流片后芯片内部逻辑难以被ATE设备直接检测的问题。 以此提升芯片测试覆盖率、降低量产测试成本、缩短测试时间 |
| DFD | Design for Debug | 面向调试的设计 | 预留调试接口和逻辑,方便芯片研发阶段的问题定位 |
| DFM | Design for Manufacture | 面向制造的设计 | |
| DFP | Design For Profiling | 面向分析的设计 | |
| DFP | Design for Power | 面向功耗的设计 | |
| DFP | Design for Performance | 面向性能的设计 | |
| DFY | Design for Yield | 面向良率的设计 | |
| DFR | Design for Reliability | 面向可靠性的设计 | |
| DFC | Design for Cost | 面向成本的设计 | |
| DFS | Design for Security | 面向安全的设计 |
7.芯片制造、量产
| Term缩写 | 英文全称 | 中文含义 | 拓展 |
|---|---|---|---|
| LOTNO | Lot Number | 批次号 | 用来标识这一批芯片/板卡来自哪一批生产或来料 |
| QTY | Quantity | 数量 | 指这个批次里参与本次统计的总数(样本数) |
| Unit Cell | 晶胞 | 是晶体结构的基本重复单元。在半导体材料的晶体结构研究和设计中经常被用到 | |
| wafer | 晶圆 | 高纯度单晶硅制成的圆形薄片,表面会通过光刻、蚀刻等工艺批量制造出成百上千个相同的集成电路单元。 wafer切割下来的叫做die | |
| Die | 芯片的裸片/晶粒 | Die 是指芯片的 裸片,即从硅晶圆(Wafer)上切割下来的单一芯片。包含了芯片的实际电路和功能 | |
| chip | 芯片 | die经过封装后变为chip。一个芯片可能一个Die,也可能两个Die | |
| dual-chip | 双芯片的 | efsmt -dualchip show -d dtu.* | |
| board | 板卡 | 一张板卡可能一颗芯片,也可能两颗芯片(一卡双芯) | |
| Fabless | 无晶圆厂 | 是指那些只进行芯片设计,而没有自己的芯片制造工厂的半导体公司 | |
| Fab | fabrication | 制造、加工 | |
| SKU | 同一款芯片,根据不同的设计要求做的不同的板卡 | ||
| tape out | 流片 | ||
| mass production / volume production | 量产 | ||
| EVB | Evaluation Board | 评估板,绿色无壳大卡 | |
| PRB | Prototype Board | 原型板,带壳的小卡 | |
| MSN | Manufacturer Serial Number | 制造商序列号 | |
| MPN | Manufacturer Product Number | 制造商产品号 | |
| SOP | Standard Operating Procedure | 标准操作程序 | |
| ECN | Engineering Change Notice | 工程变更通知 | 流程是产品设计、制造和生产过程中用来管理和记录工程变更的正式流程 |
| EOL | End of Life | 生命周期结束 | EOL:指的是某个产品、部件、服务或技术在其生命周期中的结束阶段,意味着该产品或部件将不再生产、销售或支持。通常,EOL标志着产品不再提供正式的技术支持、修复或升级 |
8.芯片验证
| 缩写 | 英文全称 | 中文含义 | 拓展 |
|---|---|---|---|
| IRQ | Interrupt Request | 中断请求 | |
| RAS | Reliability — Availability — Serviceability | 可靠性( Reliability )、可用性( Availability ) 与 可维护性( Serviceability ) | RAS 是Reliability (可靠性)、Availability (可用性)、Serviceability (可维护性 / 可服务性) 的缩写,是计算机硬件工程领域的核心概念,用于衡量系统稳定性、持续服务能力和维护便捷性。在关键任务系统 (金融、医疗、电信、云计算、高性能计算) 中,RAS 设计直接决定业务连续性与数据安全,是企业级系统与消费级系统的核心区别之一。 |
| MAS | Micro Architecture Specification | 微架构规范 | MAS,简称spec。是芯片IP的完整规格书。必看,反复看,天天看。 |
| PG | Programming Guide | 编程指南 | Design给Chip Validation同事的开发“测试case”的编程指南,用来约束芯片IP的测试条件 |
| Calibration | 校准 | ||
| Pre-Silicon Verification | 硅前验证 | ||
| Post-Silicon Validation | 硅后验证 | ||
| UVM | Universal Verification Methodology | 通用验证方法学 | 是芯片验证领域的行业标准验证框架,基于SystemVerilog的验证方法学库(类库) |
| align | (地址)对齐 | 地址对齐:addr align、地址非对齐:地址非align | |
| constraint | 约束,限制 | 验证case有些限制要求 | |
| dependence | 依赖、依靠 | 指是否需要其他同事的帮助,是否有上游依赖 | |
| errata | 勘误表 | ||
| waveform | 波形 | ||
| sanity case | 健全测试、冒烟测试 | sanity test 健全测试 Sanity case是软件或芯片验证(IC)中的一种早期、快速的测试手段,属于冒烟测试(smoke test)的一种 | |
| ipmi | Intelligent Platform Management Interface | 智能平台管理接口 | 核心用于服务器 / 硬件设备的带外管理,依赖BMC,通用工具 |
| HAL | Hardware Abstraction Layer | 硬件抽象层 | 是底层软件中承上启下的核心组件,本质是一套屏蔽硬件差异的统一接口层 |
| Tcl | Tool Command Language | 工具命令语言 | 自动化工具开发与系统集成,尤其在芯片 / EDA 领域应用极广 |
| RALF | Register Abstraction Layer Format | 寄存器抽象层格式 | 是寄存器定义文件,DE给的,用工具生成所需要的header file 在芯片RTL领域,.ralf 文件是寄存器抽象层格式(Register Abstraction Layer Format)的缩写。 这个文件是连接设计规范与验证实现的桥梁,作为工具链(尤其是Synopsys的ralgen)的标准化输入文件,用于自动化生成验证环境所需的寄存器模型(RAL Model)和RTL代码。 |
| Spec | Specification | 芯片设计规格书 | |
| Clock Frequency | 时钟频率 | 也叫主频,是指芯片内部时钟信号的振荡频率,它决定了芯片每秒钟能够执行的指令数 | |
| IP validation | 芯片IP验证 | ||
| Root Cause | 根本原因 | ||
| errata | 勘误表 | ||
| A-B-A Swap Test | 交叉测试 | 板级故障排除方法。它的核心思想是通过在“坏板”和“好板”之间互换可疑器件,来判断故障究竟是出在器件本身,还是出在电路板或系统其它部分。 |
Verification:确认“我们做对了设计”。
Validation:确认“我们做了正确的产品”。
层级关系(从下到上):
┌─────────────────────────────────────────┐
│ SoC (顶层) │
│ 整个芯片系统,包含所有模块 │
└─────────────────────────────────────────┘
▲
│ 实例化
┌─────────────────────────────────────────┐
│ 子系统 (Subsystem) │
│ 如:显示子系统、音频子系统 │
└─────────────────────────────────────────┘
▲
│ 实例化
┌─────────────────────────────────────────┐
│ RTL 模块 (底层) │
│ 如:UART 模块、FIFO 模块、状态机 │
└─────────────────────────────────────────┘
验证也分层级:
- 模块级验证 → 验证单个 RTL 模块
- 子系统验证 → 验证模块组合
- 系统级验证 → 验证完整 SoC
9.芯片测试
| 缩写 | 英文全称 | 中文含义 | 拓展 |
|---|---|---|---|
| DUT | Device Under Test | 被测器件 | 需要验证的芯片 RTL 设计 |
| Harvest | 芯片收割 / 功能提取 | 指通过选择性禁用有缺陷 / 冗余的功能模块或调整性能参数(如降频、降规格),将原本不符合高端产品标准的芯片 “挽救” 为合格的中低端产品,从而最大化晶圆利用率与良率的制造策略 | |
| trial run | 试运行 | ||
| CP | Chip Probing | 晶圆测试 | |
| FT | Final Test | 成品测试 | |
| ATE | Automatic Test Equipment | 自动测试设备 | 检查芯片的电气特性和基本功能是否符合设计要求 |
| BU | bringup | (芯片) 点亮 | |
| SLT | System Level Test | 系统级测试 (筛芯片) | |
| BLT | Board Level Test | 板级测试 (筛板卡) | |
| Burn-In | Burn-in Test | 烧机老化测试 | 是让芯片在高温、高电压等加速老化条件下工作一段时间(通常为24h),以此筛选出早期失效的产品 |
| BLR | Board Level Reliability | 板卡级可靠性 | |
| Package Reliability | 封装可靠性 | 是衡量封装对芯片保护以及长期使用稳定性的指标 | |
| Yield | 良率 | 是指在半导体制造过程中,合格芯片的产比例 | |
| TFLOPS | TFLOPS: Tera Floating Point Operations Per Second | 每秒 1万亿次 浮点运算 | t:T是一万亿,1×1012,即 1000G flo:Floating Point,浮点数 ps:每秒 是衡量计算机性能,特别是在执行浮点运算时的能力的一个单位 |
| PFLOPS | Peta FLOPS: Peta Floating Point Operations Per Second | 每秒 1000万亿次 浮点运算 | 1 GFLOPS = 10⁹ 每秒10亿次 1 TFLOPS = 10¹² 每秒1万亿次 1 PFLOPS = 10¹⁵ 每秒 1000 万亿次 换算:1 PFLOPS = 1000 TFLOPS |
10.寄存器、efuse
| 缩写 | 英文全称 | 中文全称 | 拓展 |
|---|---|---|---|
| reg | register | 寄存器 | |
| BAR | Base Address Register | 基址寄存器 | |
| eFuse | electronic fuse | 电熔断(电子保险丝) | 可用作一次性可编程存储器(OTP),也可用于电路过流、过压等保护 |
| OTP | One Time Programmable | 一次性可编程存储器 | eFuse 是 OTP 的一种物理实现方式,但并非所有 OTP 都基于 eFuse |
11.PVT:电压、电源、功耗、温度、Profiling
| 缩写 | 英文全称 | 中文全称 | 拓展 |
|---|---|---|---|
| PVT | Process-Voltage-Temperature | 工艺、电压、温度 | 工艺、电压、温度是影响芯片性能和稳定性的三大核心环境变量。 芯片的电气特性(如运行速度、功耗、时序、漏电率)会随这三个因素的变化而改变,因此在芯片的设计、验证、测试阶段,必须充分考虑 PVT 条件,确保芯片在各种极端场景下都能正常工作。 |
| Corner 芯片 | Process Corner | 工艺角 | 5种工艺角:TT、FF、SS、FS、SF |
| TT 芯片 | Typical-Typical | 典型工艺 | NMOS、PMOS 均为标称性能,无明显偏差 |
| FF 芯片 | Fast-Fast | 快速工艺 | |
| SS 芯片 | Slow-Slow | 慢速工艺 | |
| FS 芯片 | Fast-Slow | 工艺类型为FS,NMOS性能为快速,PMOS性能为慢速 核心验证目标为:下降沿主导的时序路径 | |
| SF 芯片 | Slow-Fast | 工艺类型为FS,NMOS性能为慢速,PMOS性能为快速 核心验证目标为:上升沿主导的时序路径 | |
| Vmin | Minimum Voltage | 最低工作电压 | 指芯片或电路在正常工作状态下的最小电压。这是芯片或电路能够正常运行所需的最低电压。 举例:某芯片标称供电 1.0V,规格要求工作电压范围 0.9V ~ 1.1V:Vnom = 1.0 V (标准电压),Vmin = 0.9 V (厂家定义的最低工作电压),Vmax = 1.1 V(最高耐压) Efuse已烧写Vmin(频点SKU1 187/800/857/923/1000/1090,SKU2 500/600/700,开GD) |
| GB | GuardBand | 防护带 / 裕量 | GuardBand 是在芯片的电气参数、时序、电压 / 频率等关键指标上设置的冗余余量 |
| DPM | Dynamic Power Management | 动态电源管理 | 根据实时负载动态调整功耗: 当芯片负载较低时,降低 CPU 电压和频率,显著减少动态功耗 |
| CTF | Critical Thermal Fault | 临界热故障 | 超过温度门槛限制,则过温的红灯亮起 |
| VRM | Voltage Regulator Module | 电压调节模块 | 用来降压稳压,可以用来表示电源芯片的温度。VRM 本质是芯片的 “专属电源管家”。 |
| PN结 | P–N junction | PN 结 | 是将掺杂了受主杂质(P 型)和施主杂质(N 型)的两种半导体材料在同一晶体中相邻区域结合起来的接口结构 |
| Tj | Junction Temperature | 结温 | 半导体器件内部 PN 结处的实际温度,即发热最集中的位置。我们指的是efsmt -thermal list 中 VT0-VT4 五个传感器中温度的最大值,是实测温度 |
| TjMax | 最高温限制 | ||
| Profiling | profiling | 性能分析 | 通过工具对程序运行过程进行测量,定位资源消耗瓶颈,以指导性能优化的方法 |
| power | 功率 | ||
| Power Consumption | 功耗 | 是指芯片在工作过程中消耗的电能。在移动设备等对电池续航要求高的应用场景中,低功耗芯片非常关键 | |
| IDDQ | Iddle Drain Quiescent current 或Quiescent Power Supply Current | 静态电源电流 | 静态静态漏电流、静态工作电流 (静态) |
| d I d t \frac{dI}{dt} dtdI | Dynamic Current | 动态电流 | didt是电流的微分,就是动态电流 |

5种Corner芯片工艺工况 (TT/FF/SS/FS/SF) 应用场景速查表
| 工艺工况 | 英文全称 | 核心晶体管性能特征 | 主要应用场景 | 验证 / 测试目标 |
|---|---|---|---|---|
| Corner 芯片 | 分类:TT(典型工艺角)、FF(最快工艺角)、SS(最慢工艺角)、FS(不对称)、SF(不对称)。 比如JY遇到过3FF的corner芯片,“3FF是最快的corner,电流也最大 | |||
| TT芯片 | Typical-Typical | NMOS、PMOS 均为标称性能,无明显偏差 | 1.芯片设计基准验证 2.常规功能与性能仿真 3.功耗与频率的标称值标定 | 确认芯片在理想工艺条件下的基础功能、性能和功耗指标,作为其他工况的对比基准 |
| FF | Fast-Fast | NMOS、PMOS 均为最快速度,漏电流偏大 | 1.芯片极限性能测试(最高运行频率) 2.漏电流上限验证 3.高速接口时序裕量测试 | 验证芯片的性能上限,排查高速运行时的时序冲突、信号完整性问题,评估最大漏电流对功耗的影响 |
| SS | Slow-Slow | NMOS、PMOS 均为最慢速度,漏电流偏小 | 1.芯片最坏工况稳定性验证 2.最低工作电压测试 3.低温 / 高温极端环境下的功能测试 | 确认芯片在工艺、电压、温度(PVT)最差组合下的可靠性,避免出现时序不满足、功能失效的问题 |
| FS | Fast-Slow | NMOS快速,PMOS慢速 | 1.组合逻辑时序不对称性验证 2.下降沿主导的时序路径测试 3.逻辑门电平转换稳定性验证 | 排查因NMOS 和 PMOS 速度差异导致的下降沿过快、上升沿过慢的时序裕量不足问题 |
| SF | Slow-Fast | NMOS慢速,PMOS快速 | 1.电平转换电路可靠性验证 2.上升沿主导的时序路径测试 3.电源管理模块稳定性验证 | 解决因 PMOS 过快、NMOS 过慢引发的上升沿时序异常,保障电平转换、电源控制等模块的正常工作 |
PVT:
- Process(工艺)
- 指芯片制造过程中的工艺偏差。即使是同一批次、同一生产线生产的芯片,也会因为光刻、蚀刻、掺杂等步骤的细微差异,导致晶体管的性能(如开关速度、阈值电压)存在个体差别。工艺偏差通常分为 TT(典型工艺)、FF(快速工艺)、SS(慢速工艺) 等类型,分别对应晶体管性能的典型、最优、最差情况。
- Voltage(电压)
- 指芯片工作时的供电电压。电压越高,晶体管开关速度越快,芯片运行频率越高,但功耗和发热也会随之增加;电压过低则可能导致芯片时序不满足要求,甚至出现逻辑错误、无法启动。芯片设计时会定义 标称电压(如 1.0V),同时也会考虑电压波动的范围(如 ±5%)。
- Temperature(温度)
- 指芯片工作时的核心温度。温度升高会使晶体管载流子迁移率下降,开关速度变慢,同时漏电电流增大,进一步加剧发热;温度过低则可能提升晶体管性能,但也可能影响某些封装材料或接口的稳定性。芯片的工作温度范围通常分为 商业级(0℃70℃)、工业级(-40℃85℃)、汽车级(-40℃~125℃) 等。
12.平台
重置环境:
1.flr :
2.hot reset
3.warmboot(热启动):用命令行reboot进行重启
4.DC boot(直流电启动):按电源键重启
5.AC boot(交流电启动):通过PDU断电
6.cold reboot (冷启动):完全关闭电源
| Term缩写 | 英文全称 | 中文含义 | 拓展 |
|---|---|---|---|
| Emu | Emulator | 硬件仿真器 | 常见的Emulation有:Palladium、Zebu、合见 Emulatior是一种介于软件逻辑仿真和FPGA原型验证(Prototyping)之间的高性能硬件验证工具。它通过专用的硬件阵列(如定制化ASIC或大规模FPGA阵列)来映射待验证的RTL设计,从而在硬件层面加速执行验证过程。帮助开发人员在芯片或设备还未制造出来之前,通过模拟来测试和验证硬件设计的功能和性能。 |
| Palladium | 帕拉丁 | Cadence的Palladium,编译速度极快 | |
| Zebu | 泽布 | Synopsys的Zebu,运行速度最快 | |
| VDK | Virtualizer Development Kit | 虚拟开发套件 | 由新思科技(Synopsys)推出,用软件模拟出一整套虚拟硬件平台(CPU、内存、外设、总线等),让你在真实芯片/板卡出来之前,就能跑、调试、测试完整的二进制软件(驱动、OS、应用) 流片前的早期验证,寄存器级。 软件建模,CPU在跑,比较慢 经典流程:架构 → VDK 建模 → 软件 / 固件开发 → RTL 设计 → FPGA 原型 → 流片 |
| PDU | Power Distribution Unit | 电源分配单元 | 是数据中心和服务器环境中用于管理电力分配的关键设备,它通过控制电源通断来实现AC boot(交流电启动)过程中的断电操作 |
| BMC | Baseboard Management Controller | 基板管理控制器 | BMC的作用:远程访问主机屏幕 |
| ODM | Original Design Manufacturer | 原始设计制造商 | ODM = 设计 + 制造 全包 在电子、计算机和硬件制造行业,它指的是一种商业模式:一家公司 (ODM 厂商) 负责产品的设计、研发和制造,然后将成品贴上另一家公司 (品牌商) 的商标进行销售。 通俗地说,就是 “品牌方出钱出牌子,ODM 方出技术出工厂”。 |
| OEM | Original Equipment Manufacturer | 原始设备制造商 | |
| AVSBus | 一个为低功耗、嵌入式和传感器应用设计的通信总线协议 | ||
| vendor | 供应商 | ||
| smi | System Management Interface | 系统管理接口 | 与ipmi是跨厂商不同,smi是各家自己开发的 |
| smt | System Management Tool | 系统管理工具 | |
| FW | FirmWare | 固件 | |
| RPM | Revolutions Per Minute | 每分钟转速 | |
| KMD | Kernel Mode Driver | 核心模式驱动程序 | |
| SILICON | Silicon | 硅 | 硬件本身,是真实的平台 |
| EVB | Evaluation Board | 评估板 | 用于评估和测试特定芯片或系统,通常具有预设功能 |
| PRB | Prototyping Board | 原型板 | 提供一个可定制的硬件平台,用于快速原型开发和设计验证,灵活性更高 |
13.嵌入式
| Term缩写 | 英文全称 | 中文含义 | 拓展 |
|---|---|---|---|
| 单片机 | Raspberry Pi 树莓派、Arduino | ||
| MCU | Microcontroller Unit | 微控制器 | 例如:STM32,XMC |
| DSP | Digital Signal Processor | 数字信号处理器 | 专为高速数字信号处理算法(如滤波、傅里叶变换、卷积、矩阵运算等)优化的微处理器 |
| FPGA | Field-Programmable Gate Array | 现场可编程门阵列 | FPGA 是一种可由用户在出厂后反复配置的半导体器件,内部由大量可编程逻辑单元及可配置互连组成。 特点:①可重构:设计者可根据需求反复下载不同的逻辑功能。②并行处理:每个逻辑单元独立工作,天然支持并行计算。③硬件加速:对于特定算法,FPGA 可实现硬件级加速,性能远超通用 CPU |
二、芯片相关的概念
1.芯片结构
(1)wafer:晶圆
晶圆,是指硅半导体集成电路制作所用的硅晶片,由于其形状为圆形,故称为晶圆。



(2)Die:晶粒
Die指的是芯片未封装前的晶粒,是从硅晶圆(wafer)上用激光或刀具切割而成的小片,每一个小片就是一个独立的功能芯片die,一旦这些die完成其功能和测试过程,它们就会被封装起来,形成我们熟知的芯片(chip)。晶粒是组成多晶体的外形不规则的小晶体,而每个晶粒有时又有若干个位向稍有差异的亚晶粒所组成。晶粒的平均直径通常在0.015~0.25mm范围内,而亚晶粒的平均直径通常为0.001mm数量级。

(3)SoC
SoC 是一种将 计算机系统的多个组件集成到一个芯片上 的设计方案,广泛应用于需要高度集成和低功耗的设备中。SoC的典型组件包括CPU、GPU、内存控制器、数字信号处理器(DSP)、输入/输出接口,以及专用功能模块(如音频、视频处理模块等),都集成在单一的芯片内
传统芯片和SoC举例:
(1)传统芯片:
①Intel Core i9:这是一个CPU芯片,只负责中央处理功能。
②NVIDIA GTX 1080:这是一个GPU芯片,专门处理图形计算任务。
(2)SoC具有更高的集成度、低功耗和空间优化。
Apple A14 Bionic:这是一款典型的SoC,包含了CPU核心、GPU、神经网络引擎、图像信号处理器(ISP)、存储控制器等多个功能模块,广泛用于iPhone、iPad等设备。
2.芯片设计
(1)EDA
国际EDA:synopsis(ZeBu)
国产EDA/硅前硬件仿真平台:华大九天、帕拉丁(Palladium)、合见工业软件
帕拉丁 比起 合见的优点:方便看波形,波形可以实时显示;抓波形方便,可以写脚本逻辑,在信号变化的时候自动抓波形
3.芯片验证
(1)芯片IP
1.概念
IP(Intellectual Property),知识产权。
IP模块是指在芯片设计中可以重复使用的功能模块或电路块。
IP 模块可以是由设计公司开发的,也可以从第三方供应商购买,用于集成到系统级芯片(SoC)中
2.IP 模块的常见类型:
①PCIe
②MC
③SSM_FW
④VPU
⑤SIP
⑥SP
⑦GDTE
⑧GMU
⑨CVP
①CPU IP(处理器IP):例如ARM的Cortex系列。
②GPU IP(图形处理IP):例如NVIDIA IP,例如 GPU 核心,用于图形处理和加速
③MC IP(存储控制器IP):例如 DDR、eMMC、Flash 控制器,用于管理存储器
④通信接口IP:例如 PCIe、USB、I²C、SPI 等。
⑤安全IP:例如加密模块,用于数据加密和解密
3.IP的作用:
这些 IP 模块可以帮助设计人员减少设计周期、降低开发成本,并确保功能的可靠性。
IP 模块是指在芯片设计中可以重复使用的功能模块,帮助简化和加速设计过程。它们通常经过严格的验证,确保可靠性和兼容性,是现代复杂系统和芯片设计中不可或缺的构件。
(2)ralf文件
RALF(Register Abstraction Layer File)是一种用于描述硬件设计中寄存器和内存结构的文本格式,广泛应用于SoC(System on Chip)验证中,尤其是在UVM(Universal Verification Methodology)环境下。
RALF文件简介
RALF文件采用类似Tcl的语法,结构化地描述了寄存器、字段、寄存器文件、内存、块(block)和系统(system)等元素。
- 寄存器(register):由一个或多个字段(field)组成,表示硬件中的寄存器。
- 字段(field):寄存器的最小可访问单元,通常对应硬件中的一位或多位。
- 寄存器文件(regfile):由多个寄存器组成的集合。
- 内存(memory):用于描述存储器区域。
- 块(block):逻辑功能单元,包含寄存器和内存。
- 系统(system):由多个块或子系统组成的顶层结构。
这些元素通过层次化的结构组织,便于描述复杂的硬件设计。
4.底软 (底层软件)
(1)简介
底软就是底层软件的简称,它是位于软件架构最底层、直接与硬件交互的软件集合,是上层应用程序操控硬件的核心桥梁。
简单来说,没有底软,硬件就是一块 “裸板”,既无法被操作系统识别,也无法完成任何数据传输或计算任务。
(2)核心运行组件:Firmware、Driver、HAL
(1)Firmware (固件)
(2)Driver (驱动程序)
(3)HAL (硬件抽象层):基于驱动做二次封装,提供标准化接口屏蔽不同硬件的差异
(3)配套工具组件:smi、smt、validaiton suite、ipmitool
(1)smi 工具:指 System Management Interface 工具,用于直接访问硬件的管理接口,比如读写 PCIe 设备的配置空间、查询芯片温度 / 功耗、配置硬件参数。完全面向底层硬件,属于典型的底软调试工具。例如:nvidia-smi
(2)smt工具
(3)validation suite工具
(4)ipmitool

5.存储:内存、存储颗粒

为了理解区别,我们把数据比作货物,把内存比作公路:
(1)LPDDR
LPDDR5 (经济型高速路):
这是一条 8 车道 的高速路。
路况很好,车也省油(省电)。
优势: 造价便宜,路可以修得很长很长(容量可以做得很大,比如 256GB)。
劣势: 爆发力不够,如果瞬间涌入海量车流,会堵车。
(2)GDDR
GDDR6X (赛车道):
这是一条 32 车道 的超级公路。
车速极快,但非常费油(耗电、发热)。
优势: 玩游戏时,每一帧画面需要瞬间传完,它最合适。
(3)HBM
HBM3 (立体交通枢纽):
这不仅是公路,这是1024车道的超宽路面,甚至是地下的高频磁悬浮列车。
优势: 吞吐量惊人。用来训练大模型时,几千亿个参数需要频繁进出,只有它扛得住。
劣势: 造价极其昂贵,而且受限于物理空间,很难把“停车场”修得很大(容量扩充难,单颗通常只有 24GB/36GB,凑出 80GB 很难)。
6.工艺
(1)Corner芯片介绍
https://www.gloomyghost.com/live/20250204.aspx
<1>Corner芯片的分类:PVT
在一片wafer上,不可能每个芯片的载流子平均漂移速度都是一样的,随着电压、温度不同,它们的特性也会不同。
把他们分类就有了PVT(Process,Voltage,Temperature):
①Process:工艺参数波动(即工艺角)
②Voltage:供电电压变化(如±10%)
③Temperature:工作温度范围(如-40°C~125°C)
也就是Corner先分为 Process Corner、Voltage Corner、Temperature Corner。
Process Corner(工艺角Corner)又分为五种:
①TT:Typical N Typical P:NMOS 和 PMOS 都是典型工艺速度
②FF:Fast N Fast P:NMOS 和 PMOS 都偏快
③SS:Slow N Slow P:NMOS 和 PMOS 都偏慢
④FS:Fast N Slow P:NMOS 快,PMOS 慢(不对称)
⑤SF:Slow N Fast P:NMOS 慢,PMOS 快(不对称)
<2>Process Corner 工艺角:TT、FF、SS、FS、SF
1.工艺角的定义及产生原因
芯片制造过程中存在工艺偏差,如掺杂浓度、扩散深度、刻蚀程度等,导致不同批次、同一批次不同晶圆以及同一晶圆不同芯片之间的性能存在差异。为了描述这种差异,引入了工艺角的概念。
2.常见的工艺角类型:5种
(1)TT (Typical - Typical):代表典型工艺角,此时晶体管的各项参数都在标称值或平均值附近,芯片性能处于设计预期的典型状态,通常作为基准用于芯片设计和验证。
(2)FF (Fast - Fast):表示快速工艺角,NMOS 和 PMOS 的性能都偏向快速,即晶体管的饱和电流大,阈值电压小,运行速度快。这种工艺角下芯片的工作频率可能较高,但功耗和电源完整性等方面可能面临更大挑战。
(3)SS (Slow - Slow):是慢速工艺角,所有晶体管的工作速度都比平均速度慢,饱和电流小,阈值电压大。芯片在 SS 工艺角下性能受限,但电源完整性可能相对较好。
(4)FS (Fast - Slow):指 NMOS 速度快,PMOS 速度慢的工艺角。
(5)SF (Slow - Fast):与 FS 相反,是 NMOS 速度慢,PMOS 速度快的工艺角。


注: SS、 TT、FF 分别是左下角的corner, 中心、右上角corner

<3>3FF Corner芯片
3FF Corner:
专指 3nm 级 FinFET 工艺,基于第三代 FinFET 技术
FinFET(鳍式场效应晶体管,Fin Field-Effect Transistor)是一种三维结构的晶体管,通过立体架构解决了传统平面 MOSFET 在纳米级工艺下面临的短沟道效应和漏电流问题,是目前集成电路(IC)制造的主流技术。
(2)Harvest
Harvest (芯片收割/ 功能提取)
核心目标:提升整体良率,创造差异化产品
操作范围:涵盖功能禁用、性能降档、规格调整等综合策略
应用场景:制造良率优化、产品线丰富化、成本控制
实施结果:产生不同档次产品(如高端芯片→中端 / 入门级)
(3)Tj温度:结温
结温(Junction Temperature, Tj):半导体器件内部 PN 结处的实际温度,即发热最集中的位置。
Tj(Junction Temperature)即结温,指的是半导体器件内部 PN 结处的温度,通常高于器件外壳温度(Tc)和环境温度(Ta)。结温直接影响器件的电学性能、可靠性和寿命,是热设计和热管理的核心指标。
1.Tj的概念

Tj的计算

7.芯片与显卡
(1)CPU、GPU、NPU、TPU、LPU
CPU 适用于通用计算任务。
GPU 适合大规模并行处理,尤其是图形和AI训练。
NPU 专为AI推理任务设计,具有更高效的神经网络运算能力。NPU是一种专门针对神经网络计算进行特殊优化设计的集成电路元件,擅长处理视频、图像、语言类多媒体数据。

(2)目前市面上的GPU芯片:V100、A100、H100
V100适合基础的AI训练和推理任务。
A100是数据中心的通用高性能GPU,适合多种计算任务。
H100是目前性能最强的GPU,特别适合大规模AI模型训练和高性能计算。
H200和H800是针对中国市场设计的受限版GPU,性能稍逊于H100,但仍然具备强大的计算能力
(3)显卡
<1>GTX
GTX (Giga Texel Shader eXtreme)
定位: 传统的高性能图形渲染。
代表型号: GTX 1080 Ti, GTX 1660, GTX 1650 (你的显卡)。
核心技术: 光栅化(Rasterization)。
<2>RTX
RTX (Ray Tracing Texel eXtreme)
定位: 实时光线追踪 + AI 人工智能计算。
代表型号: RTX 2060, RTX 3090, RTX 4090。
核心技术: 除了传统核心外,它多了两个专门的硬件单元:
- RT Cores (光线追踪核心): 专门用来算“光线是怎么从物体上弹射的”。在 Isaac Sim 这种仿真器里,为了让机器人看到的画面和真实世界一样(比如镜面反射、阴影),必须用到它。
- Tensor Cores (张量核心): 专门用来算 4 × 4 4 \times 4 4×4 矩阵乘法。这是深度学习的命根子。有了它,跑 PyTorch/TensorFlow 的速度会几倍、几十倍地提升。DLSS(深度学习超级采样)也是靠它实现的。
三、DTE
1.DTE介绍
DTE 是一个用来做数据的传输和变形的IP。其基本的功能是完成数据的传输,并且在传输过程中做数据形状变换以提供计算引擎所需形状的数据,变换有slice,deslice,reshape等。
2.DTE术语
| 缩写 | 英文全称 | 中文含义 | 拓展 |
|---|---|---|---|
| DTE | Data Transformation Engine | 数据传输引擎 | 因为DMA是个通用概念,而且一般只能做线性拷贝,而我们的传输引擎可以支持更多的数据变形操作,因此从3.0开始将名字从DMA改为DTE |
| DMA | Direct Memory Access | 直接内存访问 | |
| SIMD | Single Instruction Multiple Data | 单指令流多数据流 | |
| SPMD | Single Program Multiple Data | 单程序流多数据流 | |
| bpe | Bytes per Element | 每个元素的字节数 | |
| bl | burst length | 突发长度 | 在一次突发传输(Burst Transaction)中,连续传输的数据单元 (Beat / Word) 数量 |
| CF | Control Fabric | 控制结构 (控制总线) | |
| DF | Data Fabric | 数据结构 (数据总线) | |
| AXI | Advanced eXtensible Interface | 高级可扩展接口 | |
| OP | operation | 操作 | linear copy、slice等 |
| Burst Transaction | 突发传输 | ||
| Stride | 步长 | ||
| Infinite Buffer | 无限缓冲区 | ||
| BPE | Bytes Per Element | 每个元素的字节数 | 定义了每个数据元素的字节数(1、2 或 4 字节)。这直接影响地址计算和对齐,比如在处理 FP32 数据时通常设为 4 字节,INT8 则设为 1 字节。 |
| align | (地址)对齐 | 地址对齐:addr align、地址非对齐:地址非align | |
| constraint | 约束,限制 | 验证case有些限制要求 | |
| H2D | Host memory to Device memory | ODTE完成的 Host memory to Device memory 的数据搬运 | |
| D2H | Device memory to Host memory | ODTE完成的 Device memory to Host memory 的数据搬运 |
3.AXI协议
AXI(Advanced eXtensible Interface)是 AMBA 协议族中用于 SoC 高速通信的接口,Burst(突发传输) 是 AXI 最核心的效率优化机制:
主设备(Master)只需在地址通道发送一次起始地址 + 控制参数,就能连续传输多个数据Beat(最小数据单元),后续无需重复发地址,大幅降低总线控制开销、提升带宽利用率。
四、MMU
1.MMU介绍
(1)虚拟地址与物理地址
为什么要有虚拟地址?为何不能直接让进程管理物理地址呢,何必要多来一层虚拟地址到物理地址的映射呢?
答:
1.实现进程见的内存隔离,避免某个进程操作其他进程的物理内存
2.实现虚拟内存
3.解决内存碎片
4.程序编译物理地址重定位,动态映射实现了程序的可移植性
(2)MMU
MMU的主要作用是负责从CPU内核发出的虚拟地址到物理地址的映射,并提供硬件机制的内存访问权限检查。MMU使得每个用户进程拥有自己的地址空间,并通过内存访问权限的检查保护每个进程所用的内存不被其他进程破坏。

(3)TLB
TLB(Translation Lookaside Buffer, 转换后援缓冲器)是计算机系统中的一个重要硬件组件,它本质上是CPU内部或紧邻CPU的一个小型高速缓存,专门用于存储 虚拟地址到物理地址的映射关系,以加速 地址转换过程。
关键点:
硬件实现:TLB是物理存在的、由电子元件构成,是CPU和内存(MMU)的一部分。
功能:它缓存页表项,当CPU需要访问内存时,先查询TLB。如果命中(TLB hit),直接获得物理地址,加快速度;未命中(TLB miss)则需要访问慢速内存中的页表。
加速内存访问:它解决了CPU访问内存的速度与页表查找速度不匹配的问题。
与Cache区别:数据Cache缓存的是实际数据,而TLB缓存的是地址映射关系

(4)硬件访问逻辑
硬件访问逻辑:先查 L1TLB → 未命中查 L2TLB → 未命中查软件页表Page → 更新 TLB 缓存
TLB是纯硬件(CPU内部的高速缓存SRAM,集成在MMU中),Page Table是软件管理,硬件访问
2.MMU术语
| 缩写 | 英文全称 | 中文含义 | 拓展 |
|---|---|---|---|
| TLB | Translation Lookaside Buffer | 地址转换旁路缓冲器,俗称“快表” | 本质是页表的高速缓存(Page的Cache),加速虚拟地址到物理地址的转换。 存储最近访问过的页表项,当CPU需要地址转换时,先在TLB中查找需要的页表项 (TLB是Cache),如果命中(hit)则快速获取物理地址,否则(miss)需查询慢速的页表 (Page是内存),然后将结果存入TLB 硬件级缓存,无软件干预 |
| MMU | Memory Management Unit | 内存管理单元 | |
| UVA | Unified Virtual Address | 统一虚拟地址 | |
| VA | Virtual Address | 虚拟地址 | |
| PA | Physical Address | 物理地址 |
五、PCIe
1.PCIe介绍
PCI Express,简称 PCIe,是计算机系统中常用的高速总线接口
外设组件互连扩展总线/外设组件互联快速接口 (PCIe,Peripheral Component Interconnect Express) 是一种高速串行计算机扩展总线标准,是用于连接计算机内部各种硬件设备的高速数据传输接口标准,PCIe用于 连接 AI加速卡(如NVIDIA GPU或TPU)、高速互联(如InfiniBand)、主板上的各种硬件设备 (显卡、网络卡、存储控制器)和处理器。

2.PCIe术语
| Term缩写 | 英文全称 | 中文含义 | 拓展 |
|---|---|---|---|
| UCIe | Universal Chiplet Interconnect Express | 通用芯粒互连通道 | |
| Parity | 奇偶校验 | 带有“奇偶校验”的内存在每一字节(8位)外又额外增加了一位用来进行错误检测 | |
| Parity Error | 奇偶校验错误 | 奇偶校验码:奇偶校验位与数据实际奇偶性不匹配的错误,表明数据在传输或存储过程中至少1位发生了翻转 | |
| ECC | Error Correction Code | 错误纠正码 | ECC利用冗余位(通常是额外的比特位)来实现数据的校验。 ECC error 分为 CE 和 UE |
| CE | Correctable Error | 可纠正错误 | 单比特数据错误,可恢复 |
| UE | Uncorrectable Error | 不可纠正错误 | 多比特翻转,≥2个bit错误,无法恢复 |
| Tx | Transmitter | 发送端 | 数据从这里发出。比如CPU发给显卡,CPU就是Tx |
| Rx | Receiver | 接收端 | 数据在这里被读取。比如显卡接收 CPU 的指令,显卡就是 Rx |
| EQ | Equalization | 均衡器 | |
| AER | Advanced Error Reporting | 高级错误报告 | AER错误主要分为两类: Correctable Errors(可修正错误)、Uncorrectable Errors(不可修正错误) |
| margin | 余量 | 板卡的PCIE信号质量的差异,某些板卡的margin不够,无法cover转接板或者延长线带来的信号衰减,导致出现AER问题 | |
| Outbound | 出站 | 指master从CPU/SoC内部发起的,请求访问PCIe外设的寄存器或内存空间 内部逻辑地址映射为PCIe地址 | |
| Inbound | 入站 | master指从PCIe外设发起,请求访问SoC内部系统内存(DRAM) PCIe物理地址映射为内部总线地址 | |
| BDF | Bus-Device-Function | 总线-设备-功能 | |
| HSIO | High-Speed Input/Output | 高速输入输出 | |
| EQ | Equalization | 信号均衡 或 电气均衡 | EQ值 指的是 PCIe 信号链路的均衡参数,这些参数用于补偿传输中的信号衰减和失真,以提高传输质量。用于优化信号传输,确保数据传输的可靠性。 |
| XBAR | Crossbar | ||
| BadDLLP | Bad Data Link Layer Packet | 坏的数据链路层数据包 | |
| BadTLP | Bad Transaction Layer Packet | 坏的传输层数据包 | |
| PCS | Physical Coding Sublayer | 物理编码子层 | PCS 负责物理层的数据编码和解码,提高数据传输的稳定性和效率 |
| PMA | Physical Medium Attachment | 物理介质附加层 | PMA 主要处理信号的物理传输和连接,保证信号能够稳定通过物理介质进行传输 |
| ACK | Acknowledge Error | ACK错误 | |
| NAK | Negative Acknowledgement | 否定确认 | 在通信协议中,NAK 是一种“否定应答”信号,用来告知发送端:接收端未能正确接收或校验数据,需要重发或采取纠错措施。常见于串口通信(如 UART)、USB、I²C、SPI 等总线协议中。例如 USB 事务中,当设备暂时无法处理主机请求时,会发回 NAK,告诉主机“请稍后再试”。 |
| BR | base register | 基址寄存器。注意区分BR和BAR! | |
| BAR | Base Address Register | 用于实现设备地址空间与主机物理地址空间的映射。用来为设备分配内存或 I/O 地址空间的寄存器 | |
| BAR size | 就是指设备所请求的、可以映射到主机内存或 I/O 空间的大小。这个大小通常是设备能够访问的内存或 I/O 地址空间的总量。 指的是 PCIe 设备通过 BAR(Base Address Register)向主机请求的地址空间大小。它决定了设备可被主机访问的内存或 I/O 地址范围 | ||
| PCIe | Peripheral Component Interconnect Express | 外设组件互联快速通道 | |
| ROCE | RDMA over Converged Ethernet | 基于以太网的远程直接内存访问 | |
| PCIE bifurcation | 将一个 PCIe x16 插槽可以分叉为两个 PCIe x8 通道 | ||
| PERST | Persistent Reset | 持久复位信号 | |
| Bifurcation | 分歧 | ||
| FLR | Function Level Reset | 功能级复位 | |
| Hot Reset | 热复位 | ||
| Warm Reset | 暖复位 | ||
| Cold Reset | 冷复位 |
Gen 5,X16:念作Gen 5,by 16。表示16个PCIe lanes
1.PCIe中的MAS含义:
在PCIe中,设备和主机通过内存地址空间进行通信。MAS的作用就是确保数据从内存到外设(如显卡、网络卡、存储设备等)或从外设到内存时能够正确映射和访问。
PCIe Address Space(地址空间):
在PCIe中,内存地址空间包括多个部分,如下:
(1)主机内存地址空间:由CPU管理,通常称为主机端内存地址空间,它是主机计算机内部的内存区域,用于数据存储和计算任务。
(2)设备地址空间:每个PCIe设备也有其自己的内存地址空间。设备会通过内存映射(Memory Mapping)技术,将主机内存或其他设备的内存区域映射到其自己的地址空间中。
(3)I/O地址空间:专门为输入/输出设备保留的地址空间,用于支持与外设的通信。
3.BAR
PCIe 定义了三个主要的地址空间,每个空间具有不同的用途:
①配置空间 (Configuration Space)
②内存空间 (Memory Space)
③I/O 空间 (I/O Space)
BAR位于PCIe配置空间(Configuration Space)中。它的作用是告知系统:
(1)需要多大的地址范围:例如4KB用于寄存器,256MB用于显存
(2)起始地址:在系统启动(枚举)阶段,由 BIOS/内核分配一个具体的起始物理地址
(3)映射类型:是内存映射(Memory Mapped I/O, MMIO)还是 I/O映射。
基址寄存器,BAR(Base Address Register)是 PCIe 设备中用于定义内存或 I/O 空间映射的寄存器。
每个 PCIe 设备的配置空间中可以有多个 BAR(通常最多 6 个),它们指示了设备希望主机系统为其分配的地址范围。
在系统启动时,操作系统会扫描所有 PCIe 设备的配置空间,读取 BAR 的大小需求,并为每个设备分配实际的物理地址。这些地址映射到系统的内存空间,使得主机可以访问 PCIe 设备的寄存器或存储空间。
BAR 的功能:
定义内存或 I/O 空间的起始地址。
指定映射的大小和属性,例如是否为内存空间或 I/O 空间,是否是 32 位或 64 位的地址等。
BAR 的概念在 PCIe 设备中非常重要,因为它定义了设备和主机之间的交互方式,并确保系统能准确访问设备的资源。
BAR
1.定义
基址寄存器 (BAR,Base Address Register)
作用就是:告诉操作系统和驱动程序,设备的寄存器或缓冲区应该被映射到 CPU 的哪个地址范围里。
2.功能
PCI/PCIe设备配置空间中用于告知系统该设备所需地址空间的寄存器。
指定设备的内存或 I/O 端口在系统地址空间中的起始地址,方便操作系统和驱动程序进行访问。
3.类型
①Memory BAR:映射成内存空间 (内存映射I/O,MMIO),高位比特可指示是否可预取。
②I/O BAR:映射成 I/O端口空间(端口I/O),适用于传统的 I/O 读写指令。
4.lspci
lspci 是 Linux 系统中的一个命令行工具,用于列出和显示系统中所有连接的 PCI 设备的信息。PCI(Peripheral Component Interconnect)是一种标准的计算机总线,用于连接计算机的各类硬件设备,如显卡、网络适配器、存储控制器等。
主要功能:
①列出所有 PCI 设备:
lspci 会列出连接到主板上所有 PCI 插槽的设备。每个设备会显示它的设备 ID、厂商 ID、设备名称等详细信息。
②显示硬件信息:
除了列出设备,还会显示设备的详细信息,包括供应商、型号、总线地址等。
③诊断工具:
lspci 可以用来查看设备是否正确安装,是否有硬件问题,尤其在进行系统硬件调试和诊断时十分有用。
lspci
6.Bifurcation卡
Bifurcation卡,也常称为PCIe通道分叉卡,是一种利用主板PCIe通道拆分(Bifurcation)功能,将单个物理PCIe插槽分割成多个逻辑通道配置的硬件适配器。通过它,可以在一条x16插槽上同时挂载多块NVMe SSD、RAID卡或其他PCIe设备,大幅提升系统扩展性。
1.PCIe通道拆分(Bifurcation)概念
定义:PCIe通道拆分(Bifurcation)是将一条物理插槽的全部或部分PCIe通道,按指定比例(如1×16、2×8、4×4)分配给多个下游设备的过程。
2.目的:在保证总lane数(通道数)不变的情况下,连接更多设备,以灵活应对高性能存储或多设备并行需求
7.AER
1.AER (Advanced Error Reporting) 是 PCIe 协议中的一项高级功能,专门用于检测和报告硬件错误。它就像是 PCIe 总线上的“黑匣子”,能详细记录数据传输过程中哪里出了问题。
2.AER错误主要分为两类:
(1)Correctable Errors(可修正错误):
硬件可以自动修复(通常通过重传数据),系统不会崩溃,但如果频繁发生,说明信号余量(Margin)极低。
包括:Receiver Error(接收端物理错误)、Bad TLP(TLP包损坏)、Bad DLLP(DLLP包损坏)以及Replay Timer Timeout(重传超时)。
(2)Uncorrectable Errors(不可修正错误):
分为 Non-Fatal(非致命) 和 Fatal(致命)。致命错误会导致系统挂死或掉卡。
包括:Data Link Protocol Error(链路协议错误)、Malformed TLP(畸形包)、Surprise Down(意外掉卡)等。
后果:如果是 Fatal 错误,通常会导致系统重启或蓝屏。
pcie.18.1:
目前的日志显示了大量的Receiver Error和Bad TLP,这说明信号在传输过程中损耗严重,导致有效信号电平(Voltage) 或 时序(Timing) 已经触碰到了报错的边缘。
8.提高信号质量的三类方法
要手动干预并提升信号质量,通常可以从以下三个维度进行调整:
1.软件/固件层面:调整Tx/Rx Preset
PCIe 协议支持 Equalization(均衡)。你可以通过主板 BIOS 或芯片商提供的调试工具调整“预设值”(Presets),补偿信号衰减。
(1)Tx EQ (Transmitter Equalization):调整发送端的预加重(Pre-emphasis)。如果传输线路长(有延长线),加大发送强度能让信号更有力地穿透衰减。
(2)Rx EQ (Receiver Equalization):调整接收端的均衡补偿(如 CTLE 或 DFE)。这就像是给接收端戴上“眼镜”,通过算法把模糊的信号波形重新放大拉直。
(3)调整 Preset (0-10):不同的 Preset 代表不同的补偿组合。通常 Gen4/Gen5 默认会自动协商,但在“体质”较差的板卡上,手动固定到一个更强的 Preset(如从 P7 调至 P9)往往能显著减少 AER 错误。
2.硬件层面:减少物理损耗
如果 Margin 不够,就无法 cover 转接板带来的衰减。
(1)减少级联:尽量移除不必要的转接板(Interposer) 或 延长线(Riser Cable)。每增加一个接口,信号就会产生一次阻抗不匹配和反射。
(2)更换高规格线材:更换更高质量的转接板和延长线。如果你必须使用延长线,请确保它是经过 PCIe Gen4/Gen5 认证的屏蔽线。普通廉价线材在高频下会像天线一样吸收噪声。
(3)清理金手指:使用异丙基酒精擦拭板卡金手指。微小的氧化层或灰尘会显著增加插入损耗(Insertion Loss)。
3.系统环境:降低干扰与负载
(1)降低链路速率:如果 Margin 实在无法支撑最高速度,在 BIOS 中将 PCIe 插槽从 Gen5 强制降为 Gen4。虽然带宽减半,但信号频率降低后,原有的 Margin 会成倍增加,从而消除所有 CE(可修正错误)。
(2)电源稳定性:检查板卡的供电(12V/3.3V)。电压波动会直接转化为信号噪声(Jitter),压缩信号的“眼图”高度。
9.EQ、Tx、Rx、Preset
1.EQ (Equalization):均衡器
EQ 是为了对冲信号损耗。
当电信号在电路板(PCB)或电缆中高频传输时,会发生频率相关损耗:高频成分消失得快,低频成分消失得慢。这导致信号到达接收端时变得模糊不清,原本方正的波形变成了“圆角”,导致误码。
EQ 的作用:
在发送端 (Tx EQ): 预先放大容易丢失的高频部分(这叫预加重)。
在接收端 (Rx EQ): 把收到的微弱、模糊的信号进行补偿和锐化,重新还原成清晰的 0 和 1。
2.Preset:预设配置组合
由于每张板卡的布线长度、材料、转接板数量都不同,需要的 EQ 强度也不同。手动去调每一个电学参数太麻烦,于是 PCIe 协议定义了一套标准的参数大礼包,这就是 Preset。
标准范围: PCIe协议定义了P0到P10,共11个Preset
内容: 每个Preset都包含了一组固定的 Pre-shoot (预冲)和 De-emphasis (去加重)参数。
P4:通常是比较“中性”的设置。
P7/P8/P9:通常提供更强的信号驱动力,适合穿透转接板或长线。
3.它们如何协同工作?
当你启动电脑时,PCIe 设备会进行 Link Training(链路训练):
(1)协商: Tx和Rx互相打招呼。
(2)尝试: Tx先用Preset 7 发信号,Rx看看质量如何。
(3)反馈: 如果Rx觉得 Receiver Error 太多(就像log里那样),它会要求Tx:“换个 Preset 9 试试”。
(4)固定: 双方找到一个让“眼图”最清晰、Margin最大的Preset,然后固定下来开始传输。
你看到的Receiver Error报错,说明当前的 Preset 自动协商出的结果不足以 Cover 物理损耗。手动尝试将 Preset 往更强的数值(如 P8, P9)调整,通常能增大 Margin,消除报错。
10.Preset
1.Preset的参数
(1)De-emphasis (去加重): 这是为了平衡低频。因为低频信号不容易损耗,如果太强会干扰后面的信号。它会把连续相同的电平(比如一串 111)中,从第二个 1 开始的电压压低。
(2)Pre-shoot (预冲): 这是为了加强“起跑”。在信号跳变(从 0 变 1 或 1 变 0)发生前的那个瞬间,先给一个反向的冲力,让波形切换得更干脆。
(3)Pre-emphasis (预加重): 这是一个广义概念,通常指 Pre-shoot 和 De-emphasis 共同作用的结果。它的目的是**“补偿损耗”**——预测到高频成分会在路上(转接板/延长线)丢掉,所以发货前先把它加得特别强。
2.Preset分级
(1)P0/P1:几乎没有补偿,适合主板上两个芯片挨得很近的情况。
(2)P4(通常是参考值): 比较平衡,各项参数适中。
(3)P7/P8/P9: 具有极高的 Pre-shoot 或 De-emphasis。当你用了转接板或很长的延长线时,信号损耗极大,必须用这种“强力套餐”才能把信号推到终点。
11.PCISIG:PCI特别兴趣小组
查询Vendor ID网站:https://pcisig.com/membership/member-companies?combine=enflame
该网址是 PCI-SIG(PCI Special Interest Group,PCI特别兴趣小组)官网的“会员公司”页面,列出了所有会员公司及其相关信息。PCI-SIG 是负责制定 PCI(Peripheral Component Interconnect,外设组件互连)标准的组织。页面上展示的会员公司包括各类硬件制造商、技术公司等,这些公司是 PCI 规范的制定和实施的重要参与者。通过此页面,用户可以查找到参与该标准化工作并支持 PCI 技术的公司及其编号。
| 公司 | Vendor ID |
|---|---|
| huawei 华为 | 6629 (19E5 Hex) |
| alibaba 阿里巴巴 | 7661 (1DED Hex) |
| enflame 燧原科技 | 7734 (1E36 Hex) |
| enrigin 江原科技 | 8125 (1FBD Hex) |
12.Linux 内核文档:PCI Peer-to-Peer DMA (P2P DMA)
Linux 内核文档:https://www.kernel.org/doc/html/latest/driver-api/pci/p2pdma.html#c.pci_p2pdma_add_resource
这个网址是 Linux 内核文档的部分内容,具体是关于 PCI Peer-to-Peer DMA(P2P DMA)支持 的。P2P DMA 是一种允许不同的 PCI 设备之间直接进行内存访问(而无需经过主机内存)的一种技术,通常用于提升数据传输效率。
该文档介绍了多个函数和接口,包括:
①pci_p2pdma_add_resource:用于将内存添加到 P2P DMA 内存池中,供其他设备使用。
②pci_alloc_p2pmem 和 pci_free_p2pmem:分别用于分配和释放 P2P DMA 内存。
③pci_p2pmem_publish:用于发布设备的 P2P DMA 内存,使其他设备能够使用该内存进行 P2P DMA 操作。
这些接口和功能的实现主要是为了提升系统中多设备之间的数据传输效率,特别是在高性能计算(如 GPU 计算)或大规模数据处理应用中,减少了传统通过主机内存的瓶颈。
六、MC
1.MC介绍
1.MC
(1)MC,存储控制器 (Memory Controller)
(2)MC主要由Controller与PHY两个部分组成。
(3)MC的主要功能是为片上IP访问外存储设备(DRAM)提供接口。 它将片上IP发起的读写请求转换为DRAM存储颗粒的操作指令,并通过各种优化手段达到最大的带宽利用率。
(4)MC的主要功能包括:
①DRAM的初始化
②DRAM的时钟与电源控制
③DRAM的读写操作
④DRAM的周期性任务,包括Auto-Refresh,Training, 温度监测等
⑤DRAM的自动化测试与诊断
⑥DRAM的错误监测与报告

2.MC术语
| Term缩写 | 英文全称 | 中文含义 | 拓展 |
|---|---|---|---|
| auto refresh | 自动刷新 | DRAM的电容会随时间漏电,必须定期充电,这个过程就叫Refresh(刷新) | |
| all bank refresh | 全 Bank 刷新 | 机制:发出一个命令后,内存中所有的 Bank(内存库)同时停止工作并开始刷新。逻辑简单,但停顿时间长。 | |
| single bank refresh | 单bank刷新 | 一次只刷新其中一个 Bank,而其他的 Bank 依然可以正常进行读写操作。边刷新边读,降低延迟 | |
| DDR | Double Data Rate SDRAM | 双倍数据速率、双倍速率传输率的动态随机存取存储器 | 即 内存颗粒 |
| MC | Memory Controller | 内存控制器 | |
| MR | Mode Register | 模式寄存器 | |
| mrr | Memory Read Register | 读取指定地址的寄存器 | |
| HBM | High Bandwidth Memory | 高带宽内存 | |
| ROM | read only memory | 只读存储器 | |
| RAM | random access memory | 随机存取存储器 | |
| SRAM | Static RAM | 静态随机存取存储器 | |
| DRAM | Dynamic RAM | 动态随机存取存储器 | |
| SDRAM | Synchronous Dynamic RAM | 同步动态RAM | |
| VRAM | Video RAM | 显存 | 专门用于图形处理单元(GPU)的内存,它存储了在显示屏上呈现的图像和视频数据 |
Mode Register (MR),也叫做 模式寄存器,是 DRAM (动态随机存取内存) 中用于控制内存操作和设置参数的一个关键寄存器。每个 DRAM 模块都包含一个或多个模式寄存器,通过这些寄存器,内存控制器可以配置 DRAM 的各种操作模式和行为,确保内存按预期方式工作
七、固件(FirmWare)
1.FW介绍
固件(Firmware)是嵌入硬件设备中的底层软件程序,直接控制硬件的基础功能与初始化流程,通常存储于非易失性存储器(如EEPROM、Flash芯片)中,断电后数据仍可保留。它并非操作系统或应用软件,而是硬件与上层软件之间的关键桥梁
https://en.wikipedia.org/wiki/Firmware
控制硬件设备的嵌入式程序
存储在设备的只读存储器中(如 ROM)
Firmware 是硬件与软件之间的桥梁:Firmware 嵌入在硬件设备中,提供了硬件控制的基础逻辑和功能,使得上层的软件(如操作系统、应用程序)可以与硬件交互。

efsmt -spi sn/pn 读写的是 Flash
不过做了hot reset后,才会刷新到SRAM里
2.FW术语
| 缩写 | 英文全称 | 中文含义 | 拓展 |
|---|---|---|---|
| UEFI | Unified Extensible Firmware Interface | 统一可扩展固件接口 | UEFI 是 BIOS 的现代化替代 |
| FW | firm ware | 固件 | 固件是嵌入在硬件中的专用软件,通常用于控制硬件的基本操作,通常存储在非易失性存储器(如ROM、EPROM、Flash)中 |
| SSM FW | system and security management FW | 系统安全管理固件 | SSM FW 负责系统在运行时的管理和维护,确保系统的健康和稳定运行 |
| Boot FW | 引导固件 | Boot FW 负责系统引导过程,是操作系统加载的前置部分 | |
| Runtime FW | 运行时固件 | Runtime FW 提供运行时的硬件支持,优化系统性能和处理硬件特定任务 |
八、芯片验证
1.波形
(1)VCD、FSDB、FFVD
VCD:最通用、最原始、最大、最慢
FSDB:Verdi 专用、行业标准、好用
FFVD:华为自研格式,高性能、专用工具
1.VCD (Value Change Dump)
文本形式,最古老、最通用的波形格式。通用但笨重。文件巨大。
2.FSDB (Fast Signal DataBase)
行业最主流波形格式,只能用 Verdi 打开
3.FFVD (Fast Fast Waveform Data)
华为内部自研的高性能波形格式。
FVD是早期版本(Fast Waveform Data),FFVD是Fast FVD。
(2)抓波形
什么时候必须抓波形?
什么时候可以不抓?
新手最容易在波形里踩哪些坑?
九、芯片测试
0.芯片测试完整流程
流程:DE(Design Engineer)→DV(Design Verification)→ATE→SLT(System Level Test)→BLT(Board Level Test)→BurnIn→PV(Product Validation)
1.CP:晶圆测试
CP (Chip Probing,晶圆测试)
2.FT:成品测试
FT (Final Test,成品测试)

3.DFT:面向可测试性设计
DFT(Design for Testability)——面向可测试性设计
4.ATE:自动化测试设备
ATE(Automatic Test Equipment)——自动化测试设备
检查芯片的电气特性和基本功能是否符合设计要求。
是否能按照指定的电压和时序工作?
所有的逻辑电路是否正确工作?
是否符合质量标准?
5.SLT:系统级测试
定义:SLT (System-Level Test) - 系统级测试,是指在实际系统或接近实际应用环境中对芯片进行测试。这种测试通常是在芯片集成到整个系统或设备中进行的。
目的:验证芯片在真实工作环境下的表现和功能,确保芯片在系统运行时能够正常工作。SLT 通常比 BLT 更全面,能测试出更多与实际使用场景相关的问题。
6.BLT:板卡级测试
BLT (Board-Level Test) - 板卡级测试
定义:BLT,或板级测试,是指在电路板(PCB)级别对芯片和其他元件进行测试。这种测试方式通常是在芯片组装到电路板上之后进行的。
目的:验证芯片在电路板上的基本功能是否正常,检查芯片与电路板其他元件的连接是否正确,确保没有焊接问题或硬件缺陷。
在芯片测试领域,BLT 和 SLT 通常指的是两种不同的测试方法,分别为 板级测试(Board-Level Test)和 系统级测试(System-Level Test)
①BLT(板级测试)用于芯片组装到电路板后,进行基本功能和连接性的测试,以确保硬件的基本功能正常
②SLT(系统级测试)用于芯片集成到实际系统后,在真实或接近真实的工作环境中进行全面测试,以确保芯片在实际使用中的可靠性和性能
7.BurnIn:烧机老化测试
高温高负载测试芯片的稳定性。
BLT一般20分钟,BurnIn一般24小时。
十、开发相关
1.开发概念
Feature List 和 Test List 是软件或硬件开发中常用的两个概念,它们在项目管理、测试和产品发布等环节有重要作用
Feature List:列出所有产品功能,描述功能的具体内容。
Test List:基于 Feature List 列出需要验证的测试项,确保每个功能得到充分测试。
Feature List 帮助明确产品需求,而 Test List 确保这些需求被实现且没有缺陷。
(1)Feature List:功能列表
①Feature List(功能列表)是列出产品或项目中的所有功能特性或模块的清单。
②目的:明确产品的各项功能,便于开发、测试和项目管理,确保所有功能都被实现、记录并测试。
③内容:
列出产品的主要功能模块和特性。
描述每个功能的具体行为或用途。
可能包含功能的优先级、负责人和开发状态
④用途:Feature List 有助于团队和客户对项目的范围、功能组成有清晰的理解,确保开发的内容符合需求
(2)Test List:测试清单
①Test List(测试清单)是对每个功能或模块需要测试的项的详细列出,确保产品或项目的每个部分都经过充分验证。
②目的:帮助测试团队系统地检查每个功能,确保项目的功能和质量符合预期,并识别和修复缺陷。
③内容:
列出需要测试的功能或模块,通常基于 Feature List。
对每个功能点列出测试项或测试案例,描述需要检查的具体行为、预期结果。
可能包括测试优先级、测试环境、测试类型(如功能测试、性能测试、安全测试)等。
(3)Test Case:测试用例
一个完整的 Test Case 通常包含以下几个关键部分:
Test Case ID:每个测试用例的唯一标识符,便于追踪和管理。
Description:测试用例的简要描述,说明测试的功能或场景。
Preconditions:执行测试前的条件或设置,说明测试用例执行前需要满足的环境或状态。
Test Steps:测试步骤,逐步描述执行测试的操作,详细说明如何操作系统或应用。
Expected Result:预期结果,说明在测试步骤完成后系统应表现出的正确行为。
Actual Result:实际结果(执行后填写),记录测试执行后的实际表现,用来与预期结果进行对比。
Status:测试结果状态,通常包括 Pass(通过)、Fail(失败)或 Blocked(阻塞,因其他问题无法执行)。
Notes or Comments:备注或评论,记录任何其他重要信息,比如执行过程中遇到的问题或特殊情况。


2.版本号
MAJOR:主版本号,主要更新
MINOR:次版本号,次要更新
PATCH:补丁版本号,修复类的更新
TWEAK:调整版本号,微调
set(CMAKE_PROJECT_TOOL_VERSION_MAJOR 2)
set(CMAKE_PROJECT_TOOL_VERSION_MINOR 1)
set(CMAKE_PROJECT_TOOL_VERSION_PATCH 1)
set(CMAKE_PROJECT_TOOL_VERSION_TWEAK 5)
set(CMAKE_PROJECT_TOOL_VERSION
${CMAKE_PROJECT_TOOL_VERSION_MAJOR}.${CMAKE_PROJECT_TOOL_VERSION_MINOR}.${CMAKE_PROJECT_TOOL_VERSION_PATCH}.${CMAKE_PROJECT_TOOL_VERSION_TWEAK}
3.计算帧率 FPS
# 计算 FPS 的简单方法(Python 示例)
import time
start_time = time.time()
frame_count = 0
while True:
# 模拟一帧的处理(例如渲染或图像处理)
# 这里可以加入实际的帧处理逻辑,比如:
# - 渲染图像
# - 处理视频帧
# - 其他耗时操作
# 模拟延时(假设每帧需要 0.016 秒,即 60 FPS)
time.sleep(0.016)
# 更新帧计数
frame_count += 1
frame_count += 1
elapsed_time = time.time() - start_time
if elapsed_time >= 1.0: # 每秒更新一次 FPS
fps = frame_count / elapsed_time
print(f"FPS: {fps:.2f}")
frame_count = 0
start_time = time.time()
4.python脚本
python -u blt.py
-u 选项:禁用print的输出缓冲,立即输出。以防止 print 和 logger 输出的日志不一致的问题。
十一、命令行终端UI界面
1.go/termui
详见此文:
Go语言入门: 六、termui:https://blog.csdn.net/Edward1027/article/details/144675741
2.dialog
(1)介绍
dialog 是一个在类 Unix 系统(如 Linux)中常用的命令行工具,能够创建基于文本的用户界面(TUI, Text User Interface)。
dialog 是一个为命令行终端提供简单图形界面(TUI)功能的程序,因此,它需要通过包管理器安装。
(2)安装
sudo apt-get install dialog
sudo apt-get install python3-dialog -y
(3)如何使用
①输入框 (–inputbox)
dialog --title "ENRIGIN BLT" \
--inputbox "Scan SN/PN QR Code: " 8 60 2>$OUTPUT
这行代码显示一个输入框,标题为 “ENRIGIN BLT”,提示文本为 "Scan SN/PN QR Code: ",框的高度为 8 行,宽度为 60 列。用户在此框中输入内容,输入的值被保存到文件 /tmp/input.txt 中。
2>$OUTPUT用于将标准错误重定向到文件 /tmp/input.txt,其中 2 是标准错误的文件描述符,$OUTPUT 是该文件的路径。dialog 在交互后会返回用户的输入到这个文件。
②确认框 (–yesno):
dialog --title "board test" \
--backtitle "board test" \
--yesno "This is board test, go on?" 7 60
这行代码显示一个确认框,询问用户是否继续执行后续操作,框的高度为 7 行,宽度为 60 列。用户可以选择 “Yes” 或 “No”。返回的结果会被用于控制后续脚本执行。
--backtitle用于在对话框的顶部显示一行额外的标题文本。
③dialog可用的参数
--title 设置对话框的标题。
--inputbox 显示一个输入框,接受用户输入。
--yesno 创建一个 “是/否” 问题对话框,适用于确认类的操作。
--backtitle 用于设置对话框顶部的标题。
2>$OUTPUT 用来重定向输出结果到指定文件。
④常见的 dialog 类型
--msgbox:显示一个消息框,简单的通知用户。
--menu:显示一个选择菜单,用户可以从中选择一个选项。
--checklist:显示一个多选框,用户可以选择多个选项。
--radiolist:显示一个单选框,用户只能选择一个选项。
(4)shel脚本完整代码
board_production.sh
#!/bin/bash
OUTPUT="/tmp/input.txt"
# create empty file
>$OUTPUT
trap "rm $OUTPUT; exit" SIGHUP SIGINT SIGTERM
sn=""
pn=""
while [ "${sn}" = "" ]
do
dialog --title "ENRIGIN BLT" \
--inputbox "Scan SN/PN QR Code: " 8 60 2>$OUTPUT
tmp=$(<$OUTPUT)
respose=$?
case $respose in
0)
if [ "${tmp}" != "" ]; then
read pn sn <<< "$tmp"
fi
;;
1)
;;
esac
done
rm $OUTPUT
dialog --title "board test" \
--backtitle "board test" \
--yesno "This is board test, go on?" 7 60
response=$?
case $response in
0) echo "go on";;
1) echo "exit" && exit 0 ;;
255) echo "exit" && exit 0 ;;
esac
./.board_test.sh "${sn}" "${pn}"
十二、芯片相关公司
0.总览:Fabless、Fab
国产AI芯片厂商介绍:https://zhuanlan.zhihu.com/p/690736951
Fabless(只设计,不制造):AMD、NVIDIA
Fab(不涉及,只制造):中芯国际 (SMIC)
IDM(既设计,又制造):Samsung、Intel、海力士
1.光刻机公司
| 排名 | 公司名称 | 国家/地区 | 芯片最小制程 | 核心技术 |
|---|---|---|---|---|
| 1 | 阿斯麦(ASML) | 荷兰 | 2-3nm | EUV(极紫光)光刻机 |
| 2 | 尼康(Nikon) | 日本 | 7-28nm | DUV(深紫外)光刻机,尤其是ArFi浸没式光刻机 |
| 3 | 佳能(Canon) | 日本 | 5nm | 纳米压抑(NIL)光刻技术。但产能和良品率未达到大规模量产水平 |
2.存储/内存 (memory) 公司
| 公司中文名 | 公司英文名 | 领域 | 所属国家 |
|---|---|---|---|
| 海力士 | SK Hynix | 内存颗粒 | 韩国 |
| 三星 | Samsung | 内存颗粒 | 韩国 |
| 镁光 | Micron | 内存颗粒 | 美国 |
| 长鑫存储科技 | CXMT (ChangXin Memory Technologies) | DRAM 内存颗粒 | 中国 |
| 长江存储 | YMTC (Yangtze Memory Technologies Corp) | SSD 固态硬盘颗粒 | 中国 |
3.芯片生产公司
| 公司缩写 | 公司英文名 | 公司中文名 | 领域 |
|---|---|---|---|
| TSMC | Taiwan Semiconductor Manufacturing Company | 台积电 | 芯片制造、晶圆生产 |
| SMIC | Semiconductor Manufacturing International Corporation | 中芯国际 | 芯片制造、晶圆生产 |
4.封装、测试公司
云尖信息
5.国际CPU/GPU公司
| 公司缩写 | 公司英文名 | 公司中文名 | 领域 |
|---|---|---|---|
| NVIDIA | 英伟达 | GPU | |
| AMD | Advanced Micro Devices | 超威半导体 | GPU |
| Intel | 英特尔 | CPU |
6.国产CPU厂商
| 厂商 | 技术路线 | 架构/指令集 | 特点与应用场景 |
|---|---|---|---|
| 龙芯 | 完全自主 | LoongArch(后期)MIPS(早期) | 完全自主指令集,主攻政企办公、信创市场、嵌入式设备 |
| 华为鲲鹏 | ARM授权 | ARM v8 | 基于ARM架构,主打服务器、云计算、数据中心,生态较完善 |
| 飞腾 | ARM授权 | ARM | 天津团队,覆盖PC、服务器、嵌入式,国防、政府应用广泛 |
| 海光信息 | x86兼容 | x86(来自AMD Zen1授权) | 兼容x86生态,可运行Windows/Linux,服务器/数据中心为主 |
| 兆芯 | x86兼容 | x86(来自VIA授权) | 兼容x86,侧重桌面PC和嵌入式,能跑主流操作系统 |
| 申威 | Alpha衍生 | SW-64(自主扩展Alpha) | 源自Alpha架构,主打超算、军工等高性能计算场景 |
7.国产GPU厂商
| 厂商 | 定位 | 主要产品/架构 | 应用领域 |
|---|---|---|---|
| 景嘉微 | 图形渲染GPU | JM9系列(第三代) | 军用起家,现拓展到信创桌面显示,支持国产操作系统 |
| 摩尔线程 | 全功能GPU | MTT S系列(MUSA架构) | 游戏、图形渲染、AI计算,支持DirectX/Vulkan/CUDA兼容 |
| 壁仞科技 | AI计算/通用GPU | BR100系列 | 数据中心AI训练/推理,算力对标国际旗舰 |
| 天数智芯 | AI计算GPU | 天垓100、智铠100 | 云端AI训练推理,支持主流深度学习框架 |
| 燧原科技 | AI芯片/GPU | 云燧T20/T21、云燧i20 | 云端AI加速卡,专注数据中心训练和推理 |
| 沐曦科技 | 高性能GPU | 曦思N系列、曦云C系列 | AI训练推理、通用计算、图形渲染 |
| 海光信息 | 计算卡(DCU) | 深算一号/二号 | 数据中心AI计算、GPGPU通用计算,兼容CUDA生态 |
| 芯动科技 | 渲染/计算GPU | 风华系列(Imagination IP) | 桌面级显卡、数据中心计算 |
景嘉微偏重图形显示和军工,性能相对保守但可靠性强
摩尔线程是唯一真正面向消费级游戏市场的GPU厂商,在Windows游戏兼容性上投入最大
海光、壁仞、天数、燧原、沐曦主要竞争数据中心AI算力市场,对标NVIDIA A100/H100
龙芯、申威走完全自主路线,生态建设难度最大但自主可控程度最高
国产GPU公司:
(1)大厂:华为海思半导体、阿里平头哥
(2)独角兽:寒武纪
(3)国产GPU四小龙:摩尔线程、沐曦科技、壁仞科技、燧原科技
(4)其他:江原科技、天数智芯
8.主板、服务器公司
| 公司英文名/缩写 | 公司中文名 | 领域 |
|---|---|---|
| H3C | 新华三 | 服务器主板 |
| SuperMicro | 超微 | 服务器主板 |
| UNIS 或 Unisplendour | 紫光股份 | 全领域 |
| Tsinghua Unigroup | 紫光集团 | 母公司 |
新华三集团(H3C)就是原先的华三通信技术有限公司。其前身是华为与美国3Com公司于2003年共同成立的合资公司“华为3Com”,华为持股51%,3Com持股49% 。2006年,3Com收购了华为在华为3Com的全部股份,随后将公司更名为H3C。2009年,惠普公司收购了3Com,H3C成为惠普的全资子公司。2015年,紫光集团收购了H3C 51%的股权,随后将其更名为新华三集团。2023年,紫光股份完成对新华三集团的全资收购,成为其唯一股东。
紫光集团(Unisplendour Corporation Limited)是一家中国领先的信息技术企业,主要从事IT基础设施产品的研发、生产和销售。其业务涵盖服务器、存储设备、网络设备、云计算、大数据等领域。通过对新华三集团(H3C)的控股,紫光集团进一步拓展了在网络设备和解决方案领域的业务布局。
十三、数据可视化
1.Elastic公司的Kibana
(1)Kibana
Kibana:一个数据可视化工具,用于显示和分析存储在 Elasticsearch 中的数据。Kibana 提供了用户界面,允许用户通过图表、仪表板和报告可视化数据,帮助用户洞察和理解复杂的数据。
(2)KQL
KQL 是一种专为 Kibana 设计的查询语言,用于在 Elasticsearch 中搜索、筛选和分析数据。
1.查询某个字段包含特定值的记录:
pn: "103010100-SAM_64GB"
这会过滤出 pn 字段为 103010100-SAM_64GB 的所有记录。
2.组合多个查询条件:
pn: "103010100-SAM_64GB" AND status: "Passed"
3.时间范围查询:
@timestamp >= "2025-05-21T00:00:00" AND @timestamp <= "2025-05-24T00:00:00"
这会查询在 2025 年 5 月 21 日至 5 月 24 日之间的所有记录。
2.Grafana
十四、芯片验证要掌握的软件技能
1.ctest测试框架
ctest所需要的依赖:
sudo apt install cmake
sudo apt install cmake-mozilla
2.pytest测试框架
python -m pytest test_sequence.py -k "fail_test" -vs
3.Gtest
4.参数解析库:optparse库、argparse库
它可以定义可接受的命令行选项(例如 -r, --test 等),并解析命令行中输入的这些选项。
用户可以通过命令行运行 Python 脚本时指定参数,例如设置测试类型、设备编号、循环次数等。
十五、BLT BurnIn IP case fail:debug思路
1.举例 PCIe case fail
pcie.7.4 fail 掉lane (X8->X2) 问题,排查方向:
一、硬件连接问题:
1.金手指(损伤、氧化) 或 PCIe插槽积灰,导致接触不良
rework做BMC前,调整了硬件。是否存在电容碎裂的情况?需要拍一下金手指处的清晰照片。
重点排查:尤其是个别板卡掉lane问题,之前实验室出现过3例金手指上方电容脱落导致掉lane问题

2.板卡插的松动
pcie.7.4总是一个dtu fail,一个dtu pass。
fail的那个dtu是chip A还是chip B?可能存在插板卡不平整的情况。需要提供一下fail的是哪边的lane
二、机器硬件故障
PCIe插槽、机器设备本身硬件老化故障
三、供电不稳定
电源功率不足、电源线插紧,或电源本身纹波过大(劣质电源),导致 PCIe 设备供电波动,通信出错
四、固件FirmWare
13.50连续4次BLTfail,退回11.50复测BLT,看看测试结果
调查结果:
已和工厂确认,PCIE金手指电容有撞件,已返回维修。

1024

被折叠的 条评论
为什么被折叠?



