在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4603|回复: 10

[求助] scanout怎么判断哪段逻辑出错?

[复制链接]
发表于 2017-9-27 23:49:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
一条scan可能串上几百个DFF,最后出来的只有scanout,怎么从scanout判断是哪个地方出问题的?

1.是不是端口上出来的DFF的scanout和某个输出port做对比,如果不一样就报错,而不同的scan pattern能测试到不同的组合逻辑的错误?
2.那scanout一定是直接从DFF/SO出来的吗?
3.在captute mode之后,要对比数据,这个对比数据的逻辑也是由工具产生,插入内部的吗?
发表于 2017-9-28 10:22:37 | 显示全部楼层
回复 1# dyytx

1,是的,实际测试时就是对primary inputs,包括scan in, scan clock,scan enable, reset, testmode等进行控制, 最简单的比如,经过shift in, capture, shift out,那么shift out就是在输出port做观测,和expcet值对比,判断是否有错。如果有错,可以手工去debug出错的点,也有EDA工具帮助debug,读入netlist, pattern, test result,就可以快速准确定位出错点。
不同的scan pattern能测试到不同的组合逻辑的错误?
是的,所以需要很多pattern,而且对有些故障点测试,需要多pattern,多chain协同去暴露潜在问题。

2,不太理解你的问题,问的是单个scan cell的scan out从哪里来?
可以用带SO的scan cell, 用SO连到下一级的SI; 也可以用不带SO的scan cell,用Q连到下一级的SI, 区别在于对Routing和drc的cap fanout  transition有影响,一般情况下影响不大。
还是问的scan chain的链尾直接连出到top?
可以直接连到top,如果你的IO资源够的话,也可以经过压缩逻辑,经过TAP逻辑。


3,实际测试capture之后要对比数据,只能转到shift模式后全部扫出来观测,一拍一拍地对比。对比的数据的逻辑在哪里?如果是像LBIST一类的,是会有逻辑的,这部分逻辑既负责激励施加也负责响应观测并最终给出测试通过与否的信号。如果只有scan chain存在,那会用ATPG工具对netlist生成向量,向量会load到ATE测试机台,机台负责对芯片施加激励(依据给入的向量),观测响应与expect值(依据给入的向量)对比,分析出错。
这两种方法的利弊和适用条件暂且不表。


Thanks!
 楼主| 发表于 2017-9-28 21:44:11 | 显示全部楼层
回复 2# ustc12

非常感谢!
发表于 2017-12-14 19:22:47 | 显示全部楼层
回复 2# ustc12


   大神,针对第三个问题我想问一下,atpg生成的pattern里包括响应的二进制吗?还是只有激励的二进制部分。
发表于 2017-12-20 11:08:08 | 显示全部楼层
回复 4# 黑崎一护776

pattern有二进制bin格式的,也有stil,wgl这些打开就能看懂的。实际施加到机台的向量是要转换一下的,多种机台需要的向量各异,转换过的向量也是可以看懂的。向量包括激励部分的数据也包括响应部分的数据,打个比方,最简单的向量示意:
           SCLK IN1 IN2 IN3 OUT1 OUT2 OUT3
shift     1      1     1    1     -       -        -
shift     1      0     0    0     Z      X        X
shift       1       0      0     1      L         H         L
shift       1       1      1     0      H         L         H   
capture  0       1      0     0      H         L         H
shift       1       1      1     0      L         L         H
shift       1       0      1     0      L         L         H
shift       1       1      1     0      H         L         H
shift       1       1      0     0      H         H         H

假设此芯片有1个shift clock input,3个input ports,3个output ports,省略一些clock 与mode 的控制,扫描链长为4。
省略setup阶段的向量来看,这是cycle base的向量。1表示clock在pulse,1/0表示激励的施加,L/H/Z/X表示响应的期待值。L/H表示期待值为低电平或高电平,Z为高阻,X为不关心不比较。经过4拍scan in,1拍capture,4拍scan out,就能完成一次基本的扫描测试啦!
发表于 2018-1-3 16:07:51 | 显示全部楼层
回复 5# ustc12

您好,小白想问一下,scan能精确判断哪个逻辑出问题吗?
scan的作用就是知道哪个逻辑有错,然后工作的时候不用这个逻辑吗?
发表于 2018-1-3 16:29:59 | 显示全部楼层
回复 6# haimo


   1,这个要具体分析的,通过对芯片测试时的结果,结合design的各种数据,一般情况下用故障诊断的方法可以分析到具体的故障点,甚至可以用电镜等方式去看芯片里该故障点处的状况。   2,是的,是和功能模式分开的,但是逻辑是有复用的也有专用的,测试是对电路结构负责,验证是对功能负责。测试是筛片与保证芯片质量的重要一环,测试过了功能也是有可能不过的,测试不过了功能也是有可能是过的,当然这很少发生。听起来可能矛盾,但是测试对于良率与芯片质量还是很重要的。测试的目的就是筛片,保证质量,也可以帮助提高良率。
发表于 2018-1-3 16:40:07 | 显示全部楼层
回复 7# ustc12


谢谢您的讲解,其实我一直不理解电路里加scan的作用,难道就是一看patten比对失败,就弃片。
加了那么多scan电路就是为了筛片?

现在看来scan有两个作用,
一就是帮助筛选好片
二就是进一步了解芯片哪部分逻辑有问题,如果功能使用能避免该逻辑,那么这个片子也是好片。
我傻傻举个例子:比如我们最后认为有一组与i2s逻辑相关的寄存器有问题,那么只要芯片不使用i2s的功能,也可以正常使用,是这样吗?
发表于 2018-1-3 17:26:48 | 显示全部楼层
回复 8# haimo

   scan还可以帮助诊断功能的错。是不是觉得没必要浪费这么多资源去做scan,做了看起来无足轻重的事? 以前大工艺节点,小公司有的是选择不做的,现在不行了,一次流片那么贵,拿回来石头一块却无从下手? dft一定要做,就scan这一块来说,一方面增加的硬件代价并不是很大,另一方面确实保证芯片质量也可以帮助找问题想方法提高良率。提高良率也是挣钱啦,不经过dft测,甚至这一批芯片不达到很高的良率,敢把芯片拿出去卖?能保证一周的质量还是一个月?
   对啊,要么扔了要么软件的方式规避。开个玩笑,intel I5有双核和四核两种, 四核全测过就当标配卖,测挂了一两个就当低配卖。
发表于 2018-1-4 09:31:00 | 显示全部楼层
回复 9# ustc12

恩,理解了,谢谢您。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-19 12:21 , Processed in 0.029405 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表