1、关于set_
DFT_signal -view设置的问题
Q:小弟初学DFT,想问下,set_dft_signal命令定义的ScanEnable是不是不用在后续定义为constant值了,而像dft_mode就需要定义为1?
对于用set_dft_signal定义的那些信号是不是都不用定义为constant了,工具会默认为这些set_dft_signal定义的信号在生成pattern时置为相关的值?不知道这样理解对不对,请各位大侠指点啊!
A:constant好像也是通过set_dft_singal来定义的吧。。。如果某个信号在整个scan测试时都为固定值那么就必须定义为 constant
。而scanenable定义的是shift
enable信号,在capture和shift时其值是不同的,肯定不能定义成constant了,不过其active值你也是要定义的。生成pattern时具体怎么控制其实也是你告诉工具的,比如scanenable对应的管脚在shift和load_unload中还是force了的。
2、请问set_dft_signal中的existing_dft和spec有什么区别?
Q:请问set_dft_signal中的existing_dft和spec有什么区别?分别在什么情况下使用?
A1:existing_dft,用于定义插链前已经连接好的信号。比如时钟复位,跟一些constant的控制信号一般在插链前已经连接好了,只需要告诉工具这是一个什么信号,控制为什么值就行了。
spec:用于定义未链接好的信号,再插链时需要工具连接。比如scan_enabl,si,so。
另外,如果进行插链的电路里面已经有插好的链,那么其scan_enable也定义为existing_dft。比如,有一部分IP已经插好链了SE连到了端口dft_se,还有一部分寄存器在这次插链的时候希望把SE也连接到dft_se上去,这样就可以把dft_se在existing_dft和spec里面都定义一下。
A2:最近刚好向在synopsys的朋友顺带性地问过这个问题,据他回答existing和spec选项其实是历史遗留原因,ATPG tools是后买进来的。一般在DFT
compiler里做定义要动到netlist时就要用spec,否则就可以用existing。虽然有这样的回答感觉上还是有些混乱,没有深究下去。