FPGA,被RISC-V完全征服

来源:内容由半导体行业观察(ID:icbank)编译自pcwatc ,谢谢。

庆应义塾大学的天野秀晴教授当然是计算机界非常有名的人物(或许他的名字更广为人知的是Funga教授),但他终于在今年3月底退休了。这次的最后一次演讲已经公开,这确实是Funga教授的典型。

在 ISA 的演进中,他表示,RISC-V 具有复杂的指令集和模块化的优点,但尚未指出这一缺点。

作为内置控制器,RISC-V很有吸引力

之所以采用RISC-V作为加速器,纯粹是成本问题,与是否Arm无关。事实上,许多不久前开发并目前正在量产的加速器都是基于Arm的。在此之前,使用的是PowerPC和MIPS,因此必须是RISC-V并不是技术问题。

因此,问题纯粹是价格问题,当然,如果您从外部购买IP以缩短开发周期,则需要支付许可证和版税(这会根据您从哪个供应商购买IP而有所不同,但一般来说,它比 Arm 更好。但是,如果你是一家想要制作自己的加速器的公司,那么开发 RISC-V 内核并不那么困难,而且也有免费的 RISC-V 内核(最流行的)。一个是Rocket,但还有许多其他核心免费提供并且可以商业使用),因此可以说使用这些核心创建自己的CPU核心的障碍相当低。

在过去,当谈到这些加速器的控制器时,可以选择“自己制作”,而不是从外部来源购买 CPU IP,但最近这种情况几乎消失了,原因是软件支持。

即使它是专用于您自己的控制器,您也至少需要一个编译器、汇编器和调试器,并且可能还需要一个分析器。如果您使用裸机,您可能不需要操作系统或库,但现在很难这么说。编译器、汇编器和调试器可以“简单地”移植到 gcc/gas 和 gdb,但是如果您以前从未这样做过,那么这将非常困难,而且最重要的是,如果您开始尝试运行 RTOS 或 Linux,工程成本将会增加。

有了RISC-V,这一切都已经存在,并且可以完全降低移植软件的成本。除非有充分的理由,否则不再有不使用 RISC-V 的选择。

我目前的观点是x86、Arm和RISC-V将暂时继续共存,我同意这一点。最近,Arm,或者更确切地说是高通,一直在积极瞄准PC客户端市场,但我个人觉得它只兼容高通的SoC(例如不支持联发科和三星的SoC)。

当然,这是可能的,因为高通已经投入了大量资源用于Windows on Arm的软件开发,其他公司除非投入同等或更多的软件开发资源,否则很难运营。最大的问题似乎是是否有市场能够支撑成本。

因此,x86 将继续用于客户端,并且越来越多地被用于云中的服务器,但 x86 在通用用途方面仍然具有压倒性优势。看起来它还需要大约 10 年的时间才能与 x86 竞争,到那时基于 RISC-V 的服务器很可能会紧随其后。

对于嵌入式应用程序来说,以前使用基于 x86 的 SBC(单板计算机)实现的东西越来越多地被 Arm 取代,而代用屏幕(包括带有 KIOSK 等 HMI 的屏幕,以及数字标牌类型) 的Arm应用显然变得越来越多很受欢迎,因为需要它的东西也变得基于 Android。不过,RISC-V也正在进入场景,所以我想我们不能像你所说的那样排除“恶化”的可能性。

FPGA的控制器,百花争艳

现在,这次的主题是RISC-V中又多了一新的讨论着。它是什么?它是一个 FPGA 控制器。如您所知,FPGA可以通过在二维矩阵中排列LUT(查找表)并使得可以使用程序(比特流)来改变每个LUT的设置以及LUT之间的连接来创建任意电路。

然而,LUT基本上是SRAM,并且至少需要6个晶体管来构建1位LUT。实际上,FPGA 通常是 4 输入/4 输出或 6 输入/6 输出,因此使用的晶体管数量甚至更多。

当然,FPGA的优点是可以自由改变电路,后期可以现场修改任何东西,这就弥补了浪费晶体管数量的缺点,并迅速普及。

然而,当FPGA最初用于小规模胶合逻辑时,例如小型I/F转换或添加小型功能,这还好,但随着工艺的小型化,相同的裸片尺寸如果可以使用大量晶体管=增加LUT的数量,你会有更多的余地,所以你会想要安装一个小控制器。

因此,FPGA 供应商已开始为在 FPGA 上运行的小型 MCU 提供 IP。具体来说,有以下几种。

1. 赛灵思

他们于 2002 年开始提供 32 位内核“MicroBlaze”。从架构上来说,MicroBlaze是建立在名为DLX的基础上的,DLX 是基于斯坦福 MIPS 的,它也被用作大学教材。

框图1.png

最初仅提供3级MCU内核,但后来增加了5级实时控制器内核和8级应用处理器内核。MicroBlaze 支持于 2009 年添加到 Linux 内核源代码树中。2004 年,他们还开始提供 8 位“PicoBlaze”。

框图2.png

2. Altera

