Speedcore架构

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

  • 逻辑 –6输入查找表(LUT)加上集成的宽MUX功能和快速加法器
  • 逻辑RAM –LRAM2k每个存储块2 kb,LRAM4k每个存储块4 kb
  • 块存储器 –BRAM72k的每个存储块为72kb,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实现了一个4096位存储块,配置为128×32简单的双端口(一个写端口,一个读端口)RAM。LRAM4k有一个同步写端口。读端口配置为异步读操作,带有可选的输出寄存器。

块存储器

  • 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的面向比特的路由网络分开。