Board logo

标题: 一种FPGA能耗优化的方法设计 [打印本页]

作者: rise_ming    时间: 2011-12-16 22:05     标题: 一种FPGA能耗优化的方法设计

能耗 优化 FPGA
能耗给设计带来的限制可能比任何一个其他因素都多。随着一个新概念的不断发展,平衡新功能和能耗效率成为一个首要问题。
控制,并降低电子设计的能耗将使整个产品的开发流程受益。这样可以将一个不合适的产品改进以适应市场,更能为成本和制造上带来巨大变化。举例来说,一个低能耗的设计使用更小的电源,更少的元件,和一个更小的外壳。这样可以减低设计的复杂程度,并最终降低产品的成本。
  让电子产品的设计符合电源要求需要各个方面的配合。系统工程师,软件工程师,嵌入式工程师,和板级布线工程师都需要对设计工具和方法加以考虑来达到目前的能耗目标。新技术设计流程和市场趋势给工程师带来了新的挑战,而我们也要对产品开发系统做出改变。
  新的困境
  能耗管理不是一个新问题,但是当产品尺寸在不断缩小,便携式产品到处都是的时候,情况就已经改变了。薄型电源电池,小尺寸外壳的复杂性,和对高性能的需求都对电源管理构成了很大的挑战。
  而类似FPGA等可编程器件的加入则更增加了管理的复杂性。与内在功能和能耗可以预测的传统设备相比,FPGA的能耗不能仅仅从简单的数据来推测。FPGA的能耗和内部的程序的尺寸和种类有很大的关系。
  在嵌入式FPGA设备中管理能耗的难度和设备本身一样的复杂。因为FPGA的能耗很大程度上取决于内部的程序,能耗仅可被可以计算嵌入式自身能耗的工具来预测。另一个选择就是等到原型的阶段,通过“真实的”电源消耗来计算,以此来修改设计以达到性能和能耗的平衡。但是这样的延迟计算使得传统的设计流程无法支持目前的需求。
  不管怎样,FPGA为设计实现了独特的灵活性,并在性能上和ASIC拉近了差距,对现代的很多产品设计是很有吸引力的。但是能耗的不确定性和分析仍然是一个大问题。看一下影响FPGA设备能耗的原因可以解释管理的复杂程度和预测的难度。
  FPGA电源分析
  传统volatile FPGA的一个独特特性是,当设备刚打开时以及当设备从休眠模式被唤醒以后的电流消耗会产生一个明显的波动。这需要在设计中被考虑到,并且和低功耗模式一起保持很好的平衡。当模式改变或者设备被关闭时,设备在功耗最高时会被重新编程以恢复设备运行。
  增加控制功能以让全部或部分嵌入式硬件关闭固然可以节约大量的能耗,但是在实际应用中这样的节约需要用电源分析工具来进行预测。
  到目前位置,FPGA能耗控制中最大的变数是动态电源,也就是来自实时操作的影响。
  从时钟信号到I/O输出,动态电源受到FPGA可编程内容的影响。而可编程内容则在产品的开发过程中不断的在变化。当设备CMOS组的电容根据逻辑层面的变化而被充电时,能量就被消耗了。
  动态电源消耗是一个包含频率,电容和电压的整体,从设计角度来讲,降低时钟频率和电压将会提高能耗效率。采用多处理器,并行低能耗处理,系列数据通道,适应性时钟频率都将降低能耗。动态能耗配置的目的是为了创建优化的电源模式,FPGA将被自动的重构以达到最佳的能耗状态。但是,需要由能耗预测工具来证实添加这样的复杂性是值得的。
  相对来说,FPGA静态能耗是比较稳定和容易被预测的。但是当工艺流程到了90nm的程度,另一个最大的障碍出现了。CMOS的尺寸缩小,和通道的缩短和更细的门导致电流容易溢出。FPGA的静态能耗就随着工艺流程的进步而逐渐增大,但是也会因为使用低电压而相对减少。这对未来FPGA的设计是一个挑战,尤其是当设计师希望在便携式设备中越来越多的使用FPGA的时候会变得更明显。
  FPGA内部主要能耗单位的关系是复杂而互相影响的。例如,时钟频率的提高造成动态电源能耗的增加,会导致设备温度的上升,最终会引起管脚的溢出和更高静态能耗。这与热力逃逸有相似之处,器件的高静态能耗包括更高的管脚溢出。这会成为FPGA能耗预测问题的一个不可避免的因素。
  可用工具
  管理嵌入式FPGA的能耗就像管理设备一样特别。因为FPGA的能耗大部分由可编程的内容所决定,能耗的数值需要由嵌入式设计本身来完成。
  为了配合这样的流程,FPGA设备的厂商会提供含有能耗预测功能的开发工具。这些工具将FPGA的许多参数和利用设计来分析并预测大致的能耗,并且还在不断的改进中。在分析的早期,工程师需要输入基本的信息例如时钟频率和功能模块的数量等。更多的分析结果可以根据用户的设计细节来推测。
  这样的方法仅可以提供一个关于特定嵌入式设备能耗的一些基本讯息,但是当设计被修改后,整个流程需要被重新运行。因为目前不支持不同厂商的FPGA设备,评估能耗效率的流程并不是那么容易,而且也不能真实的优化FPGA能耗来达到产品设计的要求。
  目前管理FPGA电源的方式就像一个预测,然后最终被原型阶段的测试以及接下来的修改所确认。为了解决能耗问题改变FPGA种类的方式并不可取,因为这样的风险太大了。对新目标器件重新工程设计所需要的时间会导致设计计划的延误,因为这已经是一个硬件改变的案例了 – 改变了嵌入式硬件设计或其所属的器件。
  如果用户在很大程度上依赖目前的工具来计算能耗,硬件和嵌入式的设计就必须在设计开始的时候就进行定义。在开发过程中进行调整的机会并不多。任何潜在的选择都最好在设计流程早期就都能被研究,这无疑会对FPGA电源管理工具的预测能力有很高要求。
  实时的电源分析和优化
  在不影响产品设计的前提下,使能耗达到FPGA设计的电源的预算要求需要电源分析工具利用一切可能得到的帮助。需要在开发过程中提供很多的信息,使得在原型阶段之前就完成最主要的产品设计决定。
  从最终产品的角度来看,FPGA的能耗就只是问题的一部分了。电源分析和测试需要扩展到外设电路和支持设备,这样这些部分才能在开发时不断修改,以达到能耗优化的目的。
  一种实时的方法可以让FPGA设计达到设计的要求并在最后日期之前完成优化工作。在开始的时候,设想FPGA开发板拥有通过一系列的感应器实时进行电源监控的能力,并将获得的数据反馈回设计软件(图1)。

  这样,电源的实时情况就可以被监视,图表化并被记录下来。因为节电模式包括重新编程产生的高峰所产生的能耗可以被精确估计,嵌入式硬件和软件的选择就可以被广泛的开发了。关于能耗的预测则进入了量化的阶段。
  下一步就是让最终产品系统,包括开发板和设计软件独立于FGPA厂商和器件。这需要开发板具有可插拔和容易交换的FPGA卡板,而且每一个变化的数据都会回复到设计软件。之后设计软件可以根据系统驱动结构文件来支持很多不同的FPGA设备,用预先验证并整合的IP组合来支持所有这些兼容性。

  如果软件系统还包括嵌入式设计的高度抽象捕捉功能,例如原理图或者图形流程的界面,就可以使和嵌入式的互动变得更为容易。嵌入式设计可以被容易实现或者被修改,当FPGA设计被改变后电源能耗的变化可以被高级开发板即时的记录。该开发板还可以涵盖拥有“智能电源探测器”的子板,记录所有的硬件实施,以便从功能和电源有效性的角度进行分析(图2)。
  更进一步来说,如果开发板忠实反映产品开发选择或者甚至目标产品就是开发板,从开发到原型的时间就会大幅的缩短,对于能耗分析预测工具的要求也就不是那么多了。这样,设计的开发板就可以代替原型,并且在产品开发的过程中精确的执行能耗控制。
  有了这样的方法,你就可以有效地开发最终产品的设计,并可以应用在适合的即买即用或专门定制的板子上。这样的系统不再需要依靠传统的能耗预测工具提供精确的数值,相反可以让用户可以很方便的在不同的FPGA器件上迁移自己的设计,并迅速探索将嵌入式设计的选择。
  为未来做准备
  在目前的设计里激发FPGA的所有特性,特别是在那些电池供电的设备中,意味着对FPGA能耗的完全理解和控制。
  FPGA厂商为了迎合市场对低功耗的需求,推出了基于flash的非波动设备,有效能耗架构和高级节电模式。但是不管怎么样,基于FPGA的设计总会在能耗的有效性和功能之间有所取舍。所以选择一个合适的工具来平衡这样的取舍就显得至关重要。
  为了今天和明天的设计,关键是要解决如何有效的通过真实快速的原型建立来解决能耗有效性的平衡问题。用户不能仅仅依靠能耗的预测和分析工具,而要引入先进的设计系统并在硬件上进行实时开发。这样工程师就可以充分的探索创新的设计来最大限度的激发FPGA的所有特性,并用于开发新一代的节能产品。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0