芯片验证(CV,Chip Validation)、芯片测试(SLT/BLT)

文章目录

零、芯片设计制造全过程

所谓芯片,就是将可以实现运算或存储等功能的电路,集成在一块很小的硅片上。

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.岗位介绍

测试+验证+固件+软件+设计部门

缩写英文全称中文含义拓展
DEDesign EngineerIC设计工程师
DVDesign VerificationIC设计验证工程师
CVChip Verification芯片验证工程师
Profiling性能分析调优是一种用于分析和评估程序或系统性能的技术
DFTScan、MBIST、JTAG 等测试电路DFT 负责测试电路的构建和测试pattern的生成
ATEAutomatic Test Equipment自动测试设备包括CP和FT。
ATE 有专门的测试用例设计和生成方式
CPChip Probe / Wafer Probe芯片探测 / 晶圆探测封装前的裸晶圆 / 裸 Die。该阶段写入uuid
FTFinal Test最终测试 (终测、成测)封装后的成品芯片
SLTSystem Level Test系统级测试筛芯片,放在EVB上测试
EVB:Evaluation Board(评估板)
BLTBoard Level Test板卡级测试
BurnIn烧机老化测试
PEProduction Engineer产品工程师负责yield,良率统计
FAEField Application Engineer现场应用工程师又称 CE(Customer Engineer) 或 AE(Application Engineer)
diag验证芯片验证
FWfirmware固件
QAQQuality Assurance质量保证工程师主要负责测试
MEManufacturing 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缩写英文全称中文含义分类功能
MASMicro-Architecture Specification微架构规范电子工程领域:MAS主要被用于描述计算机硬件设计中的微架构层次,它涵盖了处理器设计的细节,如指令集、缓存系统和流水线结构等
在计算机硬件设计、系统架构和软件优化中。软件开发者可能会使用MAS来理解和优化设备的性能,或者硬件工程师在开发新型处理器时会参考MAS来确保其设计的高效性和兼容性
IP核Intellectual Property Core芯片知识产权核心集成电路设计中预先设计好、经过验证的、可以重复使用的功能模块
PCIePCI Express,Peripheral Component Interconnect Express外设组件互连扩展总线接口类IP主机/外设间高速通信
MCMemory Controller存储控制器存储/内存类IPDRAM/SRAM读写管理
SIPScalable Intelligent Processor可扩展智能处理器
LLClast level cache末级cache
DTEData Transformation Engine数据传输引擎数据传输类IP片上/片外数据搬运
GDTEGeneral Data Transmission Engine通用数据传输引擎
CDTECluster DTE集群DTE
ODTEOff-chip DTE
SDTESIP DTE
MMUMemory Management Unit内存管理单元
SSMSystem & Security Management系统与安全管理
SPScheduling Processor调度处理器
CVPCompute Vision Processor计算视觉处理器视觉/图像类处理IP机器视觉处理
VPUVideo Processing Unit视频处理单元处理类IPVPU Codec:VPU编解码器
GMUGlobal Management Unit全局管理单元
DPFDebug Profiler

3.芯片级通信协议

Term缩写英文全称中文含义拓展
JTAGJoint Test Action Group联合测试行为组织JTAG 是一种标准化的 芯片级调试和测试接口协议,官方名称为 IEEE 1149.1 标准,主要用于集成电路(IC)的测试、调试和编程
SPISerial Peripheral Interface串行外设接口
I²CInter-Integrated CircuitI²C总线串行通信协议,芯片之间的低速通信,连接微控制器和外围设备
UARTUniversal Asynchronous Receiver/Transmitter通用异步收发传输器

4.板卡级

Term缩写英文全称中文含义拓展
GPIOGeneral Purpose Input/Output通用输入输出端口GPIO属于引脚功能,不属于芯片协议。
微控制器MCU、单片机的接口
Gold Finger金手指在电脑内存条、显卡上,有一排金黄色导电触片,就是大家俗称的“金手指”。
在PCB设计制作行业中的“金手指”,是由connector连接器作为PCB板对外连接网络的出口。
pin引脚是芯片封装体向外引出的金属针脚,用于和外部电路进行电气连接。可以将其想象成芯片与外界沟通的“触角”
PCBprinted circuit board印刷电路板PCB板有金手指

在这里插入图片描述


5.芯片级

