紫光同创国产FPGA学习之Power Calculator
紫光同创里面的,芯片功耗计算。没看过,没用过。有兴趣瞄一下。我又不用再电池行业,对电源没啥要求。
没用经验之谈,拷贝参考书。
一、总体介绍
(一)Pango Power Calculator总体介绍
Pango Power Calculator是用来计算用户设计产生功耗的软件,简称PPC,是集成在PDS中的一个组件。用户在完成design设计,经过综合、map、布局布线后,可以使用PPC计算出芯片的功耗。
在布局布线后,PPC可以得到真实的FPGA资源使用情况(包括各种资源的数目、绕线情况、Clock主频等),通过这些信息可以计算出较准确的功耗值。
PPC主要有三项数据输入:
1.布局布线完成之后,各项资源的使用信息,包括:各种Grid device资源的实际数目、配置信息、绕线信息、以及Clock的主频、Clock数量等。
2.Signal activities信息,有两种方式获取该信息:一种是由用户指定默认值,软件根据用户指定的默认toggle和static probability,通过遍历整个网表来估算所有资源的signal activities;另一种是读入仿真工具(如Modelsim)产生的VCD文件来得到精确的signal activities。
3.用户提供的外部工作条件,主要包括环境、电压等参数。
PPC利用以上的输入数据可以精准的计算出功耗数值,较准确的反映design的功耗和芯片温升情况。
(二)功耗介绍
我毛华望QQ849886241,深圳工程师。博客http://blog.csdn.net/my_shar
1. 功耗的基本概念
功耗是电路在单位时间内消耗的能量,国际标准单位是瓦特(w)。
能量是物理系统做功本领的量度,国际标准单位是焦耳(j)。
2. FPGA电路功耗组成和分析
1)静态功耗(Static Power)
静态功耗是指FPGA在正常运行时所有电路各种漏电(leakage)产生的功耗。随着工艺尺寸的小型化,静态功耗占芯片总功耗的比例会越来越高。
2)动态功耗
动态功耗是用户设计(design)产生的功耗,由design本身的功能及数据输入的模式决定,主要包括瞬时功耗和充放电功耗。瞬时功耗在FPGA首次通电时产生,随着供电电压的不同而改变。充放电功耗是电路在充放电过程中产生的功耗。
3)片上功耗
片上功耗是FPGA芯片内部产生的功耗,它是静态功耗和动态功耗的总和。
4)片外功耗
片外功耗是IO引脚驱动芯片外部电路产生的功耗,主要包含IO终端,LED,IO buffer等电路。
3. 功耗影响因素
1)电压(Voltage)
电压主要影响动态充放电功耗,动态功耗和电压的平方成正比。
2)负载(Load)
负载主要影响动态充放电功耗,动态功耗和负载成正比。
3)时钟频率(Frequency)
时钟频率主要影响动态充放电功耗。动态功耗和时钟频率成正比。
4)信号翻转率(Toggle rate)
一个时钟周期之内信号翻转的次数,主要影响动态充放电功耗。动态功耗计算公式为:
P = 0.5 C V^2 f d
其中d表示Toggle rate。
5)输入状态概率(Input static probability)
输入状态概率是单位时间内输入为高电平的概率,主要影响input-dependent功耗。
6)输入信号转换速率(Input signal slew rate)
输入信号转换速率主要影响动态瞬时功耗。
7)工艺偏差(Process variation)
工艺偏差影响静态功耗和动态功耗。
8)环境温度(Ambient temperature)
环境温度是芯片周围空气的温度,主要影响静态功耗。
9)节点温度(Junction temperature)
节点温度是在设备运行时,FPGA中半导体电路PN结的温度。通常在选择device之后,会选择一个温度等级。这个等级定义了一个温度范围,在此范围下保证device可以按照指定的状态运行。如果运行环境超过了温度范围,将无法保证设备的正常运行。
结点温度 = 环境温度 + 片上功耗 * 对空气的有效热阻
10)对空气的有效热阻(Effective Thermal Resistance to Air(θJA(°C/W)))
对空气的有效热阻是一个定义功耗从FPGA中的硅单元以热量的形式扩散到空气的系数。
主要包含两部分:
1. 热量从硅单元向上传到周围空气中的热阻,用 θJA表示。
2. 热量从硅单元向下传到电路板然后到达空气的热阻,用 θJB表示。
4. PPC计算FPGA功耗的组成部分
PPC主要针对FPGA芯片在上电之后,芯片正常工作时的功耗进行分析,包含各种资源的静态和动态功耗分析。鉴于各种资源的功耗模型或者分析手段不同,PPC的功耗分析按照以下资源类别来进行:
1)逻辑资源
包括LUT,flop,gate,MUX等可编程逻辑块内部的功耗。
2)APM
乘法器,累加器,flop等APM模块内部功耗。
3)DRM
DRM内部功耗。
4)PLL
PLL内部功耗。
5)Clock network
Clock network产生的功耗,占全芯片功耗的较大比例。
6)Routing资源
Signal routing的功耗,占全芯片功耗的最大比例,而且随着工艺的小型化,这部分比例会越来越大。
7)IO
IO的功耗包括IO自身功耗,和IO驱动外部电路的功耗两个部分。
8)Hard-IP
包括SERDES、DDR2/3等。
9)其他模块
如Configuration RAM、CCS、解密模块、e-fuse等。
二、功能描述
(一)PPC功能简介
PPC通过遍历布局布线之后的电路网表,根据相关的配置情况(环境参数、电源电压、信号翻转率等)计算出用户设计中用到的各项资源的功耗数据。每次改变相关配置后需要重新执行PPC来计算功耗数据。
在执行PPC计算功耗之前,用户可以指定VCD文件用于计算信号的toggle rate,如果没有指定VCD文件,软件将会根据用户指定的默认signal activities估算出信号的toggle rate。
功耗数据计算完成之后,软件将会产生一个后缀为.ppr的功耗报告文件,该文本文件以表格的形式记录了setting信息和summary信息。setting信息包含器件、工作环境、电源电压等参数配置情况。summary中记录了总的功耗信息、各类资源的功耗分布以及各个电源的功耗分布情况。
(二)PPC支持的芯片器件类型
表1 PPC支持的芯片器件类型
(三)软件运行
1)软件执行流程
PPC集成在PDS中,需通过PDS来运行PPC,PDS中提供了两种执行PPC的方式。
1. 双击Flow窗口下的Report Power,可产生文本类型的功耗报告。
在执行PPC之前用户可以配置PPC运行的相关参数,若不进行配置,PPC将使用默认参数计算功耗。
在Flow窗口中点击鼠标右键弹出菜单。
图 1 右键菜单配置选项
选择configure,在弹出对话框的左侧窗口中选择Report Power,右侧窗口跳转到PPC相应的配置界面。
图 2 PPC参数配置界面
该窗口中有两个复选框和两个Tab页面:Power Settings和VCD File Settings。
在Power Settings页面中,Specify Input Setting File为用户需要指定的配置文件,该配置文件提供了PPC计算功耗过程中需要的器件、环境、电源电压等相关参数。
在VCD File Settings页面中包含三项输入内容:
Specify Input VCD File: 用户指定的后仿真文件,该文件记录了仿真波形,通过该文件能够获取信号的翻转情况。
Specify the test bench top module:用户指定的仿真文件中顶层module名。
Specify the design top module instance:用户指定的设计design在test bench中的例化名。
图 3 VCD配置界面
在完成配置之后点击OK按钮保存配置。
双击Flow窗口下的Report Power执行PPC功耗计算流程,如下图所示:
图 4 Flow窗口界面
Report Power前面会出现一个进度条指示PPC执行功耗计算的进度情况,若在PPC执行过程中出现错误,PPC会停止执行并在Console窗口输出错误信息。PPC正常完成之后,点击PDS Report Summary界面中Report窗口下的Report Power选项,即可在PDS上打开PPC产生的文本形式的功耗报告。如下图所示:
图 5 PPC产生的文本格式的功耗报告
2. 点击PDS工具栏的Power Calculator图标,PPC会将功耗计算结果显示在界面中。
在PDS的工具栏中点击Power Calculator图标,如图所示:
图 6 PDS工具栏的Power Calculator图标
PPC首先加载模型文件,读取网表信息。之后弹出详细配置向导界面,如下图所示:
图 7 PPC配置图形界面
该页面中有2个按钮:Next、Run。
Next:跳转到下一个配置界面。
Run:执行PPC计算功耗。
配置向导中有两个页面。
1. 文件配置向导,如上图所示。页面中有7个选项:
Input Setting File:用户指定的PPC参数设置文件。
Input VCD File:用户指定的VCD仿真文件。
Specify the test bench top module:指定测试用例顶层module名。
Specify the design top module instance:指定design在test bench中例化的名字。
Output Setting File:用户指定输出的设置文件名和保存路径,PPC在运行完成之后会把运行时的相关参数保存下来,若不指定则在当前工作路径下保存默认设置文件。
Output Text Report File:用户指定输出的功耗报告文件,PPC在运行完成之后会把功耗计算结果保存在功耗报告文件中。若不指定该文件则会在当前工作路径下保存默认功耗报告文件。
Output PPF File:用户指定的PPF文件名和路径。PPF文件可作为PPP的工程文件,记录了PPC计算功耗中所有的参数和数据。若不指定则在当前工作路径下保存默认文件。
点击Next按钮进入参数配置界面。
2、详细参数配置界面,如下图所示。
图 8 PPC详细参数配置界面
该界面中有4个Tab页面分别为Device Settings、Environment、Power Rail、Default Activity Rate。
Device Settings:器件参数,灰色表示只读,不可改变。
Environment:环境参数,包括温度、散热情况、空气热阻等。
Power Rail:电源电压参数,单位为伏特(V)。
Default Activity Rate:默认的信号翻转情况和时钟频率。
点击Run按钮执行PPC功耗计算,会弹出一个进度条指示PPC计算功耗的进度情况。当计算完成之后进度条消失,出现PPC功耗的功耗报告窗口如下图所示:
注:
PPC所有文件所在文件夹名:只允许字母数字下划线(_)杠(-)点(.)@ 和空格( ),但空格不能出现在路径名首尾 ;
文件名:只允许字母数字下划线(_)杠(-)点(.)。
点击Run后,PPC即开始进行功耗计算,此时会弹出一个包含进度条和输出窗口的对话框,如图9所示:
图 9 PPC功耗计算窗口
进度条显示当前功耗计算的完成度,而下边的输出窗口用来输出打印信息,在功耗计算结束后,用户可以查看计算中是否有错误或者警告产生,点击Close按钮将关闭该对话框,点击OK按钮将进入主界面,显示如图10所示的功耗报告界面。
图 10 PPC界面的功耗报告
窗口的左边是索引窗口,索引包括Setting、Summary、Device三个选项,如下图所示:
图 11 功耗报告的索引窗口
2)Setting页面
点击Setting选项打开的页面可以看到用户在Configure界面所进行的设置,如下图所示:
图 12 Setting 界面
3)Summary页面
在Summary页面上,用户可以查看整体的功耗信息。如图所示:
图 13 Summary 界面
Power Summary页面简明的显示了芯片功耗和温度的相关情况,包括总的片上功耗,静态功耗,外部功耗,结点温度等。
Logic Device Summary页面显示了不同资源的功耗及各个资源功耗所占总功耗的比例。
Power Rail Summary面板显示了不同电源的电流值及估算出的功耗值。
这个页面中的所有数据都是不可编辑的只读数据,这些数据反映了用户设计的功耗和分布情况。
4)Device页面
Device下的选项对应芯片中各类资源的配置和功耗计算数据页面。主要包括:Clock、DRM、CLM、IO、APM、PLL和Net等。本列只显示被使用了的资源的信息,未使用的资源将不会显示。点击这些选项可以查看这些资源的使用情况和功耗数据,如下图所示为DRM的数据页面。
图 14 Device 界面
紫光同创国产FPGA学习之Power Calculator相关推荐
- 紫光同创国产FPGA学习之IP Compiler
这里就是紫光同创里面IP核的使用方法,缺少一个重要的内容就是,里面的IP怎么用没有写.看看也好,具体核怎么用仿真一下看看应该也和xilinx的一样吧.如果不一样,查找bug就危险了. 一. ...
- 紫光同创国产FPGA学习之Fabric Inserter
这一篇文章也是从紫光同创那边拷贝过来的.这个是在线逻辑分析仪调试,和xilinx的也差不多,所以,基本看过就能用了.具体有什么新的功能添加.我就不知道了.我看看,如果有特别的就在用另外的文章写了. 一 ...
- 紫光同创国产FPGA学习之Fabric Configuration
这个是下载软件使用教程.紫光同创的参考文件.哎呦我去,一个下载软件都弄的那么详细.我真的不知道,看到的人啥感想.估计他们更喜欢我自己写的简易教程.估计看晕了,还是先学会下载了,在看文档吧. 一. ...
- 紫光同创国产FPGA学习之Fabric Debugger
文章从紫光同创参考书拷贝过来的.因为我用的时候,看了一下就会用了(纯粹只是会用了,默认和xilinx的一样),没有看教程.先更新点文本,后面在写程序. 一. 软件简介 Fabric Debu ...
- 紫光同创国产FPGA学习之Timing Analyzer
紫光同创的文档拷贝过来的.我怎么看都发现,怎么这么关键的东西,咋不够详细呢???分析是一方面,修改是另一方面了. 一.TA总体介绍 Timing Analyzer是一款用于时序分析的软件,用户可以通过 ...
- 紫光同创国产FPGA学习之了解器件和软件
使用有一段时间了,感觉还可以吧,如果一年没啥大情况的话,低端使用就没啥问题了.我做FPGA也有5年了,从整体来说,感觉紫光的FPGA使用起来难度不大.国产的,便宜不说,技术支持也比较容易,当然技术支持 ...
- 紫光同创国产FPGA学习之器件情况
国产的FPGA目前比较少,年轻没有办法的,所以,器件也没什么好选的. 两个系列titan和logos.好像titan系列的芯片,一般情况买不到.估摸着没点量,人家不卖给你.好吧.只能选logos系列了 ...
- 紫光同创国产FPGA学习之Design Editor
这一篇也是从紫光参考书里面拷贝出来的.这个design editor我很少用.你们凑合的看吧. 一. 功能介绍 该文档详细描述了Design Editor(下文简称DE)的各项功能,使用方 ...
- 紫光同创国产FPGA学习之Physical Constraint Editor
从紫光的参考书拷贝的.很详细.他们要写那么详细,好辛苦啊. 一. 功能介绍 (一) PCE简介 该文档详细描述了Physical Constraint Editor(以后简称PCE)的 ...
最新文章
- Ollydbg 常用快捷键
- 软工1816 · Alpha冲刺(9/10)
- 论文拒稿的评价可以有多狠?
- VS code 快捷键
- python3程序设计基础答案刘德山_!求大学python3程序设计基础答案 刘德山主编 网上找不到 希望大家帮帮忙...
- (转)30分钟正则表达式入门
- trunk端口_超全!华为交换机端口vlan详解~
- 基于React和SpringBoot做一个记事本
- sap和erp的区别:
- 详细讲解电脑怎么录屏 电脑录制视频的方法
- 计算机视频DVI接口,HDMI、DVI 电脑为什么会有这么多种视频接口?
- Java之String系列--intern方法的作用及原理
- 数据透视表的切片器实现数据动态交互
- echarts的x轴自动动态刷新
- 用网站怎么赚钱?具体点!聊聊用网站赚钱的方法
- Android 免root抓包
- 前端基础学习之h5c3-购物车宣传页动画小练习
- 一般网站有哪些常见漏洞?
- java utl_java utl包详细讲解.doc
- 360无线wifi路由器连接到服务器,360PI无线路由器怎么联接无线+有线?
热门文章
- 二十八、JDBC基础编程练习
- Windows Server+IIS+ASP+MSSQL2K+ServU 系统整合安全方案(转)
- oracle生成3个零,expdp导出报错:ORA-39001: ORA-39200: ORA-02019:
- 如何写好新基建概念介绍总结PPT?
- 计算机会计零基础速成,零基础初级会计两个月速成指南!答应我你一定要这么做!...
- mysql中间件汇总
- 数据分享|全球河湖矢量数据集(2010)
- C语言 1~100之间3的倍数
- RTF 批量转换为 DOCX 文件
- c语言实验--字符编码,费诺编码的C语言实现实验论文.doc