首页 > 范文大全 > 正文

低功耗方法在SoC芯片设计中的应用

开篇:润墨网以专业的文秘视角,为您筛选了一篇低功耗方法在SoC芯片设计中的应用范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:SOC芯片设计在集成电路设计中占据重要位置,低功耗设计是SoC设计过程中的重要环节。本文首先全面分析了CMOS电路的功耗组成和功耗估计的相关理论,随后从各个设计层次详细分析了SOC芯片低功耗设计的理论及其实现方法

关键词:低功耗;soc;CMOS;功耗估计;

The Application of Low-Power Methods in SoC Design

Abstract: SOC design occupies an important position in IC design market. The low-power design is an important part in SoC design process. This paper firstly gives a comprehensive analysis of the composed of CMOS circuit power consumption and the related theory of power estimation, then analyzes the SoC low-power design theory of various design levels in detail.

Keywords: low-power,SoC,CMOS,power estimation

1引言

随着工艺水平的不断发展,集成电路设计已经进入超深亚微米(Deep Sub-Micron,DSM)和纳米的SoC时代,设计规模越来越大,单一SoC芯片的集成度已经达到了上亿门。在之前的集成电路设计中,设计者首要关心的芯片性能往往是面积与速度,然后才是功耗。到了深亚微米阶段,功耗设计在芯片设计中所占的比重开始上升到与面积和速度同等重要的程度,设计人员需从功耗、性能和成本三者之间取得折衷。据统计数据分析,目前市场上的一些功能强大的微处理器芯片功耗可达100-150 W,平均功耗密度可达50-75 W/cm2。而芯片上某些热点(hot spots)的功耗更是数倍于这一数值。功耗问题的重要性在便携式数码产品芯片的设计中显现的尤为突出。便携式产品要求重量轻、电池续航时间长,而电池技术发展不能跟上这一要求,这就间接使芯片的低功耗设计面临更严峻的挑战。

2集成电路功耗组成

对SoC芯片进行低功耗设计,首先必须从各个方面弄清集成电路的功耗组成,然后采用适当的方法,有针对性地对设计从系统方案到物理版图各个设计阶段进行低功耗分析。由于在当前芯片设计制造中,CMOS电路仍然占据主要位置,以下将从CMOS电路的特点入手讨论数字集成电路的功耗组成。

2.1 功耗组成

SoC中的功耗大致可分为三个部分,即处理器功耗、通讯功耗以及存储器功耗。处理器功耗和通讯功耗又可统称为逻辑电路功耗。

CMOS逻辑电路功耗主要有两部分组成,即动态功耗与静态功耗。动态功耗是指当芯片处于激活(active)状态时,也即信号发生跳变时的功耗;静态功耗是指芯片处于未激活状态或者说没有信号的跳变时的功耗。

2.2 动态功耗

在CMOS电路中,动态功耗主要由交流开关功耗和直流开关功耗两部分组成。交流开关功耗又称为负载电容功耗,是指电路对负载电容充放电形成电流所引起的功耗;直流开关功耗又称短路功耗,是指输出电压变化时由PMOS管和NMOS管在同一时间导通产生的瞬态电流所引起的功耗。

2.2.1 交流开关功耗

交流开关功耗由门的输出电容充放电形成,是CMOS电路动态功耗的首要来源。以CMOS反相器为例,设电源电压为Vdd,输出端负载电容为CL。当输入信号电平分别由高向低或由低向高转换时,对应输出端情况分别为Vdd对电容CL的充放电,从而形成了交流开关功耗,如图1所示。交流开关功耗表示如下。

PD =αCLfVdd2

式中,α为节点的翻转概率,f为电路时钟频率。

2.2.2 直流开关功耗

由于在实际电路中,输入信号的跳变过程总是需要一定的时间,因此当输入电压落到VTn和Vdd-|VTp|的区间内时(VTn和VTp 分别为NMOS管和PMOS管的阈值电压),两管会同时处于导通状态,从而在电源与地之间产生了一条电流通路。由此短路电流产生的功耗就叫做直流开关功耗,也称为短路功耗,如图2所示。

2.3 静态功耗

