FPGA 电源的“护理和喂养”

描述

可能有些读者会质疑本文的标题,乍一看,说“FPGA的护理和喂养(care and feeding)”似乎完全不合适。然而,对于这种反对意见的答案很简单:英语是一个有趣的语言。虽然人们对于“care and feeding”这一说法何时开始流行莫衷一是,但人们都知道,这个说法起源于简单的农业时代,目前已经被人们普遍使用(滥用),指任何脆弱或不稳定的东西。在本文中,这一说法可谓一针见血。虽然对于FPGA是否需要“喂养”, 人们充满争议,但我们可以肯定的是,FPGA的确需要“护理”!

现代FPGA是有史以来最复杂的集成电路之一,它们采用最先进 的晶体管技术和顶尖的架构,以实现令人难以置信的灵活性和 最高的性能。随着时间的推移和技术的进步,这种复杂性决定 了,在用FPGA设计和实现系统时,需要做出某些妥协。这一点 在电源中最为明显,FPGA每次更新换代,电源都要提高精度、 灵活性、可控性、效率和故障感知能力,还要减小体积。 

FPGA电源要求(解读数据手册)

工程师应该将大部分时间用于编程——他们不希望花费时间和精 力去考虑如何设计合适的电源。实际上,最佳供电方案就是采用 一种既能满足项目当前需求,又能达到项目升级发展需求的,强 大、灵活且行之有效的设计方案。在此,我们将仔细考察一些重 要的电源规格及其含义。

电压精度

内核电源电压是平衡 FPGA 功耗和性能的、最重要的关键要素之一。规格文档给出了一系列可接受的电压,但总的电压范围并不 是问题的全部。与所有事物一样,需要进行权衡和优化。 

表1是当下流行的 Altera Arria 10 FPGA 的内核电压规格示例。虽然这些数字是Arria 10特有的数据,但它们代表了其他 FPGA 内核电压要求。电压范围为标称电压另加±3.3%的容差。在此电压窗口 内,FPGA会正常运行,但问题的全貌要复杂得多。

表1. Altera Arria 10内核电压规格

电源

注意标有“SmartVID”的行,其电压范围为 0.82 V 至 0.93 V。这表示,当 FPGA 通过 SmartVID2 接口(详见后文)请求自身的内核电压 时,FPGA 可以接受的各种电压。该 SmartVID 规格表明了有关 FPGA 的一个基本事实:FPGA 可以在不同电压下运行,具体取决于其特 定的制造容差以及采用的特定逻辑设计。FPGA的静态电压可能各不相同。电源必须具备响应和适应能力。

设计目标是产生恰好能满足编程功能需求的性能水平,不消耗不必要的功率。根据半导体的物理特性以及 Altera、Xilinx®(图1)和 其他公司公布的数据可知,动态和静态功率会随着内核 VDD 的增加而显著提高,因此我们的目标是确保,给 FPGA 提供的电压刚好达到其时序要求即可。功耗过大无助于提高性能。实际上,功耗过多会使情况变得更糟,因为晶体管泄漏电流随着温度的升高而增加,从而消耗更多不必要的功率。由于这些原因,当务之急是优 化设计和工作点的电压。

电源

图1. Xilinx Virtex V功率与内核VCC。

这种优化过程需要非常精确的电源才能获得成功。必须将调节器 误差纳入误差预算,并从可用于优化的可用电压范围中减去。如 果内核电压降至要求电压以下,则FPGA可能因时序错误而发生 故障。如果内核电压漂移至最大规格值以上,结果可能会损坏 FPGA,或者可能会在逻辑中形成保持时间故障。为了防止所有 这些情况,必须考虑电源容差范围,并且指令电压必须保持在 规格限值以内。

问题是大多数电源调节器都不够准确。调节电压可能是指令电压 容差范围内的任何电压,可能随负载条件、温度和老化而漂移。 保证 ±2% 容差的电源可以在 4% 的电压窗口内任意调节电压。为 了补偿电压可能比下限值低2% 的问题,必须将指令电压提高到 比时序要求 2%的水平。如果调节器然后漂移到比指令电压高 2% 的水平,它将在比该工作点所需的最小电压高 4% 的水平运行。这仍然符合FPGA的指定电压要求,但却浪费了大量功率(图2)。

电源

图2. 电源调节器容差权衡。