Term缩写英文全称中文含义拓展
ASICApplication - Specific Integrated Circuit专用集成电路ASIC是专用的,与之相反的是通用芯片
应特定用户要求和特定电子系统的需求专门设计、制造的集成电路,和 CPU、GPU 这类适配多种任务的通用芯片不同,ASIC 相当于为单一或一类特定任务量身打造,能最大限度去除冗余功能,专注提升目标任务的效率。
DSADomain-Specific Architecture领域专用架构DSA和GPU的核心区别在于设计哲学:GPU:为图形和高并行通用计算(如AI训练)设计,保留了较强的可编程性,但能效不是最优。DSA:针对特定领域(如AI推理、自动驾驶)做极致优化,放弃部分通用性以换取更高能效和性能密度。一句话总结:GPU是“并行通用处理器”,DSA是“领域专用加速器”;GPU更灵活,DSA能效更高。
燧原的计算卡就是DSA,算不上GPU,因为没有图形光栅渲染功能,只能做AI计算。【显示卡 or AI计算卡】。但是燧原的DSA做不了所有的科学计算,仅仅能做矩阵运算。
GPUGraphics Processing Unit图形处理器专门加速图形渲染(顶点处理、像素着色、纹理映射等)
GPGPUGeneral-Purpose Graphics Processing Unit通用图形处理器在 GPU 架构基础上,使其能高效处理非图形的通用并行计算任务
它的核心思想是:让原本专为渲染图形而生的 GPU,能够处理通用的科学计算和并行计算任务。
它与普通 GPU 的核心区别在于:
普通 GPU:硬件电路为图形渲染的固定流程(如顶点处理、像素着色)做了大量优化,功能相对固定。
GPGPU:在硬件上保留了 GPU 的大规模并行计算能力,同时通过软件(如英伟达的 CUDA)将其通用化。开发者可以用它来运行 AI 训练、物理模拟等非图形任务。

DSA(领域专用架构):为 特定领域(如 AI)做定向优化,像一把“专用钥匙”。能效高,但通用性有限。
GPGPU(通用图形处理器):为 广泛的通用并行计算 而设计,像一把“万能工具”。牺牲了一定的能效,但换来了极高的灵活性。
SoCSystem on Chip片上系统、系统级芯片SoC:把整个计算机系统集成到一块芯片上
传统芯片是一个芯片单独负责一个功能,而SoC是将多个芯片的功能(即一个完整的系统)集成到一个芯片上,包含处理器、存储器、输入输出接口等多个功能模块,如CPU、GPU、AI引擎、Wi-Fi、蓝牙等功能
NoCNetwork on Chip片上网络片上网络是一种在单个芯片内部,用于各功能模块之间高效互联的通信架构。传统片内模块之间常靠总线(bus)通信,但随着核心数量和功能复杂度的增加,总线带宽和可扩展性都成为瓶颈。NoC 通过网格、环形或分层交换网络,把各功能块(IP 核)、处理器核、存储器控制器等节点用路由器和链路互联起来,支持并行、高带宽、低延迟的数据传输,并且更易于扩展和功耗管理。
PHYPhysical Layer物理层是通信系统中负责信号传输和接收的部分。PHY通常包括各种硬件组件,它们用于转换信号格式,使得数据能够在不同的物理介质(如电缆、光纤、无线信道等)中进行传输。
PHY (Physical Layer) 物理层:
①PCS (Physical Coding Sublayer):物理编码子层
②PMA (Physical Medium Attachment):物理介质附加子层
PHY代表千兆以太网的物理层,包括物理编码子层Physical Coding Sublayer (PCS),依附物理介质子层 Physical MediumAttachment (PMA) 以及自动协商层 (AUTONEG)。MEDIUM表示最底层的信号传输介质。
SDMEMScalar Data Memory标量数据内存存放标量数据,包括:简单的变量 (如 int i、bool flag)、循环计数器、内存地址指针、控制状态寄存器
VDMEMVector Data Memory向量数据内存存放向量数据,包括:计算负载。例如图像的像素矩阵、神经网络的权重(Weights)、特征图(Feature Maps)。
向量运算单元(SIMD)在用VDMEM,负责大规模并行计算
VARAMVector Array RAM向量阵列内存待计算的向量数组、或者计算过程中的中间结果(Accumulator)
它是 VDMEM 的“前站”。数据从VDMEM取出来后,可能会先放在VARAM里排好队,供计算单元以极低延迟读取。
RORing Oscillator环形振荡器ATE阶段记录,判断芯片是哪种Corner
SASysterm Adaptor
bus arbitration总线仲裁
DFData Fabric数据结构
CFControl Fabric控制结构
ESLEthernet Smart Link
architecture架构
ECCLEnlightened Collective Communication Library集体通信库ECCL 主要专注于在大规模集群和多GPU系统上进行集体通信,目的是提高通信效率
NCCLNVIDIA Collective Communications LibraryNCCL 是 NVIDIA 提供的通信库,专门优化了深度学习训练中的集体通信操作,通常用于多个 GPU 之间的同步和数据交换
HPCHigh Performance Computing高性能计算

