首页 > 代码库 > 门控时钟-概述 ----- 转载

门控时钟-概述 ----- 转载

转载自:http://www.chipsbank.com/news_detail/newsId=122.html

 

1. 时钟信号的功耗占系统功耗的很大一部分(40%左右)占动态功耗的50%以上

1. DC门控时钟命令:
intert_clock_gating
set_clock_gating_style

1. 门控时钟插入:
 

技术分享

1. 使用效果实例:

a. 对于一个180nm工艺的芯片:有clock gating和没有clock gating的结果相比(芯片实测):

a. 功耗节省34%到43%(具体更应用模式有关)

a. 面积节省20%(一个clock gating能代替多个mux)

1. 使用原则:

a. 至少位宽是3或以上的寄存器才用门控时钟

a. 单bit的寄存器使用门控时钟是没有效果的,面积和功耗都不会节省。

a. Clock buffer尽可能多的放到clock gating cell的后面。

1. RTL具体措施:

a. 无用输出采用使能保持输出的方式编码:
NxtReadData = (ReadEn) ? RamData : 8‘b0;  
如果没有读使能时,我们不关心输出什么数据的话,则改成:
NxtReadData = (ReadEn) ? RamData : ReadData;
这样就可以让ReadEn无效时把这8个寄存器的时钟关掉。

 

1. 3bit的计数器插clock gating前后电路对比
插门控之前:

技术分享

插门控之后:

技术分享

 

1. 不同bit数门控时钟插入对比

 

SMIC.18工艺

 

面积

 

动态功耗(W)

 

 

um2

门数

 

4bit暂存器

带ICG

221.72

25.25

1.185e-05

 

不带ICG

263.42

30

1.427e-05

3bit暂存器

带ICG

175.62

20

9.160e-06

 

不带ICG

197.57

22.5

9.920e-06

2bit暂存器

带ICG

131.71

15

6.315e-06

 

不带ICG

131.71

15

6.613e-06

1bit暂存器

带ICG

85.61

9.75

3.633e-06

 

不带ICG

65.86

7.5

3.307e-06

 

1. 门控时钟的结构:

 a. 结构-1

技术分享

这种系统时钟门控的机制算然简单,但是容易使门控后的时钟不完整,甚至产生毛刺。

 

a. 结构-2

技术分享

这种门控方法避免了门控时钟的不完整性,也可以避免避免毛刺的产生,但门控后的时钟可能会产生亚稳态。

 

1. 结构-3

技术分享

这种结构解决了结构-2的亚稳态问题。

 

1. 结构-4

技术分享

这种带测试模式的结构可以在测试时让时钟一直开着。

 

1. 结构-5

技术分享

在ASIC进行后端测试的时候,有时候可能会将不同时钟域的逻辑和寄存器连起来进行扫描链插入,此时可能某个模块的时钟来源可能不是通过它原来的时钟路径,而是整个芯片统一的测试时钟,就此时需要对时钟进行选择。

 

 

门控时钟-概述 ----- 转载