DFT Compiler进行扫描链插入时的一些问题
一般来说在进行insert_dft命令之后,有什么原因会导致一个design还是pre-design,无法生产覆盖率呢?
dft compiler 需要在scan前后各做一个drc的check, 即 pre drc 和 post drc, pre drc 一般只是check一些违反scan design rule的一些vio, 只有scan chain正确插入后, 在post drc report里才能看到coverage
insert_dft没有正确执行,估计返回是个0,检查你的各个信号设置,检查下design
感谢楼上两位的解释,我也觉得是这样的,但是我想知道如果pre-scan DRC check发现有一些违法scan design rule的话,它会在哪里报呢?我在进行dft_drc(pre-scan和post-scan)两个步骤都加了verbose产生了报告。也看了下报告,发现有许多warning,大概是TIM-141,gated clock latch is not created,仔细发现原来例化的那个ICG,原来是不带scan的,不知道是不是这个原因所致。还有我综合的这个设计中有一个Memory(Rom),它的.db是通过Memory Compiler生成的,在生成覆盖率的报告文件中提示Warning:该Rom的输出没有功能定义,我又回到我的.lib中检查,发现该momery的输出确实没有功能描述,最起码的连个three state:"!OEN"也没有(因为我参考另外一个vender提供的Rom的lib发现也没有lib但是有该three_state的定义)。
ICG不带SE pin会影响覆盖率,具体多少看情况了,但不说出现你说的那种情况,可以排除这个。你开gui界面,可以方便看到drc产生的原因;memory需要做bist,scan的时候做shadow logic,否则也会影响覆盖率。哥知道的就这么多了,给点信元吧,呵呵
呵呵,你这么说好像提醒了我。memory需要做bist,我们这个design好像没有bist,这样不知道是否会影响我的这个结果!
呵呵。不知道如果给信元啊!
说了这么多,其实还是没找到问题的原因,因为这些都只会影响覆盖率。你的问题是出现在流程方面,仔细理解每个命令的含义和设计,肯定是这方面的问题。信号定义正确,insert dft后一定能看到初步的覆盖率结果,否则就是前面protocal,信号等设置错啦。要信元是开玩笑的
dft好难做啊
是插不进去scan么
是插不进去scan么
小白,受教!