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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 10256|回复: 13

[讨论] 两个时钟域DFT应该怎么插入?

[复制链接]
发表于 2011-7-12 15:05:55 | 显示全部楼层 |阅读模式

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

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

x
如果设计有两个时钟,一个是内部的PLL产生,一个是可控外部时钟。
在做DFT插入时,是用一个TM信号MUX 外部时钟和PLL,或是分开两条扫描链比较好,一个时钟域一条?
发表于 2011-7-12 21:41:43 | 显示全部楼层
推荐一个时钟域一条。但是可以用同一个时钟。就是说,你外部输入一个时钟,用这个时钟做可控时钟的扫描链时钟,然后再把这个PLL的时钟MUX到这个时钟,作为另外一条扫描连的时钟。
你只做一条扫描连的话你的2个时终域需要balance的。这个浪费buffer,不balance为了修hold你还是要加一些buffer,只是加的buffer少得多而已。看你了。2条处理起来无论dc,PR都会轻松很多,qor也会提高很多的。
 楼主| 发表于 2011-7-13 09:33:07 | 显示全部楼层
回复 2# night_cool


    谢谢!我也是想分开两条链会好很多而且fix hold time vio也容易得多!可惜允许使用的IO有限
发表于 2011-7-13 10:55:56 | 显示全部楼层
谢谢解答 同问
发表于 2011-7-13 14:42:54 | 显示全部楼层
插在一条链上应该是没有问题的,但是时钟必须分开否则不好修capture的timing(如果用同一个时钟,原来两个时钟域之间的异步路径全部变成同步了)。对于shift下面的hold可以在不同时钟域之间加一个latch解决,这个在DC里面有一个配置可以实现。

另外一个疑问,这种结构的电路如何做transition测试呢?感觉stuck-at测试是没问题的,transition好像不太好实现啊。
发表于 2011-7-14 18:58:02 | 显示全部楼层




    肯定是一条链了。设计成本中,不光包括芯片面积,测试成本也很重要。两条链的肯定会增加测试时间的。


当用外部时钟代替pll的时候。(dft下),我们来具体分析一下:
  stuck-at下:
      所有的时钟都会在慢速时钟下,所以不存在该问题。
   transition下:
      在fun下的异步时钟到了dft下变成同步了。 我们可以把这两个domain之间的路径设掉。毕竟transition需要的覆盖率比较低,如果不设掉的话,可以看看那些fun下的异步路径是否好修,反正都是些buffer,不会很影响到fun下的路径的。
发表于 2011-7-15 16:55:11 | 显示全部楼层
回复 6# ttder
两个疑问请教一下楼上这位兄弟:

1、为什么两条链测试时间比一条链长呢?如果用两条链,链长减半,shift时间减半,感觉测试时间应该会减少。
2、这种PLL输出直接加mux bypass到dft时钟的结构如何进行transition测试呢?shift和capture时钟分别用哪个,如何切换?
发表于 2011-7-16 21:31:46 | 显示全部楼层
本帖最后由 ttder 于 2011-7-16 21:33 编辑


回复  ttder
两个疑问请教一下楼上这位兄弟:

1、为什么两条链测试时间比一条链长呢?如果用两条链,链 ...
bingling512 发表于 2011-7-15 16:55




    你这两个时钟,不出意外的话,应该用的都是一个全局reset信号吧? 你现在把它们分为两条链,也就是在测试的时候,他们分别对应不同的test proc。
    在整个测试过程中,最长的时间不是shift capture的,而是pll起来以后,再起reset过程的。因为Pll是模拟信号,所以我们最好要等比较长一点时间,让它能稳定下来,这个单位是以毫秒计的,而我们shift, capture才多少时间。都是以为纳秒计的。写两个test proc,那么他就要有两次起pll的过程。你看看你产生pattten的脚本就知道了。所以我说是测试成本增加了。 这是第一。第二,链长越短,确实shift时间减少了,但是整个patten的覆盖率也降低了,同时,patten的数量也也会多了,所以整体时间未必会短。
    第二个问题: 一个是外部灌的时钟,一个是Pll产生的时钟。但是我们在shift过程中,肯定是直接用test clock来灌的。 现在问题来了,在capture过程中,我们如何能够选transition下的capture时钟呢,可以用一个介于灌的时钟和pll产生的时钟之间的一个频率的时钟来做这件事情。这个时钟可以外灌 也可以用occ电路选一个,好比外灌的是50mhz, pll的是100mhz,那就选一个75mhz的时钟。或者85的。或者更极端一点,选一个100mhz的时钟做capture,这样无非是某一个频率会高,另外一个会低。但只要相差不大就好,可以在刚开始design 规划的时候就考虑好这个问题。