解决办法是选择能支持更严格的电压容差的电源调节器。容差 为±0.5%的调节器可以在要求工作频率下,在更接近最小规格要 求的范围内工作,并且保证与所需电压的偏离幅度小于1%。这 种情况下,FPGA会正常工作,并且其功耗将达到该工作条件下 的最低水平。

LTC388x 系列电源控制器可在较宽的可配置电压范围内,保证调 节输出电压容差优于±0.5%。LTC297x 系列电源系统管理器可保证 调整后的电压调节器容差优于±0.25%。在这些精度条件下,对于FPGA,显然都能使其功耗与性能之间达到最佳平衡。

热管理 

就电源精度而言,一个更微妙的意义体现在热预算当中。由于静 态功耗远远没有达到可以忽略不计的程度,因此FPGA即使在无所 事事的情况下也会升温。温度升高会导致更多的静态功耗,从而 进一步提高工作温度(图3)。向电源添加不必要的电压只会使该 问题变得更加糟糕。不准确的电源需要工作电压保护段,确保有 足够的电压来完成此项工作。由容差、系统组件变化和工作温度 的变化引起的电源电压不确定性可能产生明显高于所需最小值的 电压。当施加到FPGA时,这种额外的电压可能导致热效应,甚至 可能在高处理负载下导致热失控。

电源

图3. 电源电流与工作温度的关系。

补救措施是选择一种非常精确的电源,该电源仅产生恰当且不超过必要的电压,这正是 ADI 电源系统管理 (PSM) 器件所擅长的。

SmartVID 

SmartVID 是 Altera 公司出品的一种技术,该技术用于按照FPGA本身 的要求,为每个 FPGA 提供最佳电压。FPGA 内部有一个寄存器,其 中包含一个因器件而异的电压(已在出厂中编程),可保证 FPGA 高效运行。FPGA 内部编译的一项IP功能可以读取该寄存器,并通过 外部总线向电源发出请求,要求提供这个精确的电压(图4)。一 旦达到电压要求,它就会在运行期间保持静止。

电源

图4. Altera SmartVID结构。

SmartVID 应用对电源的要求包括特定的总线协议、电压精度和速 度。总线协议是 FPGA 用于将其所需电压传送到功率调节器的几 种方法之一。在可用的方法中,PMBus 最为灵活,因为它可以 满足最广泛的电源管理IC的需求。SmartVID IP 使用两个 PMBu s指令:VOUT_MODE 和VOUT_COMMAND,用于命令符合 PMBus 标准的功率调节器达到正确的电压。 

调节器的电压精度和速度要求包括自主引导电压(在PMBus激活之 前),能每10毫秒接受一个新电压指令,在电压调整阶段每 10 毫秒能步进 10 mV,并且能在10毫秒的步进时间内稳定在目标电压30 mV (~3%)范围内,最终升至指令电压并在FPGA工作期间保持静止。

虽然 Altera 使用的是 SmartVID 技术,但业界使用的其他类似技术也 可以完成相同的任务。一种最简单的方法是在工厂测试每块电路板,并在电源的非易失性存储器中编程一个精确的电压,优化该特定电路板的性能。使用该技术时,不需要进一步干预,电源就能在正确的电压下工作。这是搭载EEPROM 的电源管理器或控制 器的优点之一。

LTC388x 系列电源控制器可满足 Altera SmartVID 的所有要求。此外,LTM4675/LTM4676/LTM4677 µModule 调节器可以轻松满足这些 要求,而且通过单一紧凑的形式提供了完整的解决方案。

时序收敛  

任何逻辑模块的计算速度均取决于其电源电压。在限值范围内, 电压越高,性能越快。我们已经看到,为什么不能采用简单的办 法,即在最高电压下运行,保证获得最佳速度。另一方面,我们必须使工作电压足够高,能满足应用需求,如图5所示。

电源

图5. FPGA工作频率与VDD之间的平衡关系。

图5的一个重要启示是,当特定设计达不到其逻辑时序要求并处 于故障区域时可以采取哪些措施。通常,在将设计转化成硬件 之前,很难准确定义正常工作与故障之间的界限,也无法预先 确定它将在哪个特定电压下超过时序要求。唯一的选择是提前确 定一个远高于最小值的电压,以浪费功率为代价来保证功能;或 者设计一种灵活的电源,以在测试时适应硬件需求,甚至在采用 SmartVID 技术的情况下,能在加电时适应硬件需求。适应未知需 求的能力使得 ADI PSM 器件的精度更具价值,因为 FPGA 设计师可以在实际设计阶段和任何开发阶段在功耗与性能之间进行权衡。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分