解析FPGA低功耗设计
在项目设计初期,基于硬件电源模块的设计考虑,对FPGA设计中的功铁硅铝电感器耗估计是必不可少的。笔者经历过一个项目,整个系统的功耗达到了100w,而单片FPGA的功耗估计得到为20w左右,有点过高了,功耗过高则会造成发热量增大,温度高最常见的问题就是系统重启,另外对FPGA内部的时序也不利,导致可靠性下降。其它硬件电路的功耗是固定的,只有FPGA的功耗有优化的余地,因此硬件团队则极力要求笔者所在的FPGA团队尽量多做些低功耗设计。笔者项目经历尚浅,还是第一次正视功耗这码事儿,由于项目时间比较紧,而且xilinx方面也比较重视这个项目,因此当时有Xilinx的工程师过来对我们做了些培训,并且专门请了美国总部的专家过来与我们协同进行设计功耗估计,还是比较给力的。
以下是笔者在这比较短的时间内学习到的一些关于功耗估计和如何进行低功耗设计的知识。
1.功耗分析
整个FPGA设计的总功耗由三部分功耗组成:1. 芯片静态功耗;2. 设计静态功耗;3. 设计动态功耗。
● 芯片静态功耗:FPGA在上电后还未配置时,主要由晶体管的泄露电流所消耗的功耗。
● 设计静态功耗:当FPGA配置完成后,当设计还未启动时,需要维持I/O的静态电流,时钟管理和其它部分电路的静态功耗。
● 设计动态功耗:FPGA内设计正常启动后,设计的功耗;这部分功耗的多少主要取决于芯片所用电平,以及FPGA内部逻辑和布线资源的占用。
显而易见,前两部分的功耗取决于FPGA芯片及硬件设计本身,很难有较大的改善。可以优化是第3部分功耗:设计动态功耗,而且这部分功耗占总功耗的90%左右,因此所以降低设计动态功耗是降低整个系统功耗的关键因素。上面也提到过功耗较大会使FPGA发热量升高,那有没有一个定量的分析呢?答案当然是有,如下式:
Tjmax > θJA * PD + TA
其中Tjmax表示FPGA芯片的最高结温(maximum junction temperature);θJA表示FPGA与周围大气环境的结区热阻抗(Junction to ambient thermal resistance),单位是°C/W;PD表示FPGA总功耗(power dissipation),单位是W;TA表示周围环境温度。
以XC7K410T-2FFG900I系列芯片为例,θJA = 8.2°C/W,在TA = 55°C的环境中,想要结温Tjmax不超过100°C的情况下,可以推算FPGA的总功耗:PD < (Tjmax - TA)/θJA=(100 - 55)/8.2=5.488W,之前估算的20W与之相差太远,因插件电感此优化是必不可少的:
1)降低θJA:热阻抗取决于芯片与环境的热传导效率,可通过加散热片或者风扇减小热阻抗
电感生产 图1
2)减小PD:通过优化FPGA设计,降低总功耗,这也是本文重点讲解的部分。
2.功耗估计
在讲解低功耗设计之前,介绍一下xilinx的功耗估计工具XPE(Xilinx Power Estimator),XPE主要是在项目初期,处于系统设计,RTL代码并未完善阶段功耗估计时使用。大家可以在x电感生产厂家ilinx官网上下载到:http://www.xilinx.com/power,它是一个基于EXCEL的工具,如图2所示,功能做的十分丰富,感叹EXCEL也未免太强大了吧。
图2
在设计完成综合实现后,则可以使用vivado自带的功耗分析工具进行精确计算功耗。打开综合实现后的设计,点击report power即可得到功耗分析的结果,如图3,4所示。
图3
图4
3.低功耗设计
关于FPGA低功耗设计,可从两方面着手:1)。 算法优化;2)。 FPGA资源使用效率优化。
1)算法优化
算法优化可分为两个层次说明:实现结构和实现方法
首先肯定需要设计一种最优化的算法实现结构,设计一种最优化的结构,使资源占用达到最少,当然功耗也能降到最低,但是还需要保证性能,是FPGA设计在面积和速度上都能兼顾。比如在选择采用流水线结构还是状态机结构时,流水线结构同一时间所有的状态都在持续工作,而状态机结构只有一个状态是使能的,显而易见流水线结构的功耗更多,但其数据吞吐率和系统性能更优,因此需要合理选其一,使系统能在面积和速度之间得到平衡; 平面变压器厂家 | 平面电感厂家
自已试制UC3842不断炸机这段时间没事,自己学着做UC3842的100W LED驱动隔离电源,但做好后通电试机,不是没输出就是炸管炸保险和取样电阻,请各位大神帮忙看一下倒底哪里不合适.这个电源我想做成48V-1
[开关电源]反激式开关电源多路输出问题请教各位大侠,我想利用反激式开关电源做充电器给锂电池充电,那么在恒流充电时,次级电压被拉低,那如何保证辅助电压以及另一路电压稳定呢,辅助电压给IC供电的。 比如输入220v,输出一路60v给电池,一路16v给IC,一路12v给风扇。 我仿真时(仿真时就接电阻做负载)看到恒流时60v电压拉低, (由于 pwm调整,) 使得16v,12v都下降。 这是怎么解
一种远程直流电源监控系统设计与实现1 引言上世纪60年代中期,美国科学家马斯对开口蓄电池的充电过程作了大量的试验研究,并提出了以最低出气率为前提的,蓄电池可接受的充电曲线,如图1所示。实验表明,如果充电电流按这条曲线变化,就可以大大缩