电子硬件设计-Xilinx FPGA/SoC前期功耗评估方法(1)

目录

[1. 简介](#1. 简介)

[2. 使用方法](#2. 使用方法)

[2.1 设计输入](#2.1 设计输入)

[2.2 查看结果](#2.2 查看结果)

[3. 额外说明](#3. 额外说明)

[4. 总结](#4. 总结)


1. 简介

XPE (Xilinx Power Estimator, 功耗估算器) 电子表格是一种功耗估算工具,用于项目的预设计和预实现阶段。 该工具可以帮助工程师进行架构评估、器件选择、合适的电源组件以及针对性的应用的热管理组件。

XPE 适用于设计周期的早期阶段或寄存器传输级 (RTL) 描述不完整时。Implementation 后,可以使用 XPower 分析器 (XPA) 工具或报告功耗进行更准确的估计和功耗分析。

所支持的器件:

  • UltraScale+
  • UltraScale
  • 7 Series and Zynq™ 7000
  • Virtex™ 5 and Virtex 6
  • Spartan™ 3A/3AN/3A DSP and Spartan 6
  • Spartan 3E
  • Spartan 3
  • Virtex 4

2. 使用方法

FPGA/SoC 等可编程设备的功耗估算是一个复杂的过程,因为它高度依赖于设计中的逻辑量以及该逻辑的配置。为了产生准确的估计,功耗估计过程需要准确的输入值,例如资源使用情况、时钟速率和切换速率。

2.1 设计输入

  • 目标器件种类、封装、速度等级、温度等级等组合。
  • 设计中使用的资源估计。
  • 设计的时钟频率或频率。
  • 设计数据切换率的估计。

Toggle Rate(切换速率)是指在一个电路模块中,信号的切换频率,即在一定时间内改变其状态(从0变到1或从1变到0)的平均次数。例如,如果一个信号在每个时钟周期内平均改变一次状态,那么它的平均切换率就是100%。这个参数对于估算电路的功耗非常重要,因为信号的切换会消耗能量。简而言之,平均切换率越高,表示电路内部活动越频繁,可能导致的功耗也越大。

在异步逻辑中,由于毛刺 等因素,信号的切换可能更加频繁,Toggle Rate 可能会超过100%

对于同步路径,切换率反映了输出相对于给定时钟输入变化的频率,可以建模为 0-100% 之间的百分比。 100% 的最大数据切换率意味着输出在每个有效时钟边沿进行切换。例如,考虑一个具有 100 MHz 时钟的自由运行的二进制计数器。对于最低有效位,您可以在"切换率"列中输入 100%,因为该位会切换时钟的每个上升沿。对于第二位,您将输入 50%,因为该位每隔一个时钟上升沿就会切换一次。当数据每个时钟周期更改两次时,输入 200% 作为切换率。

对于设计的非周期性或事件驱动部分,无法轻松预测切换率。估计给定设计的平均切换率的有效方法是根据设计的功能或层次结构将设计的不同部分隔离,并估计每个子块的切换率。然后可以通过计算整个设计或层次结构的平均值来获得平均切换率。大多数逻辑密集型设计的平均切换率约为 12.5%,这是 XPE 中的默认切换率设置。

根据大量设计分析,具有随机数据模式作为输入的设计通常具有10%-30%之间的切换率。然而,具有大量毛刺逻辑的设计可能具有高达或甚至高于50%的切换率。毛刺逻辑通常被分类为组合功能,当任何一个输入发生变化时,输出有很高的概率发生变化,例如异或门或未注册的算术逻辑(即加法器)。使用大量此类逻辑的功能,例如错误检测/纠正电路,可能由于此而表现出更高的切换率。具有大量控制路径逻辑的设计,例如嵌入式设计,在操作期间任何给定时间内大部分逻辑处于非活动状态,因此平均切换率较低。

  • 外部存储器和收发器的接口及其设计的数据速率
  • 设计运行的热环境

作为一般规则,输入尽可能多的有关设计的信息,然后将其余设置保留为默认值。该策略允许确定设备电源和散热要求。

2.2 查看结果

  • 器件总功耗 = 器件静态 + 设计静态 + 设计动态
  • 器件静态功耗也称为泄漏功耗。器件静态表示设备通电且未配置时的晶体管泄漏功耗。
  • 设计静态表示当器件已配置但没有切换活动时,电源门控模块的额外功耗。有些资源除非在设计中使用,否则静态功耗为零。当它们的利用率总计输入 XPE 时,它们就会对设计静态功耗产生影响。 Block RAM、UltraRAM、GT、I/O 和时钟管理器均采用电源门控,有助于设计静态功耗。另一方面,某些资源始终处于供电状态,不会对设计静态功耗产生影响,因为它们已包含在器件静态功耗中。时钟、逻辑和 DSP 始终供电,不会影响设计静态功耗。
  • 设计动态表示用户逻辑利用率和切换活动产生的额外功耗。

3. 额外说明

使用此工具需要启用宏,可以通过修改文件的属性来取消阻止宏,如下所示:

  1. 打开 Windows 文件资源管理器并转到保存该文件的文件夹。

  2. 右键单击该文件,然后从上下文菜单中选择"属性"。

  3. 在"常规 "选项卡底部,选择"取消阻止 "复选框,然后选择"确定"。

4. 总结

Xilinx Power Estimator (XPE) 是一款功耗估算工具,用于项目预设计阶段。提供器件总功耗评估,包括静态和动态功耗。输入要求详细,包括器件和设计参数。 XPE 在提供功耗优化方面有着重要作用,但其准确性受到设计输入质量和默认设置的影响。本文对其中部分参数做了阐述,后续会结合实际项目加以运用。

相关推荐
微刻时光23 分钟前
Redis集群知识及实战
数据库·redis·笔记·学习·程序人生·缓存
chnyi6_ya1 小时前
一些写leetcode的笔记
笔记·leetcode·c#
青椒大仙KI112 小时前
24/9/19 算法笔记 kaggle BankChurn数据分类
笔记·算法·分类
liangbm32 小时前
数学建模笔记——动态规划
笔记·python·算法·数学建模·动态规划·背包问题·优化问题
潮汐退涨月冷风霜2 小时前
机器学习之非监督学习(四)K-means 聚类算法
学习·算法·机器学习
GoppViper3 小时前
golang学习笔记29——golang 中如何将 GitHub 最新提交的版本设置为 v1.0.0
笔记·git·后端·学习·golang·github·源代码管理
羊小猪~~3 小时前
深度学习基础案例5--VGG16人脸识别(体验学习的痛苦与乐趣)
人工智能·python·深度学习·学习·算法·机器学习·cnn
Charles Ray3 小时前
C++学习笔记 —— 内存分配 new
c++·笔记·学习
重生之我在20年代敲代码3 小时前
strncpy函数的使用和模拟实现
c语言·开发语言·c++·经验分享·笔记
我要吐泡泡了哦4 小时前
GAMES104:15 游戏引擎的玩法系统基础-学习笔记
笔记·学习·游戏引擎