FPGA 与 CPLD 综述 FPGA/CPLD 简介 可编程逻辑器件主要有两个类型:1 现场可编程门阵列(FPGA)(Field Programmable Gate Array) 2 复杂可编程逻辑器件(CPLD)(Complex Programmable Logic Device),尽管 FPGA 和 CPLD 都是可编程 ASIC 器件,有很多共同特点,但由于 CPLD 和 FPGA 结构上的差异,具有各自的特点: FPGA [Field Programmable Gate Array],基于查找表 LUT ( Look-Up-Table, LUT ) 结构:LUT 本质是一个RAM ( 主流 FPGA 都基于 SRAM 工艺的 LUT 结构),用开发软件实现将可能的结果写入 RAM,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可
基于 SRAM 工艺的 FPGA 需要外接一个片外存储器(配置芯片)以保存程序
由这个专用配置芯片把数据下载到 FPGA
然后 FPGA 可以正常工作
配置时间短,不会影响系统的正常工作
掉电后,FPGA 恢复为白片,内部信息消逝
如使用反熔丝或 FLASH 工艺,无需添加配置芯片
FPGA 芯片的内部结构IOB:I/O block,可编程输入输出单元,是芯片与外界电路的接口部分
用于完成不同电路特性下对输入/输出信号的驱动与匹配要求
通过软件的灵活配置,可适配不同的电气标准和 I/O/物理特性,可以调整驱动电流的大小,可以改变上、下拉电阻
CLB:Configurable Logic Block,可配置逻辑模块,是 FPGA 内基本逻辑结构单元
用于实现组和逻辑、时序逻辑的功能
通常包括 LUT,触发器和相关逻辑
CLB 由多个(一般为 2 或 4 个)相同的 Slices 和附加逻辑构成;一个Sl