FPGA厂商不断采用更先进的工艺来降低器件功耗,提高性能,同时FPGA对供电电源的精度要求也越加苛刻,电压必须维持在非常严格的容限内,如果供电电压范围超出了规范的要求,就有会影响到FPGA的可靠性,甚至导致FPGA失效。
无论是Intel (Altera)FPGA还是Xilinx FPGA均在数据手册中明确提出了电源精度要求,其中要求最高的是内核和高速收发器的供电。举例来看,Intel公司的Cyclone V、Cyclone 10 GX、Arria10、Stratix 10的电源精度要求在±30mV以内。
Arria10的core和transceiver数据手册上的供电要求(±30mV):
Stratix10的core和transceiver数据手册上的供电要求(±30mV):
如果Stratix10需要支持26.6G transceiver时,收发器供电精度要求 ±20mV以内:
Xilinx公司的Artix 7、Kintex7、Virtex 7等器件电源精度要求也是在±30mV以内,KU+、VU+器件要求电源精度必须达到±22mV以内。
Kintek Ultrascale+的core和transceiver数据手册上的供电要求(±22mV):
由此可见,新一代FPGA的供电精度都在±20-30mv左右,已经是单板中对电源精度要求最为苛刻的器件之一了。
由于输出精度都是理论计算值,并没有考虑单板PCB布线和其他外部设备引入的干扰和误差,因此实际设计产品时,电源输出精度不但必须符合数据手册中的要求,还必须预留一定的余量,通常设计中,我们还会保留50%-100%余量,以保证系统长期可靠工作。
电源的稳态直流精度及计算方法
供电电源的稳态直流精度主要取决于两个因素:电压调整精度和输出电压纹波。这里有一个误区,很多工程师只通过DC-DC数据手册上的电压输出精度来判断器件是否符合要求,其实这是不正确的。
首先很多DC-DC需要外部反馈电阻来决定最终的输出电压,数据手册上的电压调整精度是指芯片本身的输出精度,并没有计算反馈电路引入的偏差。其次,器件数据手册上的电压输出精度并不包含输出电压纹波,必须将两者叠加计算才能得到正确的直流稳态精度。
正确的电源稳态直流精度的计算公式如下:
电源直流稳态精度 =器件输出精度(这里要求全温度,全负载时的精度,很多器件手册只给出典型值,因此要小心)+ ? 纹波 + 外部反馈电阻精度引入的误差。
高精度电源对减低FPGA功耗的作用
除了电源精度影响整个系统的稳定性和可靠性,更高精度的电源还可以帮助我们降低系统功耗。
我们举一个例子,一个FPGA推荐的典型工作电压为0.85V,最高工作电压为0.88V,最低工作电压为0.82V, 假设供电DC-DC实际稳态直流精度是±30mV ,那么DC-DC必须正好工作在0.85V,如果电压更低,就会低于FPGA对电压下限的要求。