【硬件】嵌入式问题
1. 芯片测试
半导体制造中验证系统级芯片(SoC)功能与制造质量的关键环节,应用于深亚微米工艺下的集成电路生产领域。核心目标在设计初期规划测试方案,通过自动化工具检测和隔离缺陷,确保芯片良率及性能达标。
测试采用自动化测试模式(ATPG)、边界扫描等技术,结合测试复用与模式压缩缩短周期,针对高集成度芯片引入瞬变模型、路径延迟等多故障模型解决时序问题。分为晶圆测试(CP)与封装最终测试(FT),筛选缺陷芯片与验证成品质量。测试方法涵盖电性能参数检测 、功能验证、环境可靠性模拟等维度,利用ATE设备、探针等硬件配合实现高效质量控制。行业趋势聚焦于测试自动化优化(如AI生成向量)、多芯片并行测试及接口设计创新,平衡测试经典与成本
- 正确配置逻辑测试的ATPG工具,测试时间段;新型告诉故障模式及多种内存或小型阵列测试。对产线而言,诊断方法不仅找到故障且将故障节点与工作正常节点分离,有空能要采用复用技术节约测试时间。高级程度IC测试领域,ATPG和IDDQ的可测试性设计技术具备强大的故障分离机制
- 提前规划的实际参数:扫描的管教数目和管脚端的内存数量。在SoC上嵌入边界扫描,但不限于电路板或多芯片模块上的互连测试。
- 芯片测试平台:包括PT-930,VerigyV50,chroma3360,V777,nd1\2\3等
1.1 CP测试
1.2 DRAM测试原理
DRAM(Dynamic Random-Access Memory, DRAM)是一种易失性半导体存储器,广泛应用于个人电脑、服务器、移动设备等领域。DRAM通过存储单元(微型电容和晶体管)中的电荷状态表示数据位0或1;而电容器的电荷会随时间泄露,DRAM需要周期性的刷新操作维持数据完整性,“动态”特性的引脚分类及其功能;随DDR4演进到DDR5,引脚功能、信号协议和测试要求变得日益复杂。
1)电源和接地引脚(VDD, VDDQ, VSS, VPP)
功能:为DRAM芯片内部电路的正常工作提供必需的电源电压和稳定的接地参考。
VDD:核心电源电压,供给DRAM内部逻辑电路和存储阵列。
VDDQ:I/O接口电源电压,专门供给DQ(数据输入/输出)和DQS(数据选通)等I/O缓冲器。在某些设计中,VDD和VDDQ可能使用相同的电压值,但在一些高速设计中可能会有所不同,以优化信号完整性和功耗。
VSS:接地引脚,作为所有电压的参考点。
VPP:字线升压电源,用于在行激活期间驱动字线到比VDD更高的电压,以确保存储单元晶体管完全导通。例如,DDR4的VPP通常为2.5V 3,而DDR5则降至1.8V 4。
详细说明:稳定的电源供应对DRAM的可靠运行至关重要。电压波动或噪声可能导致数据错误或操作失败。DDR4规范中定义VDD = VDDQ = 1.2V ± 5%,外部VPP = 2.5V (+10%, -5%) 3。DDR5则将工作电压进一步降低至VDD/VDDQ = 1.1V,VPP = 1.8V,以降低功耗 4。
- memory测试
Memory测试(内存测试)是指对计算机内存模块进行的一系列检测和验证过程,旨在确保内存的正确性和稳定性。在计算机系统中,内存作为CPU与外部存储器之间的桥梁,其性能直接影响整个系统的运行效率。
主要测试类型
1)基础功能测试
读写测试:验证内存的基本读写功能是否正常
地址线测试:检查内存地址线是否正确连接
数据线测试:检测数据线是否存在短路或断路
存储单元测试:验证每个存储单元能否正确保存数据
2)性能测试
带宽测试:测量内存的数据传输率(如GB/s)
延迟测试:检测内存访问延迟(通常以纳秒为单位)
吞吐量测试:评估单位时间内能够处理的数据量
3)稳定性测试
长时间压力测试:通过持续读写操作验证内存的稳定性
温度测试:监测内存模块在不同负载下的温度变化
错误检测与纠正:测试ECC(错误检查和纠正)功能的有效性
常用测试工具 - 专业测试软件
Memtest86:经典的启动盘内存测试工具,支持全面检测
Windows内存诊断工具:Windows内置的简易内存检测程序
Prime95:通过计算压力测试内存稳定性
AIDA64:提供详细的内存性能分析和压力测试
开发人员工具
Valgrind:Linux平台下的内存调试和性能分析工具
Dr. Memory:Windows平台的内存错误检测工具
Purify:商业级的内存调试和性能分析工具
【测试步骤示例】
准备阶段
1)关闭所有运行程序
2)确保系统稳定性
3)记录测试前的内存状态
执行测试
运行基础功能测试(约30-60分钟)
进行性能基准测试(多次采样取平均值)
执行72小时稳定性压力测试
结果分析
检查错误报告
分析性能指标
生成测试报告
应用场景
硬件开发:内存模块厂商的质量控制
系统集成:服务器和工作站的稳定性验证
故障排查:诊断系统蓝屏或崩溃问题
超频验证:验证超频后内存的稳定性
二手交易:检测二手内存的健康状况
1.3 验证的流程
- 通用流程目前如下:
1)提取测试点,明确验什么:分析FS/浮点平台,提取芯片的规格和测试点;分析AS/顶点平台,提取测试点;分析DS,提取测试点并识别asic与算法的不一致点
2)制定验证方案明确怎么验:刷新测试点列表,明确测试点的覆盖方式-功能覆盖率、代码覆盖率、直接用力;验证环境的搭建策略/自动化工具;重点难点,提前识别重难点并制定相应的对策;刷新用例列表,明确测试用例方法及步骤
3)用例执行,随机测试,发现bug:执行测试用例发现大部分bug,带随机的大量测试撞出bug
4)完备性分析,确保无漏验:FA/AS完备性确认,保证FS/AS中所有点纳入测试点,确保亦被覆盖,包括应用场景;接口完备性取人,保证所有的接口时序都被覆盖包括正常时序和异常时序;覆盖率确认,分析所有的代码、功能覆盖率保证全部覆盖
5)代码分析,掌握电路的实现逻辑,保证所有的电路corner都已经覆盖
验证人员希望的情况下把所有激励空间都覆盖到,保证无漏测、零漏测;但实际情况是芯片规模越来越大,激励空间近乎无线,但EDA仿真的速度奇慢,无法实现全覆盖,即使是FPGA\EMU等仿真加速器对此也无能为力。因此要合理划分等价类相当重要。 - CDV验证:CDV是覆盖率驱动验证的意思,写一大堆覆盖率(断言、功能、代码等)而覆盖率都达到的话代表验证完备
目标的前提是分析清楚测试点覆盖空间,测试空间是否晚辈 - formal验证:传统的仿真都是动态验证;由于仿真效率低下无法遍历所有空间,formal静态验证手段可以遍历所有空间。但在目前formal只能适用于百万门级的模块验证
- 服用的模块可以将相关的验证做成BB化,后续芯片复用该模块时,也可以复用验证BB