1. CPLD概述
CPLD主要由可编程逻辑宏单元(LMC,Logic Macro Cell)围绕中心的可编程互连矩阵组成。LMC的逻辑结构复杂,拥有复杂的I/O单元互连结构,能根据用户需求生成特定的电路结构,完成特定功能。由于CPLD内部采用固定长度的金属线连接各逻辑块,设计的逻辑电路具有时间可预测性,避免了分段式互连结构时序不完全预测的缺点。
进入90年代后,CPLD发展迅速,不仅具有电擦除特性,还出现了边缘扫描及在线可编程等高级特性。目前市场上常见的有Xilinx公司的EPLD和Altera公司的CPLD。
2. FPGA详解
FPGA包含可编程逻辑功能块、可编程I/O块和可编程互连三大类资源。可编程逻辑功能块是实现用户功能的基本单元,它们排列成阵列,散布于整个芯片中。而可编程I/O块则完成芯片上逻辑与外部封装脚的接口。可编程内部互连包括各种长度的连线线段和一些可编程连接开关,它们将各个可编程逻辑块或I/O块连接起来,构成特定功能的电路。
不同厂家的FPGA在可编程逻辑块的规模、内部互连线的结构和采用的可编程元件上存在较大差异。FPGA一般用于逻辑仿真和电路设计。随着电路规模和工作频率的不断提高,硬件仿真变得越来越重要,而FPGA可以实现硬件仿真,制作模型机,从而直观地测试逻辑功能及性能指标。
3. CPLD与FPGA的比较
尽管FPGA和CPLD都是可编程ASIC器件,但它们的结构特点决定了各自的应用优势。FPGA更适合于完成时序逻辑,而CPLD更适合完成各种算法和组合逻辑。CPLD的连续式布线结构使其时序延迟均匀且可预测,而FPGA的分段式布线结构则可能导致延迟的不可预测性。
在编程方式上,CPLD主要基于E2PROM或FLASH存储器编程,编程信息在系统断电时不会丢失,而FPGA则大多基于SRAM编程,需在每次上电时从器件外部重新写入编程数据。在保密性和功耗方面,CPLD也具有一定的优势。
4. CPLD的优势与应用
CPLD的粗粒结构、丰富的I/O资源、简单的时序模型和易于路由的特点,使其在大型设计项目中具有灵活易用、设计成本低、上市时间快等优势。其丰富的逻辑资源和高度灵活的路由资源使得设计人员在任一阶段都能方便地添加设计或改变引脚输出。CPLD还可提供单片CPLD和可编程PHY方案,进一步拓宽了其应用领域。
由于CPLD的时序可预测性和粗粒结构,使得它在给定时间内能提供较宽的相等状态,且延迟小、性能优越。其软件编译快,布放设计任务更加容易执行。
5. 总结
CPLD和FPGA各有其优势和应用领域。CPLD适合于完成各种算法和组合逻辑,具有时序可预测、简单易用、设计成本低等优点;而FPGA则更适合于完成时序逻辑,具有灵活性高、可用于硬件仿真等优势。随着复杂可编程逻辑器件密度的提高,设计人员在进行大型设计时可以灵活选择使用CPLD或FPGA,以快速将产品推向市场。