大家好,我是数字小熊饼干,一个练习时长两年半的ic打工人。我在两年前通过自学跨行社招加入了IC行业。现在我打算将这两年的工作经验和当初面试时最常问的一些问题进行总结,并通过汇总成文章的形式进行输出,相信无论你是在职的还是已经还准备入行,看过之后都会有有一些收获,如果看完后喜欢的话就请关注我吧~谢谢~
本篇文章我们来探讨一下低功耗设计的重要方法——门控时钟clock gating。由于时钟在不断的翻转会产生大量的功耗,例如:
-在时钟沿变化的组合逻辑所产生的功耗(由于触发器驱动这些组合逻辑)。
-由触发器产生的功耗,即使触发器的输入和内部状态没有发生变化,该功耗依然存在。
-设计中时钟树产生的功耗。在同步时钟驱动的电路中,为了减少时钟偏移,会生成大面积的时钟树,其上分布着大量的时钟缓冲器(buffer),时钟树会产生大量的功耗。
既然时钟的不断翻转引起了这么多的功耗,那么直接把时钟关掉就成为了降低芯片功耗的一个不错的主意~
一、组合逻辑的门控时钟电路
在思考如何关断时钟时,我们自然会想到可以由组合逻辑中的与门和或门组成门控时钟,如下图所示:
但是组合逻辑的缺点就是容易产生毛刺,如下图所示,如果使能EN未在时钟为高时,保持稳定,就会产生毛刺: