门控时钟(clock gating)的DFT设计

在数字IC芯片中,时钟树的功耗占比可能高达30%,因此一般会采取门控时钟的方式来降低该部分的功耗。所谓门控时钟,就是在芯片实际工作过程中,有些信号或者功能并不需要一直开启,那么就可以在它们不用的时候将其时钟信号关闭。这样一来信号不再翻转,从而能够有效减少动态功耗。

目前门控时钟都采用集成门控时钟单元(ICG,integrated clock gating cell),其结构如下。由一个latch和一个与门(也有的是或门)组成,可以过滤掉EN信号中的毛刺。一般的工艺库中都会有专门的ICG以供调用。
icg1

插入ICG后对电路的可测性有什么影响呢?

如下图所示,可以看到由于ICG的EN端不可控,导致ICG后面所驱动的所有寄存器的时钟均不受控,也就是说会带来scan的时钟可控问题,会很大程度降低故障覆盖率。
icg2
为解决上述问题,现在工艺库所提供的ICG一般会在latch的前面再集成一个或门,并增加一个TE端口,如下图所示,当TE为1时,ICG被强制打开,用来达到对scan时钟的可控制性。
icg3

新增的这个TE端口需要接到哪里呢?

一般做法是接到scan_enable信号上:当scan shift时,scan_enable为1,ICG打开使时钟通过,可以正常shift;当scan capture时,scan_enable为0,此时ICG的开关取决于EN端的值,因此enable logic这一部分的逻辑是可以被测试到的。

但scan capture时ICG又由EN端进行控制,如果此时enable logic非常复杂,会使得ATPG工具很难构造EN为1的场景,使得ICG后面所驱动的寄存器无法被测试到。

因此改进的做法是采用test point来控制ICG的TE端:如下图,将test_point与scan_enable相或之后再接到ICG的TE端。在scan shift时,scan_enable为1,ICG打开可以正常进行shift;在scan capture时,由test_point来控制ICG,而test_point的值可以由ATPG工具进行指定,为0时可以测试到enable logic这一部分的逻辑,为1时可以保证ICG后面所驱动的寄存器在capture时有时钟。
icg4

最后,欢迎大家关注微信公众号:数字IC小白成长记录
  • 6
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_44746697

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值