FPGA:Field Programmable Gate Array,可编程逻辑器件。基于SRAM的架构,集成度高,以查找表(LUT)、触发器等作为基本单元,内嵌有Memory、DSP等,支持丰富的IO标准,具有上电加载过程。在实现复杂算法、队列调度、数据处理、高性能设计、大容量缓存设计等领域具有广泛应用。
特点:
通过改变内部连线的布线来编程,灵活性较好;
分段式布线结构决定了其延时的不可预测性;
编程次数任意,但编程信息断电时丢失,每次上电需从器件外部将编程数据重写入SRAM;
更适合于触发器丰富的时序逻辑,在开发大中型数字系统开发时,比CPLD更有优势;
CPLD:Complex Programmable Logic Device,复杂可编程逻辑器件。基于EEPROM工艺,集成度低,以MicroCell为基本单元。具有非挥发特性,可以重复写入。在粘合逻辑、地址译码、简单控制、FPGA加载等设计中有广泛应用。
特点:
通过修改具有固定内连电路的逻辑功能来编程,灵活性较差;
连续布线结构决定了其时序延时的均匀和时间可预测性;
编程次数有限,但系统断电时编程信息也不丢失;
更适合于触发器有限而乘积项丰富的结构,使用方法简单,速度较FPGA更快,适合于小型数字系统开发
DSP:Digital Signal Processing,数字信号处理。以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。
特点:
相较于FPGA,DSP更适合串行算法和粗颗粒度的并行运算;
与FPGA配合形成处理系统。适合进行串行处理的DSP做主处理器,并行度较高的FPGA,可配置做FFT、FIR等协处理器。
参考:《无线通信FPGA设计》 田耕 徐文波 张延伟等.