首先介绍scan测试的基本原理。scan测试中两个最基本概念:
可控性(control)可观测性(observe)scan设计的两个基本流程:
把普通寄存器替换成可扫描的寄存器把可扫描的寄存器连成扫描链如下图所示:左边是普通寄存器,右边是可扫描寄存器,d端前面加一个二选一的mux,选择端是scan_enable,为1时选择si端,为0时选择d端。
如下图所示:把所有可扫描寄存器首尾连接在一起,就构成了扫描链。注意,增加了三个端口,分别是si(scan out),so(scan out)和se(scan enable)。
综上所述:scan就是把普通寄存器替换成可扫描的寄存器,目的是创建control和observation点,然后把所有的可扫描寄存器连接在一起串成扫描链(scan chain),利用扫描链,工具自动产生测试patterns,让寄存器处于一个特定的值(control),然后将期望的值移出来进行对比(observe),来判断芯片是否有缺陷。
接下来介绍scan测试的基本过程。scan测试可以大概分为如下四个步骤:
test setup 初始化过程,让芯片进入scan test模式,可以由端口控制,也可以由内部寄存器控制。shift---load/unload 串行shift in确定值到scan chain的寄存器上,然后把测试结果shift out进行对比。capture scan_enable拉低,从输入端口force确定值,从输出端口measure输出值,然后puluse capture clock。repeat load/unload---shift/capture until test is done 重复shift和capture过程,直到测试结束。scan测试具体分析包含如下5个events:
load scan chain(many cycles)force primary inputs(pi)measure primary outputs(po)pulse capture clockunload values from scan cells如下图所示:步骤2,3,4就是capture过程。
最后再介绍scan测试的具体细节。主要具体介绍如下四个步骤:
loadforce pimeasure populuse capture clockload过程分为如下4步:
force se to 1(scan enable)force si(scan chain input pin)pulse shift clockrepeat steps 2 and 3 until all scan cells are loaded如下图所示:se拉高后,经过三次shift过程,三个扫描寄存器分别处于确定值011(从左到右)状态
然后se拉低,电路处于function模式,从pi端口a和b force两个确定值11,同时三个寄存器的输出端的值011传递到组合逻辑输入端,经过一段时间从po端口measure确定值1。
最后新的一组patterns(101),串行shift in,同时内部电路的确定值(111),串行shift out进行对比。
以上即为scan测试的基本原理和过程。
GitHub Universe 2023:副驾之力,跃上 AI 驱动的开发者平台
单片机控制电缆故障测试仪原理
雷达抗干扰技术的特点及未来发展方向的详细分析
漏电保护器不跳闸原因
海微科技入围国家级“小巨人”企业名单
scan测试的基本原理 scan测试的基本过程
什么是相位编码雷达?
跑步耳机哪个牌子好,骨传导耳机好还是入耳式耳机好
EMC的PCB设计解析
基于电池集成设计方案的嵌入式传感器分析
破解华为高质量Wi-Fi背后的黑科技
飞腾受邀参加中央企业数字化转型峰会,赋能数字中国建设
Acrel-2000系列监控系统在亚运手球比赛馆建设10kV供配电工程中的应用
实现自动存储碎片收集系统的设计与实现方案
三相四线电表怎么选择
8吋晶圆代工产能紧张 多家IC厂商涨价
真的有全栈开发工程师吗
奔驰48V电池拆解
Arduino常用的三种通信协议 1
高通CEO谈5G愿景,列举实现5G所需的要素