0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何降低功耗FPGA功耗的设计技巧

电子工程师 来源:FPGA设计论坛 作者:FPGA设计论坛 2021-01-08 17:46 次阅读

对于研发人员而言,大家总是在追求低功耗设计。采用低功耗设计,无疑是能够带来诸多好处。为帮助大家了解如何降低功耗,本文中,小编将对降低 FPGA 功耗的设计技巧加以阐述。


新一代 FPGA 的速度变得越来越快,密度变得越来越高,逻辑资源也越来越多。那么如何才能确保功耗不随这些一起增加呢?很多设计抉择可以影响系统的功耗,这些抉择包括从显见的器件选择到细小的基于使用频率的状态机值的选择等。

为了更好地理解本文将要讨论的设计技巧为什么能够节省功耗,我们先对功耗做一个简单介绍。

功耗包含两个因素:动态功耗和静态功耗。动态功耗是指对器件内的容性负载充放电所需的功耗。它很大程度上取决于频率、电压和负载。这三个变量中的每个变量均在您的某种控制之下。

动态功耗 = 电容×电压 2×频率

静态功耗是指由器件中所有晶体管的泄漏电流(源极到漏极以及栅极泄漏,常常集中为静止电流)引起的功耗,以及任何其他恒定功耗需求之和。泄漏电流很大程度上取决于结温和晶体管尺寸。

恒定功耗需求包括因终接(如上拉电阻)而造成的电流泄漏。没有多少措施可以采用来影响泄漏,但恒定功耗可以得到控制。


尽早考虑功耗

您在设计的早期阶段做出的功耗决定影响最大。决定采用什么元件对功耗具有重大意义,而在时钟上插入一个 BUFGMUX 则影响甚微。对功耗的考虑越早越好。

恰当的元件

并不是所有元件都具有相同的静止功耗。根据普遍规则,器件工艺技术尺寸越小,泄漏功耗越大。但并不是所有工艺技术都一样。例如,对于 90 nm 技术来说,Virtex-4 器件与其他 90 nm FPGA 技术之间在静止功耗方面存在显著差异,

然而,在静止功耗随工艺技术缩小而增加的同时,动态功耗却随之减小,这是由于较小的工艺有着更低的电压和电容。考虑好哪种功耗对你的设计影响更大——待机(静止)功耗还是动态功耗。

除通用切片逻辑单元外,所有 Xilinx 器件都具有专门逻辑。其形式有块 RAM、18×18 乘法器、DSP48 块、SRL16s,以及其他逻辑。这不仅在于专门逻辑具有更高的性能,还在于它们具有更低的密度,因而对于相同的操作可以消耗较少的功率。评估您的器件选项时,请考虑专门逻辑的类型和数量。

选择适当的 I/O 标准也可以节省功耗。这些都是简单的决定,如选择最低的驱动强度或较低的电压标准。当系统速度要求使用高功率 I/O 标准时,计划一个缺省状态以降低功耗。有的 I/O 标准(如 GTL/+)需要使用一个上拉电阻才能正常工作。因此如果该 I/O 的缺省状态为高电平而不是低电平,就可以节省通过该终接电阻的直流功耗。对于 GTL+,将 50Ω终接电阻的适当缺省状态设置为 1.5V,可使每个 I/O 节省功耗 30 mA。

数据使能

当总线上的数据与寄存器相关时,经常使用片选或时钟使能逻辑来控制寄存器的使能。进一步来说,尽早对该逻辑进行“数据使能”,以阻止数据总线与时钟使能寄存器组合逻辑之间不必要的转换,如图 1 所示。红色波形表示原设计;绿色波形表示修改后的设计。

214ecfe4-4b80-11eb-8b86-12bb97331649.png


另一种选择是在电路板上而不是在芯片上进行这种“数据使能”。以尽可能减小处理器时钟周期。此概念是使用 CPLD 从处理器卸载简单任务,以便使其更长时间地处于待机模式。

让我们来看一个在状态 7 和状态 8 之间频繁进行状态转换的状态机。如果您为该状态机选择二进制编码,将意味着对于每次状态 7 和状态 8 之间的状态转换,将有四位需要改变状态,如表 1 所示。如果状态机采用格雷码而不是二进制码来设计,则这两个状态之间的转移所需的逻辑转换的数量将降至仅一位。另外,如果将状态 7 和 8 分别编码为 0010 和 0011,也可以达到同样的效果。

时钟管理

在一个设计的所有吸收功耗的信号当中,时钟是罪魁祸首。虽然一个时钟可能运行在 100 MHz,但从该时钟派生出的信号却通常运行在主时钟频率的较小分量(通常为 12% ~ 15%)。此外,时钟的扇出一般也比较高——这两个因素显示,为了降低功耗,应当认真研究时钟。

