news 2026/4/28 15:48:26

新手DFT入门:用5个实际例子看懂WGL文件里的Signal、Scanchain和Pattern Block

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
新手DFT入门:用5个实际例子看懂WGL文件里的Signal、Scanchain和Pattern Block

新手DFT入门:用5个实际例子看懂WGL文件里的Signal、Scanchain和Pattern Block

第一次打开WGL文件时,那些密密麻麻的Signal定义和Scanchain配置是否让你一头雾水?作为芯片测试领域的"乐谱",WGL文件用特定语法描述了测试仪该如何与芯片"对话"。本文将用五个真实案例,带你拆解这份"乐谱"的核心章节。

1. Signal定义:芯片测试的"演员表"

想象你正在编排一场舞台剧,首先需要确定有哪些演员参与演出。在WGL文件中,Signal块就是这个"演员表",它定义了测试过程中需要用到的所有芯片引脚及其初始状态。来看一个典型的Signal定义片段:

Signal { clk : inout; scan_en : input initial=0; data[7:0] : inout initial=1; reset_n : input initial=1; }

这段代码透露了几个关键信息:

  • 端口方向input表示测试仪驱动信号,output表示监测芯片输出,inout则是双向信号
  • 初始状态initial指定上电时的默认电平(未指定时默认为0)
  • 总线表示法:如data[7:0]表示8位数据总线

实际项目中,Signal定义可能包含数百个信号。建议用表格整理关键信号:

信号名称类型初始值说明
clkinout-系统时钟
scan_eninput0扫描使能,低电平有效
data[7]inout1数据总线最高位

注意:初始状态的设置会影响测试序列的生成,特别是对复位信号这类关键控制线需要格外小心。

2. Scanchain配置:芯片内部的"流水线"

现代芯片通常包含数十万甚至上百万个触发器,要逐个测试它们就像检查流水线上的每个产品。Scanchain将这些触发器串联成"流水线",使测试仪能通过少量引脚访问所有内部状态。下面是一个简化的Scanchain定义:

