谢丫丫

嵌入式FPGA:改变芯片的设计方式

0
阅读(46) 评论(0)

本文将介绍嵌入式FPGA的工作原理以及它们提供的优势。

芯片设计人员当前面临的最关键问题之一就是必须在设计过程中的任何一点重新配置RTL,甚至在系统内。不幸的是,芯片设计师无法知道他们是否必须这样做,直到为时已晚。此时的任何变化最终都会花费数百万美元并将项目延迟数月。

使用嵌入式FPGA,这个问题就消失了。芯片设计人员最终可以进入一个项目,知道他们可以在项目期间的任何时候灵活地更改RTL,这是以前从未有过的。

由于嵌入式FPGA是一项新技术,我们首先要重点介绍它与标准FPGA的区别,后者已经存在了几十年。基本上,嵌入式FPGA是一种IP模块,允许将完整的FPGA集成到SoC或任何类型的集成电路中。正如RAM,SERDES,PLL和处理器从独立芯片转变为常规IP模块一样,FPGA现在也是一个IP模块。

FPGA在可编程互连结构中组合了一系列可编程/可重配置逻辑模块。在FPGA芯片中,芯片的外缘由GPIO,SERDES和专用PHY(如DDR3 / 4)组合而成。在先进的FPGA中,I / O环大约是芯片的1/4,而“结构”大约是芯片的3/4。“结构”本身主要是当今FPGA芯片中的互连,其中20-25%的结构区域是可编程逻辑,75-80%是可编程互连。

 

 

嵌入式FPGA是一种FPGA架构,没有周围的GPIO,SERDES和PHY环。相反,嵌入式FPGA使用标准数字信号连接到芯片的其余部分,从而实现非常宽,非常快速的片上互连。

 

嵌入式FPGA内部:原始构建模块

FPGA中的可编程逻辑模块是一个查找表(LUT),它可以通过编程实现任何布尔函数:4,5或6个输入,带有一个或两个输出。  

在Flex Logix EFLX阵列中,LUT是双4输入LUT,可以组合形成5输入LUT。LUT输出可选地存储在触发器中。LUT通常被分组为四个一组,具有进位逻辑以便于加法器和移位器。

 

 

另一个可编程逻辑块是MAC(乘法器 - 累加器)或DSP加速器块。  

在Flex Logix EFLX阵列中,有一个22位预加法器,一个22x22乘法器和一个4位后加法器/累加器。MAC可以组合或级联以形成快速DSP功能。 

 

 

可编程逻辑块由配置位编程,配置位设置LUT的值,选择是否使用触发器,激活或不激活进位逻辑等。配置位还编程MAC的操作。通常在FPGA中,配置位从外部闪存加载。

对于嵌入式FPGA,它是相同的,因为几乎所有半导体SoC都有ARM / ARC / MIPS /等。从外部闪存启动的处理器。相同的闪存用于存储嵌入式闪存的配置位。

可编程逻辑模块接收输入并将输出发送到互连网络,该互连网络允许可编程地从FPGA架构中的任何逻辑块进行连接。互连结构也由配置位编程。互连结构通常是FPGA架构的主要部分。  

嵌入式FPGA的主要区别在于互连结构的设计。最好的互连使用更少的面积和更少的金属层,同时提供高资源利用率。

与FPGA芯片不同,嵌入式FPGA中没有PHY / SERDES / PLL。有一个“I / O”环,但它实际上是与芯片其余部分的简单数字互连。嵌入式FPGA将具有数百到数千个可在芯片内全速运行的互连。I / O宽度和带宽的增加是将FPGA嵌入芯片的巨大优势。

 

 

嵌入式FPGA内部:构建任何大小和阵列配置

 

一个复杂性是客户需要各种尺寸和配置的嵌入式FPGA,并且每个人都希望在芯片中使用之前在硅片中验证IP模块。

例如,在16nm,一个客户可能只需要几百个LUT的可编程逻辑,用于在~1GHz运行的快速可重配置控制逻辑; 而同一进程中的另一个客户可能需要50K-100K LUT用于数据中心处理器加速器。这些客户如何能够以最少的设计投资和上市时间满意?

Flex Logix使用tileable构建块方法。首先,使用上述方法设计了4个EFLX IP内核。每个IP内核都是一个独立的FPGA,但它们也可以排列成EFLX阵列,总共约75个,从100个LUT到122.5K LUT,可以混合逻辑/ DSP。

 

 

每个EFLX IP内核都有一个额外的顶层互连,允许一个内核自动连接到周围的邻居,从而形成一个高达NxN的大型阵列。

EFLX-100阵列最高可达5x5或3,000 LUT(EFLX-100实际上有120个LUT)。

 

 

EFLX-2.5K接管2500 LUT,阵列高达122.5K LUT。

 

 

阵列可以是全逻辑或全DSP或两种类型的核心的任意组合,如下所示:

 

 

也可以在嵌入式阵列中嵌入大量RAM。Flex Logix通过使用标准RAM编译器来生成客户请求的任何类型的RAM(单端口,双端口; ECC /奇偶校验/无;尽可能多),并在内核之间定位RAM。RAM是单个EFLX阵列的一部分。

 

 

使用上述方法允许少数IP内核生成几乎无限种类的嵌入式FPGA阵列,以满足任何客户需求。

 

嵌入式FPGA内部:证明硅中的构建模块

 

Flex Logix构建验证芯片以证明硅中的IP核。以下是台积电40ULP的一个例子。  

 

 

在此过程中,客户使用的VT(电压阈值模板)组合范围很广,Flex Logix设计的EFLX阵列与所有可能的组合兼容。因此验证芯片有五个阵列:一个大阵列(4x4)在最多请求的VT组合中,四个2x2阵列在其他四个大小。  

由于40nm的EFLX阵列可以在高达300MHz的频率下运行,而GPIO只能在~150MHz的频率下运行,因此有一个片上PLL可以生成非常快速,精确的时钟用于测试性能,并且有一个SRAM可以实现“测试向量”库“加载然后全速运行,结果输出到另一家银行。这提供了“芯片上的测试器”,从而可以以高于GPIO的速度验证全速操作。还有温度/电压监视器,以确保在目标,最坏情况下进行测试。

 

结论

嵌入式FPGA将改变未来芯片和SoC的设计方式。设计师不再需要被锁定在项目中,并且如果需要,他们不得不花费数百万美元来改变RTL。当RTL需要更新时,公司也不再需要冒险错过他们的日程安排。使用嵌入式FPGA,芯片设计过程变得更加容易,而且便宜得多。