DFT工程师专家讲述如何做好scan insertion

作为一名芯片设计DFT工程师专家,做好scan insertion(扫描插入)是确保芯片可测试性(DFT)的关键步骤之一。以下是一些关于如何做好scan insertion的详细建议:

一、明确Scan Insertion的目标与要求

提高测试覆盖率:通过扫描链,更容易地控制和观测电路内部状态,从而覆盖更多的故障模式。

简化测试生成:扫描链使得测试模式生成(ATPG)更加简单和高效。

降低测试成本:通过提高测试效率,减少测试时间和所需的测试设备资源。

二、掌握Scan Insertion的基本原理与流程

扫描触发器(Scan Flip-Flop):

结构:扫描触发器是普通触发器的扩展,具有两个输入端(数据输入和扫描输入)和一个输出端(数据输出和扫描输出)。

工作模式:功能模式和扫描模式。在功能模式下,扫描触发器像普通触发器一样工作;在扫描模式下,扫描触发器通过扫描链传递测试数据。

扫描链:由多个扫描触发器串联而成的链路,用于在扫描模式下传递测试数据。

Scan Insertion流程:

扫描配置(Configure scan settings):描述扫描链规划的初始设置,确定扫描设计的总体结构,包括扫描链数量、扫描单元类型、扫描单元在扫描链内的布置方式等。

扫描替换(Scan Replacement):将可测试设计中的原始存储单元替换为扫描单元。

扫描连接(Scan Stitching):将所有扫描单元连接在一起以形成扫描链,包括将每个扫描单元的扫描输出(SO)连接到下一个扫描单元的扫描输入(SI),以及将每个扫描链的首尾连接到适当的扫描链输入/输出端口。

扫描重新排序(Scan Reordering):基于物理扫描单元位置对扫描链中的扫描单元重新排序,以最小化扫描链的连线数量。

三、实施Scan Insertion的关键步骤与注意事项

选择合适的扫描单元:

根据芯片的设计规范和测试需求,选择合适的扫描单元类型。

考虑扫描单元的功耗、面积、性能等因素。

优化扫描链配置:

根据芯片的规模和复杂度,合理配置扫描链的数量和长度。

避免扫描链过长或过短,以平衡测试效率和资源消耗。

处理特殊逻辑:

对于多时钟域、异步逻辑、复位逻辑等特殊逻辑,需要特别处理以确保扫描链的正确性和完整性。

可能需要添加额外的扫描单元或逻辑来支持这些特殊逻辑的测试。

验证与调试:

在完成Scan Insertion后,进行仿真和验证以确保扫描链的正确性和功能性。

调试任何可能的问题,如扫描链断裂、测试数据丢失等。

考虑测试策略与故障模型:

根据芯片的故障模型和测试需求,选择合适的测试策略和方法。

利用ATPG工具生成高效的测试向量,并根据测试结果进行优化。

文档与记录:

记录Scan Insertion的详细过程和参数配置。

提供清晰的文档和说明,以便后续测试和验证人员理解和使用。

四、持续优化与改进

收集反馈与数据:

从测试过程中收集关于扫描链性能和测试覆盖率的反馈数据。

分析这些数据以识别任何潜在的问题或改进点。

优化扫描链设计:

根据反馈数据,调整扫描链的配置和参数以优化测试效率和覆盖率。

考虑使用更先进的扫描链设计技术或算法来提高测试性能。

更新测试策略与工具:

随着芯片设计的更新和测试需求的变化,不断更新测试策略和工具。

引入新的测试技术和方法来提高测试效率和准确性。

综上所述,做好scan insertion需要深入理解其基本原理和流程,掌握关键步骤和注意事项,并持续优化与改进以适应不断变化的设计需求和测试挑战。

相关推荐
M-x_y14 天前
排序算法--C语言
c语言·算法·排序算法·设计语言
纳贤猫NXM.COM2 个月前
华为市场ASO详解
网络安全·平面·华为·sqlite·pdf·设计语言·c1认证
思尔芯S2C3 个月前
基于组网分割的超大规模设计 FPGA 原型验证解决方案
fpga开发·设计语言·soc设计·原型验证·组网拓扑·rtl分割·rtl设计
skywalk81633 个月前
FPGA硬件设计语言:VHDL和System Verilog
fpga开发·芯片·设计语言
DAYEDESIGN4 个月前
设计资讯 | 微型无线双麦克风:时间胶囊风格、功能强大
大数据·python·设计模式·硬件工程·人机交互·交互·设计语言
DAYEDESIGN4 个月前
设计资讯 | 这款受数学方程启发的平板桌:配集成黑胶唱片机和无线充电器
设计模式·区块链·电脑·模块测试·外观模式·材料工程·设计语言
小湘西7 个月前
UML一类图关系 (泛化、实现、依赖、关联、聚合、组合)
设计模式·uml·设计规范·设计语言
幼儿园老大*7 个月前
CSS:盒子模型
前端·css·html5·设计语言
iuww13141 年前
【CSS422】Programming Language Design
学习·设计语言