什么是好的FPGA?

最佳答案 匿名用户编辑于2024/03/12 11:01

从 FPGA 作为产品的角度来看,“好”很大程度上意味着“性能高”。

由于现代的 FPGA 是逻辑单元和诸如 DSP、收发器、CPU 等固化单元的混合体,除了工艺制程和功耗外,评价 FPGA 的性能指标可分为逻辑资 源、IO 资源和固化单元三大类,分别代表 FPGA 在容量、接口以及特定功能上的性能表现。

工艺制程是区分每一代的 FPGA 标准,是评价 FPGA 首先考虑的指标。FPGA 作为数字芯片的一种,本身 追逐摩尔定律,平均每 2-3 年就要推出新一代的产品。使用更先进的制程可以降低功耗、芯片尺寸和单片成 本,使得 FPGA 新一代的产品性能一般要优于上一代。因此,评价 FPGA 首先要考虑其制程。工艺制程对于 FPGA 非常重要的另一个原因在于,FPGA 通常是大规模 ASIC/ASSP 原型仿真的工具,因此必需跟上最先 进的制程(正如我们前文提到过,FPGA 大多基于 SRAM 单元,使其非常容易跟上最新的技术节点)。 基于这一点,FPGA 产品往往以“产品组合+制程代号”的形式命名,方便用户辨别。以赛灵思为例,其 45nm 的 FPGA 称为“6”系列,28nm 的 FPGA 称为“7”系列,例如 Virtex 7、Kintex 7 等,20nm 及更先进制 程的 FPGA 则不再使用数字命名,例如 20nm 的 FPGA 为“Ultrascale”系列,16nm 的 FPGA 后缀为 “Ultrascale+”。而使用了台积电 7nm FinFET 工艺的 Versal 是目前赛灵思最先进的产品,系包含了 FPGA、 CPU、GPU、DSP 等器件的异构计算平台,由于其形态脱离了 FPGA 的范畴,因此不再使用传统的命名方 法了。对于 Altera 来说同样,“V”代表 28nm 的产品,例如 Stratix V,Arria V,而其 14nm 的产品名后缀则 为“10”,在被英特尔收购后,采用英特尔 10nm 工艺(Intel 7)产品则使用“Agilex”统称,对标赛灵思 7nm 的 Versal。

逻辑单元数代表 FPGA的基础容量,是目前评价 FPGA基础容量的统一指标。ASIC 的最小功能单元是“门”, 因此其容量以门级数规模衡量。而 FPGA 的最小功能单元被称为基础逻辑单元(学界称 BLE,Basic Logic Element;FPGA 厂商称之为逻辑单元(Logic Cell)),包含一个 LUT 和一个寄存器。正如我们前文提到过, FPGA 实现可编程的基础是 LUT,本身可实现组合电路,配合寄存器可以完成时序电路,即一个逻辑单元拥 有完成所有数字电路功能的能力。所以,逻辑单元数量越多,FPGA 容量越大,能构造的电路就越大型、越 复杂。 大容量 FPGA 直接体现 FPGA 厂商的能力,能持续供应的厂商屈指可数。大型的 FPGA 逻辑单元数基本在 1kk 以上,这是因为逻辑单元数超过 1kk,需要包括 LUT、CLB、互联在内的 FPGA 架构的更改,否则功耗 和时延就会高到不可接受。此外,还需要 EDA 工具配套设计流程、布局布线算法的迭代。因此,大容量 FPGA 的设计难度远超中小容量 FPGA。是否拥有大型 FPGA 产品,往往是 FPGA 厂商能力的直接体现,能做到的 厂商屈指可数。目前,全球排名前五名的 FPGA 厂商中,只有赛灵思和 Altera(Intel)两家有能力持续提供 大容量的 FPGA 产品线。 过去,FPGA 厂商曾经使用门级数规模来衡量 FPGA 的容量,但从 2000 年后就逐渐转用统一的“逻辑单元 数”指标了,这是因为:1)门级规模数是 FPGA 容量的间接指标,逻辑单元数量才是 FPGA 容量的直接指 标,90 年代末,FPGA 在门级规模数上比肩门阵列等竞品,没必要再转换为竞品的评价指标了;2)为了满 足日益增长的性能需求,FPGA 内部的 LUT 结构和集成度不断变化,转化为门级数越来越困难。