Scanchain grp1chain1 { SI -> cell1 -> cell2 -> ... -> cellN -> SO; Scanstate { Input = 'b0101...'; // 待载入的测试数据 Output = 'bxxxx...'; // 预期输出的掩码 } }

理解这段代码需要掌握三个概念:

  1. 物理连接SI -> cell -> SO描述了扫描链的硬件连接顺序
  2. 逻辑分组grp1chain1这样的命名通常反映芯片的层次结构
  3. 状态定义Scanstate块指定了测试时的输入输出预期

当扫描链很长时,可以用Python脚本快速计算关键参数:

chain_length = len(scan_chain_cells) shift_cycles = chain_length # 装载完整数据需要的时钟周期数 print(f"扫描链长度:{chain_length},需要{shift_cycles}个移位周期")

3. Timeplate:测试仪的动作时序图

如果把测试比作舞蹈,那么Timeplate就是规定每个动作节奏的编舞表。它定义了信号变化的精确时间点:

Timeplate gen_tp1 { Period = 40ns; Events { 0ns : D; // 驱动固定值 20ns : S; // 采样信号值 40ns : D; // 回到驱动状态 } }

这个Timeplate解读为:

  • 测试周期为40纳秒
  • 在0ns时刻,测试仪驱动(D)信号到指定电平
  • 20ns时,测试仪采样(S)芯片输出
  • 40ns时周期结束,开始下一个循环

常见的时间参数组合

应用场景周期驱动时刻采样时刻
低速功能测试100ns0ns50ns
高速扫描测试20ns0ns10ns
异步接口测试不定上升沿下降沿

4. Pattern Block:测试用例的"剧本"

Pattern Block是WGL文件中最具实操性的部分,它像剧本一样详细描述了每个测试步骤。典型的模式包括:

Pattern example { // 初始化阶段 Vector (0) { scan_en=1; clk=0; } // 进入扫描模式 Vector (+, gen_tp1) { ... } // 应用timeplate // 装载测试数据 Repeat (chain_length) { Vector (+, gen_tp1) { ... } // 每个周期移入1位 } // 捕获响应 Vector (0) { scan_en=0; } // 退出扫描模式 Vector (+, gen_tp1) { ... } // 功能时钟脉冲 }

关键操作符解析:

  • Vector (0):绝对向量编号
  • Vector (+, tp):相对上一个向量自增编号,应用指定timeplate
  • Repeat (N):循环执行N次

实际项目中,Pattern可能包含数千个向量。调试时可以关注这些关键点:

  1. 扫描使能(scan_en)的切换时机
  2. 时钟信号的边沿与扫描移位的同步关系
  3. 输入输出向量的对应关系

5. WGL与STIL的差异:测试语言的"方言"比较

虽然WGL和STIL都是描述测试模式的语言,但它们在扫描链处理上有本质区别:

WGL工作流程

  1. 定义目标Scanstate
  2. 工具自动计算需要的移位序列
  3. 通过多个循环达到目标状态

STIL工作流程

  1. 直接指定每个扫描单元的输入值
  2. 单次移位即可载入完整状态
  3. 更接近ATE机器的原生操作

选择建议

  • 芯片设计阶段常用WGL,因其更抽象且与设计工具集成更好
  • 量产测试时倾向STIL,因其执行效率更高且直接对应ATE操作

理解这些差异有助于在不同阶段选择合适的工具链。比如在原型验证时,可以先用WGL快速生成测试模式,量产前再转换为STIL优化测试时间。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/28 15:45:34

ChanlunX缠论算法引擎:如何通过数学建模实现市场结构可视化?

ChanlunX缠论算法引擎:如何通过数学建模实现市场结构可视化? 【免费下载链接】ChanlunX 缠中说禅炒股缠论可视化插件 项目地址: https://gitcode.com/gh_mirrors/ch/ChanlunX 想要将复杂的缠论理论转化为可执行的交易信号吗?ChanlunX缠…

作者头像 李华
网站建设 2026/4/28 15:41:22

DJI DroneID信号解析实战指南:无线安全分析与SDR技术深度应用

DJI DroneID信号解析实战指南:无线安全分析与SDR技术深度应用 【免费下载链接】dji_droneid 项目地址: https://gitcode.com/gh_mirrors/dj/dji_droneid 在当今无人机技术快速发展的时代,无人机信号分析已成为无线安全研究的关键领域。大疆DJI D…

作者头像 李华
网站建设 2026/4/28 15:41:21

如何通过OpCore-Simplify实现黑苹果EFI配置的智能自动化革命

如何通过OpCore-Simplify实现黑苹果EFI配置的智能自动化革命 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify OpCore-Simplify是一款革命性的黑苹果EFI…

作者头像 李华
网站建设 2026/4/28 15:40:25

GraphViz DOT语法进阶:从基础语法到绘制UML类图和时序图实战

GraphViz DOT语法进阶:从基础语法到绘制UML类图和时序图实战 在软件工程领域,可视化工具的重要性不言而喻。GraphViz作为一款开源的图形可视化工具,凭借其简洁的DOT语法和强大的布局能力,成为开发者绘制各类技术图表的首选。不同于…

作者头像 李华
网站建设 2026/4/28 15:38:21

2026太阳能路灯源头厂家直供,价格低质量稳,安装更省心

在乡村道路、园区景区及市政照明项目中,太阳能路灯的采购决策往往面临价格、质量与后期维护的多重考量。近年来,越来越多的工程商与终端用户倾向于选择“源头厂家直供”模式,这一趋势背后,是对中间环节成本削减与品质可追溯性的理…

作者头像 李华
网站建设 2026/4/28 15:35:23

Kandinsky-5.0-I2V-Lite-5s图生视频:5分钟快速上手,让图片动起来

Kandinsky-5.0-I2V-Lite-5s图生视频:5分钟快速上手,让图片动起来 1. 什么是Kandinsky-5.0-I2V-Lite-5s Kandinsky-5.0-I2V-Lite-5s是一款轻量级的图生视频模型,它能让你上传一张静态图片,然后根据你的文字描述,自动生…

作者头像 李华