<div id="paeqo"></div>
<div id="paeqo"></div>
<dl id="paeqo"><ins id="paeqo"></ins></dl>
  • <menuitem id="paeqo"></menuitem>
  • <li id="paeqo"><s id="paeqo"></s></li>
    <dl id="paeqo"></dl>
    <dl id="paeqo"><ins id="paeqo"><small id="paeqo"></small></ins></dl>

    新闻中心

    EEPW首页 > 设计应用 > 基于ASIC的功耗评估与优化设计

    基于ASIC的功耗评估与优化设计

    作者:尹远 黄嵩人时间:2019-03-29来源:电子产品世界收藏

    Power estimation and optimization based on ASIC design

    本文引用地址:http://www.9113521.com/article/201903/399036.htm

    尹远,黄嵩人
    (湘潭大学物理与光电工程学院,湖南 湘潭 411105)

           摘要:随着芯片设计的复杂度和规模越来越大,现如今ASIC芯片的功耗要求也越来越高。作为一个重要目标,需要设计者格外重视[1] 。在本文中,首先讨论了功耗的组成及来源,阐述了在设计初期的,以及的思路[1] 。接着描述了的具体操作技巧,其中详细描述了的原理、实现流程等,最后对的效果进行分析和比较。
          关键词:;功耗优化;

      0 引言

           随着便携式导向?#21335;?#36153;类电子产品的需求不?#26174;?#22823;,便携式电子设备的低功耗需求、基于可靠性与性能影响的考虑、芯片设计及制造的成本影响等,都体现了的需求和必要性。因而对功耗要求也越来越高,低功耗设计已逐渐成为衡量电子产品是否成功的重要指标,使得芯片设计者也越来越重视对功耗的优化设计。近来工艺技术的快速提高,面积、速率、温度等性能要求不断提升,这些改变对芯片的功耗优化设计有着很重要的影响。尤其对于追求低功耗、微型化、高可靠性等目标的ASIC芯片来说,更是面临着不小的挑战。
      本文将介绍芯片功耗的来源和构成,及其基本概念。然后介绍芯片的功耗的评估计算方法和途径,提出在ASIC芯片设计中进行功耗优化的思路,同时结合EDA工具辅助实现,介绍对芯片设计初期阶段的核心功耗进行优化的具体操作流程,最后进行功耗优化后的分析。
      1 功耗的构成

      功耗的构成按照类型分类,主要由动态功耗和静态功耗两部分构成,通常动态功耗占芯片整体功耗的绝大部分 [2] 。
      (1)动态功耗,是电路在工作时所消耗的能量。
      对于CMOS电路,动态功耗又分为开关功耗和短路功耗,即PDynamic =Pswitch +Pinternal[3] 。开关功耗也称为翻转
    功耗(Switching Power),由电路翻转时对负载电容充放电引起,即1.png

      短路功耗?#27493;心?#37096;功耗(Internal Power),在输入翻转时PMOS和NMOS同时导通的瞬间电流形成,即Pinternal =VDD ·Tr·Qx[4]

      (2)静态功耗,是在电路没有翻转只供电的情形下,晶体管?#26032;?#30005;流造成的功耗,所以?#27493;新?#30005;功耗(Leakage Power),公式为Pleakage=VDD·Ileakage。静态功耗的来源有几?#22336;?#24335;,很大比例是由源极和漏极之间的亚阈值漏电流造成,另外还有栅极漏电流、栅极?#32479;?#24213;之间的隧道漏电流等引起的漏电功耗。
      上述公式中,VDD为电路供电电压,C为门电路的等效电容负载,Tr为信号的翻转率,为一次翻转过程中电源到地的电荷量,Ileakage为泄漏电流。

      2 功耗的评估
      是低功耗设计中的重要内容,在芯片设计的各个阶段,都有相应的方法去评估功耗,提前帮助设计者更科学有效的做好功耗优化。
      2.1 功耗评估方法
      在设计前期阶段,对功耗的估算主要可以通过手动计算和工具?#36828;?#35780;估。
      (1)手动计算:通过对功耗来源的分析,根据功耗总公式P=Pswitch+Pinternal+Pleakage,再结合工艺库中有关功耗的信息,进行理论估计。根据上文中提到的公式,可?#26434;?#37325;要的?#38382;?#36827;行功耗的具体估算,再根据不同的条件在工艺库中查找对应的信息。工艺库中包含了标准单元的功耗信息,在使用软件或手动对RTL级代码和门级网表做功耗分析时,都需要用到。
      (2)工具?#36828;?#35780;估:在RTL级代码完成后,可以通过Spyglass等软件进行低功耗的代码风格检查,?#39029;?#21487;进行优化的逻辑模块。一般常用Synopsys公司的工具(从属于Design Compiler),对RTL级和门级网表进行分析并优化。
      由于电路级的功耗评估的延时过多,需要大量的时间和资源,所以在工业?#23548;?#20013;很少采用。?#23548;?#30340;功耗分析常对设计初期的RTL级和门级网表进行,通过工具?#36828;?#35745;算出功耗的数值,因是在理想情况且忽略了包括物理设计等因素,所以获得的结果不够精确,但对低功耗设计具有重要的指导作用。物理设计完成后可通过Prime Time PX工具精确计算功耗,不过届时再降低功耗收益就小了。
      2.2 功耗评估流程

      在?#23548;?#22823;规模的集成电路项目中,通过手工计算功耗是不现实的,一般需要借助EDA工具。以Power Compiler来说,功耗的分析主要两?#22336;?#27861;,分别是设置翻转率(无向量分析法)和仿真分析法,都需要获取每个节点的开关行为情况。
      仿真分析法更方便精确,其关键是获得文件,本质是一种记录开关动态行为的内部交换格式的文件,后用软件读取进行功耗分析。SAIF文件可由VCS等仿真工具对RTL级电路仿真或者门级网表电路仿真后得到,之后便可进行功耗分析[5] 。
      3 功耗的优化

      3.1 功耗的优化思路

      一般而言,可利用?#36828;?#21521;下的方法进行低功耗设计的思考,而且优化的抽象层级越高,越能获得显著的功耗降低效果。首先应从?#20302;?#19982;架构级层面思考功耗优化,然后思考在RTL级与门级进行低功耗设计的方法。
      (1)?#20302;?#19982;架构级功耗优化:在设计初期?#21335;低?#32467;构层级,可以通过优化算法使得如加法器、乘法器、存储等资源和操作的使用最小化,实现?#26434;?#20214;资源的合理配置与使用。?#37096;?#20197;增?#26377;?#30496;待机模式,减少芯片不必要的工作时间。
      (2)合理选择并行或者流水线技术,可以?#23454;?#38477;低功耗。采用并?#20889;?#29702;可?#36234;?#20302;?#20302;?#24037;作频率,从而可降低功耗[6]。流水线技术(Pipeline)是将组合逻辑?#20302;车?#25286;分,并在各级之间插入寄存器,这样每一步小操作的时间减小,?#21830;?#39640;工作频率,又能并行执行提高处理速度,还能?#36234;?#20302;的电?#20272;?#39537;动?#20302;場?br/>  (3)逻辑优化与资源共享:RTL级代码设计时可进?#26032;?#36753;优化,减少硬件资源消耗。使用良好的编码风格,利用数据编码来降低开关活动,例如用格雷码比用二进制码翻转更少,功耗更低[6]。简化状态机,降低每次工作的状态机的寄存器数量,为功耗降低提供了可能性。进?#26032;?#36753;共享,提高如FIFO、查找表、RAM存储资源的利用率。
      此外在RTL级与门级中,常采用的低功耗设计技术是[7]

    1557193225302715.jpg

    1557193225173060.jpg

      3.2 时钟门控

      3.2.1 时钟门控原理

      动态功耗是芯片功耗主要部分,是由电路翻转引起负载电容的充放电,所?#36234;?#20302;电路中冗余的翻转动作,关闭未工作时的电路的时钟网络使其处于静态,是一种降低功耗的重要思路。时钟门控技术通过控制时钟的翻转,降低电路的翻转率,从而达到降低动态功耗的目的,使用门控时钟技术能有效降低芯片?#21335;低?#21160;态功耗,所以在低功耗设计中使用较多,广泛应用于大规模集成电路设计中[2]

    1557193252660771.jpg

      如图2所示,通过门控单元控制时钟信号的翻转,从而实现对寄存器或模块的工作时钟的开关控制,决定数据是否向下一级逻辑传播。避免了冗余信号的翻转,从而降低了电路的动态功耗[8]
      随着设计规模的增大,通过手动方式添加时钟门控逻辑效率很低,因而目前业界主流是通过EDA工具在综合阶段根据RTL级代码的特点?#36828;?#25554;入时钟门控逻辑[2]
      3.2.2 时钟门控单元的选择

      时钟门控的实?#22336;?#24335;有多种,最常用的是free和Latch-based。Latch-free类型时钟门控一般是由结构简单的与门或者或门电路组成,但对时序要求较高。比如由与门组成的电路波形图中时钟信号CLK和使能信号EN相与,得到的门控时钟GCLK出现了毛刺,影响了电路的稳定性[2]。因此大部分设计使用Latch-based时钟门控电路,其电路图如下:

    1557193268906539.jpg

    1554778197179710.png


      3.2.3实现流程

      上图描述了利用DC工具插入时钟门控单元的流程,首先是选定时钟门控类型,然后读取RTL设计文件、定义时钟策略,再插入指定类型的时钟门控单元,最后逻辑综合的过程[2] 。其中选取时钟门控类型是最关键的?#26041;冢?#20855;体命令如下:指定使用基于latch的门控电?#38450;?#22411;,-minimum_bitwidth意味着一个门控时钟至少需要3个寄存器,指定时钟上升沿/下降沿触发的寄存器所用的门控单元,-setup/hold指定的是setup/hold time的?#38469;?maxfanout指定的是最大扇出数[5]。另外可以查看工具手册,进行更多?#36828;?#20041;选择。
      3.2.4 结果分析

      基于某ASIC工程在台积电90 nm工艺下进行?#23548;?#33719;得的结果如下:被时钟门控的寄存器占比达90%,因而能控制寄存器翻转,可有效降低动态功耗。统计功耗优化前后的具体数据,如表1所示。在90 nm工艺下,从DC综合后获得的信息来看,可以直观看出功耗降低效果显著,面积?#27493;?#30465;了约37%,?#23548;?#35777;明时钟门控技术是一?#20013;?#20043;有效的降低功耗的方法。
      4 结论

    本文来源于科?#35745;?#21002;《电子产品世界》2019年第3期第1页,欢迎您写论文时引用,并注明出处在目前日趋复杂的芯片设计中 , 更 加 追 求 性能、面积、功耗等设计目标,低功耗优化设计已是重要指标之一。本文从设计需求?#23548;?#20986;发,首先分析了功耗的构成及来源,然后阐述了功耗评估的方法,最后基于ASIC设计重点讲述了功耗优化的若干方法,并对时钟门控技术做主要说明,并?#23548;?#35777;明获得了显著的功耗降低效果[1]
      影响功耗的因素众多,优化的方法也很多,需要结合项目?#23548;剩?#22312;不同的设计阶段综?#26174;?#29992;不同的优化方法来降低功耗,全局综合考虑,?#28304;?#21040;功耗、性能、面积等多方面的优化提升[9]

      参考?#21335;?br/>  [1] 于立波.芯片设计中的功耗估计与优化技术[J].中国集成电路,2010,19(06):37-43.
      [2] 茅锦亮.动态时钟门控管理策略的设计与实现[D].东南大学,2014.
      [3] Synopsys. Low Power Methodology Manual[EB/OL].www.synopsys.com/lpmm.
      [4] 杨玲.基于电路级的低功耗关键技术研究[D].上海交通大学,2010.
      [5] Synopsys. Power Compiler User Guide[EB/OL].www.synopsys.com.
      [6] 王彬, 任艳颖.数字IC?#20302;?#35774;计[M].西安电子科技大学出版社,2005
      [7]喻贤坤,姜爽,王磊,王莉,彭斌.数字集成电路门控时钟可靠性研究[J].电子技术应用,2017,43(01):60-63+67.
      [8] 严石.面向DSP的时钟门控技术的优化与设计[D].东南大学,2016.
      [9] 袁博.集成电路设计中乘法器的低功耗算法与实现技术研究[D].西安电子科技大学,2013.
      作者简介:
      尹远(1993-),男,湖南张家界人,硕士研?#21487;?#20027;要研究?#36739;潁?#25968;字集成电路设计。
      黄嵩人(1972-),男,江苏无锡人,硕士研?#21487;?#23548;师,主要研究?#36739;潁篠OC设计,射频识别技术。

    本文来源于科?#35745;?#21002;《电子产品世界》2019年第4期第54页,欢迎您写论文时引用,并注明出处



    评论


    相关推荐

    技术专区

    关闭
    陕西11选5玩法
    <div id="paeqo"></div>
    <div id="paeqo"></div>
    <dl id="paeqo"><ins id="paeqo"></ins></dl>
  • <menuitem id="paeqo"></menuitem>
  • <li id="paeqo"><s id="paeqo"></s></li>
    <dl id="paeqo"></dl>
    <dl id="paeqo"><ins id="paeqo"><small id="paeqo"></small></ins></dl>
    <div id="paeqo"></div>
    <div id="paeqo"></div>
    <dl id="paeqo"><ins id="paeqo"></ins></dl>
  • <menuitem id="paeqo"></menuitem>
  • <li id="paeqo"><s id="paeqo"></s></li>
    <dl id="paeqo"></dl>
    <dl id="paeqo"><ins id="paeqo"><small id="paeqo"></small></ins></dl>
    阿里巴巴网站首页 惑星战记闯关 德州扑克起手牌胜率表 守望先锋小美 沃尔夫斯堡旗舰店 下载山西快乐10分走势图 双大床红利扑克1手 神皇pc蛋蛋计划 西甲莱加内斯VS莱万特 球球大作战苹果空白名字