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

目录

1. 简介

2. 使用方法 

2.1 设计输入

2.2 查看结果

3. 额外说明

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 在提供功耗优化方面有着重要作用,但其准确性受到设计输入质量和默认设置的影响。本文对其中部分参数做了阐述,后续会结合实际项目加以运用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/834109.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

官方文档k8s1.30安装部署高可用集群,kubeadm安装Kubernetes1.30最新版本

文章目录 节点架构一、准备开始(每一台机器都执行)1️⃣ 检查所需端口(可以直接关闭防火墙放开所有端口)端口和协议控制面工作节点 关闭防火墙关闭 SELinux 2️⃣ 安装containerd容器containerd部署containerd切换为国内源 3️⃣ 设置/etc/hosts 二、安装 kubeadm、kubelet 和 …

安卓开发--环境配置

本次项目选择使用 Andrio Studio 进行开发。虽然这款软件版本更新也很快。不过开发一款APP的技术流程是大差不差的。我几年前的安卓笔记放到现在还是能用。 现在CSDN网上写一个笔记留作以后参考,开始吧!!! 1 安装 Andrio Studio …

npm 安装 pnpm 时 报错 npm ERR! Unexpected token ‘.‘

问题 一个项目用的是 pnpm 安装的依赖,node 的版本是 16.16.0,nvm 的版本是 1.1.7,然后全局安装 pnpm 报错如下: 解决 我看网上的一些解决方案是说 nvm 版本过低导致,下面我们按照这个方向处理。 实首先下载 nvm-up…

详细讲一下PYG 里面的torch_geometric.nn.conv.transformer_conv函数

1.首先先讲一下代码 这是官方给的代码:torch_geometric.nn.conv.transformer_conv — pytorch_geometric documentation import math import typing from typing import Optional, Tuple, Unionimport torch import torch.nn.functional as F from torch import T…

使用凌鲨建立软件研发技能学习小组

凌鲨(OpenLinkSaas)的团队功能除了提供论坛功能,还能记录团队成员的成长记录。 使用方法 打开团队功能 团队功能在默认情况下是关闭的,你可以在登录后打开团队功能开关。 创建学习团队 日报/周报/个人目标一般是企业团队需要,建议关闭。 …

Shell生成支持x264的ffmpeg安卓全平台so

安卓 FFmpeg系列 第一章 Ubuntu生成ffmpeg安卓全平台so 第二章 Windows生成ffmpeg安卓全平台so 第三章 生成支持x264的ffmpeg安卓全平台so(本章) 文章目录 安卓 FFmpeg系列前言一、实现步骤1、下载x264源码2、交叉编译生成.a3、加入x264配置4、编译ffmp…

Redis 哨兵机制

文章目录 哨兵机制概念相关知识铺垫主从复制缺陷哨兵工作流程选举具体流程理解注意事项 哨兵机制概念 先抽象的理解,哨兵就像是监工,节点不干活了,就要有行动了。 Redis 的主从复制模式下,⼀旦主节点由于故障不能提供服务&#…

MVC WebAPI

创建项目 创建api控制器 》》》 web api 控制器要继承 ApiController 》》》 数据会自动装配 及自动绑定 》》》清除xml返回格式 //清除XML返回格式 GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear(); 》》》跨越问题

全面解析Spring Gateway过滤器

Spring Gateway过滤器的作用 在微服务架构中,Spring Gateway扮演着重要的角色,它的过滤器功能尤其值得我们深入探讨。试想一下,当一个请求来到我们的系统时,我们如何能够确保它被正确、高效地路由到对应的服务?又如何…

【汇编语言小练习输入两个数字然后输出它们的和】

这个程序是用汇编语言编写一个简单的程序,它将从键盘输入两个数字,然后输出它们的和。 .MODEL SMALL .STACK 100H.DATAINPUT_MSG1 DB Enter the first number: $INPUT_MSG2 DB 13, 10, Enter the second number: $RESULT_MSG DB 13, 10, The sum is: $N…

2024服贸会,参展企业媒体宣传报道攻略

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 2024年中国国际服务贸易交易会(简称“服贸会”)是一个重要的国际贸易平台,对于参展企业来说,有效的媒体宣传报道对于提升品牌知名度、扩大…

关于 curl: (52) Empty reply from server 问题的总结

最近在改造底层框架时遇到了Empty reply from server的问题,这个提示让我很懵圈,server居然还能返回空响应。 出现这个提示的时候,我们要清楚什么: 1、我们需要在curl后加个 -v 参数来看他具体表现,它以告诉你具体的信…

FPGA第二篇,FPGA与CPU GPU APU DSP NPU TPU 之间的关系与区别

简介:首先,FPGA与CPU GPU APU NPU TPU DSP这些不同类型的处理器,可以被统称为"处理器"或者"加速器"。它们在计算机硬件系统中承担着核心的计算和处理任务,可以说是系统的"大脑"和"加速引擎&qu…

KK创建高可用的K8S集群

下载: curl -sfl https://get-kk.kubersphere.io | KKZONEcn sh - 1.生成模板配置文件 ./kk create config -f sample.yaml 2 .修改配置文件 apiVersion: kubekey.kubesphere.io/v1alpha1 kind: Cluster metadata: name: sample spec: hosts: - {name: node1,…

社区奶柜:小本创业,大有可为

社区奶柜:小本创业,大有可为 在快节奏的现代生活中,人们对健康、便捷生活方式的追求日益增长。社区奶柜加盟项目,正是应运而生,它不仅满足了居民对于新鲜、营养乳制品的日常需求,也为寻求创业机会的您铺设…

excel中图片url转为jpg

步骤 打开Excel,并按下 Alt F11 打开VBA编辑器。在VBA编辑器中,插入一个新的模块(右键点击项目资源管理器中的模块 -> 插入 -> 模块)。在新模块的代码窗口中,复制并粘贴以下示例代码。根据需要修改代码中的变量…

vue触发原生form提交到指定action地址

不同平台之间的跳转&#xff0c;需要通过form表单的形式提交到指定的action地址&#xff0c; 下面的代码将表单内容设置为hidden类型&#xff0c;进行隐藏&#xff1a; <form method"post" :action"url" ref"form"><inputv-for"it…

linux 权限和权限的设置

在Linux中&#xff0c;文件和目录的权限是一个重要的安全特性。这些权限决定了哪些用户可以读取、写入或执行某个文件或目录。以下是关于Linux权限和如何设置它们的基本信息。 权限类型 Linux中有三种基本的权限类型&#xff1a; 读取&#xff08;r&#xff09;&#xff1a;…

力扣2105---给植物浇水II(Java、模拟、双指针)

题目描述&#xff1a; Alice 和 Bob 打算给花园里的 n 株植物浇水。植物排成一行&#xff0c;从左到右进行标记&#xff0c;编号从 0 到 n - 1 。其中&#xff0c;第 i 株植物的位置是 x i 。 每一株植物都需要浇特定量的水。Alice 和 Bob 每人有一个水罐&#xff0c;最初是…

AS01_BAPI:BAPI_FIXEDASSET_OVRTAKE_CREATE_创建资产主数据

AS01_创建资产主数据 一、功能介绍 使用事务码AS01创建资产主数据 二、程序代码 程序代码&#xff1a; REPORT zfir002.TYPE-POOLS: slis, icon. TYPES: BEGIN OF ty_file,zanln TYPE anla-anln1, "资产编号anln2 TYPE anla-anln2, "资产次级编号bukrs …