当前课程知识点:EDA技术与应用 > 第二章 可编程逻辑器件概述 > 2.4 FPGA和CPLD的选用 > 2.4.2 FPGA和CPLD的选用 教学视频
前两次课我们了解到
CPLD、FPGA的结构不同
编程工艺也不相同
这就决定了它们应用范围上的差别
那么我们如何进行选择呢
这就是今天我们要讲的问题
我们选用CPLD与FPGA时
主要考虑以下几个方面
一、逻辑单元
CPLD采用的是与或阵列
变量数通常约为20-28个
与FPGA同样集成规模的芯片相比
内部触发器的数量相对较少
大单元的CPLD较适合逻辑型系统
如控制器等
而FPGA采用查表结构
其输入变量数通常只有几个
那么,小单元的FPGA较适合数据型系统
这种系统所需的触发器数多
但逻辑相对简单
二、互连结构方面
CPLD采用的是连续式布线结构
那么这种结构决定了
它的时序延时是均匀和固定的
引脚间信号延时几乎是固定的
而与设计无关
因此调试设计比较简单
逻辑设计上的毛刺现象比较容易处理
而在FPGA中
它是分段式互连结构
更容易引起竞争冒险的出现
因此为了避免这种情况
根据项目需求
有时我们必须对FPGA的资源、布局布线
进行时序约束
以满足设计要求
三、编程工艺方面
从编程工艺来讲,有几点需要我们了解
CPLD采用的是EEPROM
或者Flash工艺
所以配置掉电后不丢失
也就不需要外挂配置芯片
而FPGA采用的是SRAM工艺
配置在掉电后就丢失了
因此需要一个外部配置芯片
其次,相对来讲CPLD的安全性更高
由于配置芯片的存在
FPGA的保密性就会比CPLD略差
逻辑数据有可能被读取
当然FPGA芯片会有一定的加密措施
另外, CPLD由于不需要上电重新配置
所以上电后可以马上工作
而FPGA上电后需要配置时间
逻辑量的大小、配置方式的区别
也会影响配置时间的长短
四、规模方面
由于工艺难度的差异
相对来讲CPLD一般集成度较低,规模较小
也是由于工艺的原因
一般CPLD会比FPGA的功耗要高
所以,一般中小规模电路选用CPLD
它的价格较便宜
而对于大规模的逻辑电路设计
则多采用FPGA
实际上CPLD与FPGA之间的界限并不分明
如有些芯片采用查找表结构
SRAM编程工艺,所含触发器数很多
可达到很大的集成规模
与典型的FPGA相一致
但在这种器件中
却又使用了集总总线的互连方式
速度高,且延时确定可预知
因而又具有CPLD的特点
又可以将它们归于CPLD一类
其实归于哪一类都无所谓
只要分清每一种器件的单元、
互连及编程工艺这三大基本特征
从而了解其性能和使用方法即可
实际我们在选用大规模可编程逻辑器件时
还要综合考虑器件的逻辑资源
I/O 引脚数是否够用
速度、温度等是否满足要求等等
这需要我们在实际项目中不断积累经验
今天的课就讲到这里,再见
-1.1 EDA技术概述
--1.1.3 EDA技术概述 单元测验
-2.1 可编程逻辑器件(PLD)概述
--2.1.3 可编程逻辑器件概述 单元测验
-2.2 CPLD的结构和原理
--2.2.3 CPLD的结构和原理 单元测验
-2.3 FPGA的结构和原理
--2.3.3 FPGA的结构和原理 单元测验
-2.4 FPGA和CPLD的选用
--2.4.3 FPGA和CPLD的选用 单元测验
-2.5 FPGA与CPLD的编程和配置
--2.5.3 FPGA与CPLD的编程与配置 单元测验
-3.1 QuartusII概述
--3.1.3 Quartus Ⅱ概述 单元测验
-3.2 新建工程
--3.2.3 新建工程 单元测验
-3.3 设计输入
--3.3.3 设计输入 单元测验
-3.4 设计编译
--3.4.3 设计编译 单元测验
-3.5 仿真验证
--3.5.3 仿真验证 单元测验
-3.6 器件编程
--3.6.4 器件编程 单元测验
-3.7层次化设计
--3.7.3 层次化设计 单元测验
-3.8 宏功能模块的使用
--3.8.3 宏功能模块的使用 单元测验
-4.1 VHDL语言概述
--4.1.3 VHDL语言概述 单元测验
-4.2 VHDL代码的结构
--4.2.3 VHDL代码的结构 单元测验
-4.3 库和库声明
--4.3.3 库和库声明 单元测验
-4.4 实体说明
--4.4.3 实体说明 单元测验
-4.5 结构体
--4.5.3 结构体 单元测验
-4.6 VHDL预定义数据类型
--4.6.3 VHDL预定义数据类型 单元测验
-4.7 常量、变量和信号
--4.7.3 常量、变量和信号 单元测验
-4.8 运算操作符和属性
--4.8.3 运算操作符和属性 单元测验
-4.9 IF语句和WAIT语句
--4.9.3 IF语句和WAIT语句 单元测验
-4.10 CASE语句
--4.10.3 CASE语句 单元测验
-4.11 LOOP循环语句
--4.11.3 LOOP循环语句 单元测验
-4.12 进程
--4.12.3 进程 单元测验
-4.13 条件信号赋值语句
--4.13.3 条件信号赋值语句 单元测验
-4.14 选择信号赋值语句
--4.14.3 选择信号赋值语句 单元测验
-4.15 元件例化语句
--4.15.3 元件例化语句 单元测验
-4.16 VHDL模块化设计
--4.16.3 VHDL模块化设计 单元测验
-5.1 设计方法概述
--5.1.3 设计方法概述 单元测验
-5.2 EDA综合设计案例(1)— 数字钟的设计
--5.2.2 EDA综合设计设计案例1— 数字钟的设计 教学视频
--5.2.3 EDA综合设计案例1 单元测验
-5.3 EDA综合设计案例(2)—16×16点阵控制器设计
--5.3.2 EDA综合设计案例2—16×16点阵控制器设计 教学视频
--5.3.3 EDA综合设计案例2 单元测验