在这里插入图片描述


在这里插入图片描述


SY是DSA,其他四家是GPU
在这里插入图片描述


6.芯片设计

缩写英文全称中文含义拓展
EDAElectronic Desgin Automation电子设计自动化主流厂商:Synopsys、Cadence、Mentor Graphics
HDLHardware Description Language硬件描述语言用于描述数字电路和系统的硬件结构和行为,如Verilog和VHDL
RTLRegister Transfer Level寄存器传输级是一种对数字电路进行抽象描述的层次,在这个层次上,电路的行为是通过寄存器之间的数据传输和操作来描述的。
将数字电路看作由寄存器和组合逻辑构成的系统,代码主要描述数据如何从一个寄存器经过组合逻辑的处理传递到下一个寄存器
RTLRegister-Transfer Level Module寄存器传输级模块用硬件描述语言 (Verilog/SystemVerilog) 编写的数字电路代码,描述数据在寄存器之间的传输和变换
RTL codeRegister Transfer Level寄存器传输级RTL code是硬件本身的代码 (Verilog/VHDL)
它描述的是芯片硬件长什么样:1.有哪些寄存器 2.数据怎么在模块之间流动 3.状态机、总线、接口、时序逻辑。即用Verilog/SystemVerilog ,描述寄存器之间数据怎么传输、怎么运算
RTL code:造硬件的代码
ROM code:存在硬件里、上电就跑的程序
ROM codeROM code = 固化在 ROM 里的程序代码,芯片上电后,CPU 第一个执行的就是它。
内容一般是:1.启动代码 (boot code) 2.初始化代码 (配置时钟、DDR、外设) 3.底层固件 4.小的控制程序
Synthesis综合在芯片设计中,是指将RTL级别的代码转换为门级网表(Gate-Level Netlist)的过程
DFxDesign for Everything面向X的设计
DFTDesign For Test/Testability面向测试的设计、可测试性设计核心原则是通过设计优化使产品在制造和使用阶段易于测试、故障诊断与隔离,从而降低测试成本、提高缺陷检出率
在芯片设计阶段就植入专用测试电路(如扫描链、边界扫描、内建自测试BIST等),解决流片后芯片内部逻辑难以被ATE设备直接检测的问题。
以此提升芯片测试覆盖率、降低量产测试成本、缩短测试时间
DFDDesign for Debug面向调试的设计预留调试接口和逻辑,方便芯片研发阶段的问题定位
DFMDesign for Manufacture面向制造的设计
DFPDesign For Profiling面向分析的设计
DFPDesign for Power面向功耗的设计
DFPDesign for Performance面向性能的设计
DFYDesign for Yield面向良率的设计
DFRDesign for Reliability面向可靠性的设计
DFCDesign for Cost面向成本的设计
DFSDesign for Security面向安全的设计

7.芯片制造、量产

Term缩写英文全称中文含义拓展
LOTNOLot Number批次号用来标识这一批芯片/板卡来自哪一批生产或来料
QTYQuantity数量指这个批次里参与本次统计的总数(样本数)
Unit Cell晶胞是晶体结构的基本重复单元。在半导体材料的晶体结构研究和设计中经常被用到
wafer晶圆高纯度单晶硅制成的圆形薄片,表面会通过光刻、蚀刻等工艺批量制造出成百上千个相同的集成电路单元。
wafer切割下来的叫做die
Die芯片的裸片/晶粒Die 是指芯片的 裸片,即从硅晶圆(Wafer)上切割下来的单一芯片。包含了芯片的实际电路和功能
chip芯片die经过封装后变为chip。一个芯片可能一个Die,也可能两个Die
dual-chip双芯片的efsmt -dualchip show -d dtu.*
board板卡一张板卡可能一颗芯片,也可能两颗芯片(一卡双芯)
Fabless无晶圆厂是指那些只进行芯片设计,而没有自己的芯片制造工厂的半导体公司
Fabfabrication制造、加工
SKU同一款芯片,根据不同的设计要求做的不同的板卡
tape out流片
mass production / volume production量产
EVBEvaluation Board评估板,绿色无壳大卡
PRBPrototype Board原型板,带壳的小卡
MSNManufacturer Serial Number制造商序列号
MPNManufacturer Product Number制造商产品号
SOPStandard Operating Procedure标准操作程序
ECNEngineering Change Notice工程变更通知流程是产品设计、制造和生产过程中用来管理和记录工程变更的正式流程
EOLEnd of Life生命周期结束EOL:指的是某个产品、部件、服务或技术在其生命周期中的结束阶段,意味着该产品或部件将不再生产、销售或支持。通常,EOL标志着产品不再提供正式的技术支持、修复或升级

