新闻中心

EEPW首页 > EDA/PCB > 设计应用 > 低功耗FPGA电子系统优化方法

低功耗FPGA电子系统优化方法

作者:时间:2010-02-08来源:网络收藏
在各种电路设计中广泛应用,如何对系统进行优化成为一个重要的现实问题。从最早的功耗模型的建立[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]。

  其中Dynamic Power为动态功耗;C为电容量;V为工作电压;D为每个节点每秒翻转次数,f为系统时钟频率。
  XPower给每个开关元件建立一个电容模型,根据输入文件中的信息和特定器件的电容、静态功耗等来估算FPGA的功耗。在输入文件中,设计文件NCD(native circuit description)提供FPGA布局布线信息;物理约束文件PCF(physical constraint file)提供了设计的时钟频率、工作电压等信息; 用户设置文件XML用于保存XPower的设置,在下次打开同一设计时不必重复这些设置;仿真输出文件VCD(Value Change Dump)提供了线网翻转率情况,它记录了仿真时的信号变化情况,可以使功耗估算更接近实际情况[3]。NCD文件 、PCF文件和XML文件都根据FPGA逻辑设计代码由ISE工具综合实现后生成,VCD文件由ModelSim进行时序仿真时生成。
  XPower的主要输出文件为PWR文件,即功耗报告文件,它分为静态功耗和动态功耗两部分。从不同的逻辑设计的功耗报告文件可以看出,对同一款芯片,静态功耗值比较固定,FPGA的逻辑和工作频率对它影响较小;动态功耗与FPGA逻辑使用的资源,如I/O、DCM、DSP模块等相关,同时也与工作频率以及寄存器和线网翻转率相关。对静态功耗与动态功耗都有影响的因素是电压和环境温度。所有可以影响到动态功耗的参数设置得越接近实际情况,XPower估算结果就越精确。所以XPower的参数设置很重要,特别是决定线网翻转率的VCD文件,它记录的仿真情况需要真实准确。
  FPGA设计流程如图1所示,可以看出其中XPower估算功耗环节的重要性,在功耗要求严格时,为了节约功耗常常需要修改设计文件。

本文引用地址:http://www.eepw.com.cn/article/191793.htm

1.2 XPower可靠性验证
  为了测出FPGA工作时的实际功耗,设计了一个简单系统,直接用可调直流稳压电源对FPGA各电平供电。由于系统功耗较小,需要考虑供电电源线上的分压损耗,应在尽量靠近FPGA电源管脚处使用万用表测量电压,并尽可能将该电压调节到与设计中选用的供电标准一致(VCCO为3.3 V,VCCINT为1.2 V,VCCAUX为2.5 V)。
  将配置文件下载到FPGA运行后,通过测量FPGA运行时的电流和电源电压得到FPGA实际功耗。在XPower中选择该配置文件相应的输入文件,并使生成VCD时序仿真文件的激励与实际外界激励一致,且设置XPower中温度、频率也与实测情况一致,可得FPGA在同样的工作条件下的仿真功耗。
  该实验选用的FPGA为Xilinx Spartan 3e xc3s100eH,环境温度为25 ℃,驱动时钟频率为18.432 MHz。通过改变FPGA逻辑的驱动时钟数目、逻辑使用量、I/O数、信号数等,得到不同的FPGA逻辑配置文件。经过实际测量和XPower估算,分别得到这些配置文件下的功耗测量数据和估算数据。如图2所示,横坐标为FPGA配置参数,纵坐标为功耗值。从结果看出,测量值曲线很好地符合了估算值曲线。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