虽然 FPGA 芯片自 1980 年代以来就已经面市,但嵌入式 FPGA (eFPGA) 仅在大约五年前才面市。然而,由于其惊人的灵活性和功能集,它很快就在市场上占有一席之地。它现在可以从多个供应商处商业化,在广泛的代工厂(台积电、格罗方德、中芯国际和三星)上以及在 180、40、28、22、16、14、12 和 7nm 等工艺节点上。eFPGA 还被用于广泛的应用,例如航空航天、通信、网络以及最近的人工智能 (AI)。采用它的客户(仅公布的客户)包括桑迪亚国家实验室、DARPA、波音、哈佛和晨芯(中国大唐电信的芯片子公司)。
在 eFPGA 面世的短短几年内,业界已经出现了几代产品。随着每一代新产品的推出,eFPGA 变得更加灵活,更适用于新应用,所有这些都是由客户需求驱动的。事实上,eFPGA 的应用似乎是无穷无尽的,在未来,这项技术应该会像今天的 Arm 处理器一样普及。本文将回顾各代 eFPGA,最后以目前可用的特性结束。
第一代
第一代 eFPGA 相对简单,通常使用 4 输入 LUT。为了提供一系列阵列尺寸,一些供应商将他们的 eFPGA 设计为复制块阵列,其中顶层互连自动连接阵列范围网状互连中的块。编程是在 Verilog 中使用命令行界面完成的。
第二代
第二代 eFPGA 根据客户评估第一代的反馈增加了一系列功能。这些新功能包括:
与当今最先进的 FPGA 一样的 6 输入 LUT。6 输入 LUT 提高了 eFPGA 的密度和性能。
能够在阵列的行之间集成任何类型/大小的 RAM。这为分布式计算提供了更多的本地化内存。这是一个非常重要的新增功能,因为 1/3 的评估 eFPGA 的客户要求使用此功能。
GUI 界面,用于使用各种图形工具进行编程,以加快评估和开发。
直接从 GDS 数据库中提取的时序允许对任何 PVT 组合的性能进行评估。
回读配置位(在高可靠性环境中需要)和在 *** 作期间重写配置位的能力。
DFT 覆盖率 99% 以上。
一种新的配置加载模式,将测试时间减少了大约 100 倍。
为每个带有 PC 接口的新工艺提供评估板。
如今,客户正在使用第二代 eFPGA 进行设计,这些设计在每个芯片的多个阵列中使用 Flex Logix 的 EFLX eFPGA,阵列大小高达数十万个 LUT。
第三代
从上面的描述可以看出,前几代 eFPGA 执行的功能类似于 FPGA 芯片。但是,在第三代 eFPGA 中,它开始做 FPGA 芯片没有做的事情。第三代 eFPGA 的一个例子是 Flex Logix 的 nnMAX,它是一种经过优化的推理 eFPGA,具有以下新特性:
它由高级神经网络模型语言(如 Tensorflow Lite 和 ONNX)编程。nnMAX 编译器自动执行较低级别的 Verilog 编程,从而释放客户并获得更高的性能。
每层运行大约十亿个 MAC(乘法累加 *** 作)的神经网络层。nnMAX 为下一层重新配置 eFPGA 互连和“软逻辑”(控制状态机),然后再次开始运行。在早期的 eFPGA 中,重新配置是串行完成的,类似于 FPGA 芯片。相反,nnMAX 以高度并行模式进行配置,以便在 1GHz *** 作下大约 1,000 个周期重新配置整个阵列。
将 AI 优化的 MAC(8x8 整数、16x16 整数和/或 16x16 浮点)组织成每个 64 个的集群。在传统的 eFPGA 中,每个 MAC 都单独连接到互连网络中。在 AI 工作负载中,矩阵乘法非常大,因此集群是一种获得更高密度并更有效地使用稀缺互连网络资源的逻辑方法。
可以在 Winograd 加速模式下运行以加速 3x3 卷积,步幅为 1 x 2.25x,用于整数 8 运算
能够在层之间混合精度:硬件可以根据需要从整数 8/16 转换为浮点数并返回。这允许模型设计者最大化吞吐量和最大化预测准确性。
Interconnect 现在具有流水线触发器,可实现 1GHz 吞吐量,同时每层仅增加几个延迟周期。
迄今为止,上述新功能仅适用于 nnMAX 推理 eFPGA。但是,根据客户的兴趣,其中一些功能也可能出现在未来的第三代通用 eFPGA 中。
特殊的酱汁在互连中
虽然 eFPGA 最初是为通信和网络等应用而开发的,但随着时间的推移,Flex Logix 等公司想出了如何利用 eFPGA 中使用的相同核心互连技术来解决爆炸性 AI 市场的神经推理部分。在神经推理中,计算主要是数万亿次运算(乘法和累加,通常使用 8 位整数输入和权重,有时使用 16 位整数)。最初为 eFPGA 开发的技术非常适合推理,因为 eFPGA 允许对每个网络阶段进行可重新配置的快速控制逻辑。eFPGA 中的 SRAM 可根据需要在神经网络中重新配置,其中每一层都可能需要不同的数据大小。例如,Flex Logix 互连允许 SRAM 输入库、MAC 集群、
未来
eFPGA 是一种非常强大和灵活的技术,适用于广泛的市场和应用。随着客户了解如何使用 eFPGA 并不断要求供应商支持新特性和功能以改进其价值主张,它将继续发展。真正的客户需求将成为 eFPGA 未来发展的驱动力,看到这项技术如何随着时间的推移继续发展将是令人兴奋的。
审核编辑:郭婷
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)