首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

采用FPGA的低功耗系统设计

采用FPGA的低功耗系统设计

结合采用低功耗元件和低功耗设计技术在目前比以往任何时候都更有价值。随着元件集成更多功能,并越来越小型化,对低功耗的要求持续增长。当把可编程逻辑器件用于低功耗应用时,限制设计的低功耗非常重要。本文将讨论减小动态和静态功耗的各种方法,并且给出一些例子说明如何使功耗最小化。
功耗的三个主要来源是启动、待机和动态功耗。器件上电时产生的相关电流即是启动电流;待机功耗又称作静态功耗,是电源开启但I/O上没有开关活动时器件的功耗;动态功耗是指器件正常工作时的功耗。
启动电流因器件而异。例如,基于SRAM的FPGA具有高启动电流,因为这类器件刚上电时是没有配置的,而需要从外部存储芯片下载数据来配置它们的可编程资源,如路由连接和查找表。相反地,反熔丝FPGA不需要上电配置,因而没有高启动电流。
&nb
sp; 像启动电流一样,待机功耗主要依赖于器件的电子特性。由于SRAM FPGA互连中SRAM单元的数量相当大,它们甚至在待机时也要消耗数百毫安电流。反熔丝FPGA具有金属到金属互连,不需要额外的晶体管来保持互连,因而也就不会产生额外的功耗。但是,对上述两种FPGA类型来说,漏电流将随工艺几何尺寸的缩小而增加,这加剧了功耗问题。
另一个难题是动态功耗,其动辄比待机功耗大好几倍。动态功耗与FPGA内部单元(如寄存器和组合逻辑)寄生电容的充电和放电频率成比例,因而通常要针对设计进行优化。
下面将介绍FPGA设计中常用的一些可以降低功耗的技术:
采用FQGA的低功耗系统设计技术
1 . 状态机编码。大量的逻辑资源是由实现的有限状态机的类型来定义的。One-hlt状态机编码创建每个状态的一个触发器的状态机,与Gray和二进制状态机,较少利用one-hot状态机可以获得功效更好的设计。一些综合器软件能自动对状态机进行编码,但最有效的方法是直接在HDL代码中定义状态值。
2. 保护赋值。赋值保护的关键在于:若最终的输出不需要更新,则阻止输入信号向下传播到其它逻辑块。对输入信号的赋值保护可确保仅在适当时改变输出值,从而将不必要的输出开关减至最少。
在大型组合逻辑(例如宽总线复用器)的输入端加锁存器,这能抑制无效的开关活动,因为仅当输出需要更新时输入才被锁好。类似地,可利用控制寄存器来打开或关闭低级别的模块(如子模块中的状态机)。使大总线和子模块保持在一个恒定状态有助于减少不相关输出开关的数量。
3.组合环。在不注意的时候,设计师偶尔可能在FPGA设计中创建了组合环。当一组相关的组合逻辑在特定的条件下不断振荡时,就会形成这些组合环。振荡器将消耗FPGA中的许多电流。因此,最好是评估振荡器,或确保在重新评估之前任何反馈逻辑都由一个寄存器来进行门控。
4.门控时钟。对于暂时不使用的模块,系统可以减慢或停止其时钟。在任一给定时间,通过时钟可以节省功耗。门控时钟可以极大地节省功耗,因为有源时钟缓冲器的数目减少,翻转触发器的次数将减少,因而那些触发器的输出端将减少可能反转。门控时钟要求仔细地规划和分割算法,但节省的功耗相当可观。
系统级应用的功耗节省方法:
1. 系统时钟速度。系统时钟频率对电路板的总功耗有显著影响,因为时钟信号的开关活动最多,电容性负载最大。不过,时钟速度又与带宽性能直接相关。为了在功耗和吞吐量之间取得一个最佳平衡,设计者可以向不需要快时钟的元件提供较慢的时钟,而向那些对带宽很关键的元件提供快时钟,或使用一个内建的锁相环来为需要高速性牟的特定模块产生一个快时钟。
返回列表