基于门控时钟的低功耗电路设计方案
数值范围。fanout的值在满足时序的前提下,不经编译就可确定,方法如下:首先按约束文件中的扇出值约束此处fanout,然后insert_clock_tree,加入时序约束并传递至门控时钟,用re_port_clock_gating– multi_stage查看报告,重点关注第1项。发现fanout按约束文件取值为15时,门控单元的数目达到61个, fanout取值为20或更高时,门控单元数目为41,见表1,而被门控的寄存器数目却保持不变,多级门控单元的数目也由fanout取值为15时的7级减小到当前的6级。由于门控单元也会消耗相当大功耗,因此在被门控的寄存器数目相同的情况下门控单元数越少就越节省功耗。因此确定fanout为20。
num_stages最初取值为2,插入门控时钟后的报告显示平均级数为1. 4,其值增至3时,平均级数为2. 3,如表1 所示。从对时钟网络的平衡性来讲,stage值为2时要优于取值为3时的情况,但结合其后的编译,综合考虑时序面积功耗因素,折衷考虑选定stage为3。
bitwidth初值为3,经过编译,得出了功耗和延时信息。以此为基准,根据设计改变bitwidth数值,然后再编译,对比功耗延时。发现当bitwidth取值为5时,设计的各个性能指标达到最优。
通过以上试验,得出下列结论: 对门控时钟而言,若不考虑设计的平衡性,插入的门控单元越少且被门控的寄存器越多, 门控的效果就越好,反之亦然。
经编译,查看时序功耗报告,在满足电路性能指标情况下, RTL级代码经综合生成层次化门级网表和门级时序约束文件。
为查看门控单元在不同设置下的插入情况,用report_clock_gating– multi_stage得到表1所示报告。
从中可知,有23. 68 %的寄存器没有被门控,原因在于位宽, 使能等不满足门控要求,对设计无影响。
2. 2 时钟门控的版图级实现
在布局布线阶段,基于门控时钟的功耗优化流程主要如下:在布局之前,设置set_Power_op tiONs–clock_gating true,之后在布局、时钟树综合和布线阶段的主要命令中添加选项- power即可。上述设置可实现最基本的门控时钟布局布线,但在本设计中生成的时钟网络分布不均匀,而且skew很大。需要采取额外的优化措施来消除其带来的不利影响。
门控单元的加入给CTS带来的影响主要有两个方面,一方面会造成整个时钟网络分布不平衡,另一方面导致时钟偏移增大。单采用上述措施,时钟偏移最大可达到1. 11,见图4中的第二项,严重偏离了不采用门控时钟时的偏移量0. 12。在优化时钟偏移上,目标有三个方面:构造一个相对平衡的时钟网络,使得在各个层上,层的各个分支上的单元数目相近;减小时钟偏移至可承受范围;尽量保持功耗同只采用门控时钟而不优化时钟偏移状况下的功耗相近或更小。
分析引起skew偏大的原因,通过在ICC中跟踪路径,查看时钟网络电路图,发现时钟层分布极不均匀,分支节点最大相差6 层。在具体时序路径中,两条路径延时过大,插入了许多不必要的buffer,为构造一个平衡的时钟树,减小skew并减少对功耗的影响,在CTS阶段采取了三个措施。
第一,设置set_clock_tree_op tions– LOGIC_ level_bal2ance为true。CTS的操作模式有三种: 模块模式,顶层模式,逻辑级平衡模式。默认为模块模式。
此处选取逻辑级平衡模式可得到最佳的skew,但对功耗有一定影响。第二,复制门控单元。主要是通过修正ICG输出端的DRC来平衡扇出,并添加缓冲单元来驱动没有被门控的寄存器使得整个时钟树的结构更加平衡。首先设置cts_push _down_ buffer为true。然后split_ clock _ gate – ob2jects { 3 . / Latch} – gate_ sizing– gate_ relocation。
并且在时钟树综合时结合使用- inter_clock_bal2ance选项。最后,为了弥补功耗优化方面的不足,在CTS完毕之后用p synop t– power。不采用门控时钟、采用门控时钟但不做skew优化、采用门控时钟且进行skew优化三种情况下的skew见图4。由此可见,优化后的skew较原来相比虽有所增大,但要远小于优化前的设计。
2. 3 功耗测量过程及实验结果分析
布局布线完成后,导出网表到VCS中进行后仿,并得到分析功耗所需的saif文件。将此saif文件和布局布线后带有实际延时信息的网表读入PT中,加以适当的时序约束进行功耗分析 ,得到如图5所示的分析结果。
由图5可知, 采用门控时钟技术后的设计总体功耗下降了22. 6 %。其中, 开关功耗下降了63. 2 % ,内部功耗下降了21. 9 %,体现了引入门控时钟技术的优势,因为门控时钟主要用于降低动态功耗,泄露功耗略有下降。总功耗由原来的1 mW降低至778 uW,功耗降低效果非常明显。除此之外,芯片核的面积也略有减小。
3 结语
越来越多低功耗设计方法的
- 基于门控时钟的低功耗时序电路设计(07-13)
- 树电运行低功耗电路在设计中的应用(03-21)
- 树电运行低功耗电路(08-07)
- 12位串行A/D转换器MAX187的应用(10-06)
- AGC中频放大器设计(下)(10-07)
- 低功耗、3V工作电压、精度0.05% 的A/D变换器(10-09)