微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > 微电子学习交流 > DFT菜鸟请教

DFT菜鸟请教

时间:12-12 整理:3721RD 点击:
刚接触DFT,有很多问题,向板上大牛们请教,使用mentor的工具进行扫描连插入,是多时
钟电路,因此会插一个锁存器,现在问题由于锁存器插入,那么现在电路在扫描时应该具
有时序特征了吧,那么是不是在使用fastscan生成test pattern时不能用默认的basic
pattern,而应该使用sequential pattern呢,我个人理解是。不知道理解对不对,请问大
牛,非常感谢。
另外是对整个电路进行DFT,那么就应该先生成BIST电路,重新综合后再进行scan chain
inserion吗?我理解是需要这样,要不BIST电路无法被覆盖。
初接触DFT,问题比较初级,请板上大人不吝赐教,非常感谢

第一个问题,重在理解清楚几个概念。工具为什么会插入锁存器,锁存器前后的触发器的多时钟是指的shift clock还是capture clock,插入锁存器究竟起到了什么作用,这些问题你自己仔细想明白之后,问题就解决了。后面讲的basic pattern还是sequential pattern,你也要认真理解他们的具体含义,这个和插入的lockup latch是没关系的。
第二个问题,你的基本思路是对的,scan会cover到mbist所引入的寄存器。不过一般的flow是可以在rtl就完成mbist电路插入的,所以后面经过一次综合/扫描综合就搞定了。

插入锁存器是因为由于不同时钟综合成时钟树,具有不同的延时,但是测试时时钟来自
外部,所以在shift的时候可能产生建立时间,保持时间的violation。那锁存器前后应
该指的是shift clock,那么锁存器的作用也只是对shift的数据进行锁存防止违例,对
于ATPG的生成没有影响,除去scan cell后电路应该还是组合电路,所以要用basic
pattern,不知道我这样理解对吗?请ls前辈指点
另外对于这样多时钟的电路,我的理解所有的扫描链是应该由一个测试时钟控制,但是
我看mentor的command里只有add clocks这个命令,并没有specify哪个是测试时钟,只
有个能设定capture clock的命令,很多成形脚本里也没有特地指出测试时钟的命令。
如果所有扫描链都由一个测试时钟控制,是不是可以采用我的设计里的clock里最慢的
那个clock呢?或者需要单独产生一个测试时钟?
刚接触DFT,问题有点多,麻烦ls前辈多多指点,非常感谢

如果是单一的shift clock,工具是不会插入lockup latch的,所以lockup latch的前后一定是不同的shift clock,为了防止shift的时候1T穿过多个scan cell,于是中间用相反时钟沿触发的latch锁一下。而sequential atpg是当你的design中有non-scan dff的时候,工具可以进行多T的pattern推导,从而提高故障覆盖率的一种方法。如果你的design是full scan的结构,那么只用basic scan就够了。
我对mentor的工具不熟悉,一般来讲脚本中是可以声明scan clock的,并且需要指明这个clock对应的port和hookup pin。而scan clock与function clock之间是通过mux来切换,由test mode和scan enable等信号进行控制。这些逻辑在你声明相应的信号之后,工具自动生成的。你需要仔细的读一下相关的user guide,再结合例子看一看。

多谢!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top