高密度可编程逻辑器件可编程逻辑芯片经历了PAL(Programmable Array Logic)、GAL(Generic Array Logic)、CPLD(Complex Programmable Logic Device)和FPGA (Field Programmable Gate Array)几个发展阶段。半导体工艺已经由微米发展到深亚微米,集成度由最初的几十门发展到现在的数百万门。CPLD和FPGA都是高密度现场可编程逻辑芯片,能够将大量逻辑功能集成于一个单片集成电路中,虽然半定制和全定制的专用集成电路也能够将大量逻辑功能集成于一个单片集成电路中,但CPLD和FPGA具有更多的灵活性:既适用于批量产品短研制周期、小批量产品开发,也可用于大批量产品的样品研制。设计人员在实验室通过开发工具就可以制作出自己的芯片,而不用芯片制造商来完成。同时,因其项目开发所需前期工程费用低的特点,受到应用电子系统开发人员的青睐。
与采用SSI/MSI标准器件构成PCB板级设计相比,CPLD和FPGA具有很大的灵活性,因为SSI/MSI标准器件集成度低,功能有限,灵活性差,构成的PCB板级设计,存在大量芯片间的连线,且要采用各种不同功能的芯片,导致系统可靠性差,费用高,功耗高,体积大,任何逻辑改动必须采用跳线或钻孔的方式,如果PCB板的生产量很大,则必须重新设计,这必然导致前期投资的大大提高,并使产品上市时间推迟,而采用CPLD和FPGA则不同,其PCB板依然可用,无须破坏板上的连线结构,只需修改CPLD和FPGA内部的连接关系就可修改逻辑功能。
与采用微处理器构成的系统相比,CPLD和FPGA也具有明显的优点,因为微处理器系统用软件配置来实现功能,在某些场合下,其速度太低,满足不了要求。此外,这类系统开发费用高,而且还要用SSI/MSI设计相应的接口电路。
采用不同的技术路线生产的可编程逻辑器件具有不同的结构。CPLD器件是全局互联的,特有的PIA全局金属互连导线可以作延时预测,易于控制时序逻辑。而FPGA器件是阵列结构,内部资源是分段互联的,其延时不可预测,只有编程完毕后才能实际测量。CPLD和FPGA建立内部可编程逻辑连接关系的编程技术有三种:基于反熔丝技术的器件只允许对器件编程一次,编程后不能修改。其优点是集成度、工作频率和可靠性都很高,适用于电磁辐射干扰较强的恶劣环境。基于EEPROM存储器技术的可编程逻辑芯片能够重复编程多次,系统掉电后编程信息也不会丢失。
编程方法分为在编程器上编程和用下载电缆编程。用下载电缆编程的器件,只要先将器件装焊在印刷电路板上,通过PC、SUN工作站、ATE(自动测试仪)或嵌入式微处理器系统,就能产生标准5V或3.3V或2.5V逻辑电平编程信号,称为ISP(In System Programmable)方式编程,调试和维修也很方便。基于SRAM技术的器件编程数据存储于器件的RAM区中,使之具有用户设计的功能。在系统不加电时,编程数据存储在EPROM、硬盘、或软盘中。系统加电时将这些编程数据即时写入可编程器件,从而实现板级或系统级的动态配置。这种方式称ICR(In Circuit Reconfigurable)。