当前位置: 首页 > news >正文

Tessent Scan 入门完全指南

从 Scan Chain 结构到 ATPG 流程,DFT工程师必备技能图解

#DFT #Tessent #扫描链 #ATPG #时钟控制

一、Scan Chain 扫描链基础

核心思想:测试模式下,所有触发器(FF)串联成一条"链",通过串行移位注入测试向量、读出响应,从而检测内部故障。正常模式下 FF 捕获功能数据;scan_en=1 时切换到 SI(扫描输入)。

1.1 Scan Cell(MUX-D 结构)原理

每个 Scan Cell 由一个 D 触发器和一个 MUX 组成:

scan_en = 0 → MUX 选择 D(功能数据输入)

scan_en = 1 → MUX 选择 SI(扫描链前级输出)

时钟上升沿 → D-FF 锁存当前 MUX 输出

Q 同时作为功能输出 & SO(扫描链后级输入)

1.2 report_scan_cells 输出解读

在 Tessent Shell 中执行 report_scan_cells,主要关注以下字段:

chain

type

gate

shift_clk

cell_name

chain1

FF-LE (前沿)

70

/clk

/top/u30/u13

chain1

FF-LE (前沿)

6

/clk

/top/u30/u12

chain1

FF-LE (前沿)

9

/clk

/top/u30/u11

�� gate 字段代表等效门数;inv 字段指示 shift_clk 是否取反(T=取反/F=不取反)。同链内所有 FF 的 shift_clk 极性须一致,否则 Tessent 会自动插入 LockUp Latch。

二、LockUp Latch — 跨时钟域的"安全阀"

当 Scan Chain 跨越两个不同时钟域(如 CLK_A 上升沿 → CLK_B 下降沿)时,相邻 FF 之间可能出现建立/保持时间违例,导致 Scan 数据错误传播。LockUp Latch(高电平透明,低电平锁存)插入两段链之间,保证数据在 Capture 时钟到来前已稳定。

2.1 三种 Scan Cell 类型

类型

结构特点

典型场景

MASTER

主 FF,连接功能逻辑

普通 D-FF

SHADOW

影子 FF,存储前一个值

需要并行测试时

COPY

复制 FF,与主 FF 数据同步

时序敏感路径

�� 工程实践:LockUp Latch 对功能路径无影响(功能模式不在扫描链中),增加芯片面积功耗开销,是 DFT 工具自动插入的标准操作。

三、故障模型(Fault Model)深度对比

Tessent 支持两种主要故障模型,覆盖不同类型的制造缺陷:

故障模型

触发条件

检测缺陷类型

时钟需求

向量数量

Stuck-At(SA)

节点永久固定为 0/1

桥接、开路等制造缺陷

1个时钟捕获

Transition(TF)

节点跳变速度过慢

延迟缺陷、时序违例

2个时钟(Launch+Capture)

3.1 Launch-on-Shift(LoS)时序

最后一次 Scan Shift 时钟沿同时作为 Launch 沿,下一个 Capture 时钟沿捕获测试响应:

① Shift Phase:N 个时钟循环,移入测试向量

② Last Shift(= Launch):最后一次 Shift,同时触发被测路径跳变

③ Capture:1 个时钟后捕获路径延迟响应

特点:向量效率高,但 Launch→Capture 间隔仅 1 个时钟周期,时序最严

3.2 Launch-on-Capture(LoC)时序

Shift 结束后,第1个 Capture 时钟沿触发 Launch,第2个沿 Capture:

① Shift Phase:移入测试向量(N 个时钟)

② 1st Capture Clock → Launch:激励被测路径

③ 2nd Capture Clock → Capture:读出延迟响应

特点:Launch→Capture 有完整一个时钟周期,时序较宽松,但需额外一个 Capture 时钟

�� 实际工程中常见的 Dead Clock 问题:在某些时钟门控配置下,Launch 沿时钟被屏蔽,导致 TF 测试向量失效。需要在 OCC 配置中确保 Launch/Capture 时钟正确打开。

四、ATPG 测试向量生成流程

Tessent 推荐的双故障模型(Transition + Stuck-At)覆盖率优化流程:

Step 1:读入网表 & 初始化

read_cell_library <lib.tcelllib>

read_design <netlist.vg>

