过去,FPGA设计人员考虑的是时序和面积使用率。但是,随着FPGA正越来越多地取代ASSP和ASIC,设计人员期望开发功率较低的设计并提供更加精确的功率估计。最新FPGA分析软件能提供一种精确和灵活的手段来模拟各种工作环境下的功耗。
与功能和时序验证类似,功率分析以并行验证的形式对设计流程进行跟踪(见图1)。早期的功率分析依赖于简单的利用率和由设计者用“假设分析”方法提供的信号活性评估。后来,由于可以获取布局后(post-layout)器件信息和门级仿真记录的信号活性,功率估计变得更加精确了。
FPGA功率计算器可评估器件功耗,使设计者能够导入布局和布线设计,并指定诸如电压、温度、工艺变化、气流、散热片及资源利用率、活性和频率等参数。应用这些参数可以在不同的设计环境下形成尽可能精确的模型。
图1:功率估计并行于传统的验证流程。
基本功耗计算
大多数FPGA功率分析工具可报告功耗的动态(AC)和静态(DC)部分。静态电流由器件的漏电流组成。静态电流/功率与器件的温度、工艺、电压参数和条件有关。它在很大程度上取决于温度,温度与电路板及器件的热特性相关。静态功耗也是所有电源上的漏电流。
功耗的动态部分为所使用的资源在转换时的功耗。动态部分的功耗直接与工作频率(资源在该频率下工作)和使用的资源数量成正比。
DC功率由下面的方程得出:总DC功率(器件)= A×eBT
其中:A是与参数相关的工艺,B是温度系数,T是器件的结温。
AC功率由下面的方程得出:总AC功率(资源) = Kr×fMAX× AF×Nr
其中:Kr是针对资源的功率常数(单位为mW/MHz)。fMAX是正在使用的资源的最大频率。频率用MHz量度。AF是资源组的活性因子。活性因子是切换频率的百分比。Nr是设计中使用的资源数目。
FPGA布线互连是整体功耗的主要来源,功耗与金属层的电容和转换率成正比。
活性因子(AF%)被定义为频率(或时间)的百分比,在该频率下信号被激活或者转换输出。大多数与时钟域相关的资源以某频率的百分比运行或转换。功率分析工具的用户可以手工将这些参数以百分比形式输入,或者根据仿真结果导入活性因子。可针对每个布线资源、输出或PFU计算出AF。如果未提供仿真结果,则对于一个占器件资源30%到70%的设计,通常建议AF%在15%到25%之间。AF(通常从仿真结果导入)的精确性取决于时钟频率,设计的激励信号和最终输出。