在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2767|回复: 11

[求助] dftdrc中clockgatingcell的clock uncontrol的问题

[复制链接]
发表于 2022-4-6 09:52:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
image.png
如图,c_ns是我的function时钟,se是scanenable,clk_s是扫描要用的时钟。
问题是综合出来后报cp端不可控,source到前面是因为这个clockgatingcell, image.png

想知道怎么才能让工具识别到这个?


 楼主| 发表于 2022-4-6 09:57:02 | 显示全部楼层
image.png
image.png
另外一个问题是,为什么我设置了scan clock但是这里derive没显示 是为什么呢
发表于 2022-4-6 10:28:57 | 显示全部楼层
这个电路无法保证在scan mode/atpg mode下一直用clk_scan给flop提供时钟,所以不可控。
手动例化一个MUX,a 接 clk_func, b 接 clk_scan, s 接 scan_mode, dont_touch这个MUX,就可以了。
还有,最右边那个flop的reset (CDN) 也不可控,dft drc 应该至少报 warning
 楼主| 发表于 2022-4-6 10:42:24 | 显示全部楼层


jake 发表于 2022-4-6 10:28
这个电路无法保证在scan mode/atpg mode下一直用clk_scan给flop提供时钟,所以不可控。
手动例化一个MUX, ...


感谢前辈!!确实如此,D3就报的是CDN的问题~都是两千多个~
我去修改RTL里面加mux先~有问题再请教您!感谢感谢呀~
 楼主| 发表于 2022-4-6 14:31:54 | 显示全部楼层


jake 发表于 2022-4-6 10:28
这个电路无法保证在scan mode/atpg mode下一直用clk_scan给flop提供时钟,所以不可控。
手动例化一个MUX, ...


image.png
前辈您好!我这里所有的rtl都修改完成了,但是仍然是not controlled状态,请问前辈知道这是哪种可能嘛?
我的clk_scan是在做scan的时候额外加入到top层和每个module的时钟,就是利用上图的mux的方式加入的;
我的scan_enable和clkscan加入的方式完全一致;
在protocol的设立中,我是如下图约束的:
image.png
如果还有没描述到的您需要了解的信息的话,麻烦辛苦您告知一下~~
谢谢前辈!!


发表于 2022-4-6 21:13:52 | 显示全部楼层
MUX 的控制信号接错了,要换成 test_mode
发表于 2022-4-6 21:14:44 | 显示全部楼层
image.png
发表于 2022-4-6 21:27:30 | 显示全部楼层
set_dft_signal -view existing_dft -type ScanEnable 定义的是 scan shift enable, 又称 shift enable, test_se 。。。这个信号是在跑 atpg pattern 时并非固定为 1.
set_dft_signal -view existing_dft -type Constant 定义的是恒定信号,跑 atpg pattern 时为固定值。 你定义的 test_mode 才是真正的 scan_mode/atpg_mode。
DFT clock mux 的 s 需要的是一个恒定值,这样才能保证 scan mode/atpg mode 下一直用 clk_scan
 楼主| 发表于 2022-4-6 21:56:36 | 显示全部楼层


jake 发表于 2022-4-6 21:27
set_dft_signal -view existing_dft -type ScanEnable 定义的是 scan shift enable, 又称 shift enable, te ...


哦哦好的好的完全明白了~谢谢前辈了!!原来之前一直没搞懂两个的区别~但是我有一个需求就是capture的时候还是要用function的时钟去跑,shift in 和out是用clk_scan来着。
如果用testmode定义常值的话,那我的时钟在capture的时候就不会切换回去了,就是只能一直用clk_scan去运行对吧?所以我的这个需求是无法做到吗?


发表于 2022-4-6 23:47:04 | 显示全部楼层
本帖最后由 jake 于 2022-4-6 11:52 编辑


西顾 发表于 2022-4-6 07:56
哦哦好的好的完全明白了~谢谢前辈了!!原来之前一直没搞懂两个的区别~但是我有一个需求就是capture的时 ...


如果想做 at speed test,scan capture 需要用到与 clk_func 相同的 clock frequency,而不是一定要用 clk_func。一般 clk_func 是不受 atpg pattern/scan vector 控制的。如果 clk_func 可控,那也就不需要 clk_scan 了
ATPG 工具生成的 at-speed test pattern 会在 clk_scan 上产生两个 clock pulse,  这两个 pulse 的 period 等于 clk_func 的 period。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-18 16:48 , Processed in 0.032041 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表