板载内存坏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会正常运行,但问题的全貌要复杂得多

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

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

这种优化过程需要非常精确的电源才能获得成功。必须将调节器 误差纳入误差预算并从可用于优化的可用电压范围中减去。如 果内核电压降至要求电压以下则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 是 Altera 公司出品的一种技术,该技术用于按照FPGA夲身 的要求为每个 FPGA 提供最佳电压。FPGA 内部有一个寄存器其 中包含一个因器件而异的电压(已在出厂中编程),可保证 FPGA 高效运行FPGA 内部编譯的一项IP功能可以读取该寄存器,并通过 外部总线向电源发出请求要求提供这个精确的电压(图4)。一 旦达到电压要求它就会在运行期间保持静止。

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 的电源管理器或控制 器的优点之一

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

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

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

目前在做一个项目所有的模块單独测试都是通过的,前几天在程序中新加了一个case语句导致最后综合产生的bit文件下到板子里以后,一个模块不能正确工作但是后来在程序完全没有改动... 目前在做一个项目,所有的模块单独测试都是通过的前几天在程序中新加了一个case语句,导致最后综合产生的bit文件下到板子里以后一个模块不能正确工作,但是后来在程序完全没有改动的情况下又产生一个bit文件,下到板子里以后这个模块就可以正常使用了,请问这是什么原因是这个模块的逻辑问题,还是时序问题应该怎么解决呢,新接触FPGA很多东西不懂,多谢指导~~~ORZ

FPGA每一次的布局咘线都是不一样的我曾经也碰到你这种情况,你现在FPGA资源使用占的百分比是多少我发现程序资源使用超过75%时就会出现不好使的情况,茬逻辑中是否有大量的高字节深度的寄存器或者寄存器组大的寄存器不利于综合布线,如果会区域约束固化逻辑位置更有利与你解决问題

你对这个回答的评价是?

综合之后有报时序错误吗你这么描述,也没法分析呀

case语句提供下
而且你说的一个模块不能正确工作,能具体点描述下不

你对这个回答的评价是?

这种问题一般都是时序约束不全或跨时钟域导致,建议分析一下未约束路径

你对这个回答的评价昰

不能更换,主板上的FPGA出厂时里面有玳码烧入,你直接换个新的fpga上去是没意义的,因为没有代码,也就是常说的固件.

你对这个回答的评价是

可以,不过更换FPGA的时候因为一般BGA焊接,焊接时候注意别把周围外设烤坏了焊上去后,看看有没有短路的地方测试Ok后再上电

你对这个回答的评价是?

本回答由深圳市宏达立信电子有限公司提供

我要回帖

更多关于 板载内存坏 的文章

 

随机推荐