门级数竞争是 FPGA 厂商第一阶段的竞争主线(1985-2000)。替代 ASIC 的背后是性能提升的需求。 FPGA 诞生目的是为了替代门阵列等的 ASIC,其容量指标是门级数规模,出于这个考虑,90 年代初, FPGA 厂商普遍将产品内部的逻辑容量转化为门级数规模,方便用户比较。在当时,复杂的电子系统 要求百万门级的规模,大多使用标准单元和门阵列实现,而 FPGA 当时容量只有 20-50 万门,无法 进入高端市场。鉴于此,90 年代,FPGA 厂商纷纷在门级数上展开竞争,以拓展在高端市场的份额。 门级数竞争也亦是 FPGA 厂商第一阶段的竞争主线。通过 LUT 输入数量、簇结构、互联形式等的架 构改善,辅之以摩尔定律的推动,FPGA 的密度和速度得以飞速提升。终于,在 90 年代末,赛灵思 和 Altera 均实现了百万门级的跨越,FPGA 开始加速替代门阵列、标准单元和 ASIC。此时,FPGA 的门级数已经可以比肩门阵列等竞品,没有必要再将逻辑资源数转化为门级数了。

同时,随着 FPGA 集成度的提升,不断将 RAM、DSP、CPU 等功能嵌入到 FPGA 中,以及 LUT4 逐渐提升到 LUT6、LUT8 甚至更高,将 FPGA 的容量转化为门级规模数越来越困难。因此,在 2000 年后,国际上越来越多使用“逻辑单元数”作为基本容量指标,因其能更好代表 FPGA 可调用的资源 数,赛灵思从 2005 年之后不再提供门级数规模,而是改用逻辑单元数这一指标。 以赛灵思为例,其逻辑单元数以“1 个 LUT4+1 个寄存器”为基准,是因为最初的 FPGA 中一个逻 辑单元确实仅包含 1 个 LUT4、1 个寄存器(以及数个 MUX),所以逻辑单元数等于其 LUT 的数量。 但随着 LUT6 的引入、进位器的添加以及 MUX 数量的增长,现在的一个逻辑单元能实现以往多个 LUT4+寄存器实现的功能。因此,现在逻辑单元数这一指标往往是将内部逻辑资源等效为“LUT4 *1 +寄存器*1”的个数,这一倍数的具体值由各个公司决定。以赛灵思为例,其采用了 LUT6 的 7 系产 品,“逻辑单元数”为内部 LUT6 数量的 1.6 倍,由于在 7 系架构中,一个 LUT6 连接 2 个寄存器, 所以寄存器数量是逻辑单元数的 2/1.6=1.25 倍。

以 BRAM、DSP、收发器等为代表的固化单元性能是 FPGA 性能体系的第二大部分。除了可编程的逻辑单 元外,现代的 FPGA 还集成了许多固化单元,我们常说的 FPGA 的 SerDes 速率、DSP 工作频率等,都是 在谈论 FPGA 中不同的固化单元的性能。 集成度竞争是 FPGA 厂商第二阶段的竞争主线 (2000-2010)。将板上分立的 DSP 等器件纳入到 FPGA,背后是减少电路面积、降低功耗的需求。90 年代中期,FPGA 厂商发现用户在使用 FPGA 时,会频繁将 LUT 作为存储使用(即“软”实现),占用了许多逻辑单元,导致 FPGA 容量出现不 够的情况。因此,RAM 是第一个被固化到 FPGA 中的单元,即“硬核”化。将这些用户频繁使用到 的功能固化到 FPGA 中,可以极大地提升计算效率,用户也不需要为浪费宝贵的逻辑资源而烦恼。 例如,将 DSP 嵌入到 FPGA 中(而不是通过万能的 LUT 实现),可以节省 80%的功耗和 DSP 在板 上占用的面积。因此,在 90 年代末完成门级数的超越后,FPGA 厂商的竞争主线从门级数转向集成 度竞争,先后将 RAM、DSP、收发器、DDR 接口、CPU、GPU 等许多功能嵌入到 FPGA 中,这是 现代的 FPGA 中往往包含了许多固化单元的原因。因此,从 FPGA 的性能评价指标上,也往往涉及 到这些固化单元。

