关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于门控时钟的低功耗电路实现方案

基于门控时钟的低功耗电路实现方案

作者:时间:2011-02-15来源:网络收藏

  2 门控的物理

  在功能仿真通过后,开始进行寄存器级综合。采用高阈值标准单元库和多级门控技术相结合,在RTL阶段插入门控单元,并在布局布线时在IC Comp iler中进行了门控时钟的布局布线优化,布局布线正确完成仿真通过后,在PT中做静态时序分析并进行最终的分析。以下分三个部分讲述。

  2. 1 时钟门控的RTL级

  在RTL级,门控时钟的不需要对设计本身进行修改,而只需在综合脚本中加入一些控制项。

  本文采用多级门控时钟,相关的脚本如图3 所示。

  图中,传统的综合流程用实线标出。虚线部分为门控时钟的操作。

  控制项set_clock_gating_ STyle是门控时钟的核心。它的参数大小决定门控时钟的质量,对的优化效果和对CTS的影响。目前尚无完备的体系介绍如何设置控制项以使门控效果达到最优。本设计中有以下各个参数的设置方法。

  


图3 门控时钟的基本描述

  首先确定时序单元的类型。为了避免非Latch单元易产生毛刺的缺点,此处选定时序单元的类型为Latch。由于库中提供锁存器的门控单元,固正边沿逻辑positive_edge_ logic采用工艺库提供的专用单元。采用集成单元的优势在于不仅不需要设置门控单元输入端建立时间和保持时间,因为集成单元的时序信息在单元库中已有说明,而且有效缓解了插入门控单元对延时带来的不利影响。以下重点阐述实验中bitwIDTh, fanout和stage的确立方法。

  fanout的大小对和时序都有影响。数值越大则表示一个门控单元可承受较多的负载,即代表越节省功耗,需要的门控单元也越少,但对门控单元输入端建立时间的要求也就更加严格。位宽决定一组寄存器能被门控的最小宽度。级数则确定多级门控时钟的最大级数。本设计在这三个参数的选取上,主要是依据设计本身对功耗的要求,结合综合时的时序约束和单元库中门控单元的时延信息加以估计,确定一个粗略的数值范围。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 %的寄存器没有被门控,原因在于位宽, 使能等不满足门控要求, 对设计无影响。

表1 门控时钟总结


  2. 2 时钟门控的版图级实现

  在布局布线阶段,门控时钟的功耗优化流程主要如下:在布局之前,设置set_power_op tiONs–clock_gating true,之后在布局、时钟树综合和布线阶段的主要命令中添加选项- power即可。上述设置可实现最基本的门控时钟布局布线,但在本设计中生成的时钟网络分布不均匀,而且skew很大。需要采取额外的优化措施来消除其带来的不利影响。

  门控单元的加入给CTS带来的影响主要有两个方面,一方面会造成整个时钟网络分布不平衡,另一方面导致时钟偏移增大。单采用上述措施,时钟偏移最大可达到1. 11,见图4中的第二项,严重偏离了不采用门控时钟时的偏移量0. 12。在优化时钟偏移上,目标有三个方面:构造一个相对平衡的时钟网络,使得在各个层上,层的各个分支上的单元数目相近;减小时钟偏移至可承受范围;尽量保持功耗同只采用门控时钟而不优化时钟偏移状况下的功耗相近或更小。

DIY机械键盘相关社区:机械键盘DIY




评论


相关推荐

技术专区

关闭