8.芯片验证

缩写英文全称中文含义拓展
IRQInterrupt Request中断请求
RASReliability — Availability — Serviceability可靠性( Reliability )、可用性( Availability ) 与 可维护性( Serviceability )RAS 是Reliability (可靠性)、Availability (可用性)、Serviceability (可维护性 / 可服务性) 的缩写,是计算机硬件工程领域的核心概念,用于衡量系统稳定性、持续服务能力和维护便捷性。在关键任务系统 (金融、医疗、电信、云计算、高性能计算) 中,RAS 设计直接决定业务连续性与数据安全,是企业级系统与消费级系统的核心区别之一。
MASMicro Architecture Specification微架构规范MAS,简称spec。是芯片IP的完整规格书。必看,反复看,天天看。
PGProgramming Guide编程指南Design给Chip Validation同事的开发“测试case”的编程指南,用来约束芯片IP的测试条件
Calibration校准
Pre-Silicon Verification硅前验证
Post-Silicon Validation硅后验证
UVMUniversal Verification Methodology通用验证方法学是芯片验证领域的行业标准验证框架,基于SystemVerilog的验证方法学库(类库)
align(地址)对齐地址对齐:addr align、地址非对齐:地址非align
constraint约束,限制验证case有些限制要求
dependence依赖、依靠指是否需要其他同事的帮助,是否有上游依赖
errata勘误表
waveform波形
sanity case健全测试、冒烟测试sanity test 健全测试
Sanity case是软件或芯片验证(IC)中的一种早期、快速的测试手段,属于冒烟测试(smoke test)的一种
ipmiIntelligent Platform Management Interface智能平台管理接口核心用于服务器 / 硬件设备的带外管理,依赖BMC,通用工具
HALHardware Abstraction Layer硬件抽象层是底层软件中承上启下的核心组件,本质是一套屏蔽硬件差异的统一接口层
TclTool Command Language工具命令语言自动化工具开发与系统集成,尤其在芯片 / EDA 领域应用极广
RALFRegister Abstraction Layer Format寄存器抽象层格式是寄存器定义文件,DE给的,用工具生成所需要的header file
在芯片RTL领域,.ralf 文件是寄存器抽象层格式(Register Abstraction Layer Format)的缩写。
这个文件是连接设计规范与验证实现的桥梁,作为工具链(尤其是Synopsys的ralgen)的标准化输入文件,用于自动化生成验证环境所需的寄存器模型(RAL Model)和RTL代码。
SpecSpecification芯片设计规格书
Clock Frequency时钟频率也叫主频,是指芯片内部时钟信号的振荡频率,它决定了芯片每秒钟能够执行的指令数
IP validation芯片IP验证
Root Cause根本原因
errata勘误表
A-B-A Swap Test交叉测试板级故障排除方法。它的核心思想是通过在“坏板”和“好板”之间互换可疑器件,来判断故障究竟是出在器件本身,还是出在电路板或系统其它部分。

Verification:确认“我们做对了设计”。
Validation:确认“我们做了正确的产品”。


层级关系(从下到上):

┌─────────────────────────────────────────┐
│              SoC (顶层)                  │
│   整个芯片系统,包含所有模块              │
└─────────────────────────────────────────┘
                    ▲
                    │ 实例化
┌─────────────────────────────────────────┐
│           子系统 (Subsystem)             │
│   如:显示子系统、音频子系统              │
└─────────────────────────────────────────┘
                    ▲
                    │ 实例化
┌─────────────────────────────────────────┐
│            RTL 模块 (底层)               │
│   如:UART 模块、FIFO 模块、状态机        │
└─────────────────────────────────────────┘

验证也分层级:
- 模块级验证 → 验证单个 RTL 模块
- 子系统验证 → 验证模块组合
- 系统级验证 → 验证完整 SoC

9.芯片测试