尽管如此,一块“好”的 FPGA 并不一定是能力上的最优,而是最贴近使用者的需求,做到在多个指标上的 最优,例如功耗、固化功能、成本等。这是因为 FPGA 使用者购买的是整个芯片,如果集成了太多不需要的 功能,就相当于提高了使用成本。因此,FPGA 厂商纷纷根据各个下游市场/应用场景做细分,推出了对应高 中低端的产品。以龙头赛灵思为例,其拥有高端的 Virtex,性价比的 Kintex,低容量的 Spartan,超低功耗的 CoolRunner,再加上温度、速度等级等的的区别,仅 7 系产品就有高达 1000+的料号,产品矩阵非常完 备。 FPGA 的温度等级的考虑。温度过低或者过高的工作环境,往往会使得 FPGA 时序达不到设计要求。 如果器件在<0℃或者>50℃的环境下工作,就要选择更高温度等级的器件。一般来说,商业级/通用 FPGA 可以工作在 0℃~85℃范围内,而工业级(I)需要在-40 ℃~100℃ ,军温级(Q)可以在-40 ℃ ~125℃工作。

对于高端市场,其需求是最高的性能,单片价格也非常昂贵。高端的 FPGA 需求来自于无线通信,例如 5G 通信的基带侧和核心网侧,还有人工智能的算法训练、半导体原型芯片的仿真、航天器主系统、通信的测试 测量仪器、医疗成像仪器,这些场景通常数据处理量大,或者需要同时做到极低的时延和高算力,或者需要 非常强的抗辐射能力。目前,高端 FPGA 制程基本在 20nm 及以下,逻辑单元数大于 700k,基本在 1kk 以 上的水平,不仅 DSP 和 BRAM 的数量惊人,收发器速率基本在 50GB/s 以上,同时还集成了 CPU 等的处理 单元和 PCIe 5 等的先进接口,即基本以 SoC 的形式出现。目前,全球高端的 FPGA 基本由赛灵思或者 Altera 提供,代表产品有:赛灵思 7nm 的 ACAP Versal,16nm 的 Virtex Ultrascale+,Altera 10nm(Intel 7)的 Stratix 10 和 Agilex,他们通常非常昂贵,典型的单片价格在 5 千美元到 1 万美元之间,体现了当代 FPGA 性能、密度以及集成度的最高水平。高端市场是 FPGA 厂商最重要的收入来源,以 Altera 为例,其高端 FPGA 产品 Stratix 系列的收入占比高达 55%。 中端市场追求的是性价比,需要做到性能和成本的平衡。需求来自于无线通信的空口侧、工业、安防、国防 场景,这些下游场景通常需要的逻辑单元数在 100k 以上,但不超过 500k,收发器速率在 25Gb/s 左右,典 型制程是 28nm,是 FPGA 行业的中坚力量。中端市场不追求最高的性能,性能和功耗同等重要。典型的中 高端产品包括赛灵思的 Kintex,以及 SoC 的 FPGA Zynq,Altera 的 Arria,Lattice 最新推出的 Avant,中低 端市场包括赛灵思在中低端过渡的 Artix,以及 Lattice 的 Certus。一般收入占比在 25%左右。单价一般在数 十至数百美元,不超过 5000 美元。

低容量市场对性能要求较低,但需要极低的成本和功耗。低容量 FPGA 的场景常见于消费电子,部分汽车和 工业 IoT 的场景,最典型的应用在视频设备的桥接,包括 MIPI、DPI、CMOS 相机、屏显等的接口,如今 VR、AR 设备也会使用到。因为低容量 FPGA 一般是为作为灵活接口或者预留使用的,所以不需要高密度, 一般 5k-10k 左右的容量即可满足,也基本不需要收发器、处理器等复杂功能。尽管如此,由于低容量的大 部分场景应用在移动设备上,对低容量对成本和功耗要求非常高,功耗一般在 5mW-150mW 级别,单价不 超过$20/片,典型的价格为$2.5/片左右。

