Clock Gating技术在超大规模集成电路设计时的应用

时间:2022-10-08 03:03:14

Clock Gating技术在超大规模集成电路设计时的应用

摘要:功耗是困扰超大规模集成电路发展的一个严重问题,而其中作为时钟树的电路占据在整个芯片的功耗的主要部分,改善时钟树功耗将大为改善整个芯片功耗。Clock Gating技术是改善时钟树功耗的有效直接方法,文章阐述了clock gating技术的基本原理以及多种适用于不同芯片电路结构的clock gating技术。

关键词:动态功耗 时钟树 clock gating技术

中图分类号:TP752 文献标识码:A 文章编号:1007-9416(2015)09-0000-00

随着半导体工业的发展和工艺的深入,VLSI(超大规模集成电路)设计正迅速地向着规模越来越大,工作频率越来越高方向发展。显而易见,规模的增大和频率的提高势必将产生更大芯片的功耗,这对芯片封装,冷却以及可靠性都将提出更高要求和挑战,增加更多的成本来维护这些由功耗所引起的问题。而在便携式设备领域,如智能手机、手提电脑等现在智能生活的必需品对芯片功耗的要求更为严格和迫切。

由于时钟树工作在高频状态,随着芯片规模增大,时钟树规模也迅速增大,通过集成clock gating电路降低时钟树功耗是目前时序数字电路系统设计时节省功耗最有效的处理方法。

Clock gating的集成可以在RTL设计阶段实现,也可以在综合阶段用工具进行自动插入。由于利用综合工具在RTL转换成门级网表时自动插入clock gating的方法简单高效,对RTL无需进行改动,是目前广为采用的clock gating 集成方法。

本文将详细介绍clock gating的基本原理以及适用的各种clock gating策略,在实际设计中,应根据设计的特点来选择合适的clock gating,从而实现面积和功耗的优化。

综合工具在对design自动插入clock gating是需要满足一定条件的:寄存器组(register bank)使用相同的clock信号以及相同的同步使能信号,这里所说的同步使能信号包括同步set/reset或者同步load enable等。图1即为没有应用clock gating技术的一组register bank门级电路,这组register bank有相同的CLK作为clock信号,EN作为同步使能信号,当EN为0时,register的输出通过选择器反馈给其输入端保持数据有效,只有当EN为1时,register才会输入新的DATA IN。可以看出,即使在EN为0时,register bank的数据处于保持状态,但由于clk一直存在,clk tree上的buffer以及register一直在耗电,同时选择电路也会产生功耗。

综合工具如果使用clock gating 技术,那么对应的RTL综合所得的门级网表电路将如图2所示。图中增加了由LATCH和AND所组成的clock gating cell,LATCH的LD输入端为register bank的使能信号,LG端(即为LATCH的时钟电平端)为CLK的反,LATCH的输出ENL和CLK信号相与(ENCLK)作为register bank的时钟信号。如果使能信号EN为高电平,当CLK为低时,LATCH将输出EN的高电平,并在CLK为高时,锁定高电平输出,得到ENCLK,显然ENCLK的toggle rate要低于CLK,register bank只在ENCLK的上升沿进行新的数据输出,在其他时候保持原先的DATA OUT。

从电路结构进行对比,对于一组register bank(n个register cell)而言只需增加一个clock gating cell,可以减少n个二路选择器,节省了面积和功耗。从时序分析而言,插入clock gating cell之后的register bank ENCLK的toggle rate明显减少,同时LATCH cell的引入抑制了EN信号对register bank的干扰,防止误触发。所以从面积/功耗/噪声干扰方面而言,clock gating技术都具有明显优势。

对于日益复杂的时序集成电路,可以根据design的结构特点,以前面所述的基本clock gating 技术为基础实现多种复杂有效的clock gating 技术,包括模块级别(module level)clock gating,增强型(enhanced)clock gating以及多级型和层次型clock gating技术。模块级别的clock gating技术是在design中搜寻具备clock gating条件的各个模块,当模块有同步控制使能信号和共同CLK时,将这些模块分别进行clock gating,而模块内部的register bank仍可以再进行独立的clock gating,也就是说模块级别clock gating技术是可以和基本的register bank clock gating同时使用。如果register bank只有2bit的register,常规基本的clock gating技术是不适用的,增强型和多级型clock gating都是通过提取各组register bank的共同使能信号,而每组register bank有各自的使能信号来实现降低toggle rate。而层次型clock gating技术是在不同模块间搜寻具备可以clock gating的register ,也即提取不同模块之间的共同使能信号和相关的CLK。

图1没有clock gating的register bank实现电路 图2 基于latch的clock gating 电路

综上所述,clock gating技术在超大规模集成电路的运用可以明显改善寄存器时钟的toggle rate 和减少芯片面积,从而实现芯片功耗和成本的降低。实际设计过程中,需要根据芯片电路的结构特点来选择,针对不同的电路结果选择合适的clock gating技术会实现不同效果。

参考文献

[1]L.Benini. P.Siegel, G.De Micheli “Automated synthesis of gated clocks for power reduction in Sequential circuits”, IEEE design and Test, winter 1994 pp.32-41.

[2]Power Compiler User Guide: Synopsys, Inc., Y-2006.06, June 2006.

收稿日期:2015-08-03

作者简介:王英(1980―), 女(汉族),浙江绍兴人,硕士研究生,集成电路设计工程师,中级工程师,研究方向:通讯芯片的研究开发;王金城(1980―), 男(汉族),安徽定远人,硕士研究生,集成电路设计工程师,中级工程师,研究方向:通讯芯片的研究开发。

上一篇:大数据Spark技术研究 下一篇:计算机自动绘制技术在采矿工程制图中的应用