2001年,他们首先开始为16位Nios嵌入式处理器提供IP,后来又发布了32位Nios-II。这也是基于RISC的,但它的特点是配置范围非常广泛,并且无需管道,可以使用与Nios相同的资源运行(虽然性能也还算合理)。

框图3.png

3. Lattice

首先,他们发布了 8 位“LatticeMico8”。然后,在 2006 年,推出了“LatticeMico32”。最低配置大约有 2,400 个 LUT,因此比 Mico8 大得多,但对于具有 6 级流水线配置的 32 位 MCU 来说仍然很紧凑。

框图4.png

框图5.png

该Mico32是开源的(Mico8是闭源的),并且有一个称为“Wishborn”的I/F,并且通过使用该Wishborn兼容的外围电路,它也可以采用相当复杂的配置。

该Mico32是开源的(Mico8是闭源的),并且有一个称为“Wishborn”的I/F,并且通过使用该Wishborn兼容的外围电路,它也可以采用相当复杂的配置。

4. Actel

2007年,它开始提供两种产品:基于8051的“Core8051s”和专有架构“CoreABC”。最初,该公司为“ProASIC Plus”系列FPGA提供了一个名为“Core8051”的硬核,但Core8051s是其已移植到FPGA的LUT上的版本,也可以在该公司的Fusion FPGA上运行。

另一方面,CoreABC是一个独特的CPU IP,可以根据总线宽度进行定制,而且由于它非常小,最少有241个LUT,因此它也可以在IGLOO FPGA上运行。

类似的事情。2007年,Atmel还发布了一款名为CAP(可定制Atmel微控制器)的产品,它是带有ARM9内核的金属可编程逻辑门(一种半定制ASIC,其中布线层由用户定制和制造,与FPGA不同)。

Arm的出击

针对这个市场,Arm在2007年发布了Cortex-M1,但我还没有听说它被广泛使用。回想起来,随着ARM的这一宣布,除了Actel之外,Xilinx的“Virtex”和Altera的“Stratix”都是不需要MCU,或者更确切地说需要应用处理器的高端FPGA,而Cortex-M1的原因似乎是其原因在于它缺乏动力(Cortex-M1 对于 Spartan 和 Cyclone 来说太大了)。

但之后,FPGA的容量迅速提升,方向开始从之前的“ASIC或ASSP+FPGA”的配置转向“单独的FPGA”。这就是通向所说的“黑暗坠落”的道路。在这种情况下,需要应用处理器而不是 MCU。

Xilinx 于 2002 年推出了“Virtex-II Pro”系列中的“PowerPC 405”。在 2006 年的“Virtex-5 FXT”中,它被“PowerPC 440”取代,但在 2011 年其后继产品“Zynq”中,它被更改为“Cortex-A9”。此后,该公司推出了配备 Cortex-A 和 Cortex-R 内核的 SoC FPGA 系列阵容,最新的 Versal 系列也紧随其后。

Altera还在2011年发布了搭载Cortex-A9的“Arria V”和“Cyclone V”,这项技术也被延续到了现在的高端“Agilex”中。

Actel 的发展方向略有不同。被Microchip收购后,该公司的Fusion FPGA现在集成了Cortex-M3。Lattice 仍停留在低密度 FPGA 市场,因此没有谈论此类应用集成。简而言之,直到2017年左右,MCU的趋势是使用软CPU IP和应用处理器来实现硬核IP。在使用软核IP的MCU市场,各家公司都使用自己的专有产品,并且不存在兼容性。

RISC-V,一统江湖

随着 RISC-V 的出现,这种趋势开始改变。Microchip 是第一个加入的公司,从 SiFive 接收 E31 内核,并开始将其作为名为 MI-V 的软核 IP 提供。PolarFire 作为 SmartFusion 的后继产品推出,现在配备了硬核 RISC-V。

正如预期的那样,即使是在IGLOO级别中实现MI-V也是不可能的,所以我猜他们别无选择,只能削减这么小的容量。

接下来是莱迪思,该公司将于 2021 年开始在名为“Lattice Propel”的新开发环境上提供软核 RISC-V。同样是在 2021 年,Intel 开始提供与 RISC-V 兼容的 NIOS V/m,作为 NIOS-II 的后继者(这里也简单提到)。最后剩下的公司是 Xilinx,它也于 2023 年 11 月开始提供名为“MicroBlaze V”的 RISC-V 兼容软核。

最近,美国FPGA初创公司Efinix于4月8日发布了一款名为“Titanium Ti375”的产品。该公司的 LUT 为 35K 至 1M,与其他公司相比定位在中低端,但它似乎有一个运行频率超过 1GHz 的 4 核 RISC-V 内核作为应用处理器。

简而言之,不知不觉中,FPGA 的 MCU 市场已经成为 100% 基于 RISC-V 的市场,我们也在逐步进入应用处理器市场(Microchip 的 PolarFire 也有 4 个带有 MMU 和 Monitor 的 RV64GC 内核(这是显然是针对应用处理器的)。

虽然市场规模不大,但从完全占领市场的意义上来说,可以说RISC-V在这个领域绝对垄断。

原文链接:https://pc.watch.impress.co.jp/docs/column/tidbit/1584255.html 

最新文章

最新文章