lcj2212916 2006-9-4 09:35
在SoC设计后端实现低功耗可配置处理器
在SoC设计后端实现低功耗可配置处理器
同传统的固定指令集体系结构处理器相比,可配置处理器可以显著提高芯片的能量效率。这种能量方面的优势来源于三个方面的改善。首先,指令集的配置使得设计的处理器更加适合目标应用,减少了芯片执行的时钟周期数。其次,可配置处理器去掉了一些目标应用不需要的功能,降低了功耗和面积开销。第三,自动化的处理器产生工具保证了逻辑优化、减少了信号的电路开关活动概率,并能无缝映射到低压电路和工艺,使得电路在极低的电压下工作。第一条性能改善已经得到了很好的研究。第二和第三条需要对电路和版图进行详细的验证。
本文从现有的功耗节省模式选项开始,涉及的内容包括对设计结果的分析和权衡:设计优先级权衡、工艺方面的影响,以及采用与主流SoC相兼容的商用可变VDD电压单元库来实现低功耗可配置处理器。这些处理器设计的功耗在0.8V时可以达到20uW/MHz,在0.6V时接近10uW/MHz,上述结果是采用0.13um工艺库后得到的。最后,我们的工作还量化了小型处理器内核在版图设计后其漏电流对工艺,电压和温度所表现出来的强烈相关性。
降低SoC中处理器内核功耗
处理器是SoC设计的基本构建模块。通用的固定指令集架构(ISA)处理器的开关功耗和漏电功耗都相当高。而且为了获得更高的系统性能,在通用处理器的基础上添加新的功能和特性势必会进一步提高芯片的功耗,这与工艺是无关的。采用可配置处理器能够降低系统的功耗,是因为这种可配置处理器是针对目标应用进行定制的。
给定一个处理器,随着芯片晶体管数目的增加以及对功耗敏感的消费产品市场化时间的缩短,越来越多的问题集中在如下方面:即在现有的技术条件下,如何降低芯片功耗,如何降低基于处理器设计方法的芯片能量。本文基于如下假设,即可配置处理器能够在保证较低工作频率的情况下维持目标应用的性能。本文对先进的ASIC设计流程中实际的功耗节省技术进行了量化与分析。图1对四个算法的能量效率进行了详细分析与研究。这四个算法包括针对两个2048个向量元素的点积运算、高级加密标准(AES)安全密码、无线通信中的维特比译码和256点的复数快速傅立叶变换(FFT)。当采用Xtensa处理器体系结构时功耗效率改善的范围为2倍到82倍。
ITRS预测在多核SoC设计中的嵌入式处理器核的数量将随着每一个后续技术节点的出现而翻一倍。在SoC设计中采用多个嵌入式处理器核已经变得非常流行。根据处理器按比例缩小模型,未来SoC设计将基于大量的处理器作为基本的构建模块。
图1:不同应用情况下处理器的有效性增益
硅片资源的重分配向多内核SoC的转移使得低功耗处理器的应用成为一种必然,尤其对那些移动、手持、电池供电的应用更是如此。事实上单元库提供商一直在逻辑门电路级全力推出低功耗设计平台,例如Artisan的SAGEX和Metro标准单元库以及Virtual Silicon的Mobilize标准单元库都能确保低功耗实现。
另一方面,由于对通用嵌入式处理器更高性能的追求,使得设计人员需要增加更多的门电路,这就导致了更大的处理器芯片面积和动态功耗(按照uW/MHz升高)。这种处理器面积和功耗的增加是由于增加了流水线的深度以便允许处理器运行更高的时钟频率,通过增加先进的架构特性来降低分支操作的系统开销,及通过增加新的指令来支持新的应用领域。为了应对这种趋势,针对特定应用来优化处理器指令集和执行已逐渐成为一种重要的设计手段以保证芯片能量的最小化。
节省功耗的选择方法
目前节省功耗可行的方法如图2所示。
图2:降低SoC功耗的方法
动态功耗或者开关功耗由下式表达:
Pdynamic=k×C×V2×F×SA
而漏电功耗则由下式表示:
Pleakage=Ileakage×V×A
在上式中,k=常数(通常在0到1之间变化),C表示电容,V表示操作电压,F为系统设计的频率,SA是开关活动状况,Ileakage为统一的逻辑门漏电流,A表示全部有效的晶体管宽度(通常与逻辑门面积和门数成正比)。选择架构可配置能让系统设计人员使用灵活的专用处理器配置,而不是采用通用的、固定性能的处理器。
为了充分节省硅芯片资源,可配置处理器通过改变功耗方程中的大部分变量来实现低功耗设计,即更小的处理器配置(省去无用的功能特性)减小了变量C和变量A,这种专用的架构允许用户在每个时钟周期能够执行更多的任务(或者说以最低的时钟频率F来执行系统任务),并且门控时钟的广泛使用可以使系统的开关活动状态SA达到最低。这项工作集中在基于设计优先级下的功耗节省选择(C和A相对于时钟频率F)、工艺技术(C)、可变VDD电压(V)和DVFS(V和F),各种权衡与折衷在任何适用的情况下可被一一体现。
本文主要讨论针对任何一个给定的系统架构来进一步降低功耗所采用的技术。采用相同的小规模可配置处理器设计(一个小规模的基于Tensilica的Xtensa LX处理器的配置)可以保证本文在比较时的一致性。这个完整的32位Xtensa架构的处理器芯片在逻辑部分的面积小于0.2mm2。在Silicon Ensemble(SE)工具中用最好的工艺、电压和温度(PVT)情况来检查保持时间。所有的时钟时序报告均基于目标时钟,该目标时钟受最坏的PVT情况下内部触发器到触发器通路上的最糟时序违反路径延迟的限制。布局布线使用了一个6层系统中的5层。布线后的门级仿真采用6种不同的测试工具套件以创建SAIF文件,然后用Power Compiler来测量版图之后背注网表的处理器功耗。
在可变VDD电压方法中,为了节省功耗必须注意设计最后流片时的时序,这是因为存在着固有的噪声容限降低, IR压降、串扰所引入的信号完整性以及片上变异效应等问题。
速度、面积和功耗间的基本权衡
根据不同的应用领域,嵌入式处理器设计可以通过牺牲硅片面积和功耗去追求最高的时钟速度,如台式机和服务器应用;而在电池供电/体积受限的移动设计领域方面,处理器设计的优先级则恰恰相反。
针对相同的嵌入式处理器,我们采用Artisan 的SAGE-X标准单元库在TSMC 0.13um LVLK-OD工艺下综合了9种不同时钟频率的版本。采用Cadence的SE布局布线工具,所有设计的利用率都大致在97%左右。如图3所示,在速度、面积和功耗之间存在相当大的权衡空间。
图3:速度对面积和功耗的权衡(0.13um LVLK-OD工艺)
在TSMC 0.13um LVLK-OD工艺下,最快的377MHz处理器和最慢的150MHz处理器在版图生成后的面积相差18%。这9个处理器面积都非常小,所以在最坏时钟频率和功率情况下综合后的结果和版图生成后的结果相关性非常接近,频率相差大约在2%以内,而在功耗方面的相差则在10%以内。
在0.13um GFSG工艺下(采用Artisan的SAGE-X标准单元库),9个处理器的综合结果如图4所示。
图4:速度对面积和功耗的权衡(TSMC 0.13um GFSG工艺)
Cadence的SE布线工具在各种情况下的利用率为90%到97%。在图4中,采用0.13um GFSG工艺时,经过布线后在299MHz的最快频率下和150MHz的最慢频率下的处理器面积有37%的不同。而且,GFSG工艺下还表明了版图后和综合后芯片面积的紧密相关程度(在5%以内),而在功耗方面则表现出较松散的相关程度(大约20%)。GFSG工艺下松散的功耗相关程度似乎源于片上互连线寄生电容的不同,因为综合后和版图生成后逻辑门数量的差异仅占很小的百分比。在LVLK-OD工艺下更紧密的相关则是由于在LK(金属间绝缘常数为LK工艺下为2.7,而在FSG工艺下是3.7)工艺下较小的互连寄生电容所引起。对于LVLK-OD工艺,除去两种以增加面积为代价获得300MHz以上速度的情况外,mW/MHz对所有处理器核都近似保持常数。随着专用工艺下对目标频率要求的提高,mW/MHz参数随着采用更高驱动能力的单元而增加。对低功耗设计而言,对某一工艺确定目标处理器频率是否超出曲线的拐点就显得非常重要。对GFSG工艺,更多的处理器核需要更大的芯片面积以得到其目标处理器工作频率,相应地增加了芯片的功耗。
由于综合后和版图生成后在功耗和面积方面的相关性随着不同的单元库/工艺而具有很大的不同(即使针对相同的处理器设计),在本文的后面部分将只报告版图生成后的结果。
工艺技术的影响
图5概括了工艺对处理器面积和速度的影响,图中曲线分别表示0.13um 的LVLK-OD工艺和GFSG工艺,采用了Artisan的SAGE-X标准单元库。
图5:工艺技术对面积的影响。
对于相同的速度性能,LVLK-OD工艺与GFSG工艺相比可以节省10-20%的处理器面积,即速度越高,节省的芯片面积越多,这种芯片面积的节省随着芯片工作频率的降低而逐渐消失。
图6表示采用的不同工艺对动态功耗(TT process corner)和速度方面的影响。
图6:工艺对动态功耗的影响
对于相同的速度性能,0.13um 的LVLK-OD工艺与0.13um的GFSG工艺相比可以节省多于20%的动态功耗。请注意0.13um的LVLK-OD工艺和0.13um的GFSG工艺均有相同的1.2V内核电压VDD。
0.13um的LVLK-OD工艺与0.13um的GFSG工艺相比有一个明显的劣势,即其漏电功耗有大约440%的增加,如图7所示。
图7:工艺对漏电功耗的影响
图8:采用Mobilize单元库得到的速度与面积的关系
然而,对于150MHZ和300MHZ的处理器,在采用0.13um 的LVLK-OD工艺时仍然可以节省至少10%的总功耗,但在芯片的工作速度变低时功耗节省逐渐消失。
可变电压方法
按照在第二部分讨论的Pdynamic功耗中的V2效应,可变电压方法对降低芯片的动态功耗是非常有效的。由于漏电功耗与电压V成正比,因此Pleakage也将相应地降低。IP提供商重新设计并精心打造了功能模块电路,因而所有的模块都可以正确运行在TSMC的0.13um G(通用)工艺下经过降低的VDD电压下。我们分别研究一下两种先进的低压标准单元库,即Virtual Silicon的Mobilize标准单元库和Artisan的Metro标准单元库。
在低电压VDD时,速度和功耗间的关系更加明显,即为了获得每一Mhz更快的时钟速率,面积开销在低压VDD时增长更快,因为必须通过使用更多的低电压(弱驱动)单元来得到速度增益。尽管对快速的低压设计需要更大的芯片面积,然而功耗却改善了。对于相同的150MHz版图生成后处理器速度,可变VDD方法可以极大程度地节省功耗,这主要是因为C*V2效应:与1.2V相比,Virtual Silicon的1.0V单元库可以降低功耗17%,而0.8V的单元库可以降低功耗53%,如图9所示。在150MHz以下没有对Mobilize单元库进行试验。
图9:采用Mobilize单元库得到的速度与功耗之间的关系
从图10可以看出,低压VDD时显著提高了功耗效率,在0.8V VDD电压下可以得到21.5uW/MHz的归一化功耗。
图10:采用Mobilize单元库得到的速度与功耗的关系
整个漏电功耗如图11所示,图中包括三种150MHZ的嵌入式处理器,漏电功耗变差的现象并不如可变VDD下那么明显,漏电功耗变差是因为为了保持目标处理器速度的增加必须增加处理器的面积。
图11:采用Mobilize单元库得到的漏电功耗(处理器频率150MHZ,最坏情况下)
然而,漏电功耗密度(每个单元面积)随着VDD而变化,这说明模型的大部分漏电流来自亚阈值扩散电流,而不是漂移电流。否则,比例因子将变成VDD2而不是VDD。
2. Artisan Metro结果
我们采用流行的Artisan Metro低压标准单元库执行了一组不同的试验,重点集中在低压和低频操作,包括采用动态频率和可变电压功耗管理策略。Artisan的单元库包含了一个经过完整标度过的漏电模型,该模型可以对处理器的逻辑电路漏电情况进行详细分析。我们采用一个处理器配置用WC 1.08V的Metro单元进行优化,建立两个在逻辑上等价的处理器版本:一个是高速的处理器,一个是低速的处理器。在不改变整个版图的前提下,我们采用其它四个低压 Metro单元库来对两个处理器版本的时序和最大功耗进行重新分析,即所有的高速处理器版本面积为148,000 um2,而所有的低速处理器版本面积为121,000 um2。电压和速度的关系如图12所示。
图12:采用Metro单元库得到的电压和速度的关系
即使在0.6V时也能得到30到40MHZ的可用性能。速度与功耗的关系如图13所示,在相同设计的处理器情况下,随着电压VDD的降低,时钟速率也相应降低,而整个系统的功耗则有明显的节省。
图13:采用Metro单元库得到的速度与功耗间的关系
高速和低速处理器的归一化功耗(uW/MHz)如图14所示。
图14:采用Metro单元库得到的速度与功耗效率之间的关系
功耗效率有明显的改善:从1.08V到0.6V功耗效率提高3倍多,最坏条件下在0.6V VDD电压下归一化功耗仅为11.3uW/MHz。
3.Artisan Metro动态可变电压/频率结果
DVFS技术减小了低性能任务的功耗,当当前任务需要的性能低于整个处理器的最高性能时允许电压和时钟频率缩小。针对特定应用的处理器扩展带来的附加优势在DVFS技术下表现的非常明显。通过对处理器进行扩展,需要达到某一性能时的处理器频率可以降低,因此时钟频率和电压都可以减小,这足以补偿因处理器扩展带来的每个时钟周期所增加的芯片功耗。
由于低功耗设计平台Metro和Mobilize都支持DVFS特性,因此与处理器电路相关的关键问题是:在每个电压设置点最大的时钟频率和功耗是多少?高速处理器版本被用于提取DVFS功耗,得到的数据如图14所示。DVFS的工作电压在最坏条件下为0.6V、 0.7V、 0.8V、0.9V和1.08V。如图15所示,随着处理器工作频率的变化,芯片的动态功耗相应地降低了19倍。
图15:采用Metro单元库得到的DVFS操作功耗
注意到,当处理器频率从240MHz递减到40MHzs时,动态可变频率技术(DFS)仅仅降低了6倍的动态功耗。
漏电功耗与工艺、电压和温度的关系
动态功耗和能量效率正在逐步获得广泛认识与理解。EEMBC评测协会正在开始开发一种标准化的方法来评测处理器的功耗。然而,即使到今天,处理器漏电功耗仍然很少在文献中被提到,更不用说它与处理器的工艺、电压和温度之间的关系了。
本部分采用标准单元库中现存的漏电模型来评估处理器设计中的漏电情况。采用“可变电压方法”中第2部分的高速版本处理器和Artisan公司为LV和LVOD(相同的门限电压值Vth)设计的SAGE-X标准单元库,我们得到的与工艺相关的漏电功耗如图16所示。
图16:漏电功耗与工艺的相关性
起初,标准单元库并不包括TT/1.1V/125oC模型。为了评估在相同电压和温度下漏电功耗与工艺的相关,图6给出了一个经过建模后的TT/1.1V/125oC数据点,该数据点是四个其它TT数据点(用LVOD/LV标度过)的平均值,而每个TT数据点均由VDD*exp(-qVth/KT)按比例缩放。结果表明漏电功耗具有指数相关性:对于相同的Vth阈值、相同的VDD和温度,FF工艺和SS工艺漏电功耗相差超过16倍。
值得一提的是,使用不同的用于功耗分析的代码序列,漏电功耗只有几个百分比的差别。采用“可变电压方法”中第2部分提出的高速和低速处理器模型,与电压相关的漏电功耗在SS工艺下85oC (WC)时的情况如图17所示。
图17:漏电功耗与电压的相关性
漏电功耗密度也同前面图11提到的一样与VDD成线性关系。尽管拟合得非常紧密,但是高速处理器会使用更多的漏电单元,表现在它具有更高的漏电功耗密度。采用高速版本的处理器模型和Artisan公司为LV和LVOD工艺设计的SAGE-X标准单元库,我们得到了漏电功耗与温度的指数关系,如图18所示。
图18:漏电功耗与温度的指数关系
在温度为25oC时,TT工艺具有最低的漏电功耗。在 FF/110%VDD/125oC的PVT和TT/VDD/25oC的PVT之间,我们观察到的漏电功耗的差别超过70倍。
本文小结
我们对一系列超低功耗处理器实现进行了详细的分析,揭示了速度和面积设计优先级之间的重要关系。这种关系说明为了维持更快速的处理器设计,系统设计人员需要增加越来越多的硬件逻辑门电路。受益于更快速的制造工艺,处理器在实现相同速度和性能时具有更小的面积和更低的功耗,其代价是更高的漏电功耗而且漏电功耗在整个处理器的功耗中会占更大的比例,当然该比例与处理器的运行速度有关。
本文展示了采用可变电压VDD技术可以大幅度节省嵌入式处理器实现时的功耗。虽然在低VDD电压时存在递增的速度和面积开销,但在最低VDD电压时,功耗效率可以提升三倍以上。DVFS技术更是可以使得功耗降低19倍。处理器漏电功耗大小跟温度和工艺成指数关系。对于相同处理器的9种不同配置可以看出,采用低电压单元库可以显著降低处理器的动态功耗和漏电功耗。这种电路级的功耗节省是对处理器体系结构级功耗节省的有益补充。这些处理器核的绝对结果随着不同的设计、流程和方法及其它影响因子而有所不同。因而这些数据只适用于本文讨论中提到的各种技巧和权衡。
作者:John Wei
首席技术专家,[email]jwei@tensilica.com[/email]
Chris Rowen
总裁兼CEO,[email]rowen@tensilica.com[/email]
Tensilica公司