FPGA 的总功耗由静态功耗、动态功耗、IO 功耗和收发器构成,静态功耗是电路的功耗,主要是由 晶体管漏电造成;动态功耗指芯片处于工作状态时电路翻转产生的功耗,来源于时钟、逻辑、BRAM、 处理单元、收发器等单元。芯片功耗越低,设备的耗电就越少,散热要求越低(或不需要额外的散热 改造),整体尺寸亦愈能小型化。一般来说,嵌入式处理非常看重功耗,功耗预算不超过 50W。FPGA公司通过两种方式降低功耗:1)硬件上,使用更先进的制程和工艺、3D-IC 技术、嵌入更多的固化 单元、更低功耗的架构;2)软件上,优化布局算法,以减少跨时钟域和多余的逻辑资源的占用,以 及提供功耗估计工具方便用户修改。 因此,不少厂商在功耗上另辟蹊径,以建立在低容量市场的竞争优势,从而摆脱低容量市场单纯依靠量大低 成本的竞争方式,以及一贯以来的价格战问题。低容量市场技术成熟,进入壁垒相对较低,厂商之间提供的 产品差异不大,往往容易出现价格战的问题。但由于“性能-功耗-便携性”的矛盾一直存在,低容量市场对 低功耗的追求同样在不断增长。因此,优化功耗的能力是低容量市场厂商除了价格之外的的竞争法宝。例如, 目前全球出货量最高的 FPGA 厂商 Lattice,其 Certus 系列就使用了 FD-SOI工艺,比起基于 CMOS 的竞品, 例如 Altera 的 Cyclone、赛灵思的 Artix,其功耗要低 70%-75%。因此,尽管 Lattice 在 FPGA 全球市占率 仅为 5%,没有大容量 FPGA 产品线,但凭借在功耗上的优势,在低容量市场优势明显,整体毛利率同样能 达到 50%以上。

除了 FPGA 之外,许多 FPGA 厂商还同时提供 CPLD 产品,主要瞄准极低功耗的场景。90 年代中后期,低 密度的 FPGA 对 CPLD 的替代,使得 CPLD 在 2000 年开始市场增长缓慢。尽管如此,CPLD 在一些需要极 低功耗的低容量场景仍有非常强的竞争力:低容量 FPGA 功耗一般在 mW 级别,CPLD 可以进一步下探到μ W 级别。例如,赛灵思的 CPLD CoolRunner 功耗仅有 28.8µW,远低于其 Aritix7 50K 近 600mW 的总功耗。

此外,对于航天设备,FPGA 抗辐射能力是非常重要的性能指标。离地越远,辐射越大,要求器件具备的抗 辐射能力越高。不同于地面,外太空的航天器没有地球大气层的保护,其接受的辐射量是地面的百倍甚至千 倍以上。太空中的辐射来源于太阳活动、宇宙射线和地球磁场的辐射捕获带(Van Allen Belt),主要有质子、 重离子等,这些重粒子通常能量大到足以击穿原子,产生的电子空穴对会造成电子器件的存储单元发生翻转, 严重的可致器件损坏,导致在轨任务的失败,这对于造价百万甚至在千万美元的航天器来说是不可接受的。 同时,由于重粒子无法被遮挡,航天器需要具备电路级的抗辐射能力。在卡门线以上(海拔高度 100km)运 行的电子系统需要使用宇航级的 FPGA。其中,在 LEO 高度通常运行着大部分的商业通信卫星(比如 Starlink)、 观测卫星以及空间站(比如天宫 1 号和国际空间站),其辐射来源主要为质子,辐射量(以 LET 衡量)平均 在 40 MeV-cm² /mg,使用耐辐射(Radiation Tolerent)FPGA 即可。而进入 MEO 或者 GEO 高度,在轨 的通常为导航和气象卫星,更远的还有执行探月活动、火星任务的航天器,辐射主要为能量更高的重离子, 辐射量平均在 92 MeV-cm² /mg,需要使用辐射加固(Radiation Hardened)FPGA。FPGA 的抗辐射能力 和航行高度挂钩,越抗辐射,就越能确保航天器顺利运行在 MEO 以上,执行登月、火星、甚至星际航行任 务。

太空中的辐射对电子器件的影响主要是单粒子效应(SEE)和总剂量效应(TID)。单粒子效应(SEE, Single Event Effects)是宇宙射线击中航天器内部电子器件时造成的一次性损坏。其中,SEU 是最 频繁出现的事件,即存储单元中单个 bit 发生翻转,可能导致严重的后果。例如,处于着陆阶段的飞 行器,在关键逻辑块上的翻转,会改变该逻辑块所表述的电路功能,可能使本来应该开启的反推被关 闭,导致着陆失败。而 SEFI 是指发生在关键控制逻辑上的 SEU,往往导致系统发生全面故障。MBU 即发生在多个 bit 上的翻转。尽管如此,这些都是“软”错误,可以通过冗余设计和频繁的动态刷新 很好地规避。而有些 SEE 是破坏性的,例如,SEB 的发生意味着电子器件被射线击穿,即“烧坏”; SEL 即 CMOS 发生开路,电路发生电流过载,往往导致器件损坏。破坏性的 SEE 一旦发生是不可 修复的,所以工程师会确保航天器中的电子器件具有相应的抗辐射能力。除了单次高能粒子撞击造成 的 SEE 外,太空辐射对电子器件的损伤还包括总剂量效应(TID,Total Ionizing Dose),累积的辐射 量会使得电子器件的性能退化,超过一定的辐照剂量阈值后(比如>100 krad),电路就会发生错误。 宇宙射线造成的单粒子效应是航天器故障的主因。根据 TIMA 实验室和法国国家太空研究中心统计, 全球 20 年间 100 多次在轨航天器的故障事件中,辐射是第一诱因,45%的故障来源于太空辐射。而 辐射造成的影响中,80%为单粒子事件(例如 SEU/SET),6%为 SEL,8%为 TID。SEU 是在太空 中最频繁发生的故障。