如果设计的某个部分可以处于非活动状态,则可以考虑使用一个 BUFG-MUX 来禁止时钟树翻转,而不是使用时钟使能。时钟使能将阻止寄存器进行不必要的翻转,但时钟树仍然会翻转,消耗功率。不过采用时钟使能总比什么措施也没有强。

隔离时钟以使用最少数量的信号区。不使用的时钟树信号区不会翻转,从而降低该时钟网络的负载。仔细布局可以在不影响实际设计的情况下达到此目标。

对 FPGA 显然也可以使用同一概念。虽然 FPGA 不一定拥有待机模式,但使用一个 CPLD 中途栏截总线数据并有选择地将数据馈送到 FPGA 也可以省去不必要的输入转换。

CoolRunner-II CPLD 包含一种称为“数据门控”的功能,可以禁止引脚上的逻辑转换到达 CPLD 的内部逻辑。该数据门控使能可通过片上逻辑或引脚来控制。

状态机设计

根据预测的下一状态条件列举状态机,并选择常态之间转换位较少的状态值。这样,您就能够尽可能减少状态机网络的转换量(频率)。确定常态转换和选择适当的状态值,是降低功耗且对设计影响较小的一种简单方法。编码形式越简单(一位有效编码或格雷码),使用的解码逻辑也会越少。

功耗估算工具

赛灵思提供了两种形式的功耗估算工具:一种叫做 Web Power Tools 的设计前工具和一种叫做 Xpower 的设计后工具。利用它,您可以仅凭设计利用率估计就能获得功耗评估,而无需实际设计文件。

XPower 是一种设计后工具,用于分析实际器件利用率,并结合实际的适配后 (post-fit) 仿真数据(VCD 文件格式),给出实际功耗数据。利用 Xpower,您可以在完全不接触芯片的情况下分析设计改变对总功耗的影响。

基于 Web 的功耗工具

基于 Web 的功耗估计是在设计流程的早期获得器件功耗情况的最快捷和最方便的方法。这些工具每个季度都会发布新版本,因此信息总是最新的,且不需要安装或下载,只需要拥有互联网连接和 Web 浏览器即可。您可以指定设计参数并保存和加载设计设置,免去了通过交互使用重新输入设计参数的麻烦。只要有对设计行为的估计并选定目标器件即可开始。

2248a690-4b80-11eb-8b86-12bb97331649.png


Xpower:集成的设计专用功耗分析

Xpower 是所有 Xilinx ISE 设计工具的一个免费组件,您可以利用它对您的基于设计的功耗需求进行详细得多的估计。XPower 是在映射或布局和布线后设计的基础上对器件功耗进行估计的。

对于成熟的投产的 FPGA 和 CPLD,XPower 计算出的功耗估计的平均设计批量误差 (suite error) 小于 10%。它将把器件数据与您的设计文件结合起来综合考虑,并按照您的专门设计信息给出估计器件功耗的高精度报告。

XPower 直接集成在 ISE 软件中,可提供层次化的详细的功耗显示、详细的总结报告和功耗向导,即使是新用户也可轻易上手。XPower 可接受仿真的设计活动数据,并可以 GUI 模式和批处理模式运行。

XPower 将考虑设计中的每个网络和逻辑元素。ISE 设计文件提供准确的资源使用情况;XPower 交叉参考布线信息以及特性化电容数据。于是物理资源针对电容进行特性化。设计特性化将对新器件持续进行,以给出最精确的结果。Xpower 使用了网络翻转速率和输出负载。然后 XPower 计算功耗和结温,还可以显示单个网络的功耗数据。

责任编辑:lq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1634

    文章

    21822

    浏览量

    607706
  • 低功耗
    +关注

    关注

    10

    文章

    2429

    浏览量

    103999
  • 变量
    +关注

    关注

    0

    文章

    613

    浏览量

    28535

