可编程逻辑门阵列(FPGA)的发展初期,由于半导体技术的限制,这些设备体积小且功能简单,早期的FPGA仅有几百个逻辑门,用于将以前通过多个离散逻辑元件实现的功能整合到一个可编程芯片中。随着设计工程师认识到FPGA能够减少元件数量、节省电路板空间并降低电路板布局复杂性的价值,FPGA市场迅速增长。
半导体技术的进步不可避免地改变了FPGA自20世纪80年代以来的面貌,使其成为我们今天所知的大型复杂设备。在高端市场,FPGA拥有数百万个逻辑门,支持超过30 Gbits/s数据传输率的超高速接口,以及实现嵌入式处理器、锁相环(PLL)、功能性SRAM存储等多种硬连线IP模块。
图1:可编程性很强的可编程硬件结构
高端FPGA是数据处理、成像和高带宽通信设备等应用的主要解决方案,吸引了最多的关注并占据了行业市场推广费用的最大份额。但值得记住的是,小型FPGA最初的角色在以下功能中仍有价值:
胶合逻辑集成
基本状态机
I/O和接口桥接
I/O扩展器
简单计数器或PWM
控制逻辑
多个传感器输入的聚合
电压监测
一个活跃的小型、低成本和低端FPGA市场支持这些及其他功能。其对OEM的重要性反映在FPGA市场的一个新进入者——瑞萨电子的到来,瑞萨电子计划在2023年推出其首款FPGA。
然而,关于FPGA在主流工业和消费电子设备中的适用性,意见仍然分歧。熟悉微控制器(MCU)的设计工程师通常认为FPGA是一个陌生的概念:昂贵、耗电且难以使用。
这可能适用于Xilinx(现属于AMD)和Intel提供的高端FPGA,但不适用于Lattice Semiconductor和Microchip提供的低端FPGA,瑞萨电子也即将加入这一行列。事实上,FPGA在许多功能上提供了相对于MCU的重要优势。
在MCU中,任务是按顺序在软件中实现的。而在FPGA中,任务是并行地在硬件中完成的。这带来了FPGA操作的吸引人的特性:高度确定性的性能、低延迟、定制硬件的灵活性和非常低的功耗。
本文将介绍FPGA的基本操作,以及FPGA制造商提供的设计工具如何使FPGA在电子系统设计中的实现变得简单明了。
FPGA的基本架构
FPGA由三个基本元素组成(见图1):
可编程逻辑单元(LEs)
可编程路由互连
可配置的I/O,用于与外部世界通信
逻辑单元由一个可配置的查找表(LUT)和一个顺序元素(SE)组成。LUT可以配置为任何类型的组合逻辑,例如OR、AND或XOR。SE通常配置为一个简单的触发器。
逻辑单元是FPGA的基本功能块,因此每个FPGA都是根据其包含的逻辑单元数量进行分类的。低端FPGA市场涵盖了从几百个逻辑单元到1万个逻辑单元的FPGA。
可编程互连将配置好的逻辑单元连接在一起,以实现应用所需的功能。
I/O也是可编程的,可以配置为支持任何I/O接口标准。
实现这些元素的基础硬件是大量的可编程开关。在大多数FPGA中,这些开关在每次FPGA上电时都会重新编程。这需要将编程文件存储在配置存储器中,该存储器可以是FPGA芯片内部的也可以是外部的。
Microchip的FPGA是这一规则的例外:它们的可编程开关采用类似于非易失性闪存的技术。直接编程后,它们不需要编程文件或配置存储器。
图2:每一个FPGA制造商为其设备提供的工具都支持燃料元件板的设计流程
如何配置FPGA硬件
所有FPGA制造商都提供自己的设计工具来生成这种编程文件,通常称为比特流。每个制造商的工具都相似。这些工具提供以下功能:
使用标准硬件描述语言(HDL)(VHDL或Verilog)进行功能描述
综合
布局和布线
编程文件生成
定时分析是设计流程的一部分,用于检查通过路由结构传输信号的传播延迟是否与应用的性能要求一致(见图2)。模拟和验证由HDL工具生成的代码也很重要,以验证编程到FPGA中的功能是否符合设计规范。
在整个FPGA开发过程中,没有任何事情比实现定时分析和RTL仿真更难——它们并不是特别复杂。所有其他阶段都由设计工具自动执行,只需几分钟即可在标准笔记本电脑上完成。
每个FPGA制造商都提供自己的工具集;它们之间的主要区别在于图形用户界面。只要源代码是使用标准的VHDL或Verilog描述语言编写的,迁移从一个工具到另一个工具是很容易的。这些工具的使用通常通过免费许可证向FPGA用户提供。FPGA评估板也很容易以低成本获得,因此工具和资源的成本对于希望开始尝试低端FPGA的工程师来说不是障碍。
浮思特科技专注功率器件领域,为客户提供IGBT、IPM模块等功率器件以及MCU和触控芯片,是一家拥有核心技术的电子元器件供应商和解决方案商。