Speedcore架构

Speedcore eFPGA IP架构合并了许多架构增强功能,可显着提高性能,降低功耗并缩小芯片面积。选择Speedcore eFPGA时,设计人员可以选择以下架构元素的最佳组合:

  • 逻辑 – 6输入查找表(LUT)以及集成的宽MUX功能和快速加法器
  • 逻辑RAM –对于LRAM2k,每个存储块2 kb,对于LRAM4k,每个存储块4kb
  • 块RAM –对于BRAM72k,每个存储块为72 kb,对于BRAM20k,每个存储块为20kb
  • DSP64 –每块18×27乘法器,64位累加器和27位预加器
  • 机器学习处理器(MLP) –每块32个乘法器/累加器(MAC),支持整数和浮点格式

可重配置逻辑块(RLB)

  • 逻辑– 6输入查找表(LUT),可在一个逻辑层中实现多达7个输入和一些8输入功能的所有功能。减少对多个逻辑级别的需求可以提高性能。
  • 8:1多路复用器–新型专用8对1多路复用器大大提高了逻辑性能。
  • 移位链–与原始Speedcore架构相比,寄存器数量增加了一倍,并为移位链优化了路由。
  • ALU –更大的ALU现在支持8位运算,用于加法,计数,比较和最大功能。
  • 基于LUT的乘法–与其他领先的FPGA产品相比,基于LUT的高效乘法器需要片上资源的一半:6×6乘法仅需要11个LUT并以1 GHz运行。 8×8乘法仅需要18个LUT,并以500 MHz运行。

逻辑RAM

  • LRAM2k实现了一个2304位存储块,该存储块配置为32×72简单双端口(一个写端口,一个 读取端口)RAM。 LRAM2k具有一个同步写端口。读取端口配置为异步读取 通过可选的输出寄存器进行操作。
  • LRAM4k实现了一个4,096位存储模块,该存储模块配置为128×32简单双端口(一个写端口, 一个读取端口)RAM。 LRAM4k具有一个同步写端口。读取端口配置为异步 使用可选的输出寄存器进行读操作。

块RAM

  • BRAM72k原语实现了一个带有一个写端口和一个写端口的72kb单双端口(SDP)存储模块 读取端口。每个端口都可以根据大小和功能进行独立配置,并且可以独立使用 读取和写入时钟。 BRAM72k可以配置为简单的双端口或ROM存储器。
  • BRAM20k实现了一个双端口存储模块,其中每个端口均可独立配置 关于尺寸和功能。 BRAM20k可以配置为单端口(一个读/写端口),双端口 (两个具有独立时钟的读/写端口)或ROM存储器。

DSP64

  • DSP64模块包括多个/累加和关联的逻辑,以有效地实现数学功能,例如 作为有限脉冲响应(FIR)滤波器,快速傅立叶变换(FFT)和无限脉冲响应(IIR)滤波器。 DSP64模块经过优化,可与逻辑结构和LRAM模块配合使用以实现数学功能。

机器学习处理器(MLP)

Speedcore eFPGA IP中的新MLP是一个完整的AI / ML计算引擎。每个MLP都包括一个循环寄存器文件,该文件利用时间局部性来重用存储/缓存的权重或数据,从而通过显着减少用于各种计算的数据移动来提高性能。 MLP与它们的相邻MLP和更大的内存块紧密耦合,以最大化处理性能,并以最低的功率分布每秒提供最多的操作数。 MLP支持定点和浮点格式(Bfloat16; 16位半精度;和块浮点)。用户可以根据每个应用程序的需要,通过动态选择最佳数据精度来权衡精度与性能。

特征 效益
可配置的乘法精度和计数 权衡性能/功率与精度 -增加乘法器计数以降低精度。
循环寄存器文件 双重计算性能 -与缓存功能类似,MLP保存数据以便有效重用。针对AI / ML功能进行了优化。
列键合和MLP级联路径

更高的性能 -存储器与其他MLP块之间的硬路径可实现高性能功能,同时释放通用路由。

多种数字格式 灵活性 -支持主流的定点和浮点格式和框架。
舍入和饱和 系统性能 -支持多种舍入格式和饱和度,否则需要在LUT中实现。

路由

  • 专用总线– eFPGA行业的首创!高性能,总线分组的路由通道与标准eFPGA路由通道分开,可确保在面向总线的数据流量(与存储器相同)与通过eFPGA的标准,面向比特的路由的其他类型的数据流量之间不会出现拥塞渠道。
  • 总线复用器– eFPGA行业的另一个先河;总线复用器使用户可以有效地创建总线复用器功能,而无需消耗任何LUT或标准路由。该功能有效地创建了一个庞大的,分布式的,可在运行时配置的交换网络,该网络与eFPGA的位导向路由网络分开。