原文标题:低功耗成为标配,三分钟了解FPGA低功耗设计技巧

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    相关推荐

    低功耗处理器的优势分析

    就考虑到能耗问题,通过优化架构、工艺和软件来降低功耗的处理器。它们通常采用先进的制造工艺,如FinFET或GAAFET技术,以及高效的电源管理技术,以实现在保持性能的同时减少能耗。 低功耗处理器的优势 1. 节能和环保 减少能源消耗 :低
    的头像 发表于 02-07 09:14 317次阅读

    AN-1111: 使用ADuCM360/ADuCM361时的降低功耗选项

    电子发烧友网站提供《AN-1111: 使用ADuCM360/ADuCM361时的降低功耗选项.pdf》资料免费下载
    发表于 01-14 15:01 0次下载
    AN-1111: 使用ADuCM360/ADuCM361时的<b class='flag-5'>降低功耗</b>选项

    如何降低AFE4400的功耗

    用AFE4400做血氧采集的前端,因为设备的功耗要求比较严格,现有的AFE4400的功耗为1.18Ma。请问能不能再把功耗降低?是否还有可降低
    发表于 01-10 07:17

    如何降低AD1247的功耗

    为了使AD1247进入睡眠模式以降低功耗尝试了以下两种方法: 1、将START置为低电平 ,但是至低电平后电流没有变化; 2、通过SLEEP指令,这个进入睡眠后AD1247的确不工作了,唤醒之后
    发表于 12-24 07:51

    stm32低功耗设计技巧

    STM32低功耗设计是一个综合性的工作,需要在硬件设计和软件设计两个层面进行综合考虑和优化。以下是一些关键的STM32低功耗设计技巧: 一、硬件设计层面 选择低功耗系列芯片 : STM32系列芯片有
    的头像 发表于 11-19 15:52 1024次阅读

    低功耗SOC芯片的优势

    性能的同时降低能耗。这对于移动设备尤为重要,因为它们依赖电池供电,且用户对电池寿命有较高要求。 节能技术 :通过使用先进的制程技术、优化的电路设计和智能电源管理,低功耗SOC芯片能够显著减少能耗。 动态电压频率调整 (DVFS):根据工
    的头像 发表于 10-31 14:52 794次阅读

    物联网系统中TCP低功耗产品长连接状态下降低功耗功能的实现方案

    01  概述 TCP相关内容参考文章《物联网行业中TCP通信协议介绍以及如何实现》 02  功耗的组成 低功耗技术就是一系列的降低功耗的技术。 在了解低功耗技术之前,我们必须先了解
    的头像 发表于 09-29 11:50 608次阅读
    物联网系统中TCP<b class='flag-5'>低功耗</b>产品长连接状态下<b class='flag-5'>降低功耗</b>功能的实现方案

    栅极驱动芯片选型低功耗原因

    栅极驱动芯片选型时考虑低功耗的原因主要有以下几点: 1. 降低系统能耗 低功耗的栅极驱动芯片能够显著降低整个系统的待机功耗,这对于需要长时间
    的头像 发表于 09-18 09:20 599次阅读

    低功耗FPGA、处理器和ASIC实施启用LVDS链路

    电子发烧友网站提供《为低功耗FPGA、处理器和ASIC实施启用LVDS链路.pdf》资料免费下载
    发表于 08-29 09:59 0次下载
    为<b class='flag-5'>低功耗</b><b class='flag-5'>FPGA</b>、处理器和ASIC实施启用LVDS链路

    CPU的低功耗与高功耗的区别

    CPU的低功耗与高功耗之间存在多方面的区别,这些区别主要体现在功耗水平、性能表现、应用场景、成本效益以及技术实现等多个维度。
    的头像 发表于 08-07 15:43 5357次阅读

    OPA454如何降低功耗

    opa454 供电+60V/-15V,输出空载悬空,放大倍数5倍,同向放大,输入0~10V正弦波100hz,输出为50v正弦波,发现功耗很大,有降低功耗措施?
    发表于 07-29 06:32

    FPGA如何估算分析功耗

    FPGA功耗由4部分组成:上电功耗、配置功耗、静态功耗和动态功耗。一般的
    的头像 发表于 07-18 11:11 2153次阅读
    <b class='flag-5'>FPGA</b>如何估算分析<b class='flag-5'>功耗</b>

    求助,为了降低功耗ESP32-C3是否可以只使用WIFI或蓝牙?

    有一些使用场景只需要使用WIFI或蓝牙中的一种,特别是使用蓝牙时,为了降低功耗需要关闭WIFI的射频收发,ESP32-C3是否可以实现这一功能?
    发表于 07-01 08:26

    国产蓝牙模组 | 低功耗蓝牙应用

    蓝牙技术联盟于2010年推出了蓝牙4.0规范,其中低功耗蓝牙的出现满足了小型电池供电设备进行低功耗无线连接的需求,因此得到广泛应用。本文章将带你深入了解低功耗蓝牙的应用。低功耗蓝牙简介
    的头像 发表于 06-14 08:25 642次阅读
    国产蓝牙模组 | <b class='flag-5'>低功耗</b>蓝牙应用

    stm32g070怎么调试才能降低功耗

    stm32g070,单芯片的最小系统板使用官方例程进入standy 模式后电量70ua左右,和手册的1,2个ua不符,已经确定是芯片的功耗的,不知道该怎么调试才能降低功耗
    发表于 03-28 06:46