静态功耗主要是指泄漏电流所引起的功耗,又称泄漏功耗。CMOS电路中主要存在有四种泄漏电流:亚阈值泄漏电流(IDS)、栅泄漏电流(IGATE)、门栅感应漏极泄漏电流(IGIDL)以及反偏结泄漏电流(IREV)。芯片的静态功耗就是由总的泄漏电流引起的功耗之和。可表示为:

Pleakage =Vdd*(IDS +IGATE +IGIDL +IREV)

短路功耗和静态泄漏功耗在深亚微米工艺下占总功耗的比例很小,基本达到可以忽略的程度,此时开关功耗是主要因素。然而,随着工艺技术发展到纳米工艺水平时,泄漏电流造成的功耗将会大大地增加,在某些65 nm工艺中,泄漏电流大小已经达到接近动态电流的水平。

2.4 存储器功耗

存储器是SoC系统的重要组成部分。随着视频、音频等多媒体芯片上存储应用的迅速发展,存储系统功耗日益增加,已经成为SoC系统功耗的重要组成部分。由于在SoC系统设计中,要实现设计功能,往往需要对存储器频繁读写,这样势必会增加大量存储器系统功耗,因此,需要研究可行的设计方案来降低由于存储系统引起的功耗,以提高系统性能,保证系统能够稳定工作。

3低功耗设计方法及实现

在SoC芯片设计流程的各个阶段都需要进行低功耗设计的分析,并采用合适的方法进行低功耗设计。根据集成电路的设计流程由高到低具体包括体系结构级、电路级、寄存器传输(RTL)级以及门级与晶体管级设计。而在进行低功耗设计之前,则首先要进行功耗估计,从整体了解设计的功耗信息以及把握功耗优化的效果。

3.1 功耗估计技术

功耗估计技术是进行系统芯片功耗优化的重要环节,设计过程中如果没有对设计准确迅速的功耗估计,就无法把握所使用的功耗优化技术的效果,低功耗设计也就无从谈起。另外,通过功耗估计能尽早发现电路设计中存在的一些功耗问题,从而尽量避免可能出现的由功耗问题引起的重复设计。功耗估计的方法分为概率分析法和仿真分析法。

概率分析法可以快速估算功率,但精确度有限。目前使用较多的是基于矢量输入的动态仿真方法,即使用仿真工具利用综合或是布局布线阶段得到的门级网表进行动态仿真,得到电路的开关活动性信息,再进行反标,然后根据工艺库的数据从而得到具体功耗。利用动态仿真方法进行功耗分析的关键因素有两个:一是要能够提供合适的输入信号矢量;二是需要足够长的时间进行动态仿真以确保其覆盖率。

3.2 体系结构级设计

进行体系结构设计时,首先可以利用并行处理的技术,在不影响电路基本工作性能的基础上尽量降低其工作频率,从而大大降低功耗。其次,流水线技术也是降低功耗的重要途径之一。其核心思想就是将系统中相同或者相似的一系列操作通过时间上串行,空间上并行的方式实现,其时空图如图3所示。

本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

图中以五级流水线为例,运算总共分成完成时间近似相等的五个步骤,和之前相比,路径长度缩短为原来的,这样,在一个时钟周期t内,充放电电容变为原来的。因此,在相同的电路速度下,可以采用较低的电源电压来驱动系统工作,从而降低了系统功耗。

3.3 电路级设计

通常在SoC电路设计中往往会包含较多的总线,而总线一般都会给电路带来长连线、大电阻和大负载等效应。由此引起的功耗约占总功耗的15%~20%以至更高,因此电路总线的低功耗设计技术也成为SoC设计重点考虑的问题之一。目前比较成熟的总线低功耗设计技术是减摆幅设计Vswing 。定义输出电压高电平为,那么跳变功耗表示如下:

Ps =AVCVswing f

由此可见,降低Vswing 可以达到降低功耗的目的。

另外,电荷再循环总线结构(Charge Recycling Bus)是另外一种降低总线功耗的技术,它把整个电势差分成几等份,利用总线各数据位电容上存储的电荷电势的变化来传输数据,其本质上也是利用了减摆幅技术。

3.4 RTL级设计

3.4.1门控时钟设计