发表于 2011-7-18 11:42:29 | 显示全部楼层
回复 8# ttder


    我们atpg工具用的是TK,不知楼上这位兄弟用的是什么工具,感觉兄弟说的很多特性跟我的感觉不一样,不知道是不是工具不同的原因?

atpg我们主要分stack-at和transition,如果内部高频时钟都插了OCC的话,那么不管是stuck-at还是transition用一个testproc就可以了。

1、对于stuck-at,我们完全不会用到,也就不需要等待pll稳定了。另外,根据我的经验,当覆盖率到99%的时候,500链长和300链长其实总的向量条数相差是不大的,肯定不会超过20%(这其中包括 链长变小后压缩比增大的影响)。所以对于stuck-at 链短一些测试时间应该要短一些。

2、对于transition,等待pll稳定的配置放入这个testproc的setup配置一次就OK了。对于相同覆盖率,500链长和300链长总的向量条数也相差不大。所以对于transition链短一些测试时间应该也要短一些。

我之前问PLL输出直接加mux怎么测transition,其实是对于如果PLL输出频率很高比如1GHz,而且是没有加OCC的情况。加了OCC肯定不会有什么问题,如果没加OCC,应该就需要考虑端口灌时钟,但是频率太高端口肯定灌不了1G的时钟,所以我认为在这种不加OCC的情况下应该是测不了transition的,不知道是否还有其它方法来实现?
发表于 2011-7-23 16:27:02 | 显示全部楼层


回复  ttder


    我们atpg工具用的是TK,不知楼上这位兄弟用的是什么工具,感觉兄弟说的很多特性跟我 ...
bingling512 发表于 2011-7-18 11:42




    我说的也是tk啊,你看看你的test proc文件,在shift这个动作的时候,是不是先要reset一下。然后等待一段时间,然后再灌数据。
   同样,capture也是一样的。也是reset一下,然后等待一段时间,灌数据。可能我之前表达的不是很清楚,test proc文件是一个,但是针对不同的动作,会有相应的proc里面的函数相对应。
   我说的等待pll的动作,是说,真正在测试机台上的时候,我们每个动作,好比shift动作。capture动作,都是要做一个这样的过程。等待pll起振,发reset,开始灌数据。每个对应的proc文件中的一个函数,好比shift,capture这个函数,都对应了一个这样的动作。(这个是我们公司测试的designer告诉我们的,不知道是否描述正确)。所以我是不建议多一个dft的domain来做这个的。因为很有可能就会多一个函数,并且为此函数产生pattern.
    你说的你们覆盖率能达到99%,所以你们的300条链和500的pattern数量相差不远。我不知道你这时候说的是不是stuck-at的覆盖率。这个我没有研究过,所以不好发表评论,你说的可能是正确的。

    你说的最后一个,就是不用occ如何测transition,我们之前的办法是这样的:

     ———————————————————|-|-------------------------------------
     -----------------------------------------------|-|----------------------------

上面两个信号:都是从同一个Pad上灌入的,好比占空比是1:99, 99:1,频率很低,好比1兆。但是我连续打入的这两个上升沿,可以当做capture的时钟。光看着两个沿的话,可以当做一个高频的时钟。我们以前的design里面没有occ的电路,transition的时钟就是用这种办法灌进去的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-5 03:11 , Processed in 0.021411 second(s), 6 queries , Gzip On, Redis On.

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