本篇首要介绍Xilinx FPGA的电源规划,首要包含电源品种、电压要求、功耗需求,上下电时序要求,常见的电源完结计划等。
1、电压品种及要求
跟着FPGA的开展,其电压类型越来越丰厚,首要包含以下几品种型:
Processor System电压,首要给Zynq系列SoC中的ARM供电,包含VCC_PSINTFP、VCC_PSINTLP、VCC_PSAUX、VCC_PSINTFP_DDR、VCC_PSADC、VCC_PSPLL、VPS_MGTRAVCC、VPS_MGTRAVTT、VCCO_PSDDR、VCC_PSDDR_PLL、VCCO_PSIO、VCC_PSBATT等;
FPGA Logic电压,首要给FPGA逻辑部分供电,包含VCCINT、VCCINT_IO、VCCBRAM、VCCAUX、VCCO、VCCAUX_IO、VBATT等;
GTx Transceiver电压,首要给FPGA部分的GTx高速收发器供电,包含VCCINT_GT、VMGTAVCC、VMGTAVTT、VMGTVCCAUX、VMGTAVTTRCAL;
System Monitor电压,首要给FPGA部分的ADC供电,包含VCCADC、VREFP;
High Bandwidth Memory电压,包含VCC_HBM、VCC_IO_HBM、VCCAUX_HBM;
VCU电压,只需Zynq UltraScale+ MPSoC系列带图画处理内核的器材才有,包含VCCINT_VCU;
RF电压,只需Zynq UltraScale+ RFSoC系列才有,包含VADC_AVCC、VADC_AVCCAUX、VDAC_AVCC、VDAC_AVCCAUX、VDAC_AVTT、VCCINT_AMS、VCCSDFEC;
以上各种电压的供电目标不同,对精度的要求也不一样,针对不同架构的FPGA,其对电压的精度要求也不一样,其纹波规模从2%到5%不等,但全体要求都比较高,而电流要求却越来越大,比方VCCINT最大能到几十安。一起各种电压值不同,有的能够兼并,有的却不能兼并,一起还需求时序上的操控。
针对Zynq UltraScale+ MPSoC(ZU+ MPSoC)、Zynq UltraScale+ RFSoC(ZU+ RFSoC)、Zynq 7000(Z7)、UltraScale +(US+包含VU+和KU+)、UltraScale(US包含VU和KU)、7系列等,对每一类型电压及要求电压值、精度罗列如下表:
电压类型 | ZU+ MPSoC | ZU+ RFSoC | Z7 | US+ | US | 7 Series | |
Logic | VCCINT |
0.85(3%) 0.72(3%) 0.9(3%) |
0.85(3%) 0.72(3%) |
1.0(3%) 0.95(3%) |
0.85(3%) 0.72(3%) 0.9(3%) |
0.95(3%) 0.9(2.2%)KU 1.0(3%) |
1.0(3%) 0.9(3%) 0.95(2%) AKV三个系列不同 |
VCCINT_IO |
0.85(3%) 0.9(3%) |
0.85(3%) | × |
0.85(3%) 0.9(3%) |
0.95(3%) 0.9(2.2%)KU 1.0(3%) |
× | |
VCCBRAM |
0.85(3%) 0.9(3%) |
0.85(3%) |
1.0(3%) 0.95(3%) |
0.85(3%) 0.9(3%) |
0.95(3%) 1.0(3%) |
1.0(3%) 0.9(3%) 0.95(3%) AKV三个系列不同 |
|
VCCAUX | 1.8(3%) | 1.8(3%) | 1.8(5%) | 1.8(3%) | 1.8(5%) | ||
VCCO | √ | √ | √ | √ | √ | √ | |
VCCAUX_IO | 1.8(3%) | 1.8(3%) |
1.8(5%) 2.0(3%) |
1.8(3%) |
1.8(5%) 2.0(3%) A7没有 |
||
VBATT | √ | √ | √ | √ | |||
GTx | VCCINT_GT | × | × | × |
0.85(3%) 0.9(3%) 只需VU+才有 |
× | × |
VMGTAVCC | 0.9(3%) | 0.9(3%) |
1.0(0.97~1.08) 1.05(1.02~1.08) |
0.9(3%) |
1.0(3%) 1.03(3%)VU |
1.0(0.97~1.08) 1.05(1.02~1.08) |
|
VMGTAVTT | 1.2(3%) | 1.2(3%) | 1.2(2.5%) | 1.2(3%) |
1.2(2.5%) 1.23(2.4%)VU |
1.2(2.5%) | |
VMGTVCCAUX | 1.8(3%) | 1.8(3%) | 1.8(2.7%) | 1.8(3%) | 1.8(2.7%) | 1.8(2.7%) | |
VMGTAVTTRCAL | 1.2(3%) | 1.2(3%) | 1.2(2.5%) | 1.2(3%) |
1.2(2.5%) 1.23(2.4%)VU |
1.2(2.5%) | |
System Monitor | VCCADC | 1.8(3%) | 1.8(3%) | 1.8(5%) | 1.8(3%) | 1.8(5%) | |
VREFP | 1.25(4%) | 1.25(4%) | 1.25(4%) | 1.25(4%) | 1.25(4%) | ||
Processor System | VCC_PSINTFP |
0.85(5%) 0.9(3%) |
0.85(5%) | VCC_PSINT(1.0(5%)) | |||
VCC_PSINTLP |
0.85(5%) 0.9(3%) |
0.85(5%) | |||||
VCC_PSAUX | 1.8(5%) | 1.8(5%) | 1.8(5%) | ||||
VCC_PSINTFP_DDR |
0.85(5%) 0.9(3%) |
0.85(5%) | × | ||||
VCC_PSADC | 1.8(5%) | 1.8(5%) | × | ||||
VCC_PSPLL | 1.2(3%) | 1.2(3%) | 1.8(5%) | ||||
VPS_MGTRAVCC | 0.85(3%) | 0.85(3%) | × | ||||
VPS_MGTRAVTT | 1.8(3%) | 1.8(3%) | × | ||||
VCCO_PSDDR | DDR I/O | DDR I/O | DDR I/O | ||||
VCC_PSDDR_PLL | 1.8(5%) | 1.8(5%) | × | ||||
VCCO_PSIO | MIO | MIO | MIO | ||||
VCC_PSBATT | √ | √ | × | ||||
HBM | VCC_HBM | 1.2(3%)VU+ | |||||
VCC_IO_HBM | 1.2(3%)VU+ | ||||||
VCCAUX_HBM | 2.5(3%)VU+ | ||||||
VCU | VCCINT_VCU | 0.9(3%) | |||||
RF | VADC_AVCC | 0.925(3%) | |||||
VADC_AVCCAUX | 1.8(3%) | ||||||
VDAC_AVCC | 0.925(3%) | ||||||
VDAC_AVCCAUX | 1.8(3%) | ||||||
VDAC_AVTT |
2.5(3%) 3.0(3%) |
||||||
VCCINT_AMS | 0.85(3%) | ||||||
VCCSDFEC | 0.85(3%) |
2、功耗
FPGA的功耗包含所用逻辑单元数/BRAM数等内部资源、作业时钟频率、切换速率、布线和I/O功耗等。关于I/O功耗,影响要素包含输出类型、作业时钟频率、以及输出的信号翻转数量以及输出负载等。实践功耗取决于特定的体系规划。本部分内容首要针对FPGA logic部分的功耗,而关于Zynq系列,因为其操作体系不同、运用不同,无法进行具体核算,但能够经过软件进行大略评价。
整个FPGA规划的总功耗由三部分功耗组成:芯片静态功耗、规划静态功耗、规划动态功耗。
芯片静态功耗:FPGA在上电完结后还未装备时的功耗,首要是晶体管的走漏电流所耗费的功耗。
规划静态功耗:当FPGA装备完结后,当规划还未发动时,需求坚持I/O的静态电流,时钟办理和其它部分电路的静态功耗。
规划动态功耗:FPGA内规划正常发动后,规划的功耗;这部分功耗的多少首要取决于芯片所用电平,以及FPGA内部逻辑和布线资源的占用状况等。
2.1、待机功耗(芯片静态功耗)
因为漏电流的存在,器材在待机时也会耗费能量。待机功耗随芯片DIE的巨细、温度以及工艺的改动而改动。能够运用器材特征参数来模仿待机功耗,并界说为两类:典型功耗和最大功耗。
2.2、IO功耗(规划静态功耗)
I/O功耗是VCCO功耗,首要来自器材输出引脚衔接的外部负载电容、阻抗形式输出驱动电路以及外部匹配网络(假如有)的充放电电流。
如前所述,FPGA内部要实践耗费一部分VCCO功耗,外部匹配电阻网络以及输出电容负载耗费了另一部分能量。规划人员在规划散热计划时,应考虑VCCO的内部功耗。作为VCCO电源输出功率的一部分,规划人员也应考虑外部功耗的组成。
2.3、动态功耗(规划动态功耗)
内部节点改动逻辑状况时(例如,从逻辑0变到逻辑1)会构成器材内部动态功耗,因为它需求能量对逻辑阵列和互联网络的内部电容进行充放电。内核动态功耗包含逻辑单元功耗和导线功耗。LE功耗来自内部节点电容充放电以及内部电阻单元的电流损耗。导线功耗来自每个LE驱动外部导线电容时的充放电电流。内核动态功耗首要来自以下结构单元:
LUT
RAM模块
DSP Slice
锁相环(PLL)
时钟树网络
GTx收发器
IP运用状况
IO运用状况
2.4、功耗规划
前两部分的功耗取决于FPGA芯片及硬件规划本身,很难有较大的改进。能够优化的是第3部分功耗:规划动态功耗,这部分功耗占总功耗的90%以上,因而下降规划动态功耗是下降整个体系功耗的要害要素。
Tjmax>θJA*PD+TA
其间Tjmax表明FPGA芯片的最高结温(maximum junction temperature);θJA表明FPGA与周围大气环境的结区热阻抗(JuncTIon to ambient thermalresistance),单位是℃/W;PD表明FPGA总功耗(power dissipaTIon),单位是W;TA表明周围环境温度。
以XC7K325T-2FFG900I系列芯片为例,θJA=9.7℃/W,在TA=55℃的环境中,想要结温Tjmax不超越100°C的状况下,能够核算FPGA的总功耗为:
PD
因而实践功耗只需超越此值就需求进行优化处理,优化处理的办法首要有两种:一是下降θJA:热阻抗取决于芯片与环境的热传导功率,可经过加散热片或许电扇减小热阻抗;二是减小PD:经过优化FPGA规划,下降总功耗。下面就针对这两部分进行介绍。
2.4.1、下降θJA
此部分详见之前的文章《可靠性规划之降额规划》。
2.4.1、减小PD
2.4.1.1、功耗估量
Xilinx FPGA的功耗评价常见的有几种计划:Xilinx自己的XPE(能够在xilinx官网上下载到:http://www.xilinx.com/power,它是一个依据excel的东西)、TI的WEBENCH(形似只需FPGA部分,没有ARM部分)、Vivado软件、开发板实测评价等,这几种计划都能够依据自己的外设进行定制,便利灵敏。
在低功耗规划之前,需求先进行功耗评价。XPE首要是在项目初期,处于体系规划,RTL代码并未完善阶段功耗估量时运用。在规划完结归纳完结后,则能够运用vivado自带的功耗剖析东西进行准确核算功耗。翻开归纳完结后的规划,点击report power即可得到功耗剖析的成果。
此部分能够拜见之前的文章《Zynq UltraScale+系列之“电源”》。
2.4.1.2、功耗优化
关于FPGA低功耗规划,可从两方面着手:一是算法优化;二是FPGA资源运用功率优化。
算法优化
算法优化可分为两个层次阐明:完结结构和完结办法。首要必定需求规划一种最优化的算法完结结构,规划一种最优化的结构,使资源占用到达最少,当然功耗也能降到最低,可是还需求确保功能,使FPGA规划在面积和速度上都能统筹。比方在挑选选用流水线结构仍是状况机结构时,流水线结构同一时刻一切的状况都在继续作业,而状况机结构只需一个状况是使能的,清楚明了流水线结构的功耗更多,但其数据吞吐率和体系功能更优,因而需求合理选其一,使体系能在面积和速度之间得到平衡。
另一个层面是具体的完结办法,规划中一切吸收功耗的信号傍边,时钟是元凶巨恶。尽管时钟或许运行在100MHz,但从该时钟派生出的信号却一般运行在主时钟频率的较小重量(比方12%~15%)。此外,时钟的扇出一般也比较高。这两个要素显现,为了下降功耗,应当仔细研讨时钟。首要,假如规划的某个部分能够处于非活动状况,则能够考虑制止时钟树翻转,而不是运用时钟使能。时钟使能将阻挠寄存器不必要的翻转,但时钟树仍然会翻转,耗费功率。其次,阻隔时钟以运用最少数量的信号区。不运用的时钟树信号区不会翻转,然后减轻该时钟网络的负载。
资源运用功率优化
资源运用功率优化是运用FPGA内部的一些资源(如BRAM,DSP slice)时,能够优化功耗的办法。FPGA动态功耗首要体现为存储器、内部逻辑、时钟、I/O等的功耗。
其间存储器是功耗大户,如xilinx FPGA中的存储器单元Block RAM,因而首要介绍对BRAM的一些功耗优化办法。
下图中尽管BRAM只运用了7%,可是其功耗0.614W占了总规划的42%,因而优化BRAM的功耗能有效地减小FPGA的动态功耗。
下面介绍一下优化BRAM功耗的办法:
运用“NO CHANGE”形式:在BRAM装备成True Dual Port时,需求挑选端口的操作形式:“Write First”,“Read First” or “NO CHANGE”,避免读操作和写操作产生抵触,如图6所示;其间“NO CHANGE”表明BRAM不增加额定的逻辑避免读写抵触,因而能削减功耗,可是规划者需求确保程序运行时不会产生读写抵触。
设置成“NO CHANGE”后BRAM的功耗从0.614W降到了0.599W,因为只运用了7%的BRAM,假如规划中运用了很多的BRAM,作用能愈加显着。
操控“EN”信号:BRAM的端口中有clock enable信号,在端口设置中能够将其使能,模块例化时将其与读/写信号衔接在一起,如此优化能够使BRAM在没有读/写操作时停止作业,节约不必要的功耗。
操控“EN”信号优化后BRAM功耗降到了0.589W。
拼深度:当规划中运用了很多的存储器时,需求多块BRAM拼接而成,如需求深度32K,宽度32-bit,32K*32Bit的存储量,可是单块BRAM怎么装备是个问题。7 series FPGA中是36Kb 的BRAM,其间一般运用32Kb容量,因而能够装备成32K*1-bit或许1K*32-bit,多块BRAM拼接时,下图中前者是“拼宽度”,后者是“拼深度”。两种结构在作业时,“拼宽度”结构一切的BRAM需求一起进行读写操作;而“拼深度”结构只需求其间一块BRAM进行读写,因而在需求低功耗的状况下选用“拼深度”结构。但需求特别注意的是:“拼深度”结构需求额定的数据挑选逻辑,增加了逻辑层数,为了下降功耗即献身了面积又献身了功能。
3、上下电时序
3.1、上电时序
FPGA一般需求多路供电电压,并且要求必定的上电/断电次序。次序上电有助于束缚上电期间的浪涌电流。假如忽视器材的供电次序要求,或许导致器材损坏或闩锁,形成FPGA器材毛病。有三品种型的上电时序:同步盯梢、次序盯梢和比率盯梢。
针对各个系列的FPGA芯片,其内部各功能模块的上电时序一般是彼此独立的,各个功能模块内部是有先后次序的要求。具体可参看各个器材的data sheet,其间会有具体的先后次序束缚。
3.2、上升单调性
发动过程中,电源电压坚持单调爬高十分重要,只需这样才干确保器材成功敞开。一般的FPGA给出了严厉的电压单调上升要求,即电源电压应该接连上升至所设置的稳压值,中心不该产生下跌。假如电源不能供给满意的输出功率,则会形成下跌。
3.3、上电时刻
大多数FPGA规则了发动电压上升速率的最小值和最大值,电源经过在发动过程中逐步增大限流值完结软发动。软发动减缓了电源电压的上升速率,也下降了注入FPGA的峰值浪涌电流。一般的电源可运用衔接在引脚的软发动电容设置软发动时刻。
3.4、掉电时序
断电时序也是需求操控的,规范的时序是把上电时序倒过来。
3.5、特殊状况的时序操控
常常会有FPGA和ARM等其他CPU互连的状况,为了不损坏器材,此刻FPGA和ARM的上电时序既要满意本身的上电时序要求,也要满意对方的上电时序要求,这种状况能够进行如下处理:
当FPGA和ARM各自运用自己的装备文件时:因为ARM处于复位状况时IO为输入状况,而FPGA需求完结装备后才干确认其IO的状况,因而ARM和FPGA能够各自进行各自的上电时序,当ARM的上电时序完结后处于复位状况,这样IO为输入状况,当FPGA上电完结后进行装备,装备完结后给ARM一个装备完结信号,此信号去开释ARM的复位,设置对应的IO状况,就不会呈现IO抵触了,也不会影响FPGA发动时序,也不会导致FPGA接口呈现闩锁效应。
当FPGA是运用ARM给装备文件时,不会呈现IO抵触的状况,因为FPGA开释复位,进行装备之前,IO是高阻态,FPGA没有装备文件,不会去设置IO状况。
4、电源计划
现在针对FPGA的常用电源解决办法包含运用单路LDO、单路DC/DC、单颗Power Module、PMIC等。
4.1、LDO
假如电路板空间有确保,低输出噪声很重要,或许体系要求对输入和瞬态现象快速呼应,就应该选用LDO。LDO供给了中低输出电流。输入电容一般会堵截输入至LDO的阻抗和噪声。LDO还要求在输出端有一个电容器,以处理体系瞬态呼应并供给稳定性。
4.2、SMPS
当规划功率十分要害且体系要求大输出电流时,开关电源具有优势。开关电源供给比LDO更高的功率,但其开关特性使其对噪声更灵敏。与LDO不同,开关电源需求运用电感器,并且或许需求变压器进行DC-DC转化,对PCB空间需求较大。
4.3、Power Module
Power Module能够省去自己建立外围电路,且厂家规划的模块一般比自己规划的功能会更好(功率更高、纹波更小),但电源模块一般是在电流需求比较大的状况下会挑选。
4.4、PMIC
因为FPGA的广泛运用,现在针对FPGA的专用PMIC越来越多,从输出电压、通道数、输出电流等方面都能很好的满意特定FPGA芯片的需求,一起PCB占用面积、规划快捷性、价格等方面都比较有优势。ZU+ MPSoC系列可拜见之前的文章《Zynq UltraScale+系列之“电源”》,其他系列相似,具体能够拜见TI、Infineon、ADI(含凌特)等厂家官网,有相关FPGA系列芯片对应的解决计划。
以上便是针对Xilinx FPGA的电源介绍,首要包含了电源的品种、电压要求、功耗剖析、上下电时序、电源完结方法等。