嵌入式FPGA(eFPGA)为SoC带来了新的灵活性

  作者:EEPW 时间:2024-08-14来源:EEPW

引言

随着嵌入式系统的不断发展,设计师面临着越来越多的挑战。功能性和连接性增加了集成的复杂性,尤其是在设计系统级芯片(SoC)时,通常很难提供最佳的逻辑架构来管理系统。本文将探讨嵌入式FPGA(eFPGA)的结构,并探讨如何在保持最大灵活性的同时,实现硅资源的最佳优化。

高级SoC设计取代板级系统

我们正进入一个将许多传统PCB上的IC合并到单一单片IC或芯片组作为SoC的时代。如果IC设计团队未能加入正确的功能,或者在设计部分发现了漏洞,他们可能会错失市场机会或时间节点。传统上,FPGA常用于原型设计、在PCB上增加灵活功能或集成简单的I/O和控制功能。

随着更高级别的集成出现,我们遇到了带宽瓶颈和I/O限制问题,比如在IC封装上无法在有限空间内实际绑定足够的I/O引脚。引脚密度和布线拥挤、层数增加以及信号完整性问题都是在复杂的PCB设计中常见的问题。

在这种情况下,eFPGA作为一个包含LUTs、内存、DSP和计算元素的矩阵,可以在半导体芯片的尺寸和空间要求范围内,配置为任意大小,同时提供几乎无限数量的I/O接口引脚。

eFPGA如何增强系统设计

eFPGA的一个隐含优势是可以在IC内部运行,无需I/O接口的限制,可以运行在系统速度,并通过宽总线接口传输数据。这样设计师可以在产品量产后或在现场更新逻辑,按需定制产品。

例如,Menta的eFPGA包含较小的元件,如I/O块和嵌入式自定义块。I/O块可以选择注册I/O并使用D触发器,以便设计可以在接口级别上时钟并关闭定时。

嵌入式自定义块(eCB)是客户特定的可定义功能或硬宏,可以集成到矩阵中。配置I/O接口允许用户通过可定制逻辑编程eFPGA位流,并通过设计测试接口(DFT I/O)对eFPGA进行全面检查。

可编程逻辑中的LUT

当涉及可编程逻辑时,关键在于LUT(查找表),它是eLB的一部分。LUT通过硬连接LUT的输入到预定值,并使用输入产生正确的逻辑输出,从而创建所需的组合逻辑。

在更复杂的设备中,我们有4、5、6、7甚至8输入LUT,使得LUT的大小增加,延迟也相应变长。LUT是eFPGA逻辑映射中组合逻辑部分的重要组成部分。

eFPGA选择时的注意事项

在选择 eFPGA 时,您应该清楚您的应用范围以及您想要实现的目标。eFPGA 供应商提供了一种让您能够为定制 IC 添加灵活性的工具,但您必须了解 eFPGA 可实现的局限性。时钟速度会低于传统标准单元 ASIC 设计,并且将现有 ASIC IP(Verilog 和 VHDL)的部分移植到 eFPGA 可能需要一些定制工作。

通常,我们发现 ASIC IP 使用了门控时钟,这对于 FPGA 来说是一个大禁忌,因此预期需要一些手工处理。代码优化也可以显著减少逻辑使用量,因为 eFPGA/FPGA 具有更大的块供逻辑映射。FPGA 映射到 LUT 和 D-FF,而定制 ASIC 映射到标准或全定制单元。

对于 DSP 应用,如果您希望获得最高的性能和单元利用率,您需要仔细编写 DSP 代码和/或定义一个优化的架构,以充分利用 DSP 元素。您还需要了解编程接口,并能够从设计(如 ROM、CPU 等)中发送位流,同时拥有一个坚实的设计测试计划和策略。

eFPGA 的优势在于灵活性、设计复用能力、在产品定型后修复错误或更改算法的能力,以及让客户制造出可以为不同产品定制的更通用的 ASIC 的可能性。

关键词: FPGA

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版