第1章 概述
现在是手持设备的时代,按照标准设计-验证流程的要求,所有芯片都要具备低功耗的特性。
问题是怎样实现低功耗?
用电池供电的功能繁多的手持设备和物联网(internet of things,IoT)设备大量增长,迫使集成电路和芯片必须在非常低的功耗下运行,即100mW~1000mW。即使是可充电的设备,加利福尼亚州能源委员会也规定充电电器必须遵循2013年的能效标准。
在半导体制程技术发展到65nm及以下的情况下,漏电功耗(与之等价的词是静态功耗)主要是CMOS管在无开关动作时的功率泄漏损耗。这在动态功耗的基础上,进一步增加了验证工作的复杂度。
作为一项预防措施,设计工程师会控制芯片的电压,或者将设计分成不同的电压域,以保证*低功耗,以及*终产品能工作在可能的低功耗状态。UPF(IEEE-1801功耗标准)是专门用于描述电路电源功耗意图的一种语言标准。根据UPF,我们可以通过控制电压来控制功耗。但是这种控制电压技术或者说低功耗技术,直接挑战了传统的功耗验证技术、工具、方法和流程。低功耗验证技术、工具和方法的发明给设计-验证-实现流程(DVIF)带来整体革新,降低了低功耗设计的挑战。
本书介绍了多种低功耗验证技术、工具和方法。本书的概念和基本原理建立在许多成功的低功耗设计和验证项目经验之上,同时结合了不同的低功耗技术,参考IEEE-1801标准化委员会的经验。
本书的内容是为了庞大的VLSI设计和验证社区组织的,希望能够帮助他们在低功耗设计领域从零开始积累专业技能。本书提出的功耗感知验证的概念和基本原理,目的是在设计-验证-实现流程(DVIF)早期就启用功耗感知验证,并逐渐渗透到整个流程中。当今业界致力于让所有芯片设计都关注功耗,VLSI设计和验证社区也能从书中实例的经验中获益。
第2章 背景
戈登 摩尔(Gordon Moore)在1965年预测,芯片上的晶体管集成度每2年就会翻倍。摩尔定律在半个世纪后仍然成立,现在的VLSI设计和验证社区应进一步了解半导体物理的基础。能够破解芯片的拥塞问题并使得摩尔定律仍然成立的一个重要原因,是集成电路制造和工艺技术的极大发展。代工厂TSMC在2017年已经开始用10nm及7nm工艺技术来生产了。
更先进的工艺技术能以更小的芯片面积、更低的成本集成更多的功能,这无疑是非常有吸引力的。通常说来,技术进步能减少门延迟,从而进一步提升频率,增加晶体管密度,减少每次开关的功率损耗。
但是,这是以漏电功耗的指数级增加为代价的。为了满足更小的晶体管、更小的互连尺寸、更高的频率,CMOS 器件的阈值电压,也就是在源极和漏极之间创建导通路径的栅源极电压差,已经被*小化到了极限。虽然在FinFET、FlexFET、三栅极晶体管等多栅极器件中部署绝缘体上硅(Silicon on insulator,SoI)带动了一些有前途的工艺集成技术,这些技术可以更好地控制CMOS器件的漏电流,同时克服一些短沟道效应,但是常规半导体制造工艺中多栅极器件的集成仍然是一个需要广泛研究的大课题。
半导体物理关于阈值电压的基本理论是,工艺技术的进步使得在之前占主导的动态功耗面前,漏电功耗变得越来越明显。换句话说,漏电功耗是关于阈值电压的函数,在更小的器件尺寸下,漏电功耗在总功耗中的占比会更大。一个CMOS电路中总体功率消耗可以表示为漏电功耗和动态功耗之和关于时间t的积分:
其中,漏电功耗直接来源于器件电源电压和漏电流的乘积:
动态功耗来源于器件电源电压下容性负载的开关动作:
这里,α为动作因子。
从这些公式可以明显看出,要想*小化动态功耗需要*小化开关电容值和开关动作频率;*小化漏电功耗需要提高阈值电压,同时改进工艺技术。
但是更复杂的工艺会导致更高的漏电功耗,除非在新工艺中加入诸如多栅极器件这样的新发明。
降低器件电源电压Vdd可以同时控制漏电功耗和动态功耗,这在近几年成为功耗管理的关键点,因为与更依赖晶圆厂的集成电路制造工艺相比,电压是芯片设计和验证工作中更有控制力的设计参数。
过去几十年,许多旨在降低漏电功耗和动态功耗的低功耗技术已经得到应用,包括时钟门控、多阈值器件、体偏置和晶体管尺寸调整。这些技术的应用很广泛,但每种技术都有其局限性和复杂度。现在电源电压成为问题的关键,人们逐渐采用更先进的基于降低或控制电源功率的功耗管理技术。如示例2.1所示,目前主流的低功耗技术主要基于片上系统(system on chip,SoC)、ASIC、微控制单元(microcontroller units,MCU)和处理器核心设计。
示例2.1 主流低功耗技术
(1)电源门控或电源关断。
(2)带状态/数据保持功能的电源门控。
(3)带状态/数据保持功能的低功耗待机。
(4)面向性能需求的多电压设计。
(5)动态电压(以及频率)调整。
(6)适应电压(以及频率)调整。
尽管这些技术的名称已经足以表达它们在设计-验证-实现系统中的操作和目标,但是直到2007年,UPF或类似的CPF1)出现之后,这些技术的应用和验证才变为可能。尽管CPF不是IEEE标准,但是很多CPF的语义在IEEE-1801委员会标准化UPF时起了作用。
2.1 功耗意图
前面列出的主流功耗管理和低功耗技术只是基于对电源电压的直接控制,包括供电电源连接和片上电压域或电源网络的分布。这些都不足以理解和反映功耗感知验证计划或功耗意图,以及在寄存器传输级(register transfer level,RTL)或门级合成之后启动功耗感知验证。
通常来说,用verilog、VHDL或者SystemVerilog(HDL部分)编写的RTL是黄金参考设计,在其中添加电源网络和对应的连接关系是完全非常规的。除非是在设计实现的布局阶段,否则将设计的特定层级划分到指定的电压域是不可能的。很明显,行业面临的问题是缺乏一种方法,这种方法可以在不干扰HDL参考设计的前提下,在高抽象层级的RTL设计中定义电源连接关系、电压域和电源网络分布。因此,在从RTL到布局布线(P&R)的任何设计抽象层级上,通过功耗规范采取任何新的或主流的功耗可控设计技术都是不可能的。此外,对电网连接、电压域分布等的验证也是不可能的,除非在设计实施周期的后期提供布局布线后电源接地(PG)连接网表。
2.2 UPF简介
2007年年初,Accellera Systems Initiative 组织推出统一功耗格式,也就是UPF1.0,它允许用户在不直接干扰HDL 参考设计的前提下,定义、管理设计的功耗。将功耗意图(power intent)直接覆盖在HDL 参考设计之上,UPF继承了这一理念。这种覆盖需要通过方法论为实际的电源网络、电压,以及功率域分布和对应的功耗状态进行抽象建模,而不进行直接(设计上)的干预。这些方法基于RTL 的功耗规范或功耗意图,允许设计者在整个设计过程中,特别是在综合后和布局布线后,不断优化电源域(power domain,PD)中的功耗网络分布。
总体说来,UPF从设计实现和验证的角度提供了对完整设计进行功耗管理的概念。因此,功耗感知验证和实现的自动化工具也建立在UPF语义和语言参考之上。
早期的UPF1.0主要从物理设计的角度出发,着眼于电源网络、电源端口、电源网络及其功率状态。这些物理实体在RTL 或更高层级的抽象设计中大多不存在,除非设计已经经过综合和布局布线(P&R)。这与至少从RTL阶段就开始功耗管理和验证的目标相矛盾,也拖慢了这个进程。
2009年,IEEE标准组织发布了IEEE-1801-2009,也就是UPF2.0,这是**个真正适用于实现任何抽象层级的功耗意图的标准。UPF2.0*先提出电源集合的概念,这是一个电源网络的抽象集合,包含电源、接地及偏置,偏置功能反应可能的电源网络与对应设计部分之间的连接。电源集合可以根据设计的抽象层级,由RTL层开始逐步优化、逐步扩展以满足不同的功能需求。
展开