缩写英文全称中文含义拓展
DUTDevice Under Test被测器件需要验证的芯片 RTL 设计
Harvest芯片收割 / 功能提取指通过选择性禁用有缺陷 / 冗余的功能模块或调整性能参数(如降频、降规格),将原本不符合高端产品标准的芯片 “挽救” 为合格的中低端产品,从而最大化晶圆利用率与良率的制造策略
trial run试运行
CPChip Probing晶圆测试
FTFinal Test成品测试
ATEAutomatic Test Equipment自动测试设备检查芯片的电气特性和基本功能是否符合设计要求
BUbringup(芯片) 点亮
SLTSystem Level Test系统级测试 (筛芯片)
BLTBoard Level Test板级测试 (筛板卡)
Burn-InBurn-in Test烧机老化测试是让芯片在高温、高电压等加速老化条件下工作一段时间(通常为24h),以此筛选出早期失效的产品
BLRBoard Level Reliability板卡级可靠性
Package Reliability封装可靠性是衡量封装对芯片保护以及长期使用稳定性的指标
Yield良率是指在半导体制造过程中,合格芯片的产比例
TFLOPSTFLOPS:
Tera Floating Point Operations Per Second
每秒 1万亿次 浮点运算t:T是一万亿,1×1012,即 1000G
flo:Floating Point,浮点数
ps:每秒
是衡量计算机性能,特别是在执行浮点运算时的能力的一个单位
PFLOPSPeta 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

缩写英文全称中文全称拓展
regregister寄存器
BARBase Address Register基址寄存器
eFuseelectronic fuse电熔断(电子保险丝)可用作一次性可编程存储器(OTP),也可用于电路过流、过压等保护
OTPOne Time Programmable一次性可编程存储器eFuse 是 OTP 的一种物理实现方式,但并非所有 OTP 都基于 eFuse

11.PVT:电压、电源、功耗、温度、Profiling

缩写英文全称中文全称拓展
PVTProcess-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性能为快速
核心验证目标为:上升沿主导的时序路径
VminMinimum 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)
GBGuardBand防护带 / 裕量GuardBand 是在芯片的电气参数、时序、电压 / 频率等关键指标上设置的冗余余量
DPMDynamic Power Management动态电源管理根据实时负载动态调整功耗:
当芯片负载较低时,降低 CPU 电压和频率,显著减少动态功耗
CTFCritical Thermal Fault临界热故障超过温度门槛限制,则过温的红灯亮起
VRMVoltage Regulator Module电压调节模块用来降压稳压,可以用来表示电源芯片的温度。VRM 本质是芯片的 “专属电源管家”。
PN结P–N junctionPN 结是将掺杂了受主杂质(P 型)和施主杂质(N 型)的两种半导体材料在同一晶体中相邻区域结合起来的接口结构
TjJunction Temperature结温半导体器件内部 PN 结处的实际温度,即发热最集中的位置。我们指的是efsmt -thermal list 中 VT0-VT4 五个传感器中温度的最大值,是实测温度
TjMax最高温限制
Profilingprofiling性能分析通过工具对程序运行过程进行测量,定位资源消耗瓶颈,以指导性能优化的方法
power功率
Power Consumption功耗是指芯片在工作过程中消耗的电能。在移动设备等对电池续航要求高的应用场景中,低功耗芯片非常关键
IDDQIddle Drain Quiescent current
或Quiescent Power Supply Current
静态电源电流静态静态漏电流、静态工作电流 (静态)
d I d t \frac{dI}{dt} dtdIDynamic Current动态电流didt是电流的微分,就是动态电流

在这里插入图片描述


5种Corner芯片工艺工况 (TT/FF/SS/FS/SF) 应用场景速查表

