test_mode和scan_enable问题的疑惑?
我觉得看你的设计定吧。
test_mode在整个test的过程中是保持constant。
scan_enable在shift的时候有效,capture的时候无效。
所以,如果在dft insertion时,有一些异步复位,时钟切换等要处理的话,还是要设置test_mode的。
不然test的过程就不能controllable了。
谢谢!
发贴的时候写错了点东西,上面说的test_mode是set_dft_signal-typeTestMode -port a
由于端口的限制,在加扫描链的时候就打算省略设置TestMode,直接用scan_enable口作为扫描链的使能端,把scan_enable口连接到SDFF的SE。还有个问题想请教下就是TestMode和scan_enable的作用到底是什么?有点迷糊。还有就是shift mode 和capture mode 能不能帮说明下。
test_mode, 字面上理解是测试模式,是用来使某些信号符合测试的可控性的要求。
比如,你的电路里有异步复位的reset。如果你不做处理。测试过程就不可控。
此时,需要用test_mode信号把寄存器的异步复位端disable掉,以免寄存器被异步复位。
如果,异步复位是reset低有效,test_mode为1,你就可以将test_mode(为1)与reset信号进行OR后,连到寄存器rst端。
Scan_en是用来进行shift和capture的切换的。
shift过程就是pattern的装载和测试结果输出的过程。此时,寄存器的Q不从D取值,而从scan_in取值,芯片里的寄存器连成一长串,
将pattern依次往后装载。
capture过程是用来产生两个寄存器之间的组合电路的测试结果,同时寄存器从D端获得测试结果,然后等待shift。
一般在测试的时候,会有n拍shift,一拍capture,循环往复,直至测试完成。
我建议你可以先看看synopsys的dft的user guide,上面有这些基础知识的详细介绍。
必须用test_mode控制reset信号吗?不可以在顶层直接用reset信号连接到各个flip_flop的RN端吗,(不连接到各种与门或门之类的cell,设计中没有test_mode)?
谢谢,明白多了
还是想再问下set_dft_signal-typeTestMode命令里面的TestMode代表的什么意思?UG里面没有找到
Testmode表示后边给的就是scan mode的控制端口名,DC需要这个信息去进行scan insertion