集成电路芯片包括数字芯片和模拟芯片两大类,数字芯片又分为存储器芯片和逻辑芯片。
逻辑芯片一般包括CPU、GPU、DSP等通用处理器芯片以及专用集成电路芯片ASIC。
FPGA(现场可编程门阵列)就是逻辑芯片的一种。
FPGA功能
FPGA中文名是现场可编程门阵列,是指通过软件手段更改、配置器件内部连接结构和逻辑单元,完成既定功能设计的数字集成电路。
FPGA是在PAL(可编程逻辑阵列)、GAL(通用阵列逻辑)、CPLD(复杂可编程逻辑器件)等传统逻辑电路和门阵列的基础上进一步发展的产物。它利用计算机辅助设计,绘制出实现用户要求的原理图、编辑布尔方程或用硬件描述语言等方式作为设计输入;然后经一系列转换程序、自动布局布线、模拟仿真的过程;最后生成FPGA的数据文件,对FPGA器件初始化。这样就实现了满足用户要求的专用集成电路,真正达到了用户自行设计、自行研制和自行生产集成电路的目的。
FPGA与CPU、GPU、ASIC等芯片的核心区别是:其底层逻辑运算单元的连线和逻辑布局未固化。用户可通过EDA软件对逻辑单元和开关阵列编程,进行功能配置,从而去实现特定功能的集成电路芯片。而其他类别逻辑芯片,像ASIC、CPU和GPU等,物理底层逻辑单元的运算关系均已固定且不可变。简单地说,如果CPU、GPU、ASIC等是建好的楼房,楼房中房间、走廊及楼梯等格局是已经固定了;而FPGA的内部类似霍格沃兹中的魔法楼梯,可以随时改变房间到房间的路线关系。
FPGA由可编程逻辑块(CLB)、输入/输出模块(IOB)、可编程互连资源(PIR)等三种可编程电路和用于存放编程数据的静态存储器SRAM组成。CLB是实现逻辑功能的基本单元,它们通常规则排列成一个阵列,散布于整个芯片中。IOB主要完成芯片上的逻辑与外部引脚的接口,通常排列在芯片的四周。PIR提供了丰富的连线资源,包括纵横网状连线、可编程开关矩阵和可编程连接点等,它们将各个CLB之间、CLB与IOB之间以及IOB之间连接起来,构成特定功能的电路。静态存储器SRAM用于存放内部IOB、CLB和PIR的编程数据,并形成对IOB、CLB及PIR的控制,从而完成系统逻辑功能。
由于FPGA需要被反复烧写,它实现的组合逻辑基本结构无法通过固定的与非门来完成,只能采用一种易于反复配置的结构。查找表(Look-Up-Table,简称为LUT)可以很好地满足这一要求。
LUT实质上是一个RAM,当用户描述了一个逻辑电路后,软件会计算所有可能的结果,并写入RAM。每一个信号进行逻辑运算,就等于输入一个地址进行查表,找出地址对应的内容,输出结果。这样也大大加快了FPGA的运算速度。目前主流FPGA都采用了基于SRAM工艺的查找表结构,也有一些FPGA采用Flash或反熔丝工艺的查找表结构。
FPGA特点
FPGA有三大特点:
-
可编程灵活性高
FPGA属于逻辑芯片,但区别于其他逻辑芯片,FPGA最大的特点便是现场可编程性,这个特点,可以使FPGA通过编程实现任意芯片的逻辑功能,例如ASIC、DSP甚至PC处理器等,这也是为什么FPGA被称为“万能芯片”的原因。
逻辑芯片中,例如ASIC和DSP是一张出厂时就写有数据并且不可擦除的CD,用户只需要放在CD播放器就可以听到音乐;而FPGA是一张出厂时空白的CD,需要用户自己使用刻录机烧写数据内容到盘里,并且还可以擦除上面的数据,反复刻录。
-
开发周期短
逻辑芯片如ASIC制造流程包括逻辑实现、布线处理和流片等多个步骤,而FPGA无需布线、掩膜和定制流片等,芯片开发大大简化。一般逻辑芯片如ASIC、DSP、SOC等,开发周期需要14-24个月,甚至更长,而FPGA则只需要6-12个月,比其他芯片开发周期减少55%的时间。
类型 | FPGA | ASIC | DSP | SOC |
名称 | 现场可编程门阵列 | 专用集成电路 | 数字信号处理技术 | 系统级芯片 |
开发周期 | 6-12个月 | 14-24个月 | 14-24个月 | 14-24个月或更长 |
-
并行计算效率高
FPGA属于并行计算,一次可执行多个指令算法。而传统的ASIC、DSP、CPU都是串行计算,一次只能处理一个指令集。因此在部分特殊任务中,FPGA的并行计算效率比串行计算效率更高。
因此,FPGA 通常在数字信号处理、视频处理、图像处理、5G 通信领域、医疗领域、工业控制、云服务、加速计算、人工智能、数据中心、自动驾驶、芯片验证等领域发挥着不可替代的作用。
欢迎关注微信公众号“我想我思”