工艺工况英文全称核心晶体管性能特征主要应用场景验证 / 测试目标
Corner 芯片分类:TT(典型工艺角)、FF(最快工艺角)、SS(最慢工艺角)、FS(不对称)、SF(不对称)。
比如JY遇到过3FF的corner芯片,“3FF是最快的corner,电流也最大
TT芯片Typical-TypicalNMOS、PMOS 均为标称性能,无明显偏差1.芯片设计基准验证
2.常规功能与性能仿真
3.功耗与频率的标称值标定
确认芯片在理想工艺条件下的基础功能、性能和功耗指标,作为其他工况的对比基准
FFFast-FastNMOS、PMOS 均为最快速度,漏电流偏大1.芯片极限性能测试(最高运行频率)
2.漏电流上限验证
3.高速接口时序裕量测试
验证芯片的性能上限,排查高速运行时的时序冲突、信号完整性问题,评估最大漏电流对功耗的影响
SSSlow-SlowNMOS、PMOS 均为最慢速度,漏电流偏小1.芯片最坏工况稳定性验证
2.最低工作电压测试
3.低温 / 高温极端环境下的功能测试
确认芯片在工艺、电压、温度(PVT)最差组合下的可靠性,避免出现时序不满足、功能失效的问题
FSFast-SlowNMOS快速,PMOS慢速1.组合逻辑时序不对称性验证
2.下降沿主导的时序路径测试
3.逻辑门电平转换稳定性验证
排查因NMOS 和 PMOS 速度差异导致的下降沿过快、上升沿过慢的时序裕量不足问题
SFSlow-FastNMOS慢速,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缩写英文全称中文含义拓展
EmuEmulator硬件仿真器常见的Emulation有:Palladium、Zebu、合见
Emulatior是一种介于软件逻辑仿真和FPGA原型验证(Prototyping)之间的高性能硬件验证工具。它通过专用的硬件阵列(如定制化ASIC或大规模FPGA阵列)来映射待验证的RTL设计,从而在硬件层面加速执行验证过程。帮助开发人员在芯片或设备还未制造出来之前,通过模拟来测试和验证硬件设计的功能和性能。
Palladium帕拉丁Cadence的Palladium,编译速度极快
Zebu泽布Synopsys的Zebu,运行速度最快
VDKVirtualizer Development Kit虚拟开发套件由新思科技(Synopsys)推出,用软件模拟出一整套虚拟硬件平台(CPU、内存、外设、总线等),让你在真实芯片/板卡出来之前,就能跑、调试、测试完整的二进制软件(驱动、OS、应用)
流片前的早期验证,寄存器级。
软件建模,CPU在跑,比较慢
经典流程:架构 → VDK 建模 → 软件 / 固件开发 → RTL 设计 → FPGA 原型 → 流片
PDUPower Distribution Unit电源分配单元是数据中心和服务器环境中用于管理电力分配的关键设备,它通过控制电源通断来实现AC boot(交流电启动)过程中的断电操作
BMCBaseboard Management Controller基板管理控制器BMC的作用:远程访问主机屏幕
ODMOriginal Design Manufacturer原始设计制造商ODM = 设计 + 制造 全包
在电子、计算机和硬件制造行业,它指的是一种商业模式:一家公司 (ODM 厂商) 负责产品的设计、研发和制造,然后将成品贴上另一家公司 (品牌商) 的商标进行销售。
通俗地说,就是 “品牌方出钱出牌子,ODM 方出技术出工厂”。
OEMOriginal Equipment Manufacturer原始设备制造商
AVSBus一个为低功耗、嵌入式和传感器应用设计的通信总线协议
vendor供应商
smiSystem Management Interface系统管理接口ipmi是跨厂商不同,smi是各家自己开发的
smtSystem Management Tool系统管理工具
FWFirmWare固件
RPMRevolutions Per Minute每分钟转速
KMDKernel Mode Driver核心模式驱动程序
SILICONSilicon硬件本身,是真实的平台
EVBEvaluation Board评估板用于评估和测试特定芯片或系统,通常具有预设功能
PRBPrototyping Board原型板提供一个可定制的硬件平台,用于快速原型开发和设计验证,灵活性更高

13.嵌入式

Term缩写英文全称中文含义拓展
单片机Raspberry Pi 树莓派、Arduino
MCUMicrocontroller Unit微控制器例如:STM32,XMC
DSPDigital Signal Processor数字信号处理器专为高速数字信号处理算法(如滤波、傅里叶变换、卷积、矩阵运算等)优化的微处理器
FPGAField-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术语

