项目 | FPGA | CPLD | 备注 |
---|---|---|---|
结构工艺 | 多位LUT加寄存器结构,实现工艺多为SRAM,也包含Flash、Anti-Fuse等工艺 | 多位乘积项,工艺多为E2CMOS,也包含EEPROM、Flash、Anti-Fuse | |
触发器数量 | 多 | 少 | FPGA更适合实现时序逻辑,CPLD多用于实现组合逻辑 |
Pin to Pin 延时 | 不可预测 | 固定 | 对FPGA而言,时序约束和仿真十分重要 |
规模与逻辑复杂度 | 规模大,逻辑复杂度高,新型器件高达千万门级 | 过莫笑,逻辑复杂度低 | FPGA用以实现复杂设计,CPLD用以实现简单设计 |
成本与价格 | 成本高、价格贵 | 成本低,价格低 | CPLD用来实现低成本设计 |
编程与配置 | 一般包含两种,外挂BootRom和通过CPU或DSP等在线编程。多数基本属于RAM型,掉电后程序丢失 | 有两种编程方式,一种是通过编程器烧写ROM,另一种较方便的方法是通过ISP模式。一般为ROM型,掉电后程序不会丢失 | FPGA掉电后会丢失原有逻辑配置。而反熔丝工艺的FPGA,如Actel的某些器件族和目前的一些内嵌Flash或EECMOS的FPGA,如Lattice的XP器件族,可以实现非易失配置方式 |
保密性 | 一般保密性较差 | 好 | 一般FPGA不容易实现加密,但是目前一些采用Flash加SRAM工艺的新型器件(如Lattice XP系列),在内部嵌入了加载Flash,能够提供更高的保密性 |
互联结构、连线资源 | 分布式,丰富的布线资源 | 集总式,相对布线资源有限 | FPGA布线灵活,但是时序更难规划,一般通过时序约束,静态时序分析,时序仿真等手段提高并验证时序性能 |
适用的设计类型 | 复杂的时序功能 | 简单的逻辑功能 |
参考资料
Altrea FPGA/CPLD设计(基础篇)-EDA先锋工作室-王诚编著