现场可编程门阵列(Field Programmable Gate Array,FPGA)是在PAL、GAL、CPLD的基础上产生的。它属于一种半定制电路,与全定制电路相比,开发成本较低,功能可扩展,同时又提供了较多的逻辑单元。
目前,采用硬件描述语言(Verilog或VHDL)来描述电路逻辑成为现场可编程门阵列设计验证的主流技术,然后使用相关软件工具实现逻辑综合、布局和布线等,之后再将生产的文件烧写到FPGA芯片上。虽然FPGA相比专用集成电路(ASIC)速度慢、性能低,但优点在于开发难度低,而且其内部功能可以反复修改。目前FPGA几乎是电子系统中必有的部件,这是因为FPGA方便灵活的特点有利于电子产品迅速抢占市场。
虽然现场可优化CPLD和FPGA都包含大量的可编程逻辑单元,但它们的系统结构存在很大的差别。与CPLD相比,FPGA的连接单元更多,虽然灵活却也更加复杂;而CPLD的连接单元较少,延迟时间更加方便估计。另一个较为明显的区别在于,FPGA含有内置的如加法器和乘法器这样的高层次模块和存储器,因此很多新型的FPGA可以实现系统内重新配置。
当前,FPGA片内的程序储存方式主要有以下几种。
1、PROM:只可以烧录一次,不能清除内容,是一种可编程只读存储技术。
2、EPROM:可擦除内容的可编程只读存储器技术,可经紫外线照射清除内容。
3、AnTIfuse:通常为CMOS电话,并且只可烧录一次。
4、EEPROM:可用电气信号清除内容的可编程只读存储器技术。
5、静态随机存取存储器(SRAM):基于静态内存技术,系统内可编程。
6、闪存(Flash):一种较为特殊的EEPROM。