set_current_design <top>

set_system_mode analysis

Step 2:设置 DFT 信号 & 分析扫描链

add_dft_signals

report_scan_chains

report_scan_cells

Step 3:生成 Critical Path Patterns(同时覆盖 TF & SA)

create_patterns -pattern_type transition \

-critical_path_file <path_list.txt>

report_statistics # 查看当前覆盖率

Step 4:补充生成 Transition Fault 向量

set_fault_type transition

create_patterns -pattern_type transition

Step 5:补充生成 Stuck-At 向量(确保 SA 覆盖率)

set_fault_type stuck

create_patterns -pattern_type stuck

report_statistics # 目标通常 ≥ 99%

Step 6:写出测试向量文件

write_patterns -format stil -mode internal out.stil

write_testbench -top tb_top

�� Critical Path Patterns 优先生成的原因:关键路径向量能同时覆盖路径上的 TF 和 SA 故障,效率最高。先生成它,再分别补充剩余 TF/SA 故障的专项向量,避免重复。

五、On-Chip Clock Controller(OCC)

芯片内部的 PLL 无法在测试时被直接控制,OCC 负责:①在 Scan Shift 期间切换为低速 Ref/Slow 时钟;②在 Launch/Capture 时切换回高速 PLL 时钟(At-Speed 测试);③精确控制每阶段的时钟脉冲数量(Per-Cycle Clock Control)。

5.1 时钟架构三层次

时钟来源

频率

使用阶段

作用

Reference Clock

低速稳定

Scan Shift

数据移位,不要求速度

Slow Clock

可配置

Scan Shift

可灵活配置的慢速时钟

PLL Fast Clock

芯片工作频率

Launch / Capture

At-Speed 速度测试关键

5.2 Clock Chopping 机制

Clock Chopping(时钟斩波)在 Scan Shift 期间只输出固定数量脉冲,精准控制链长,防止多余时钟脉冲干扰测试结果:

Shift 期间:Clock Chopping Control = 01b → Gating 开,输出 N 个 Shift 时钟

Launch 期间:切换 Clock Selection → 接通 PLL Fast Clock

Capture 期间:Per-Cycle Clock Control 精确输出 1~2 个高速时钟

Capture 结束:Clock Gating 关闭,返回低速模式

5.3 PLL Sequence Control

在正式测试开始前,通过 Scan 链加载 PLL 控制寄存器,使 PLL 进入 bypass 模式,直接使用外部测试时钟(ATE 提供),避免等待 PLL lock 时间(通常数百微秒):

① ATE 驱动 Scan 链,将 PLL bypass 配置写入控制寄存器

② 芯片进入 bypass 模式,PLL 输出被外部测试时钟替代

③ 开始正式 Scan 测试(Stuck-At / Transition)

④ 测试结束后恢复 PLL 正常模式

�� 不使用 PLL Sequence Control 的后果:每次测试前都需要等待 PLL 重新 lock(100μs~1ms),乘以成千上万的测试向量,ATE 测试时间会大幅增加,直接拉升量产成本。

六、write_patterns -mode internal 详解

DFT 验证阶段,通常不仿真 PLL 和 Clock Control 逻辑(仿真太慢)。-mode internal 参数使 Tessent 生成"内部 bypass"版本的测试向量,testbench 通过 force 信号直接驱动核心时钟。

# 标准写出命令(仿真验证用)

write_patterns \

-format stil \

-mode internal \ # 关键:bypass PLL & Clock Control

-output test.stil

# -mode internal 的工作原理:

# 1. Bypass PLL 实例(不仿真 PLL 延迟)

# 2. 绕过 Clock Control 逻辑

# 3. Testbench 通过 $force 直接驱动核心时钟

# 4. 大幅缩短功能仿真时间

6.1 三种模式对比

参数

适用场景

PLL 仿真

Clock Ctrl

仿真速度

-mode internal

功能验证、DFT debug

Bypass

Bypass

最快 ✓

-mode external

ATE 向量导出

完整建模

完整建模

-mode binary

压缩格式 ATE

完整建模

完整建模

七、Tessent Shell 常用命令速查

7.1读入 & 初始化

命令

常用参数

说明

read_cell_library

<lib.tcelllib>

读入标准单元库

read_design

<netlist.vg>

