




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、【Word版本下载可任意编辑】 Xilinx FPGA的功耗优化设计 对于FPGA来说,设计人员可以充分利用其可编程能力以及相关的工具来准确估算功耗,然后再通过优化技术来使FPGA设计以及相应的PCB板在功率方面效率更高。 静态和动态功耗及其变化 在90nm工艺时,电流泄漏问题对ASIC和FPGA都变得相当严重。在65nm工艺下,这一问题更具挑战性。为获得更高的晶体管性能,必须降低阈值电压,但同时也加大了电流泄漏。Xilinx公司在降低电流泄漏方面做了许多努力,尽管如此,源于泄漏的静态功耗在差和典型工艺条件下的变化仍然有2:1。泄漏功耗受内核电压(VCCINT)的影响很大,大约与其立方成比例,
2、哪怕VCCINT仅上升5%,静态功耗就会提高约15%。,泄漏电流还与结(或芯片)温密切相关。 FPGA中静态功耗的其它是工作电路的直流电流,但在很大程度上,这部分电流随工艺和温度的变化不大。例如I/O电源(如HSTL、SSTL和LVDS等I/O标准的端接电压)以及LVDS等电流驱动型I/O的直流电流。有些FPGA模拟模块也带来静态功耗,但同样与工艺和温度的关系不大。例如,Xilinx FPGA中用来控制时钟的数字时钟管理器(DCM);Xilinx Virtex-5 FPGA中的锁相环(PLL);以及Xilinx FPGA中用于输入和输出信息可编程延迟的单元IODELAY。 动态功耗是指FPGA
3、内核或I/O的开关活动引起的功耗。为计算动态功耗,必须知道开关晶体管和连线的数量、电容和开关频率。FPGA中,晶体管在金属连线间实现逻辑和可编程互连。电容则包括晶体管寄生电容和金属互连线电容。 动态功率的公式:PDYNAMIC=nCV2f,其中,n=开关结点的数量,C=电容,V=电压摆幅,f=开关频率。 更紧凑的逻辑封装(通过内部FPGA架构改变)可以减少开关晶体管的数量。采用更小尺寸的晶体管可以缩短晶体管之间的连线长度,从而降低动态功率。因此,Virtex-5 FPGA中的65nm晶体管栅极电容更小、互连线长度也更短。两者结合起来可将结点的电容减小约15%至20%,这可进一步降低动态功率。
4、电压对于动态功率也有影响。从90nm转向65nm工艺,仅仅通过将VCCINT从1.2V降至1V,Virtex-5 FPGA设计的动态功率就降低了约30%。再加上构造增强带来的功率降低,总的动态功耗比90nm技术时降低达40%至50%。 (注:动态功率与VCCINT的平方成正比,但对于FPGA内核来说基本上与温度和工艺无关。) 利用FPGA设计技术降低功耗 Xilinx公司提供了两款功率分析工具。XPower Estimator (XPE)电子数据表工具可在设计人员使用物理实施工具前使用。在设计物理实施完成后,则可以采用第二款工具XPower Analyzer来检查所做的改变对功耗的影响。 降低
5、功耗的一种方法就是为设计选择适用的FPGA,然后利用其可编程能力进一步优化设计的功耗。正确的设计选择会同时改善静态和动态功耗。 源于泄漏电流的静态功率正比于逻辑资源的数量,也就是说正比于构造特定FPGA所使用的晶体管数量。因此,如果减少所使用的FPGA资源,采用更小的器件实现设计,那么就可以降低静态功耗。 可以采用多种方法来降低设计的规模,基本的一种技巧就是逻辑功能分时。也就是说,如果两组电路完成一组线性功能,并且彼此完全相同,那么就可以只用一组电路但将速率提高一倍来完成同样的功能。这样需要的逻辑资源就减少了一半。 另一种缩小逻辑规模的方法是利用Xilinx FPGA的部分重配置功能,当两部分
6、电路不同时工作时,可以在某个时间段将某部分电路重新配置实现另一种电路功能。 同时,还可以将功能移动到不太受限制的资源,例如,将状态机转移到BRAM、或者将计数器转移到DSP48模块、存放器转移到移位存放器逻辑,以及将BRAM转移到查找表RAM(LUTRAM)。同时还可以保证不要让设计的时序太紧张,因为那样会需要更多的逻辑和存放器。 此外,还应当充分发挥FPGA架构中集成的硬IP块(BRAM、DSP、FIFO、Ethernet MAC、PCI Express)的优点。 降低静态功率的另一个方法是仔细审查设计,防止冗余的直流消耗源。设计中经常会使用到具有多余或隐藏DCM或PLL的模块,这种情况可能
7、在模块设计后忘记将多余的资源去除,或者在构建下一代产品时使用了一些遗留代码。将DCM或PLL抽象到设计的顶层,这样模块之间就可以共享资源,从而可进一步减小设计的规模并降低直流功率。 更好地使用存储器模块也可帮助降低FPGA设计的动态功耗,从而进一步降低总体功耗。由于动态功耗是容抗(面积或长度)和频率的函数,因此应当检查设计中访问块存储器的方式并确定能够对容抗和频率开展优化的区域。 Xilinx FPGA提供两种类型的存储器阵列。18Kbit或36Kbit的BRAM是针对大存储器模块而优化的。LUTRAM基于FPGA中的查找表,是针对细粒度存储而优化的。Xilinx Virtex-5 FPGA中
8、,LUTRAM的单位是64bit。 在这两种类型中,BRAM通常功耗要大一些。启用后的BRAM静态功率是其功耗的部分,跳变带来的功耗居于第二位。设计人员可以采取一些步骤来优化BRAM的功耗。例如,可以仅在读或写周期才启用BRAM。对于较小的存储器模块可以使用LUTRAM来代替BRAM,将BRAM留给较大的存储器模块使用。此外,还可以尝试将BRAM用于多个大型模块。另一种技术是合理安排存储器阵列来减少其占用的延迟面积、使性能化并尽量降低其功耗。图1左侧给出了一个针对速度和面积而优化的2K x 36bit存储阵列。 我们利用四个2K x 9bit模块并行构成这一存储阵列,并在需要新值时启用(Ena
9、ble)所有四个模块。另一方法是采用四个512 x 36bit模块来安排2K x 36bit,但利用低两位地址解码来选择访问哪个512 x 36bit模块。在后一种情况下,某个时间仅访问一个存储器块,功耗将比种方法降低75%。 图1右侧显示的是Xilinx公司的块存储器生成器(Block Memory Generator),利用它可以生成任意大小的存储器阵列并可以针对速度或功率对其开展优化。图2则给出了具体应用中的Xilinx Power Estimator,比较了在给定的使能速率下N个模块同时启动与N/4模块启动时的功耗情况。结果显示动态功率降低了75%。 图1 速度和面积与功率优化存储器阵
10、列(左) 以及Xilinx Block Memory Generator与功率面积选择(右) Xilinx工具可帮助选择适合的存储器阵列。考虑某个设计中需要两组存储器区域。一种情况下需要运行在300MHz的16组64 x 32bit存储器构造(总位数为32K),另一种情况下需要16组512 x 36bit 存储器架构 (总位数为294K)。 看一下16组64 x 32bit存储器构造的功率比较,XPE工具显示出小存储器阵列用LUTRAM来实现,这样比用BRAM节约85%的功耗(如图3)。这是因为如果采用BRAM的话,只能用16个18K位的模块来实现16个极小(64 x 32bit)的存储器,有
11、很多空间被浪费了。而第二种情况16组18K位阵列的功率比较,XPE显示情况正好相反,应当采用大一些的存储器阵列来实现(图4)。这种情况下,采用BRAM比采用LUTRAM可以节约28%的功耗,这是因为如果采用LUTRAM就需要启用更多的小粒度对象并增加更多的互连。 Xilinx FPGA的时钟门控功能 Xilinx FPGA的时钟门控功能提供了一些非常有意思的用途。例如,可以利用BUFGMUX时钟缓冲器将FPGA内的某个全局时钟关闭,或者动态选择较慢的时钟。还可以使用BUFGCE时钟缓冲器开展按时钟周期(cycle-by-cycle)的门控,与ASIC设计中使用的时钟门控技术类似。设计中可以同时
12、使用这两种功能。 在某些设计中,一些模块并非始终使用,但对于功耗影响却很大,此时这些方法非常有用。可以时钟周期为根底或者按多个时钟周期的组合开启或关闭可能有成千上万个负载的大型时钟域。 图2 XPE功率优化阵列结果 图3 利用块RAM 或 LUTRAM实现小存储器阵列的功率估算 图4 利用LUTRAM和块RAM实现大存储器阵列的功率估算 在电路板降低功耗 PCB设计师、机械工程师和系统架构师在电路板可以考虑通过几个方面来降低FPGA的功耗,FPGA的内核电压和结温对于功耗的不同方面都有很强的影响。 控制VCCINT内核电压是板级降低功耗的一种方法。源于泄漏的静态功耗以及动态功耗都高度依赖于FP
13、GA的内核电压。因此,减少泄漏的一种方法就是将内核电压设置在接近额定值(1V)的地方,而不是工作在Virtex-5电压范围的高端(1.05V = +5%)。 采用现代开关稳压器,可以获得1.5%的电压稳定度,而不是标准的5%规格。保持内核电压在1V(而不是值1.05V),可将泄漏导致的静态功耗降低15%,同时动态功耗降低10%。 降低FPGA结温的一种简单明显的方法是利用散热更好的PCB或散热器。然后,FPGA设计人员只要能够降低功耗的改变都是值得鼓励的。在结温100左右时,15的温度降低可以将源于泄漏导致的静态功耗降低20%。 通过监控FPGA中的温度和电压也可以降低功耗。Virtex-5
14、FPGA中包含了一个称为System Monitor的模拟模块,可以监控外部和内部模拟电压以及芯片内部温度。System Monitor基于一个10位的A/D变换器,能够在-40至+125范围内提供准确可靠的测量结果。A/D变换器将片上传感器的输出数字化,可以利用它来监控多达17路外部模拟输入,从而监控系统性能与外部环境。模块内包括了可配置的阈值和告警电平,并且可以在可配置的存放器内存储测量结果,因此可方便地接口到用户逻辑或微处理器。 此外,I/O功率成为在功耗和性能平衡过程中需要考虑的另一重要因素,通过更为优化的I/O选择可以进一步降低总体功耗。对于输出来说,驱动力量的标准所消费的功率也,因此功率随输出使能速率和跳变速率线性变化。然而,LVDS是个例外,因为它采用了独立于跳变速率的基于固定电流源。对于输入来说,参考标准消费功率也较大,因为它们需要实现差分接收器并且需要可选择的内部端接。两者都需要消费直流功率。 由于端接通常需要消费大量功率,因此使用时需慎重考虑功率和性能的平衡。采用外部接口或不需要端接的方案会大大降低功耗。 总结 Xilinx公司一直致力于在ISE套件工具中集成功率优化技术,同时,还可以将ISE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数字智慧方案5832丨智慧工业园区方案设计项目汇报智慧交通
- DB43-T 2816-2023 鱼类粘孢子虫检测方法
- 知识与技能训练方法课件
- 静脉治疗注射规范讲课件
- 睡莲儿童绘画课件下载
- 2024年普通合成纤维项目投资申请报告代可行性研究报告
- 2025年农业智能化解决方案深度分析报告
- 2025年农业物联网在精准种植中的作物生长周期管理报告
- 2025年农业物联网精准种植技术投资分析报告
- 武理工工程热力学与传热学课件第2章 基本概念
- 2.2.1 有理数的乘法(第一课时)-课件
- 2024-2030年中国射击场行业市场发展趋势与前景展望战略分析报告
- 施工现场建筑垃圾减量化专项方案
- 高三数学一轮复习题型与战法精准训练(新高考专用)7.2.2点线面的位置关系(针对练习)(原卷版+解析)
- 翻译理论与实践智慧树知到期末考试答案章节答案2024年湖南中医药大学
- 2024年吉林省中考历史试卷真题(含答案)
- 人教部编版三年级下册语文【选择题】专项复习训练真题100题(附答案解析)
- 人教鄂教版科学18《制作日晷》课件-科学四年级下册人教鄂教版
- 云南开放大学实-用写作离线作业1-5
- 内科学(肾脏-内分泌-血液)智慧树知到期末考试答案章节答案2024年温州医科大学
- 食品安全与日常饮食智慧树知到期末考试答案章节答案2024年中国农业大学
评论
0/150
提交评论