下面将介绍FPGA设计中常用的一些可以降低功耗的技术:
采用FQGA的低功耗系统威廉希尔官方网站
1. 状态机编码。大量的逻辑资源是由实现的有限状态机的类型来定义的。One-hlt状态机编码创建每个状态的一个触发器的状态机,与Gray和二进制状态机,较少利用one-hot状态机可以获得功效更好的设计。一些综合器软件能自动对状态机进行编码,但最有效的方法是直接在HDL代码中定义状态值。
2. 保护赋值。赋值保护的关键在于:若最终的输出不需要更新,则阻止输入信号向下传播到其它逻辑块。对输入信号的赋值保护可确保仅在适当时改变输出值,从而将不必要的输出开关减至最少。
在大型组合逻辑(例如宽总线复用器)的输入端加锁存器,这能抑制无效的开关活动,因为仅当输出需要更新时输入才被锁好。类似地,可利用控制寄存器来打开或关闭低级别的模块(如子模块中的状态机)。使大总线和子模块保持在一个恒定状态有助于减少不相关输出开关的数量。
3.组合环。在不注意的时候,设计师偶尔可能在FPGA设计中创建了组合环。当一组相关的组合逻辑在特定的条件下不断振荡时,就会形成这些组合环。振荡器将消耗FPGA中的许多电流。因此,最好是评估振荡器,或确保在重新评估之前任何反馈逻辑都由一个寄存器来进行门控。
4.门控时钟。对于暂时不使用的模块,系统可以减慢或停止其时钟。在任一给定时间,通过时钟可以节省功耗。门控时钟可以极大地节省功耗,因为有源时钟缓冲器的数目减少,翻转触发器的次数将减少,因而那些触发器的输出端将减少可能反转。门控时钟要求仔细地规划和分割算法,但节省的功耗相当可观。
下面将介绍FPGA设计中常用的一些可以降低功耗的技术:
采用FQGA的低功耗系统威廉希尔官方网站
1. 状态机编码。大量的逻辑资源是由实现的有限状态机的类型来定义的。One-hlt状态机编码创建每个状态的一个触发器的状态机,与Gray和二进制状态机,较少利用one-hot状态机可以获得功效更好的设计。一些综合器软件能自动对状态机进行编码,但最有效的方法是直接在HDL代码中定义状态值。
2. 保护赋值。赋值保护的关键在于:若最终的输出不需要更新,则阻止输入信号向下传播到其它逻辑块。对输入信号的赋值保护可确保仅在适当时改变输出值,从而将不必要的输出开关减至最少。
在大型组合逻辑(例如宽总线复用器)的输入端加锁存器,这能抑制无效的开关活动,因为仅当输出需要更新时输入才被锁好。类似地,可利用控制寄存器来打开或关闭低级别的模块(如子模块中的状态机)。使大总线和子模块保持在一个恒定状态有助于减少不相关输出开关的数量。
3.组合环。在不注意的时候,设计师偶尔可能在FPGA设计中创建了组合环。当一组相关的组合逻辑在特定的条件下不断振荡时,就会形成这些组合环。振荡器将消耗FPGA中的许多电流。因此,最好是评估振荡器,或确保在重新评估之前任何反馈逻辑都由一个寄存器来进行门控。
4.门控时钟。对于暂时不使用的模块,系统可以减慢或停止其时钟。在任一给定时间,通过时钟可以节省功耗。门控时钟可以极大地节省功耗,因为有源时钟缓冲器的数目减少,翻转触发器的次数将减少,因而那些触发器的输出端将减少可能反转。门控时钟要求仔细地规划和分割算法,但节省的功耗相当可观。
举报