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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1968|回复: 7

[求助] 分频时钟后的DFT MUX接Scan clock还是分频时钟的source clock

[复制链接]
发表于 2021-7-21 10:03:19 | 显示全部楼层 |阅读模式

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

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

x
如题

发表于 2021-7-21 10:38:10 | 显示全部楼层
一般是这样做的。
source clock --> (DFT MUX1) ---> clock divider ---> divided clock ---> (DFT MUX2) ---> sink
scan clock   ---> --------------------------------------------------------------->                        

问题是 DFT_MUX1的输出已经是scan mux过的,是否可以用作DFT_MUX2的scan clock,不知道这样理解对不对。
理论上我认为是可以的。 实际操作我觉得要考虑DFT_MUX1的delay。等于在scan mode下,sink的insertion delay多了一个MUX delay。也许没影响。要试一下,看CTS后scan mode timing。
发表于 2021-7-21 11:37:13 | 显示全部楼层


jake 发表于 2021-7-21 10:38
一般是这样做的。
source clock --> (DFT MUX1) ---> clock divider ---> divided clock ---> (DFT MUX2) - ...


多谢分享, clock 模块里面确实是这么做的。  DFT MUX2 这里一般还是接DFT_CLK
发表于 2021-7-21 13:37:19 | 显示全部楼层


jake 发表于 2021-7-21 10:38
一般是这样做的。
source clock --> (DFT MUX1) ---> clock divider ---> divided clock ---> (DFT MUX2) - ...


受教
 楼主| 发表于 2021-7-21 13:40:56 | 显示全部楼层


jake 发表于 2021-7-21 10:38
一般是这样做的。
source clock --> (DFT MUX1) ---> clock divider ---> divided clock ---> (DFT MUX2) - ...


Jake,就是这个意思,你说的对,在scan mode下会存在MUX1的一个delay
再请问两个问题
1. 对于glitchfree mux的输出是否要做DFTMUX,如下结构, 省略了前面的同步过程,我理解design已经保证输出的clock来自于clka,应该不需要吧
2. 对于icgb在dftc scan stitching阶段,SE端应该keep为0,是否要告诉工具设此icgb为exclude elements,不然会自动接到scan_enable
ICG icga (.CK(clka), .E(clka_en), .SE(scan_enable), .ECK(gated_clka))
ICG icgb (.CK(clkb), .E(clkb_en & ~scan_mode), .SE(1'b0), .ECK(gated_clkb))
assign clkout = gated_clka | gated_clkb;

发表于 2021-7-21 18:04:19 | 显示全部楼层


andywang3791 发表于 2021-7-20 23:40
Jake,就是这个意思,你说的对,在scan mode下会存在MUX1的一个delay
再请问两个问题
1. 对于glitchfree  ...


觉得要看一下clkout是怎么用的。
如果clkout驱动下一级模块的DFF,并且在下一级的模块中没有DFT MUX,在glitch free clock switch的clkout前应该加一个DFT MUX。
ICG icga (.CK(clka), .E(clka_en), .SE(1'b0), .ECK(gated_clka))
ICG icgb (.CK(clkb), .E(clkb_en), .SE(1'b0), .ECK(gated_clkb))
assign clkout_raw = gated_clka | gated_clkb;
MUX u_mux_clkout (.A(clkout_raw), .B(scan_clock), .S(scan_mode), .Y(clkout));

如果clkout不驱动任何DFF,就不用再加DFT MUX了。

 楼主| 发表于 2021-7-22 09:39:29 | 显示全部楼层


jake 发表于 2021-7-21 18:04
觉得要看一下clkout是怎么用的。
如果clkout驱动下一级模块的DFF,并且在下一级的模块中没有DFT MUX,在 ...


后面会驱动DFF的,按照这个写法,在scan模式下icgb会被gate住,所以只是icga会通过,所以我理解DFT MUX是不是也不是必须的

ICG icga (.CK(clka), .E(clka_en), .SE(scan_enable), .ECK(gated_clka))
ICG icgb (.CK(clkb), .E(clkb_en & ~scan_mode), .SE(1'b0), .ECK(gated_clkb))

发表于 2021-7-22 10:12:41 | 显示全部楼层


andywang3791 发表于 2021-7-21 19:39
后面会驱动DFF的,按照这个写法,在scan模式下icgb会被gate住,所以只是icga会通过,所以我理解DFT MUX是 ...


感觉 icga 的 SE 接 scan_mode 更合适,scan_enable 会跳变。
ICG icga (.CK(clka), .E(clka_en), .SE(scan_mode), .ECK(gated_clka))
如果这里的 clka 是已经 mux 过的,clka 通过,clkb 卡住,理论上 clkout 不加 MUX 是可以的。 但是下游的 DFF 在 scan mode 下 insertion delay 就大一些了 (ICG delay + OR delay),  不知道 CTS scan mode balance 会不会有问题。 如果 scan clock 不是很快,感觉应该是可以的。

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

本版积分规则

关闭

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

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

GMT+8, 2024-3-29 14:55 , Processed in 0.028288 second(s), 6 queries , Gzip On, Redis On.

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