FPGA(Field-Programmable GateArray),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
FPGA由可编程逻辑块(CLB)、输入/输出模块(IOB)及可编程互连资源(PIR)等三种可编程电路和一个SRAM结构的配置存储单元组成。CLB是实现逻辑功能的基本单元,它们通常规则地排列成一个阵列,散布于整个芯片中;可编程输入/输出模块(IOB)主要完成芯片上的逻辑与外部引脚的接口,它通常排列在芯片的四周;可编程互连资源(IR)包括各种长度的连线线段和一些可编程连接开关,它们将各个CLB之间或CLB与IOB之间以及IOB之间连接起来,构成特定功能的电路。
由于FPGA需要被反复烧写,它实现组合逻辑的基本结构不能像ASIC那样通过固定的与非门来实现,而只能易于反复配置的结构,查找表可以很好的满足这一要求。目前主流FPGA都采用基于SRAM工艺的查找表结构。通过烧写文件去配置查找表的内容,从而实现在相同电路的情况下实现了不同的逻辑功能,即对FPGA的重复配置。