一、低功耗设计方案综述
为了实现集成电路的低功耗设计目标,我们需要在系统设计阶段就采用低功耗设计方案,因为随着设计流程的逐步推进,到了芯片设计实现阶段,降低芯片功耗的方法将越来越少,可节省功耗的百分比将不断下降,这时,设计的主要目标将会侧重于如何将设计方案变成物理实现。
1、方案的选择
集成电路设计流程中设计数据是有统一的格式的,系统设计到逻辑综合由RT L网表传递,逻辑综合到物理实现则由门级网表传递,布局布线后,逻辑验证和形式验证由门级网表传递。显然,对于低功耗设计我们也需要一种统一的功耗约束文件,即通用功耗格式CPF(common power format)文件,在整个流程中传递低功耗指标和参数。
设计阶段 | 解决方案 | 设计工具或方法 |
系统级 算法级 | 系统分割 内存组织管理 电源管理 电压与频率降低 算法评估 算法转换 | C systemC systemVerilog |
仿真验证 可测试性 | 形式验证 逻辑验证 DFT | systemVerilog Verilog VHDL CPF文档 |
RTL编码 逻辑综合 | 状态编码 数据与地址线编码 信号隔离 DFT 面积优化 门控时钟 多阈值CMOS 多电源多电压(MSMV) 电源关断与电源保持时钟门控 动态电压与频率调节技术(DVFS) | Verilog VHDL CPF文档 设计约束文档 门级网表 多电压库 多阈值CMOS库 |
布局布线 物理实施 | DFT 多阈值CMOS | CPF文档 设计约束文档 门级网表 多电压库 多阈值CMOS库 |
CMOS工艺的电路功耗可分为动态功耗和静态功耗两大部分。
其中,动态功耗包括器件本征电容和线负载电容充放电产生的功耗(也称为开关功耗)和由于输人信号跳变导致NMOS、PMOS同时导通从而形成电源到地的通路所产生的功耗(也称为短路功耗)。对于动态功耗而言,它除了与供电电压值有关外,还与负载电容、电路频率和跳变因子有关。随着器件尺寸的缩小,器件电容也在不断减小,与此相反,电路工作频率和信号跳变频率却在不断地提高,因此要减小动态功耗还需在电路工作频率和信号跳变频率上寻求解决方案。由于电路频率的降低意味着电路工作性能的下降,从而在保证性能的前提下,减小不必要的信号跳变频率就成了减小动态功耗的切入点。这种要求产生了动态电压与频率调节(DVFS)技术。
当逻辑门处于静态时,由PN结反偏电流、亚阈值电流、栅泄漏电流等效应引起的功耗称为泄漏功耗。虽然单个逻辑门的泄漏功耗相当小,但对于千万个逻辑门来说,泄漏功耗变得不能忽略,到90nm工艺节点后泄漏功耗已逐渐赶上并超越动态功耗成为功耗的主要部分。这种要求产生了多阈值电压(MTCMOS,MT为multi-threshold)的方法。
功耗与电压有着密切的关系,因此降低功耗最有效的方法是降低电路的供电电压,这种要求产生了电源关断(PSO)和多电源多电压(MSMV) 的方法。
2、基本方法
低功耗设计的基本方法包括:①面积优化,它也是最经典的一种方法;②纳米技术中开始引入使用的多阈值电压技术;③时钟门控电路。
1)面积优化
RTL逻辑综合的主要目标包括优化时序、功耗和面积。在物理实施阶段,同样需要优化芯片的总面积和芯核面积,这样可以进一步减小功耗。在时钟树综合时,一方面通过约束文件,加速时钟信号的传输,减小时钟树的总功耗,另一方面,优先选用反向器,而非缓冲器,减小时钟树上逻辑门的面积。但是,芯片的面积往往受到封装的约束,和其他低功耗方法相比,通过减小面积降低功耗的效果比较有限。
2)多阈值电压技术
在低功耗设计中通过减小泄漏功耗,例如采用多阈值器件MTCMOS(muhi-threshold CMOS)技术,也是个较好的低功耗设计办法。
多阈值器件技术减小泄漏功耗的思想是,在电路中的关键路径使用低阈值电压的逻辑器件,非关键路径使用高阈值电压的逻辑器件。阈值电压 较高的逻辑单元漏电流较小,但速度也较低,适合用于非关键时序路径收敛。阈值电压较低的单元漏电流较大,但工作频率较高,速度快,用于关键时序路径。通过综合工具获得最优化的高阈值电压 和低阈值电压 单元的组合,由此产生的网表能够在满足设计目标的同时尽可能地降低漏电流。这一技术的实现需要有多阈值电压单元库的支持,即能提供具有不同阈值电压的逻辑单元,在综合时,设定泄漏功耗的目标值,综合工具能够根据时序路径自动选择或替换合适阈值的逻辑单元。
3)门控时钟
时钟信号贯穿于整个芯片,芯片工作时,时钟信号在存储单元的时钟输入端周期性跳变,所驱动负载电容非常大,产生较大的动态功耗,所以借助门控时钟插入技术可以减小由于不必要的时钟跳变而产生的功耗。
门控时钟技术是目前应用较为广泛和成熟的低功耗设计技术。门控时钟的逻辑综合非常容易实现,首先打开门控时钟综合这个选项,再指定门控单元所选择的类型,以及门控单元的扇出,最后指定动态功耗的目标,EDA工具便可以自动地综合生成。现在很多库厂家都提供了集成的门控时钟。门控时钟的插入需要考虑测试的问题,在时钟树综合阶段也需要特殊地处理。
为了进一步的达到低功耗的目的,可以采用低功耗的时钟树综合技术(LP-CTS),这种技术利用最优化的时钟门布局及克隆与反克隆等方法在确保了时钟功率优化的同时可以满足时序和物理目标的双重需求,达到了更好的负载分配并将时钟信号传输时间降到最小。
二、低功耗设计先进方法与物理实施
在低功耗设计的基本方法中,采用面积优化以降低功耗的方法已经成熟,多阈值电压方法和门控时钟方法节省功耗的效果比较有限。目前,节点效果更加显著的、先进的低功耗设计方法包括:
- 多电源多电压技术;
- 电源关断与状态保持电源门控技术;
- 动态电扭与频率调节技术
从系统架构设计、功能验证到物理实施过程,用传统的分段设计方案会比较复杂,但如果运用CPF,整个设计流程将变得非常顺畅并容易实现。
1、多电源多电压技术
多电源多电压(MSMV)是一种可以有效降低动态功耗的技术,不少文献简称这种方法为多电压。所谓多电源,是指不同的逻辑模块处于不同的电源域中,由不同供电电源供电,包括逻辑和物理多电源供电和多电压情况。
物理布图阶段,在核心区创建相应的电压域,每个电压域中只包含属于该电压域的模块或单元。此外,不同的电压域中的逻辑要与相应的时序库对应,在时序分析、功耗分析和优化过程中正确选择相应电压域的单元库。如下图所示:
MSMV的布线与单一电压布线不同,由于存在多个电压域,应当保证同一电压域内单元之间的互连线保持在当前的同一电压域内,并保证不同电压域之间的互连线不要跨越第三方电压域,避免不同电压域之间的影响。如下图所示
多电压技术的采用使得电路中的某些模块工作于较低电压,它们更容易受到电压降的影响,从而引起时序违例。 对于静态电压降效应的解决方法是改进优化电源网络。对于动态电压降效应的解决方法是在电源和地线之间插入去耦电容(decoupling capacitance)。当某一瞬态电路中局
部地区大量单元同时发生信号翻转,极短的时间内引起充放电流增大,导致电源轨道电压下降,这时去耦电容将为附近的单元提供额外的电流,以减小电源轨道上的电压降,从而减轻动态电压降效应对时序的影响。
MSMV 设计方法和电源关断PSO 的物理实现需要使用两种特别逻辑单元,它们分别是电平转换单元(level shifter)和隔离单元(isolation cell) 。
电平转换单元不具有逻辑功能,它用于不同电压值的电压域PD(power domain)之间信号电平的转换,通常有两个供电电压端口分别连接两个不同电压域的供电电压。
隔离单元起不同电压域之间的电位钳制与隔离作用。
2、电源关断(PSO)技术
电源关断技术是降低泄漏功耗的最有效方法,其思想就是通过关断芯片中暂时不需要的某个区域或者某个子模块的供电电压,从而达到减小功耗的目的,它的实现同样需要引入电压域的概念。
电源关断思想听起来较简单,但实现起来并不那么容易,设计者必须考虑在何处加入门控电压单元以及如何加入开关来实现关断。实现对电路的开启和关断需要仔细规划转换周期电路,以防止电流过冲,避免电路损坏。要统一模拟电路在关断电路时功耗节省,以及开启电路时消耗的开关功耗。
首先让我们来考虑可关断电压域与常开电压域。当可关断电压域关断后,应当在其输出端口插入隔离单元(isolation cell)。隔离单元与电平转换单元一样一般都放置在电压域的边界处。
有些电路设计会同时采用PSO与MSMV技术,这时两个不同电压值的电压域之间不仅需要电平转换单元而且需要隔离单元,因此有些标准单元库会提供将这两种功能组合在一起的单元。 由于不同电路模块工作在多个电压域中,在综合时,MSMV技术的实现需要有相应库单元的支持,它们通常都可以由标准单元库供应商提供。进行逻辑综合时,首先用CPF文档定义不同电压域的模块所使用的工艺库名称,在综合时,分别添加隔离单元和电平转换,EDA工具会自动选择定义的单元库中的标准单元来实现逻辑综合产生门级网表。
保持逻辑模块处于实现快速唤醒的状态非常重要,它是指在关断电源的周期中,将模块的重要信息保存在存储器中或使用状态保持电源门控单元将寄存器数值予以保留。状态保持电源门控是在原有主从寄存器的基础上分别使所有主寄存器和从寄存器工作在不同电压下来实现的。因此PSO的实现需要除了用隔离单元以防止电源关断后输出信号的不确定性影响正常工作的电路模块,还需要有状态保持电源门控单元。
3、状态保持电源门控SRPG技术
时钟门控技术和电源关断技术都是建立在门控制或电压门的基本原理上。通常有两种结构的电压门,一种称为精细(fine-grain)结构,另一种称为粗制(coarse-grain)结构。
精细结构的思想是在每个标准单元的电源/地和构成逻辑的晶体管间插入多余的晶体管,以切断电路的泄漏电流。当然更多情况是每个标准单元中由一个晶体管构成电压门。此外,为了使之能够承受很大的电流冲击需要调整门控晶体管的体积,如果门控晶体管设计得太大,不但会增大面积,紧缩布线资源,还加大了延迟,影响电路性能;如果太小,则会影响系统的抗噪声性能,降低系统可靠性,甚至会导致电路根本无法工作。
状态保持电源门控是一种特殊的寄存器,它属于精细结构的一种衍生结构,它在传统的主从寄存器基础上做了一些改进。通常主触发器(master FF)的供电电压由精细结构的电压门控制,连接正常的电压值。从触发器(slave FF)连接一常通的低供电电压。当电压关断后数据被从触发器保存起来,待重新上电正常工作后再恢复保存值。
粗制结构门也称为全局电压门,它利用“开关单元”控制整行标准单元电路与电源/地线轨道的连接,从而减小了每个单元的面积和多余的单元端口,但由于“开关单元”控制着整行单元电源地线的连接,所以其晶体管尺寸的选择比较关键,通常开关单元晶体管的宽/长比较大,而且每行单元会采用缓冲链依次将其关闭和幵启,以避免过冲电流烧毁芯片。
4、动态电压与频率调节技术
随着近年来轻便型或微型电子设备功能和性能的不断增强和提高,例如,手提电脑、个人数字助理和手机等对音频、视频和图像的高品质处理能力,电池功耗能力依旧是一项局限,这就使得电源管理功耗技术得到更快的发展。动态电压与频率调节(DVFS,dynamic voltage frequency scaling)技术已经在微处理器低功耗设计方面,如在实时处理系统中得到更多的关注。DVFS方法也可以看成是MSV方法的一种扩展。
一个典型的DVFS系统的工作流程包括:对系统信号负载采样,通过相应的算法进行性能计算预测,根据预测结果对电路工作状态进行DVFS调整,再由电源管理系统实现状态调节维护。DVFS的调整包括动态电压调整和时钟频率调整,当预测工作频率将由高到低变化时,先降低频率,再降低电压;当预测工作频率升高时,先升高电压,再升高频率。
基于硬件的DVFS系统要求每个任务必须在规定的时限内完成,否则视为无效操作。硬件实现一方面增强了负载计算的准确性,另一方面减轻了CPU用于负载跟踪与性能预测的负担,但硬件的弊端是缺乏对预测算法选择的灵活性,电路主要的活动信号与空闲信号被采集后,送到硬件模块进行性能预测,得到的结果与预先设置的门限进行比较,如果预测的性能需求高于上限,则请求调高频率;如果预测性能低于下限,则请求降低频率。这种请求作为一种中断信号发给控制模块设置相应的频率和电压。
DVFS技术在保持系统正常工作的前提下允许动态地调节电路工作电压和频率,不仅能够减小电路的功耗而且延长了电路的使用寿命,目前它是低功耗技术中效益较高又尚未得到完全实施的一项先进技术。DVFS设计方法实现起来比较复杂,它需要在系统级通过架构算法,结合软件和硬件技术达到要求。
5、衬底偏置技术
进入纳米设计,泄漏电流对功耗的影响会更加显著。在MTCMOS技术中,我们讨论了通过选择不同的阈值电压的方案去降低静态功耗。由于工艺参数(包括沟道长、沟道宽、绝缘层的厚度)带来的误差,使得MTCMOS技术在晶体管的“缺陷”测试分析变得复杂困难。相比之下,在CMOS中采用正向有源区(衬底)偏置(FBB,forward body bias)不仅可以降低泄漏电流,同时对工艺参数的误差分析也较为简单。
这种改变P区和n 区衬底偏置电压的方案也称作衬底偏置(substrate biasing)技术。
衬底偏置通过版图实现有两种方案:
- 一种为有源阱区(well-tap, body bias)偏置方式,它通常只需要布放在每一排标准单元的两端或按照一定的间隔布放,它适用于不含well-tap的标准单元库。其优点是节省面积,但易受闩锁(latch up)的破坏。
- 另一种为标准单元内置(in-cell tap)偏置方式,每一个标准单元内部均带有连接偏置电源的端口,它的优点是不会产生闩锁效应,其缺点是单元面积大,布线比较困难。