读入门级网表

set_current_design

<top_module>

设置当前设计顶层

set_system_mode

analysis

进入分析模式

7.2分析 & 报告

命令

常用参数

说明

report_scan_cells

查看扫描链单元详情

report_scan_chains

查看扫描链统计信息

report_statistics

查看故障覆盖率统计

report_faults

-summary

查看故障类型摘要

7.3向量生成 & 导出

命令

常用参数

说明

set_fault_type

stuck / transition

设置故障类型

create_patterns

-pattern_type stuck

生成测试向量

write_patterns

-format stil -mode internal

写出测试向量

write_testbench

-top tb_top

生成仿真 Testbench

八、核心要点总结(面试必背)

知识点

关键词

一句话说明

�� Scan Chain 本质

scan_en=1 时所有 FF 串联成移位寄存器,串行加载测试向量并读出响应

�� LockUp Latch

解决跨时钟域 Scan Chain 时序竞争问题,高电平透明,低电平锁存

⚡ Stuck-At vs Transition

SA:1个时钟捕获,静态;TF:需 Launch+Capture 2个时钟,检测速度缺陷

�� LoS vs LoC

Launch-on-Shift 向量效率更高;Launch-on-Capture 时序更宽松

�� OCC 作用

Scan Shift 用低速时钟,Launch/Capture 用高速 PLL 时钟,精确 Per-Cycle 控制

�� ATPG 最佳策略

Critical Path Patterns 优先(兼顾 TF+SA),不足时再专项补充

�� -mode internal

仿真验证时 bypass PLL,用 force 直接驱动时钟,速度最快

http://www.jsqmd.com/news/521936/

相关文章:

  • manwa2漫蛙2下载安装图文教程 | 2026漫蛙正版阅读软件详解 - xiema
  • RMBG-1.4抠图效果实测:发丝、宠物毛都能精准分离,太强了
  • 高等数学级数入门:从概念到实战,5个常见级数问题解析
  • Pulover‘s Macro Creator:终极免费自动化工具完整指南 - 3步实现电脑自动化 [特殊字符]
  • MCP协议到底解决了什么?从Spring AI实战看工具调用的标准化代价
  • 探索一维信号的傅里叶变换与滤波算法之旅
  • SHT25温湿度传感器C语言驱动库设计与嵌入式集成
  • 05postman关联-常用的数据提取方式
  • 3月16日笔记
  • 2026全屋定制参考:定制柜子的好口碑推荐,全屋定制供应商润星装饰市场认可度高 - 品牌推荐师
  • # 发散创新:多方计算在Go语言中的实践与性能优化在现代分布式系统中,**多方计算(Multi-Party Comput
  • 随机生成千山万水动画
  • ESP32实战-构建离线精准计时系统:DS1302 RTC与MicroPython深度集成
  • StepperControl:专为28BYJ-48步进电机优化的轻量级Arduino控制库
  • 2026年3月成都火锅推荐,这些宝藏店铺不容错过!,有名的成都火锅源头厂家选哪家赋能企业生产效率提升与成本优化 - 品牌推荐师
  • T5模型微调实战:从零构建中文生成式问答系统
  • 产品经理效率工具:MT5中文表达多样化,快速生成PRD多版本描述
  • 接口高效调用,实现应用内无感促评
  • Docker安装教程(加汉化!超详细!!!)
  • AI赋能安全新生态 黎阳之光锚定国家政策筑造数智防线
  • 深度解析:5大核心技术如何实现智能内容解锁与付费墙绕过
  • 互联网大厂Java面试场景:谢飞机的奇妙面试之旅
  • SEO_快速诊断并修复网站SEO问题的实用方法
  • 2026成都离婚律所哪家好?高性价比离婚律师事务所盘点 - 深度智识库
  • 二维平面点集环绕方向判断
  • 杭州手表维修门店怎么选?从百达翡丽到欧米茄,高端腕表维修的专业标准与北上广深杭宁六城服务网络深度解析 - 时光修表匠
  • GDevelop-低代码做游戏【4小时入门视频教程】
  • CPFEM 高效 VUMAT 晶体塑性显示动力学模拟:二维与三维模型验证
  • 数学建模竞赛避坑指南:从SARS题目看残差分析的5个常见错误
  • 2002 Text 1