缩写英文全称中文含义拓展
DTEData Transformation Engine数据传输引擎因为DMA是个通用概念,而且一般只能做线性拷贝,而我们的传输引擎可以支持更多的数据变形操作,因此从3.0开始将名字从DMA改为DTE
DMADirect Memory Access直接内存访问
SIMDSingle Instruction Multiple Data单指令流多数据流
SPMDSingle Program Multiple Data单程序流多数据流
bpeBytes per Element每个元素的字节数
blburst length突发长度在一次突发传输(Burst Transaction)中,连续传输的数据单元 (Beat / Word) 数量
CFControl Fabric控制结构 (控制总线)
DFData Fabric数据结构 (数据总线)
AXIAdvanced eXtensible Interface高级可扩展接口
OPoperation操作linear copy、slice等
Burst Transaction突发传输
Stride步长
Infinite Buffer无限缓冲区
BPEBytes Per Element每个元素的字节数定义了每个数据元素的字节数(1、2 或 4 字节)。这直接影响地址计算和对齐,比如在处理 FP32 数据时通常设为 4 字节,INT8 则设为 1 字节。
align(地址)对齐地址对齐:addr align、地址非对齐:地址非align
constraint约束,限制验证case有些限制要求
H2DHost memory to Device memoryODTE完成的 Host memory to Device memory 的数据搬运
D2HDevice memory to Host memoryODTE完成的 Device memory to Host memory 的数据搬运

3.AXI协议

AXI(Advanced eXtensible Interface)是 AMBA 协议族中用于 SoC 高速通信的接口,Burst(突发传输) 是 AXI 最核心的效率优化机制:
主设备(Master)只需在地址通道发送一次起始地址 + 控制参数,就能连续传输多个数据Beat(最小数据单元),后续无需重复发地址,大幅降低总线控制开销、提升带宽利用率。



四、MMU

1.MMU介绍

MMU、TLB、TWU深度剖析:打破砂锅问到底

