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

标题: set_dft_signal 如何将外部时钟定义为测试时钟 [打印本页]

作者: zhh124    时间: 2024-5-15 23:08
标题: set_dft_signal 如何将外部时钟定义为测试时钟
set_dft_signal 如何将外部时钟定义为测试时钟?
比如在新建了一个test_clk port,如何将这个port指定为scan clk呢?
将这个port 定义为scan clk后,加了set_dft_config -fix_clock enable,
insert dft之后写出的verilog,看到加了个mux,将test_clk和func clock mux起来了,通过test_mode选择,
但是drc还是报D1 error,这个正常吗?

作者: 蕾兹曼    时间: 2024-5-16 08:32
会有这种情况,我遇到的都是是DFT_EN没有传达到MUX,也有可能是别的原因,你可以用GUI里面的电路图trace一下
作者: 蕾兹曼    时间: 2024-5-16 11:21
set_dft_signal -port test_clk -hookup_pin cellpath/pin_name(如果想指定连到内部而不是直接连到port上) -type scanclock -view exesting_dft
作者: zhh124    时间: 2024-5-16 21:24


   
蕾兹曼 发表于 2024-5-16 11:21
set_dft_signal -port test_clk -hookup_pin cellpath/pin_name(如果想指定连到内部而不是直接连到port上)  ...


这个test_clk 是我新创建的port,scan clk打算从这里进来

如果使用hookup的话,原func时钟有两个,是否需要都hookup上?

作者: 蕾兹曼    时间: 2024-5-17 08:42


   
zhh124 发表于 2024-5-16 21:24
这个test_clk 是我新创建的port,scan clk打算从这里进来

如果使用hookup的话,原func时钟有两个,是否 ...


原本的func时钟已经存在连接到scan cell的路径了,不需要做什么改动,这个hookup更多是告诉工具,时钟mux的输入连接到port时要连接到指定的pin,而不是直接连接到port上

作者: zhh124    时间: 2024-5-17 16:14
本帖最后由 zhh124 于 2024-5-18 11:30 编辑

已经搞定了
set dft signal 将test clk设为scan clk,view exist

参考了这里
https://bbs.eetop.cn/thread-967549-1-1.html
我最近也刚遇到这个问题,指定好clock、reset、set的port就好了,如果不指定的话它会自动创建一个新的。

参考:
#Enabling the Autofix for Clock, Reset and Set
set_dft_configuration -fix_clock enable -fix_reset enable -fix_set enable

#Define the signals for Autofix
set_dft_signal -type TestMode -port testmode -active_state 1
set_dft_signal -type TestData -port scanclk
set_dft_signal -type TestData -port reset

#Specifying the Autofix settings
# this information is used for the set and reset and clock fixing.
set_autofix_configuration -type clock -method mux -test_data scanclk -control testmode
set_autofix_configuration -type set -method mux -test_data reset -control testmode
set_autofix_configuration -type reset -method mux -test_data reset -control testmode


这样dftc会插入mux,将func clk和test clk mux起来送给scan dff

Q: 不过test clk 最开始并没有连接到任何dff,为何需要设为spec exist?




作者: 蕾兹曼    时间: 2024-5-20 08:55


   
zhh124 发表于 2024-5-17 16:14
已经搞定了
set dft signal 将test clk设为scan clk,view exist


我是这么理解的:虽然scan clk没有连接到scan cell,但是经过时钟mux就通过function clk的路径连接上了,所以是用exist

作者: 蕾兹曼    时间: 2024-5-20 08:56


   
zhh124 发表于 2024-5-17 16:14
已经搞定了
set dft signal 将test clk设为scan clk,view exist


还有就是,插入mux是因为autofix

作者: zhh124    时间: 2024-5-21 10:08


   
蕾兹曼 发表于 2024-5-20 08:55
我是这么理解的:虽然scan clk没有连接到scan cell,但是经过时钟mux就通过function clk的路径连接上了, ...


在定义的时候,test clk 是新创建的空端口,并没有连任何逻辑。

不过ScanClock 定义成spec就报错,不管是不是已经存在逻辑连接。

作者: 蕾兹曼    时间: 2024-5-21 11:20


   
zhh124 发表于 2024-5-21 10:08
在定义的时候,test clk 是新创建的空端口,并没有连任何逻辑。

不过ScanClock 定义成spec就报错,不管 ...


不管你是怎么设计的,func clk一定存在连接到dff的路径,scan clk的mux只是从dff追踪到时钟的源头,将func clk mux成scan clk,并没有创建新的从port(hookup pin)到dff的时钟路径,所以是exist;至于spec报错,我之前一直用的exist,没注意过这个





欢迎光临 EETOP 创芯网论坛 (原名:电子顶级开发网) (https://bbs.eetop.cn/) Powered by Discuz! X3.5