Tessent ATPG实战:Sequential Pattern生成全流程解析(附常见问题排查)

低功耗蓝牙项目,需要一块懂省电的板

思澈 SF32LB52 芯片,BLE 协议栈深度优化,上手即开发

Tessent ATPG实战:Sequential Pattern生成全流程解析与深度调试指南

对于从事复杂芯片设计的DFT工程师而言,如何有效捕捉那些隐藏在时序逻辑深处的缺陷,一直是一项兼具挑战与艺术性的工作。当扫描链无法触及电路中的每一个角落时,Sequential Pattern便成为了我们手中不可或缺的“探照灯”。它不再局限于简单的组合逻辑测试,而是深入到时钟驱动的状态迁移中,去激活和观测那些非扫描单元(Non-Scan Cell)的故障。这篇文章将从一个实践者的视角,为你彻底拆解在Tessent工具中生成Sequential Pattern的完整流程,并分享一系列在真实项目中验证有效的调试技巧与深度原理分析。无论你是正在处理包含嵌入式存储器、复杂时钟域交互的SoC设计,还是希望提升对ATPG工具底层逻辑的理解,这里的内容都将为你提供清晰的操作路径和扎实的理论支撑。

1. Sequential Pattern核心概念与生成逻辑重塑

在深入命令行操作之前,我们必须重新建立对Sequential Pattern的认知框架。它与Basic Scan Pattern的本质区别,在于其测试过程模拟了电路在功能模式下的时序行为。Basic Pattern在一个单一的捕获周期(Capture Cycle)内完成激励加载、响应捕获和移出比较,其前提是所有观测点都位于扫描链或原始输出(PO)上。然而,当故障效应需要经过一个或多个非扫描单元(即无法直接通过扫描链加载或卸载的时序单元)传播时,Basic Pattern便无能为力了。

Sequential Pattern的核心使命,正是通过插入一个或多个时序周期(Sequential Cycle),在捕获周期之前,预先将非扫描单元驱动到一个确定的、非X(未知)的状态。你可以将其理解为一个“预热”或“状态准备”阶段。在这个阶段,工具会像功能仿真一样,在扫描链加载完成后,施加多个时钟脉冲(数量由时序深度决定),并允许Primary Inputs(PIs)的变化按功能逻辑传播,从而逐步消除非扫描单元中的X态,为后续捕获可观测的故障效应创造条件。

注意:这里提到的“时序深度”(Sequential Depth)是指从故障点到最近的可观测点(扫描单元或PO)之间需要穿越的非扫描单元的数量。工具会自动分析电路结构,识别这些深度单元。

为了更直观地理解其工作流程,我们将其与Basic Scan Pattern进行对比:

操作阶段 Basic Scan Pattern Sequential Pattern
初始化 (Load) 将激励值移入(Shift In)所有扫描链。 同左。
时序阶段 无。 循环执行 N 次 (N=时序深度-1):
1. 在PI上施加力值(Force PI)。
2. 施加一个时序时钟脉冲(Pulse Sequential Clock)。
捕获阶段 (Capture) 1. 在PI上施加力值。
2. 测量PO值。
3. 施加捕获时钟脉冲,将逻辑值捕获到扫描链中。
1. 在PI上施加力值(此次值用于最终捕获)。
2. 测量PO值。
3. 施加捕获时钟脉冲。

低功耗蓝牙项目,需要一块懂省电的板

思澈 SF32LB52 芯片,BLE 协议栈深度优化,上手即开发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值