门控时钟是一种应用较为广泛的低功耗设计技术。它是通过减少电路中冗余状态翻转,即让一些暂时不工作的单元处于非触发状态,当需要这些单元工作时,再用使能信号进行触发。借助门控时钟插入技术可以减小由于不必要的时钟跳变而产生的动态功耗。如图4所示,使用控制信号en来完成门控。门控后的时钟信号gclk送到寄存器中。这样,当en为“0”时,该时钟被关掉;en为“1”时,clk被传送给gclk,寄存器正常工作。

在实际的设计过程中,可以借助DC中Power Compiler工具中的相关命令,实现门控单元的插入。

3.4.2 操作数隔离

操作数隔离主要是针对系统中的算术、逻辑运算模块进行低功耗设计,其核心思想是增加额外的数据选择器,通过控制选择器的使能端,在不需要进行算术以及逻辑运算时,使这些模块的输入保持为“0”,从而不让操作数进来,输出结果不会翻转;而如果需要进行这方面的运算时,再将它们打开。

如图5所示为利用操作数隔离设计一个简单加法器的例子。当系统不需要加法运算的时候,adder_en信号为“0”,则加法器的两个输入端都保持“0”,其输出不会发生任何翻转,不会产生动态功耗,而如果需要进行加法运算时,adder_en变成“1”,数据端a,b信号被送入加法器进行加法运算。

3.4.3 存储器分块访问

一个系统中往往需要引入片上存储器,用来存储特定的指令集或运算的中间结果,而片上存储器的加入则会引起功耗的增加。如前所述,SoC设计中存储器带来的功耗已经越来越不容忽视,必须采用适当的设计方法降低存储器的功耗。

存储器分块访问方法是指根据电路中存储器的工作情况,将系统所需要的一定容量的存储器分成相同容量大小的两块或多块,然后通过适当的片选译码实时决定哪片存储器处于工作状态。当然,利用这一方法降低功耗的同时也会不可避免的增加芯片的面积,因此设计中要权衡考虑。

3.5 门级与晶体管级设计

门级与晶体管级是在芯片功耗、性能之间进行折中的最直接的设计层次。在门级设计阶段,主要方法是将节点翻转率比较高的逻辑门合并到复杂的门电路中,从而降低节点的等效电容,以达到降低功耗的目的。另外,逻辑门驱动能力大小的选择也会影响到功耗,一般尽量选择节点电容较小的逻辑门以降低功耗,但这样做也可能会对电路的时序产生相应影响。

晶体管级设计阶段,一般采取先进的制造工艺来降低功耗。比如,采用更小的晶体管特征尺寸使电路负载电容减小,从而使电路的开关功耗随之减小。另外还可以采用低阈值电压器件降低功耗,由于高阈值电压可以有效地减少电路的亚阈值漏电流功耗,减小阈值电压会导致静态功耗呈指数级增加。因此,可以在电路的非关键路径上采用高阈值电压的逻辑器件,在关键路径上采用低阈值电压器件以取得电路性能和功耗的折中。

4 总结

随着工艺的发展,芯片集成度的规模与日俱增,单一SoC芯片的功耗也逐渐达到让人难以接受的

(下转第46页)

程度。功耗问题在深亚微米及纳米工艺条件下系统设计中的瓶颈效应日益加剧,低功耗设计也成为新一代SoC设计方法学的重要内容。低功耗设计贯穿于SoC设计的各个层次中,从最顶层的体系架构设计到最底层的晶体管级设计,都有低功耗设计思想的体现。

参考文献

[1] Keating M, Flynn D, Aitken R,et al. Low power Methodology Manual for System-on-Chip Design [M]. NewYork: Springer, 2007: 34-38.

[2] Emnett F, Biegel M. Power Reduction Through RTL Clock Gating [R]. SNUG Conference, San Jose, 1999.

[3] Mehra R, Rabaey J. Behavioral Level Power Estimation and Exploration. In Proc. Int. Workshop Low Power Design, Napa Valley, CA, Apr. 1994, Piscataway, NJ, IEEE press 1994: 197-202.

[4] Rabaey J M. Low Power Design Essentials [M]. NewYork: Springer, 2009: 55-58

[5] Najm F. Towards a high-level power estimation capability. 1995 Int Symp on Low Power Design, 1995, 87-92

本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文