与采用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)。
