Scan Testing和Stuck -at fault

目的

1.如何用D-算法去产生pattern文件去检测一个组合电路里面的struck-at fault?
2.对一个full scan sequential design用D算法产生pattern
3.解释scan-chains扫描l链在ATPG里面是必要的?

物理缺陷Physical defect

1.开路短路,常高常低,真实存在的缺陷
2.利用fault model 建模,一个逻辑model代表一个真正的物理缺陷

(1)Stuck -at fault model有两种:

目前比较多的都是Single struck -at fault assumption(SSAF)单点的
SA1 Fault :输入一个逻辑门的引脚PIN 0无论他输入怎么变,他一直是1
SA0 Fault:输出逻辑门的引脚出轮他怎么变,他一直是0
请添加图片描述

(2)D算法4个步骤

1.指定一个点是SA1还是SA0
2.需要驱动这个点到一个相反的值,反推他的输入是什么,有点像数独
3.设计一个合适的输入,把结果传到输出那里
4.记录pattern ,也就是STIL文件里面,用Vector{ALL= 1000 1;}这样的格式记录
注意: 0 / 1,前面那个代表的是期望值,后面1是假设他是SA1。

(3)组合逻辑SA1的练习

请添加图片描述
答:ABC是1,D是N代表的0或者1都可以,E是0,输出F1是X代表这个端口没用,F2是0代表这个端口输出。

(4)带有寄存器的怎么办?

请添加图片描述
答:寄存器加一个MUX,多路选择器,当SE拉高的时候,由SI->D,SE拉低的时候D->D。

(5)时序逻辑SA0练习

请添加图片描述
答:想要测组合逻辑电路中的SA0,必须控制前面的寄存器,这时候需要换前面的寄存器为(4)所示,然后把每个寄存器串成一条扫描链,当SE拉高的时候,控制输入SI,一共给7个clock,然后把SE拉低,这时候给一个clock,目标寄存器就会直接打出一拍,后面的是组合逻辑,所以可以直接从SO看到结果,接下来每打一拍都是把之前输入值往前推。

(6)逻辑云的SA1的练习

请添加图片描述
答:要求PI1给1,SI需要给的数值寄存器有,所以先把SE拉高,给寄存器输入,在SE拉低的时候,直接给PI1输入,这时候就可以看输出PO了。

(7)Test patterns overlap的概率

答:比如一条pattern里面有两条scan chain ,在前一条发完后unload,后一条基会在开始的位置立刻load

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值