赛灵思FPGA 的功耗优化设计
基于FPGA的Vivado功耗估计和优化
基于FPGA的Vivado功耗估计和优化
资源、速度和功耗是FPGA设计中的三大关键因素。
随着工艺水平的发展和系统性能的提升,低功耗成为一些产品的目标之一。
功耗也随之受到越来越多的系统工程师和FPGA工程师的关注。
Xilinx新一代开发工具Vivado 针对功耗方面有一套完备的方法和策略,本文将介绍如何利用Vivado进行功耗分析和优化。
功耗估计
在Vivado下,从综合后的设计到布局布线后的设计,其间产生的任何DCP文件都可用于功耗估计,如图1所示。
打开综合后的设计或布局布线后的设计,既可以在图形界面模式下,选择Report Power,也可以直接用Tcl 命令report_power获取功耗估计结果。
其中,利用布局布线后的设计可获得更为精确的功耗估计结果。
在Vivado下,有两种功耗估计模式。
一种是向量模式,需要提供
SAIF(Switching AcTIvity Interchange Format)或VCD文件;一种是非向量模式,只需要提供简单的参数即可,但估计结果不够准确。
SAIF文件通过仿真生成,因此需要在SimulaTIon SetTIngs中进行设置,如图2所示。
这里的仿真只能是综合后的功能/时序仿真或者布局布线后的功能/时序仿真,这是由图1的流程决定的。
Xilinx建议在向量模式下选择SAIF文件,因其估计速。
赛灵思FPGA 的功耗优化设计
Static Power Reduction Going to Smaller Device
330k ‡ 220k
-33%
220k ‡ 110k
-51%
110k ‡ 85k
-24%
85k ‡ 50k
-46%
50k ‡ 30k
-33%
图5 – 通过规模减小来降低静态功率
线性功能,并且彼此完全相同,那么就 可以只用一组电路但将速率提高一倍来 完成同样的功能。 这样需要的逻辑资源 就减少了一半。
XPower Estimator 可 根 据 用 户 对 FPGA 资源使用、开关速率以及负载等 方面的描述快速进行功率估算。 这款工 具主要用于初始功率估算、选择电源和 稳压器以及系统冷却解决方案(如散热 器、风扇等)。
采 用 这 一 基 于 Microsoft Excel 的 工具,系统设计师可进行面向器件、设 计和系统的功率决策。 只需要简单的输 入估计的设计参数,如资源利用、工作 环境以及时钟和开关速率就可以了。 然 而,XPE 会计算给定设计的估算功率并 给出总功率和最大结温,以及基于电源 轨和设计模块的功率。
手把手课堂:FPGA 101
赛灵思 FPGA 的功耗 优化设计
设计人员可利用多种工具和技术来满足功率预算要求
作者:Matt Klein 技术营销首席工程师 Xilinx, Inc. matt.klein@
在过去的五六年时间里,IC 工艺从 130nm 快速发展到 90nm 并随后很快进 入当前的 65nm 结点,工艺技术的每一 次进步都使得功率管理变得更为重要。 在 130nm 节点时,IC 生产商就开始注 意到晶体管的电流泄漏问题,即使在闲 置模式下,晶体管也存在由于电流泄漏 而带来的功率消耗。 进入 90nm 工艺时 代,IC 的工作电压进一步下降,但电流 泄漏问题更加严重,在器件的总功耗中 占有相当大的比重。 对于 65nm 工艺, 这些趋势仍在延续。 事实上,对 65nm 工艺来说,电流泄漏问题如此严重,以 致许多设计师认为功率管理与实现性能 指标同样重要。
Stratix IV FPGA功耗管理和优势功耗管理及优势
䘏䕥↨
Ԣࡳ㗫䘏䕥
催䗳䘏䕥
Ͼᅶ᠋䆒䅵
图 6 所示为一个典型的余度直方图,大部分通路 ( 左侧 ) 都有一定的余度,只有少量关键通路 ( 右侧 ) 需 要性能最好的逻辑以达到时序要求。
影响
主要
小 小 可忽略
敏感性
供电电压 栅极阈值电压 温度 沟道长度
栅极氧化层厚度 供电电压
栅极氧化层厚度 供电电压
N/A 至低电压 CMOS
设计方法
降低内核电压 提高电压阈值 增加逻辑门长度
双门氧化
双门氧化
不需要
动态功耗是器件工作时由于信号触发和容性负载冲放电所带来的功耗。如图 3 所示,影响动态功耗的主要 因素是电容充电、供电电压和时钟频率等。按照摩尔定律,小工艺尺寸减小了电容和电压,从而降低了动 态功耗。而难点在于小工艺尺寸上实现了更多的电路,提高了最大时钟频率。随着工艺节点的减小,相同 电路的功耗在降低,但是 FPGA 容量在不断加倍,最大时钟频率不断提高。
■ 低功耗模式,Quartus II 软件减小反向偏置电压 ( 使其更小,负值 ),使得晶体管很难接通。这降低了时序 不重要电路的亚阈值漏电流和不需要的静态功耗。
■ 高性能模式,Quartus II 软件增大反向偏置电压 ( 使其增大,负值 ),在几个关键时序通路上的晶体管更容 易接通,以满足设计中规定的时序约束要求,提高性能。
可编程功耗技术
FPGA 内核主要包括逻辑、存储器和数字信号处理 (DSP) 模块。在 Virtex-5 FPGA 等标准 FPGA 中,所有逻辑 模块都设计运行在一个速率上——最大速率,由图 4 中黄色模块表示,导致非常大的功耗。
ISE设计工具实现算法将动态功耗降低10%
ISE设计工具实现算法将动态功耗降低10%Xilinx(赛灵思)是全球领先的可编程逻辑完整解决方案的供应商。
Xilinx研发、制造并销售范围广泛的高级集成电路、软件设计工具以及作为预定义系统级功能的IP (Intellectual Property)核。
客户使用Xilinx及其合作伙伴的自动化软件工具和IP核对器件进行编程,从而完成特定的逻辑操作。
Xilinx公司成立于1984年,Xilinx首创了现场可编程逻辑阵列(FPGA)这一创新性的技术,并于1985年首次推出商业化产品。
目前Xilinx满足了全世界对FPGA产品一半以上的需求。
自从Xilinx推出FPGA二十多年来,研发工作大大提高了FPGA的速度和面积效率,缩小了FPGA与ASIC(Application Specific Integrated Circuit的英文缩写,在集成电路界被认为是一种为专门目的而设计的集成电路)之间的差距,使FPGA成为实现数字电路的优选平台。
现如今FPGA在各种电路设计中广泛应用,如何对FPGA系统进行低功耗优化成为一个重要的现实问题。
从最早的FPGA功耗模型的建,到较完善的FPGA功耗估算模型,再到现在功耗估算工具的出现,FPGA设计时对功耗的预估已经越来越准确,节约功耗的方法也越来越多样降低FPGA 功耗是缩减封装和散热成本、提高器件可靠性以及打开移动电子设备等新兴市场之门的关键。
Xilinx在提供低功耗FPGA 解决方案方面一马当先。
本文说明如何应用计算机辅助设计(CAD,CAD-Computer Aided Design)利用计算机及其图形设备帮助设计人员进行设计工作)技术,如Xilinx?ISE?9.2i 软件中采纳的技术,来有效降低功耗。
ISE是使用XILINX的FPGA的必备的设计工具,它可以完成FPGA开发的全部流程,包括设计输入、仿真、综合、布局布线、生成BIT文件、配置以及在线调试等,功能非常强大。
实现低功耗FPGA电子系统优化技巧与方法
实现低功耗FPGA电子系统优化技巧与方法本文首先与实测系统功耗进行对比,验证了Xilinx公司ISE软件包中FPGA 功耗估算工具XPower的准确性。
然后对FPGA设计中影响系统功耗的几个相互关联的参数进行取样,通过软件估算不同样点下的系统功耗,找到功耗最低的取样点,得到最佳设计参数,从而达到优化系统设计的目的。
实验中通过这种方法,在一个FPGA读写SRAM 的系统中,在单位时间读写操作数固定的条件下,选取了读写频率与读写时间占空比这两个参数来优化系统功耗。
最终测试数据证明了该方法的正确性。
FPGA在各种电路设计中广泛应用,如何对FPGA系统进行低功耗优化成为一个重要的现实问题。
从最早的FPGA功耗模型的建立[1],到较完善的FPGA功耗估算模型[2],再到现在功耗估算工具的出现[3],FPGA设计时对功耗的预估已经越来越准确,节约功耗的方法也越来越多样。
本文基于FPGA功耗的预估,提出将影响功耗的因素做为功耗函数的参数,根据参数取样并预估样点功耗找到功耗函数的最小值,从而得到最佳参数以优化系统设计并节约系统功耗的方法。
设计了一个FPGA读写常用存储器SRAM的系统,选取了读写频率与读写时间占空比这两个参数来优化系统功耗,通过对比预估值与实测值证明了该方法的正确性。
1 FPGA功耗估算工具1.1 XPower介绍Xilinx公司的ISE Design Suite工具套件中提供了功耗仿真器XPower Analyzer,它可以对可编程逻辑器件的功耗进行分析[3]。
功耗来源分静态功耗和动态功耗两部分[1]。
静态功耗主要由晶体管的泄漏电流和FPGA偏置电流引起,它与工艺技术、晶体管特性、晶体管个数、采用的绝缘介质等因素有关,这些是由FPGA本身决定的,与电路活动无关。
晶体管的泄漏电流主要由三部分组成:亚阈值漏电流、栅极漏电流和源漏极反偏漏电流,已经有文献对它们的值进行精确建模[4]。
动态功耗是器件核心或I/O在开关状态切换中消耗的能量[1]。
优化FPGA功耗的设计和实现
优化FPGA功耗的设计和实现为设计寻找完美FPGA 的重要性日渐升级,其中功耗已成为主要考虑因素。
功耗管理在大部分应用中都非常关键。
某些标准已为单卡或者单个系统设定了功耗上限。
鉴于此,设计人员必须在设计过程中更早地对功耗问题加以考虑,一般来说应该从选择FPGA 开始。
减少FPGA 的功耗可以降低供电电压,简化电源设计和散热管理,降低对电源分配面的要求,从而简化电路板设计。
低功耗还可以延长电池寿命,提高系统的可靠性(运行温度较低的系统寿命更长)。
功耗挑战伴随每一代工艺技术的问世,晶体管的尺寸可依照摩尔定律不断缩小。
但这种现象也会带来副作用,即每个晶体管内的漏电流会增大,进而导致静态功耗增大(未工作状态下FPGA 消耗的总电流增大)。
FPGA 性能的提升会提高时钟速率,使动态功耗上升。
静态功耗是晶体管漏电流造成的,动态功耗则取决于可编程逻辑和I/O 的开关频率。
由于每一代FPGA 的容量都在增大,会使两种功耗不断增加。
更高的逻辑容量意味着每个器件会有更多漏电流和更多在更高速度下运行的晶体管。
鉴于这些问题的存在,设计人员必须在设计过程中尽早对电源和热管理问题有更加清楚的认识。
给器件加上散热器并不足以解决这些问题。
因此设计人员必须尽量减少设计中的逻辑用量。
首先来看几点指南,有助于理解在设计过程各个阶段应采取何种措施来降低FPGA的功耗。
很明显,在设计过程的初期彻底理解这些问题能带来最大的收益。
图 1 说明了包括FPGA 选择以及低功耗设计技巧在内的贯穿整个设计过程的不同设计点7 系列工艺技术在选择FPGA 的过程中,应谨慎考虑工艺技术,它能帮助用户判断器件的漏电流和性能。
赛灵思7 系列FPGA 采用28 HPL (28nm 高性能低功耗)工艺,在。
XILINX FPGA设计中如何更好的优化资源
XILINX FPGA设计中如何更好的优化资源在设计过程中我们只要注意一些要点,就可以节省下宝贵的芯片资源。
下面以XILINX FPGA为例阐述在设计中如何节约资源。
一从器件角度来理解如何节省资源FPGA是基于查找表技术的可编程逻辑器件,其内部包含丰富的资源:CLB,BlockRam 而有些器件还包含了DSP48等资源。
CLB是FPGA的基本逻辑单元,CLB模块不仅可以用于实现组合逻辑,时序逻辑,还可以配置为分布式RAM和分布式ROM。
每个CLB由2个或4个相同的Slice和附加逻辑构成,CLB内部结构如图1所示。
图1 . CLB内部结构每个Slice由2个LUT,2个FF和进位链构成。
图2即为6输入LUT的内部结构。
图2 . LUT6内部结构1.利用Slice来优化资源。
巧妙利用Slice可以节约很多的资源,典型的例子就是移位寄存器。
对比用代码编写的32位移位寄存器和用原语调用的32位移位寄存器,就可以看出怎样利用Slice节约资源。
用代码编写的32位移位寄存器:always@(posedge clk)beginQ <= {Q[30:0],D};end用原语调用一个32位移位寄存器:SRL32#(.INIT(32'h00000))U_DIV_LATENCY_OIF0[2:0](.CLK(Gclk), .D(Oif_base_q), .Q(Oi f_base_q0), .A0(1'b1), .A1(1'b1), .A2(1'b1), .A3(1'b1) , .A4(1'b1));综合之后可以发现,使用代码会消耗32个FF,而使用原语只要一个LUT6就可以完成。
用原语生成移位寄存器要比用代码生成寄存器节约32个触发器资源。
当然我们也可以例化IP核,但是,使用原语会比例化IP核在complier时候更加节省时间。
因为Verilog语言的IP核是由.v和.ngc文件构成的。
Xilinx FPGA的功耗优化设计
Xilinx FPGA 的功耗优化设计是工作电路的直流电流,但在很大程度上,这部分电流随工艺和温度的变化不大。
例如I/O 电源(如HSTL、SSTL 和LVDS 等I/O 标准的端接电压)以及LVDS 等电流驱动型I/O 的直流电流。
有些FPGA 模拟模块也带来静态功耗,但同样与工艺和温度的关系不大。
例如,Xilinx FPGA 中用来控制时钟的数字时钟管理器(DCM);Xilinx Virtex-5 FPGA 中的锁相环(PLL);以及Xilinx FPGA 中用于输入和输出信息可编程延迟的单元IODELAY。
动态功耗是指FPGA 内核或I/O 的开关活动引起的功耗。
为计算动态功耗,必须知道开关晶体管和连线的数量、电容和开关频率。
FPGA 中,晶体管在金属连线间实现逻辑和可编程互连。
电容则包括晶体管寄生电容和金属互连线电容。
动态功率的公式:PDYNAMIC=nCV2f,其中,n=开关结点的数量,C=电容,V=电压摆幅,f=开关频率。
更紧凑的逻辑封装(通过内部FPGA 架构改变)可以减少开关晶体管的数量。
采用更小尺寸的晶体管可以缩短晶体管之间的连线长度,从而降低动态功率。
因此,Virtex-5 FPGA 中的65nm 晶体管栅极电容更小、互连线长度也更短。
两者结合起来可将结点的电容减小约15%至20%,这可进一步降低动态功率。
电压对于动态功率也有影响。
从90nm 转向65nm 工艺,仅仅通过将VCCINT 从1.2V 降至1V,Virtex-5 FPGA 设计的动态功率就降低了约30%。
再加上结构增强带来的功率降低,总的动态功耗比90nm 技术时降低达40%至50%。
(注:动态功率与VCCINT 的平方成正比,但对于FPGA 内核来说基本上与温度和工艺无关。
)。
FPGA开发功耗管理攻略
FPGA开发功耗管理攻略作者:Steve Leibson, 赛灵思战略营销与业务规划总监在绝大部分使用电池供电和插座供电的系统中,功耗成为需要考虑的第一设计要素。
Xilinx决定使用20nm工艺的UltraScale器件来直面功耗设计的挑战,本文描述了在未来的系统设计中,使用Xilinx 20nm工艺的UltraScale FPGA来降低功耗的19种途径。
1.制造工艺:TSMC使用20SoC工艺来生产Xilinx 20nm的UltraScale器件,该工艺采用TSMC第二代gate-last HKMG(high-K绝缘层+金属栅极)技术和第三代SiGe (silicon-germanium)应变技术来实现在低功耗时提高性能。
跟TSMC 28nm工艺相比,20SoC工艺技术能做到器件密度增加1.9倍,同时速度提升30%。
2.电压调整:TSMC 20SoC工艺有两种模式,一种是高性能模式(Vcc = 0.95V),还有一种是低功耗模式(Vcc = 0.9V)。
20SoC高性能模式与TSMC 28HP和28HPL工艺相比,能提供更高的性能以及更低的静态功耗。
低功耗模式跟TSMC 28HP工艺相比,静态功耗要低65%,使用TSMC 20SoC工艺制造的器件的Vcc空间使得Xilinx能选择功耗分布曲线上的合适的部分,即在Vcc降低到0.9V时,在性能上仍然有不错的表现,但此时的动态功耗却可以下降大约10%。
图1:20nm工艺UltraScale器件,性能和功耗对比:非常显著的优势3.选择功耗最低的器件:Xilinx 20nm UltraScale FPGA中,在0.95V或者0.9V下都可以工作的器件被定义为-1L,这是基于它们在0.95V下的速度等级来定义的。
-1L UltraScale器件的性能和0.95V,速度等级为-1的器件性能相同,和工作在0.9V,速度等级为-1的器件性能也一致,但是-1L的定义表示,这类器件的静态功耗是特别低。
FPGA功耗管理与优化的构成
下 面 = 要 以AL E A9 n . 的 仨 T R 0 mT艺
Sr il器件为例介绍半 导体 市J tt l ax 『 造上程
巾的技术 :
F GA功耗 的预测 P
F GA f P 板验 矸之前就 对其 功
耗进行准 确预测 对系统 的供电和 散热
来越多的设计中成了 个 必须要考虑的
P=k CV f
FG P A功 耗的构 成
南此 公式我 f 日以 看到影响动态 『 『 】
,电 由 1 我们 _以看到功耗皋本上可 功耗的囚素 包括 :介质介电常数 k 『
部分 : 管脯l 发器翻转的动忐 容包括负载 电容以及各种寄生 电容 C 角 虫 , 要素。 I 器什结构和 T艺巾埘功牦 以分成 3 如f I 『 : V和触发器翻转频率 f 进行优化 , 如何在设计 期尽 日能准确 功耗 , 片内部触发器到转 的动态功耗 电J J 争 在这三部分 当中静态 的估 计功耗 , l 如f 仵设计 中运 }合理的 和芯片卡 忐功耗 。 1 』 } 】 不 设 计 方法 和 器件 结 构 降 低 功耗 , 合 工 功耗 足由芯片本身的生产上艺决定 , 综 内部 具如何针 对功 耗进行优化 , 些 邵对 会随 着发计和温度的变化而变化 ; 这
转过程 中对电容的允电, 并且这 …邹分 质材料可以降低大约 1%的 I O O肢内部
n以由如 公式进行计算 : r
晶体管的功耗 ,从罔 1} 1 L ,我f】 『 可以看 到 1 『郜 品体管的功耗 占据 r 0及 ^ 】 芯片
总功耗的大部分 , 由此 , 用L w— r 采 o
保 了每次读写有且仅有一个 M4 K在 _ r =
FPGA 发展之路- 将功耗和价格降低一万倍
FPGA 发展之路: 将功耗和价格降低一万倍
作者:Steve Trimberger,赛灵思公司,美国电子电气工程师协会(IEEE) 研究员、美国计算机协会(ACM) 院士、美国国家工程院院士FPGA 器件自问世以来,已经经过了几个不同的发展阶段。
驱动每个阶段发展的因素都是工艺技术和应用需求。
正是这些驱动因素,导致器件的特性和
工具发生了明显的变化。
FPGA 经历了如下几个时代:
●发明时代;
●扩展时代;
●积累时代;
●系统时代。
赛灵思于1984 年发明了世界首款FPGA,那个时候还不叫FPGA,直到1988 年Actel 才让这个词流行起来。
接下来的30 年里,这种名为FPGA 的器件,在容量上提升了一万多倍,速度提升了一百倍,每单位功能的成本和能耗降低了一万多倍(见占位面积变得不再像发明时代时那么宝贵。
现在,占位面积可让位于性能、特性和易用性。
更大的FPGA 设计需要具有自动布局布线功能的综合工具。
到上世纪90 年代末,自动综合、布局和布线已经成为设计流程的必要步骤。
FPGA 公司的命运对EDA 工具的依赖程度不亚于对FPGA 功能的依赖程度。
最重要的是,实现容量翻番和片上FPGA 逻辑成本减半的最简单方法是采用新一代工艺技术节点,因此,尽早采用新的工艺节点意义非凡。
基于SRAM 的FPGA 在这个时期实现了明显的产品优势,因为它们率先采用了每种新工艺节点:基于SRAM 的器件可立即使用密度更高的新工艺,而反熔丝在新节点上的验证工作则额外需要数月甚至数年时间。
基于反熔丝的FPGA。
赛灵思Verilog(FPGA-CPLD)设计技巧
赛灵思Verilog(FPGA/CPLD)设计技巧以下是一个在设计中常犯的错误列表这些错误常使得你的设计不可靠或速度较慢为了提高你的设计性能和提高速度的可靠性你必须确定你的设计通过所有的这些检查。
可靠性为时钟信号选用全局时钟缓冲器BUFG不选用全局时钟缓冲器的时钟将会引入偏差。
只用一个时钟沿来寄存数据使用时钟的两个沿是不可靠的因为时钟的某沿或者两个沿会漂移; 如果时钟有漂移而且你只使用了时钟的一个沿你就降低了时钟边沿漂移的风险。
这个问题可以这样来解决就是允许CLKDLL自动纠正时钟的占空比以达百分之五十的占空比否则强烈建议你只使用一个时钟沿除了用CLKDLL或DCM产生的时钟外不要在内部产生时钟.这包括产生门控时钟和分频时钟作为替代可以建立时钟使能或使用CLKDLL或DCM来产生不同的时钟信号。
对于一个纯同步设计建议你在任何可能的情况下只使用一个时钟可靠性为时钟信号选用全局时钟缓冲器BUFG不选用全局时钟缓冲器的时钟将会引入偏差。
只用一个时钟沿来寄存数据使用时钟的两个沿是不可靠的因为时钟的某沿或者两个沿会漂移; 如果时钟有漂移而且你只使用了时钟的一个沿你就降低了时钟边沿漂移的风险。
这个问题可以这样来解决就是允许CLKDLL自动纠正时钟的占空比以达百分之五十的占空比否则强烈建议你只使用一个时钟沿除了用CLKDLL或DCM产生的时钟外不要在内部产生时钟.这包括产生门控时钟和分频时钟作为替代可以建立时钟使能或使用CLKDLL或DCM来产生不同的时钟信号。
对于一个纯同步设计建议你在任何可能的情况下只使用一个时钟不要在内部产生异步的控制信号例如复位信号或者置位信号内部产生的异步控制信号会产生毛刺作为替代可以产生一个同步的复位/置位信号这个信号的译码要比需要作用的时刻提前一个时钟周期不要使用没有相位关系的多个时钟你也许并不总能避免这个条件在这些情况下确定你已。
04FPGA功耗优化共30页文档
© 2009 Altera Corporation
Power Report
Power-Driven Synthesis
Located under:
“Analysis & Synthesis Settings”
© 2009 Altera Corporation
Power-Driven Synthesis Options
Read En
RAM Core
Write Addr Write Data Write En
Read Clk
Write Clk
Set RAM Block Type = “Auto”
Quartus II Power Optimizer chooses best RAM block configuration
Dynamic Power Optimization Flow
Low Power Design
Design
Clock Management
Automatic, but less accurate
Estimate Toggle Rates
Vectorless Estimation
RTL Simulation
Off
No optimization
© 2009 Altera Corporation
Power-Driven Synthesis for RAM
Memory Optimization
Normal compilation Setting
Promote Read/Write Enable Signals to Clock Read/Write Enable Signals
45、法律的制定是为了保证每一个人 自由发 挥自己 的才能 ,而不 是为了 束缚他 的才能 。—— 罗伯斯 庇尔
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
XPE 的另一项非常有价值的功能是 热量信息 / 摘要(Thermal Information/ Summary),利用此信息可以确定散热、
图3 – Xilinx XPower Analyzer 汇总页
DSP 等等。 最后,XPE 的图形表页则 给出功能、工艺、电压以及温度变化时 的图形显示。 特别是按功能显示的功率 视 图(Power by Function graphic) 列 出了每一项功能并给出其功耗,从而让 设计人员可以更好地定位哪些功能从优 化中受益最多。
Static Power Reduction Going to Smaller Device
330k ‡ 220k
-33%
220k ‡ 110k
-51%
110k ‡ 85k
-24%
85k ‡ 50k
-46%
50k ‡ 30k
-33%
图5 – 通过规模减小来降低静态功率
线性功能,并且彼此完全相同,那么就 可以只用一组电路但将速率提高一倍来 完成同样的功能。 这样需要的逻辑资源 就减少了一半。
静态和动态功耗及其变化 在 90nm 工 艺 时, 电 流 泄 漏 问 题
对 AISC 和 FPGA 都变得相当严重。在 65nm 工艺下,这一问题更具挑战性。 为获得更高的晶体管性能,必须降低阈 值电压,但也同时加大了电流泄漏。 赛 灵思公司在降低电流泄漏方面做了许多 努力。尽管如此,源于泄漏的静态功耗 在最坏和典型工艺条件下的变化仍然有 2 :1。 泄漏功耗受内核电压(VCCINT) 的影响很大,大约与其立方成比例。 哪 怕 VCCINT 仅上升 5%,静态功耗就会 提高约 15%。 最后,泄漏电流还与结(或 芯片)温密切相关。
PCB 属性以及温度信息。 这样就可以 保证设计能够满足商用和工业级设计的 热量管理要求。 同时,模块摘要(Block Summary)给出每个模块的功率信息, 功率摘要(Power Summary)则显示出 静态和动态功率的总和。
XPE 工具的每个标签都可以输入 特定类型资源的利用率和开关速率,如 时 钟、 逻 辑 \ 块 RAM(BRAM)、PLL、
另一种缩小逻辑规模的方法是利用 Xilinx FPGA 的部分重配置功能,当两 部分电路不同时工作时,可以在某个时 间段将某部分电路重新配置实现另一种 电路功能。
同 时, 还 可 以 将 功 能 移 动 到 不 太 受限制的资源,例如,将状态机转移到 BRAM、 或 者 将 计 数 器 转 移 到 DSP48 模 块、 寄 存 器 转 移 到 移 位 寄 存 器 逻
外,还可以利用 XPower 记录特定设计 的实际功率参数并将这一信息传递到电 路板一级。
利用 FPGA 设计技术降低功耗 尽管工艺尺寸缩小到 65 nm 使得
Virtex-5 的动态功耗大大降低,采用新 工具和设计技术仍可以进一步降低其动 态功耗。
降低功耗的一种方法就是为设计选 择最适用的 FPGA,然后利用其可编程 能力进一步优化设计的功耗。 正确的设 计选择会同时影响到静态和动态功耗。
电压对于动态功率也有影响。 从 90nm 转 向 65nm 工 艺, 仅 仅 通 过 将 VCCINT 从 1.2 伏 降 至 1 伏,Virtex-5 FPGA 设 计 的 动 态 功 率 就 降 低 了 约 30%。 再加上结构增强带来的功率降 低, 总 的 动 态 功 耗 比 90nm 技 术 时 降
Normalized Leakage Power
Leakage Power vs. Junction Temperature
5
4
3
2
1
0 -40 -20
0 20 40 60 80 100 120 140
Die Temperature, TJ (oC)
图1 – 泄漏功率随片芯温度的变化
ห้องสมุดไป่ตู้
Leakage Power vs. Core Voltage
源于泄漏电流的静态功率正比于逻 辑资源的数量,也就是说正比于构造特 定 FPGA 所使用的晶体管数量。 因此, 如果减少所使用的 FPGA 资源,采用更 小的器件实现设计,那么就可以降低静 态功耗。 图 5 所示就是选择最接近的较 小器件带来的效果。
可以采用多种方法来降低设计的规 模,最基本的一种技巧就是逻辑功能分 时。 也就是说,如果两组电路完成一组
辑,以及将 BRAM 转移到查找表 RAM (LUTRAM)。 同时还可以保证不要让设 计的时序太紧张,因为那样会需要更多
图 1 和图 2 给出了泄漏静态功耗随 电压和温度的变化关系图。
FPGA 中 静 态 功 耗 的 其 它 来 源 是 工 作 电 路 的 直 流 电 流, 但 在 很 大 程 度 上,这部分电流随工艺和温度的变化不 大。 例 如 I/O 电 源( 如 HSTL、SSTL 和 LVDS 等 I/O 标准的端接电压)以及 LVDS 等电流驱动型 I/O 的直流电流。 有些 FPGA 模拟模块也带来静态功耗, 但同样与工艺和温度的关系不大。 例 如,Xilinx FPGA 中用来控制时钟的数 字时钟管理器(DCM);Xilinx Virtex®-5 FPGA 中的锁相环(PLL);以及 Xilinx
XPower Estimator 可 根 据 用 户 对 FPGA 资源使用、开关速率以及负载等 方面的描述快速进行功率估算。 这款工 具主要用于初始功率估算、选择电源和 稳压器以及系统冷却解决方案(如散热 器、风扇等)。
采 用 这 一 基 于 Microsoft Excel 的 工具,系统设计师可进行面向器件、设 计和系统的功率决策。 只需要简单的输 入估计的设计参数,如资源利用、工作 环境以及时钟和开关速率就可以了。 然 而,XPE 会计算给定设计的估算功率并 给出总功率和最大结温,以及基于电源 轨和设计模块的功率。
手把手课堂:FPGA 101
赛灵思 FPGA 的功耗 优化设计
设计人员可利用多种工具和技术来满足功率预算要求
作者:Matt Klein 技术营销首席工程师 Xilinx, Inc. matt.klein@
在过去的五六年时间里,IC 工艺从 130nm 快速发展到 90nm 并随后很快进 入当前的 65nm 结点,工艺技术的每一 次进步都使得功率管理变得更为重要。 在 130nm 节点时,IC 生产商就开始注 意到晶体管的电流泄漏问题,即使在闲 置模式下,晶体管也存在由于电流泄漏 而带来的功率消耗。 进入 90nm 工艺时 代,IC 的工作电压进一步下降,但电流 泄漏问题更加严重,在器件的总功耗中 占有相当大的比重。 对于 65nm 工艺, 这些趋势仍在延续。 事实上,对 65nm 工艺来说,电流泄漏问题如此严重,以 致许多设计师认为功率管理与实现性能 指标同样重要。
2009 年春季刊
15
手把手课堂:FPGA 101
低达 40% 至 50%。(注 :动态功率与 VCCINT 的平方成正比,但对于 PPGA 内核来说基本上与温度和工艺无关。
FPGA 功率分析工具 赛灵思公司提供了两款功率分析
工 具。 我 们 设 计 的 第 一 个 XPower Estimator ( XPE ) 电子数据表工具可在 设计人员使用物理实施工具前使用。 在 设计物理实施完成后,则可以采用第二 款工具 XPower Analyzer 来检查所做的 改变对功耗的影响。
place-and-route)信息。 还可以接受业 界标准的信号跳变存储 (VCD) 和开关行 为互换格式(SAIF)文件。 如果使用 VCD 或 SAIF 格式,则需要创建表示仿 真向量,这样工具就可以记录系统中结 点的跳变速率,这些数据可以在此后访 问。 在缺少仿真文件时,用户可以使用 XPower Analyzer 工具完成无向量仿真。 此类仿真使用数学和统计建模技术将初
在设置工具运行时,其 Process 功 能是非常有用的功能。 该功能允许察看 不同模块的典型或最坏情况下的功耗。 基本上,VCCINT 电源泄漏带来的静态 功耗对工艺的依赖性很大。 此外,电源 摘要(Voltage Source Summary)则可 快速显示出电压变化时的功耗变化。 由 于 VCCINT 是所有内核逻辑电源电压之 一,因此理解相对于 VCCINT 的变化非 常重要。 XPE 工具的工艺变化和电压 变化选项保证了能够确定最坏情况下的 电源容量是足够的。
XPower 使您可详细地了解设计中 功率的消耗情况,并且在“ what if ”假 设分析的基础上进行信息更充分的选 择,了解哪些模块可以从简单的优化甚 至重新架构设计中获得最大的好处。 此
16
赛灵思中国通讯 32 期
手把手课堂:FPGA 101
图4 – FPGA 引脚(在存储器读和写周期,采用 T_DCI)
14
赛灵思中国通讯 32 期
手把手课堂:FPGA 101
然后再通过优化技术来使 FPGA 设计以 及相应的 PCB 板在功率方面效率更高。
FPGA 器 件 的 功 率 消 耗 主 要 有 两 类 :静态功耗和动态功耗。 静态功耗是 由于晶体管的泄漏而引起的,因为即使 不工作时晶体管仍然存在电流泄漏。 动 态功耗则是器件在执行任务时消耗的功 率 – 与开关结点数量以及电压、频率和 电容等有关。 要满足设计功率预算的要 求,非常重要的就是要充分了解这两种 功率消耗类型以及两种功耗类型在不同 工作条件时的变化情况,从而可以更好 地对其进行优化。
0.3 0.2
0.1
0
-0.1
-0.2
-0.3