(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术语

缩写英文全称中文含义拓展
TLBTranslation Lookaside Buffer地址转换旁路缓冲器,俗称“快表”本质是页表的高速缓存(Page的Cache),加速虚拟地址到物理地址的转换。
存储最近访问过的页表项,当CPU需要地址转换时,先在TLB中查找需要的页表项 (TLB是Cache),如果命中(hit)则快速获取物理地址,否则(miss)需查询慢速的页表 (Page是内存),然后将结果存入TLB
硬件级缓存,无软件干预
MMUMemory Management Unit内存管理单元
UVAUnified Virtual Address统一虚拟地址
VAVirtual Address虚拟地址
PAPhysical Address物理地址



五、PCIe

1.PCIe介绍

PCI Express,简称 PCIe,是计算机系统中常用的高速总线接口

外设组件互连扩展总线/外设组件互联快速接口 (PCIe,Peripheral Component Interconnect Express) 是一种高速串行计算机扩展总线标准,是用于连接计算机内部各种硬件设备的高速数据传输接口标准,PCIe用于 连接 AI加速卡(如NVIDIA GPU或TPU)、高速互联(如InfiniBand)、主板上的各种硬件设备 (显卡、网络卡、存储控制器)和处理器。

在这里插入图片描述


2.PCIe术语

Term缩写英文全称中文含义拓展
UCIeUniversal Chiplet Interconnect Express通用芯粒互连通道
Parity奇偶校验带有“奇偶校验”的内存在每一字节(8位)外又额外增加了一位用来进行错误检测
Parity Error奇偶校验错误奇偶校验码:奇偶校验位与数据实际奇偶性不匹配的错误,表明数据在传输或存储过程中至少1位发生了翻转
ECCError Correction Code错误纠正码ECC利用冗余位(通常是额外的比特位)来实现数据的校验。
ECC error 分为 CE 和 UE
CECorrectable Error可纠正错误单比特数据错误,可恢复
UEUncorrectable Error不可纠正错误多比特翻转,≥2个bit错误,无法恢复
TxTransmitter发送端数据从这里发出。比如CPU发给显卡,CPU就是Tx
RxReceiver接收端数据在这里被读取。比如显卡接收 CPU 的指令,显卡就是 Rx
EQEqualization均衡器
AERAdvanced Error Reporting高级错误报告AER错误主要分为两类:
Correctable Errors(可修正错误)、Uncorrectable Errors(不可修正错误)
margin余量板卡的PCIE信号质量的差异,某些板卡的margin不够,无法cover转接板或者延长线带来的信号衰减,导致出现AER问题
Outbound出站指master从CPU/SoC内部发起的,请求访问PCIe外设的寄存器或内存空间
内部逻辑地址映射为PCIe地址
Inbound入站master指从PCIe外设发起,请求访问SoC内部系统内存(DRAM)
PCIe物理地址映射为内部总线地址
BDFBus-Device-Function总线-设备-功能
HSIOHigh-Speed Input/Output高速输入输出
EQEqualization信号均衡 或 电气均衡EQ值 指的是 PCIe 信号链路的均衡参数,这些参数用于补偿传输中的信号衰减和失真,以提高传输质量。用于优化信号传输,确保数据传输的可靠性。
XBARCrossbar
BadDLLPBad Data Link Layer Packet坏的数据链路层数据包
BadTLPBad Transaction Layer Packet坏的传输层数据包
PCSPhysical Coding Sublayer物理编码子层PCS 负责物理层的数据编码和解码,提高数据传输的稳定性和效率
PMAPhysical Medium Attachment物理介质附加层PMA 主要处理信号的物理传输和连接,保证信号能够稳定通过物理介质进行传输
ACKAcknowledge ErrorACK错误
NAKNegative Acknowledgement否定确认在通信协议中,NAK 是一种“否定应答”信号,用来告知发送端:接收端未能正确接收或校验数据,需要重发或采取纠错措施。常见于串口通信(如 UART)、USB、I²C、SPI 等总线协议中。例如 USB 事务中,当设备暂时无法处理主机请求时,会发回 NAK,告诉主机“请稍后再试”。
BRbase register基址寄存器。注意区分BR和BAR!
BARBase Address Register用于实现设备地址空间与主机物理地址空间的映射。用来为设备分配内存或 I/O 地址空间的寄存器
BAR size就是指设备所请求的、可以映射到主机内存或 I/O 空间的大小。这个大小通常是设备能够访问的内存或 I/O 地址空间的总量。
指的是 PCIe 设备通过 BAR(Base Address Register)向主机请求的地址空间大小。它决定了设备可被主机访问的内存或 I/O 地址范围
PCIePeripheral Component Interconnect Express外设组件互联快速通道
ROCERDMA over Converged Ethernet基于以太网的远程直接内存访问
PCIE bifurcation将一个 PCIe x16 插槽可以分叉为两个 PCIe x8 通道
PERSTPersistent Reset持久复位信号
Bifurcation分歧
FLRFunction 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 依然可以正常进行读写操作。边刷新边读,降低延迟
DDRDouble Data Rate SDRAM双倍数据速率、双倍速率传输率的动态随机存取存储器即 内存颗粒
MCMemory Controller内存控制器
MRMode Register模式寄存器
mrrMemory Read Register读取指定地址的寄存器
HBMHigh Bandwidth Memory高带宽内存
ROMread only memory只读存储器
RAMrandom access memory随机存取存储器
SRAMStatic RAM静态随机存取存储器
DRAMDynamic RAM动态随机存取存储器
SDRAMSynchronous Dynamic RAM同步动态RAM
VRAMVideo 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术语

缩写英文全称中文含义拓展
UEFIUnified Extensible Firmware Interface统一可扩展固件接口UEFI 是 BIOS 的现代化替代
FWfirm ware固件固件是嵌入在硬件中的专用软件,通常用于控制硬件的基本操作,通常存储在非易失性存储器(如ROM、EPROM、Flash)中
SSM FWsystem 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)→ATESLT(System Level Test)→BLT(Board Level Test)→BurnInPV(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-3nmEUV(极紫光)光刻机
2尼康(Nikon)日本7-28nmDUV(深紫外)光刻机,尤其是ArFi浸没式光刻机
3佳能(Canon)日本5nm纳米压抑(NIL)光刻技术。但产能和良品率未达到大规模量产水平

2.存储/内存 (memory) 公司

公司中文名公司英文名领域所属国家
海力士SK Hynix内存颗粒韩国
三星Samsung内存颗粒韩国
镁光Micron内存颗粒美国
长鑫存储科技CXMT (ChangXin Memory Technologies)DRAM 内存颗粒中国
长江存储YMTC (Yangtze Memory Technologies Corp)SSD 固态硬盘颗粒中国

3.芯片生产公司

公司缩写公司英文名公司中文名领域
TSMCTaiwan Semiconductor Manufacturing Company台积电芯片制造、晶圆生产
SMICSemiconductor Manufacturing International Corporation中芯国际芯片制造、晶圆生产

4.封装、测试公司

云尖信息


5.国际CPU/GPU公司

公司缩写公司英文名公司中文名领域
NVIDIA英伟达GPU
AMDAdvanced 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厂商

厂商定位主要产品/架构应用领域
景嘉微图形渲染GPUJM9系列(第三代)军用起家,现拓展到信创桌面显示,支持国产操作系统
摩尔线程全功能GPUMTT S系列(MUSA架构)游戏、图形渲染、AI计算,支持DirectX/Vulkan/CUDA兼容
壁仞科技AI计算/通用GPUBR100系列数据中心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金手指电容有撞件,已返回维修。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员爱德华

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值