因此,FPGA 的抗辐射能力主要考虑对总剂量效应和单粒子事件的防护能力,具体指标有 TID 耐性、SEL 阈值、SEFI 发生率和 SEU 发生率。一般来说,耐辐射器件适合运行在 LEO 高度,其 TID 指标通常要大于 100 krad,SEL 阈值在 50 MeV-cm² /mg 以上。而辐射加固的器件 TID 指标一般大于 700 Krad,SEL 阈值 需要在以上 100 MeV-cm² /mg,才能胜任在 MEO 高度及以上的在轨任务。SEFI 发生率 2.76E-7,相当于每 1 万年不到 1 次的发生率,可以认为是 SEFI 免疫的。 目前,全球有能力提供宇航级 FPGA 公司屈指可数。宇航级 FPGA 需要额外使用许多技术,比如 TMR 的使用 使得芯片面积大幅增加、测试上需要租用昂贵的重离子加速器设备等,制造的成本高,做到辐射加固级更是 需要从设计到制造封测的一系列流程改变。因此,宇航级 FPGA 价格非常昂贵。尽管如此,对于 GEO 轨道、 月球和火星等的战略探索任务,使用辐射加固的电子器件是必须的。目前,全球有能力提供辐射加固 FPGA 的公司主要为赛灵思和 Microchip(包括其收购的 Actel 和 Atmel),均与美国国防部、NASA 等机构部门有着 数十年的紧密合作。其中,赛灵思唯一的辐射加固 FPGA 是其 65nm 的 Virtex 5QV 产品,其 TID 剂量阈值达到 1 Mrad,SEL 阈值在 125 MeV-cm²/mg 以上。Virtex 5QV 用于火星漫步车“好奇号”上执行视觉加速计算任务。 其余耐辐射 FPGA 包括 Virtex II QV、Virtex 4 QV、RT Kintex UltraScale 以及最新的 7nm 抗辐射产品 Versal XQRV。 除了低轨卫星,Virtex II 还广泛运用在好奇号、毅力号等火星漫步车上,执行着陆器控制和视觉分析的任务。

过去,星载 FPGA 处理能力落后于商业级 10-15 年,现在已经和商业级接近,背后是不断增长的提升卫星处 理能力的需求。过去,卫星习惯于使用抗辐射的 Virtex II 和 Virtex 4,虽然抗辐射性能达标,但其处理能力基 本落后于商业级产品 10-15 年。比如,03 年推出的 Virtex II QPro 依然广泛使用在目前的在轨卫星中;而美国 在 2020 年发射的毅力号火星漫游车,其搭载的科学仪器同样大量使用了耐辐射级 Virtex II,以及 08 年推出的 Virtex 4QV。从推出时间看,商业级的 Virtex 5 在 2006 年推出,而辐射加固的 Virtex 5QV 是 2010 年推出的, 中间间隔 4 年,而且 2010 年最先进的产品是 Virtex 7,中间间隔两代;耐辐射的 RT Kintex UltraScale 是 2020 年推出的,而其商业级早在 2013 年就推出了,中间间隔 7 年。然而,近两年来我们看到赛灵思加快了宇航 级 FPGA 的推出。目前,赛灵思最先进的产品是 19 年推出的 ACAP Versal(7nm),而去年初就推出了宇航级 的 Versal XQR,做到了和商业级同代际。Versal XQR 针对低轨卫星的 AI 应用,主要目的包括获取更清晰的卫 星观测图像、快速识别云层和地面目标,不仅逻辑单元数大幅增加,还嵌入了 AI 处理单元、高速的收发器等, 使得很多数据不需要回传地面就能在卫星上进行分析,不仅节省了宝贵的星地通信带宽,还大幅提高了低轨 卫星的处理能力和反应时间。