CPLD与FPGA的用途及区别
可编程逻辑器件CPLD和FPGA的特点和应用

可编程逻辑器件CPLD和FPGA的特点和应用一、可编程逻辑器件(CPLD)的特点和应用:CPLD是一种具有很高逻辑容量的可编程逻辑器件,它通常由可编程逻辑单元(PLE)和可编程互连网络(PIN)组成。
CPLD的主要特点如下:1.逻辑容量大:CPLD的逻辑容量通常可以达到数千个逻辑门等效。
这使得CPLD非常适合那些需要大规模逻辑功能的应用,如控制器、通信接口和高级数学运算等。
2.可编程性强:CPLD可以通过编程操作来实现不同的逻辑功能。
它使用类似于电荷耦合器(CPL)的可编程逻辑单元来实现逻辑功能,其中每个CPL可以实现与或非门、与非门或非与门等逻辑运算。
3.器件内部拓扑复杂:CPLD具有丰富的内部互连网络,可以将各个逻辑元件之间的信号按照需要进行连接。
这使得CPLD可以实现复杂的信号处理和数据流处理功能。
4.快速重编程:CPLD可以在运行时进行在线编程,从而允许系统进行动态配置和故障恢复。
这一特点使得CPLD广泛应用于技术验证、原型设计和快速迭代开发等场景。
CPLD的应用主要集中在以下几个领域:1.控制器:CPLD可以用于实现各种控制器,如数字信号处理器(DSP)的外围控制器、数据采集/输出控制器等。
其高逻辑容量和可编程性强的特点使得CPLD非常适合这些应用场景。
2. 通信接口:CPLD可以实现多种通信协议和接口,如串行通信接口(SPI/I2C/UART)、嵌入式总线接口(PCI/USB/Ethernet)等。
这些接口在通信系统中起到了关键的作用。
3.高级数学运算:CPLD可以实现各种高级数学运算,如矩阵运算、滤波运算、FFT运算等。
这些运算对于数字信号处理(DSP)和图像处理等应用非常重要。
4.逻辑分析仪:CPLD可以实现逻辑分析仪的功能,用于捕获和分析数字信号的时序和逻辑关系。
逻辑分析仪在系统调试和故障分析中非常有用。
二、现场可编程门阵列(FPGA)的特点和应用:FPGA是一种具有大规模逻辑容量和可编程性的可编程逻辑器件。
CPLD与FPGA的区别与优缺点

4、 应 用 范 围 的 不 同
系统;
CPLD 逻 辑 能 力 强 而 寄 存 器 少 , 适 用 于 控 制 密 集 型
系统。
FPGA 逻 辑 能 力 较 弱 但 寄 存 器 多 , 适 于 数 据 密 集 型
CPLD 和 FPGA 的 优 点 : 1.规 模 越 来 越 大 , 实 现 功 能 越 来 越 强 , 同 时 可 以 实 现 系 统 集 成 。 2.研 制 开 发 费 用 低 , 不 承 担 投 片 风 险 , 使 用 方 便 。 3.通 过 开 发 工 具 在 计 算 机 上 完 成 设 计 , 电 路 设 计 周 期 短 。 4.不 需 要 设 计 人 员 了 解 很 深 的 IC 知 识 , EDA 软 件 易 学 易 用 。 5.通 过 FPGA 和 CPLD 开 发 的 系 统 成 熟 后 , 可 以 进 行 ASIC 设 计 , 形成批量生产。
CPLD 和 FPGA 的区别与优缺点
FPGA(Field Programmable Gates Array 现场可编程门阵列,内部结构为门 阵列构成静态存储器(SRAM)。该 SRAM 可构成函数发生器,即查找表,通 过查找表可实现逻辑函数功能)
CPLD( Complex Programmable Logic Device 复 杂 可 编 程逻辑器件,内部结构为“与或阵列”。该结构来自于典型的 PAL、 GAL 器 件 的 结 构 。 任 意 一 个 组 合 逻 辑 都 可 以 用 “ 与 — 或 ” 表 达 式 来 描 述 ,所 以 该 “ 与 或 阵 列 ” 结 构 能 实 现 大 量 的 组 合 逻 辑 功能)
结构
FPGA 器件在结构上 ,由逻辑功能块排列为阵列 ,并由可编程的内部连线连接这些功能块来 实现一定的逻辑功能 CPLD 是将多个可编程阵列逻辑 (PAL)器件集成到一个芯片 ,具有类似 PAL 的结构。一般 情况下 CPLD 器件中至少包含三种结构 :可编程逻辑功能块 (FB);可编程 I/ O 单元 ;可编程
逻辑设计中的FPGA与CPLD技术应用

逻辑设计中的FPGA与CPLD技术应用在现代电子行业中,逻辑设计是一个至关重要的环节。
FPGA (Field-Programmable Gate Array)和CPLD(Complex Programmable Logic Device)技术作为两种主要的可编程设备,已经在逻辑设计中广泛应用。
它们具有灵活性、可编程性以及高度集成的特点,使得它们在各种应用领域中扮演着重要的角色。
一、FPGA技术应用FPGA是一种可编程逻辑器件,其内部可通过编程实现各种逻辑功能和数字电路设计。
FPGA通常由可编程逻辑单元(CLB)、输入输出引脚和输入输出模块等部分构成。
其设计过程包含RTL(Register-Transfer Level)描述、综合、布局布线以及配置等环节。
1. 通信与网络领域在通信领域,FPGA被广泛应用于协议转换、调制解调器设计以及网络加速器等方面。
由于FPGA的可编程性,可以根据需要灵活配置不同的协议,实现不同网络之间的无缝对接。
2. 数字信号处理(DSP)领域在数字信号处理领域,FPGA被广泛应用于图像处理、音频处理以及实时数据处理等方面。
由于FPGA具有并行处理的能力,能够同时处理多个数据流,因此在实时性要求较高的应用中表现出色。
3. 汽车电子领域在汽车电子领域,FPGA被广泛应用于汽车控制单元(ECU)和车载娱乐系统等方面。
由于汽车电子应用对可靠性和安全性要求较高,FPGA的可编程性以及自适应性能使其成为理想的选择。
二、CPLD技术应用CPLD是一种更小规模的可编程器件,与FPGA相比,CPLD通常更适用于复杂逻辑功能的实现。
CPLD通常由可编程逻辑阵列(PLA)、输入输出引脚以及输入输出缓冲区组成。
1. 控制系统领域在控制系统领域,CPLD被广泛应用于逻辑控制器的设计。
由于CPLD具有高速、低功耗以及可靠性强的特点,被广泛应用于各类自动化控制系统中。
2. 电源管理系统领域在电源管理系统领域,CPLD被广泛应用于电源管理单元(PMU)的设计。
FPGA硬件培训

FPGA设计一般流程
• 6、时序仿真与验证 • 7、板级仿真与验证 • 8、调试与加载配置 • 本次培训主要以硬件电路设计为主,关于硬件描述语言及 FPGA相关仿真不详述.
芯片配置方式概述
1:配置是连接FPGA软件设计到硬件功能实现的桥梁,配置 电路部分有误,配置文件无法下载到配置器件中,对FPGA 编程,则再好的设计都是浮云。 上电后,配置数据保存在 配置RAM中,将配置数据载入FPGA即是对FPGA编程。 2:在介绍FPGA配置方式前,先介绍一些与配置相关的硬件 引脚,如下表::
FPGA基本结构
FPGA主要有三大组成部分,逻辑块(Logic Block LB),连线资源 (Routing Resource),输入输出块(I/O Block)模型如下:
FPGA设计一般流程
FPGA设计一般流程
• 1、电路设计与输入 • 2、功能仿真 • 3、综合优化:综合优化(Synthesize)是指将HDL语言、 原理图等设计输入翻译成由与、或、非门,RAM,触发器 等基本逻辑单元组成的逻辑连接(网表),并根据目标与 要求(约束条件)优化所生成的逻辑连接,输出edf和edn 等标准格式的网表文件,供FPGA/CPLD厂家的布局布线器
• FPGA配置方式的选择,通过MSEL[4..0]连接方式的不同进 行选择。具体详见下表:
芯片配置方式概述
芯片配置方式详解
AS由FPGA器件引导配置操作过程,它控制着外部存储器 和初始化过程。这种配置方式支持AS*1 ,AS*4两种模式, FPGA器件处于主动地位,配置器件处于从属地位。 EPCS系 列如EPCS1,EPCS4等配置器件专供AS模式,以Stratix V系列 FPGA为例,针对1PCS FPGA其AS*1硬件连接方式如下:
FPGA、CPLD、ASIC、DSP、单片机的区别

1. FPGAFPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。
它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
以硬件描述语言(Verilog或VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至FPGA 上进行测试,是现代IC设计验证的技术主流。
这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。
在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flip-flop)或者其他更加完整的记忆块。
系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。
一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。
什么是FPGA?简单来说,FPGA就是“可反复编程的逻辑器件”。
FPGA取自Field Programmable Gate Array的首个字母,代表现场(Field)可编程(Programmable)逻辑阵列(Gate Array)。
由于在产品发售后您仍然可以对产品设计作出修改,因此我们可以顺利地对产品进行更新以及针对新的协议标准作出相应改进。
相对于对售后产品设计无法进行修改的ASIC和ASSP来说,这是FPGA特有的一个优势。
由于FPGA 可编程的灵活性以及近年来科技的快速发展,FPGA也正向高集成,高性能,低功耗,低价格的方向发展,并具备了与ASIC和ASSP 同等的性能,被广泛地使用在各行各业的电子及通信设备里。
FPGA与CPLD的区别尽管很多人听说过CPLD,但是关于CPLD与FPGA之间的区别,了解的人可能不是很多。
EDA总结

一.CPLD 和FPGA 的主要区别1. 结构上的不同:CPLD-乘积项 FPGA-基于查找表(LUT)2. 集成度的不同CPLD :500 - 50000门;FPGA :1K – 几千万门 3 应用范围的不同CPLD 逻辑能力强而寄存器少(1K 左右), 适用于控制密集型系统;FPGA 逻辑能力较弱但寄存器多,适于数据密集型系 CPLD 逻辑密集型----适于简单逻辑功能 2、中小规模(1000 ~ 50000) 3、布线延迟固定,时序特性稳定 4、编程数据不丢失,电路简单 5、保密性好二.Verilog HDL 适用的描述层次:1、系统级(System ) 部分可物理实现,主要用于仿真2、算法级(Alogrthem ) 部分可物理实现,主要用于仿真3、寄存器传输级(RTL )可完全物理实现,用于电路设计4、逻辑级(Logic ) 可完全物理实现,用于电路设计5、门级(Gate ) 可完全物理实现,用于电路设计6、电路开关级(Switch )软件中不涉及,用于芯片设计三.电路的两种基本计算机输入方式——原理图输入和硬件描述语言输入 四.语言输入与原理图输入方式相比的优点: 1、容易把设计移植到不同厂家的不同芯片中去;2、信号位数容易修改,可以很方便的适应不同规模的应用;3、与实现工艺无关;V erilog HDL 综合器生成标准的电子设计互换格式(EDIF )文件,方便文档交换与保存;五.软核、固核、硬核的概念 软核(Soft Core ):功能经过验证的、可综合的、实现后电路结构总门数在5000门以上的V erilog HDL 模型。
由软核构成的器件称为虚拟器件。
三者中灵活性最高。
固核(Firm Core ):指在某一种现场可编程门阵列(FPGA )器件上实现的、经验证是正确的、总门数在5000门以上电路结构编码文件。
硬核(Hard Core ):指在某一种专用集成电路(ASIC )工艺的器件上实现的、经验证是正确的、总门数在5000门以上的电路结构版图掩膜CPLD逻辑密集型----适于简单逻辑功能 2、中小规模(1000 ~ 50000) 3、布线延迟固定,时序特性稳定 4、编程数据不丢失,电路简单 5、保密性好FPGA1、数据密集型——适于复杂的时序逻辑2、大规模设计(5000 ~ 数百万门)3、布线灵活,但时序特性不稳定4、需用专用的 ROM 进行数据配置5、保密性较差HDL 功能数字系统仿真、验证(全部语法支持) 数字系统设计、综合(部分语法支持) HDL 功能:六.Verilog 的两种描述——如果只从行为和功能的角度来描述某一电路模块,就称为行为模块;如果从电路结构的角度来描述该电路模块,就称为结构模块。
FPGA与CPLD 总结

CPLD(complex programable logic device)复杂可编程逻辑器件FPGA(field programable gate array)现场可编程门阵列FPGA和CPLD的逻辑单元本身的结构与SPLD相似,即与阵列和可配置的输出宏单元组成。
FPGA逻辑单元是小单元,每个单元只有1-2个触发器,其输入变量通常只有几个因而采用查找表结构(PROM形式)这样的工艺结构占用的芯片面积小,速度高(通常只有1-2纳秒),每个芯片上能集成的单元数多,但逻辑单元功能弱。
如果想实现一个较复杂的功能,需要几个这样的单元组合才能完成(总延时是各个单元延时和互连延时的和),互连关系复杂。
CPLD中的逻辑单元是单元,通常其变量数约20-28个。
因为变量多,所以只能采用PAL结构。
由于这样的单元功能强大,一般的逻辑在单元内均可实现,因而其互连关系简单,一般通过集总总线既可实现。
电路的延时通常就是单元本身和集总总线的延时(通常在数纳秒至十几纳秒),但是同样集成规模的芯片中的触发器的数量少得多。
从上面分析可知道:小单元的FPGA较适合数据型系统,这种系统所需要的触发器数多,但是逻辑相对简单;大单元的CPLD较适合逻辑型系统,如控制器等,这种系统逻辑复杂,输入变量多,但触发器需求量相对较少。
反熔丝工艺只能一次性编程,EPROM EEPROM 和FLASH工艺可以反复的编程,但是他们一经编程片内逻辑就被固定。
他们都是只读型(ROM)编程,这类编程不仅可靠性较高还可以加密。
XILINX公司的FPGA芯片采用RAM型编程,相同集成规模的芯片中的触发器数目较多,功耗低,但是掉电后信息不能保存,必须与存储器联用。
每次上电时必须先对芯片配置,然后才能使用,这似乎是RAM型PLD的缺点,但是ROM型PLD中的编程信息在使用时是不能变化的,RAM型PLD却可以在工作时更换内容,实现不同的逻辑。
CPLD和FPGA的结构,性能对照:CPLD FPGA PROM集成规模:小(最大数万门)大(最高达百万门)单元粒度:大(PAL结构)小(PROM结构)互连方式:集总总线分段总线长线专用互连编程工艺:EPROM EEPROM FLASH SRAM编程类型:ROM RAM型须与存储器联用信息:固定可实时重构触发器数:少多单元功能:强弱速度:高低222222222222222222222222222222222222延迟:确定,可以预测不能确定不能预测功耗:高低加密性能:可加密不能加密适用场合:逻辑型系统数据型系统LCA(LOGIC CELL ARRAY)逻辑单元阵列CLB(CONFIGURABLE LOGIC BLOCK)可配置逻辑模块IOB(INPUT OUTOUT BLOCK)输入输出块Spartan-xl系列FPGA的主要特性SPARTAN-XL系列的FPGA具有低压,低功耗的特点。
DSP、MCU、CPLD、ARM、FPGA芯片的区别

DSP、MCU、CPLD、ARM、FPGA芯片的区别DSP、MCU、CPLD、ARM、FPGA芯片的区别1,单片机小型电脑处理器,最小可以到8个脚,价格便宜,最便宜2块钱2,PLC可变逻辑控制器,主要用在工业控制,里面是类似一个加强的单片机。
对输入输出均有做处理(抗干扰能力、带负载能力都增强)。
例如抗干扰,增加带负载驱动能力3,DSP 数字信号处理芯片,这个用途可做信号处理,例如图像处理,数据采集处理,它比单片要快很多,比单片机功能要强大4,FPGA、CPLD可变逻辑控制,这个做逻辑处理控制,小型的CPLD是没有中央处理器的,大型可以嵌入系统,功能在单片机之上,适合做大型的数据处理,逻辑控制。
其价格不便宜。
但是他和单片机有本质的区别。
例如单片机有内嵌外设AD,DA转换等,CPLD则需要通过控制其他外设IC。
要想诠释清楚,也非三言两语能道明,还是多看看书本吧学习可以以单片机为先,其次是FPGA,CPLD,DSP。
PLC比较简单,学会前面后面只要了解一周一般都会了一家之言,欢迎指证:DSP:数字信号处理器,处理器采用哈弗结构,工作频率较高,能大幅度提高数字信号处理算法的执行效率。
MCU:微控制器,主要用于控制系统,工作频率一般来说比DSP 低,硬件上具有多个IO 端口,同时也集成了多个外设,主要是便于在控制系统中的应用。
至于ARM处理器,个人认为是MCU的高级版本,ARM本身只是一个内核,目前已经有多个版本。
CPLD:复杂可编程逻辑器件FPGA:现场可编程门阵列后两者都是可编程器件,CPLD目前一半采用FLASH技术,而FPGA采用SRAM技术,这就决定了FPGA需要采用特定的配置技术。
同时FPGA的规模要比CPLD大得多,但CPLD应用起来相对要简单的多。
DSP主要用做运算,如语音,图像等信号的运算处理,但基本不用做控制。
MCU,FPGA,ARM主要用做控制,MCU低价低功耗,但门限很少,结构简单,不能实现复杂控制。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CPLD与FPGA的用途及区别
FPGA/CPLD能做什么呢?可以毫不夸张的讲,FPGA/CPLD能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路,都可以用FPGA/CPLD来实现。
FPGA/CPLD如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由的设计一个数字系统。
通过软件仿真,我们可以事先验证设计的正确性。
在PCB完成以后,还可以利用FPGA/CPLD的在线修改能力,随时修改设计而不必改动硬件电路。
使用FPGA/CPLD来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。
FPGA/CPLD 还可以做数字IC设计的前端验证,用这种方式可以很大程度上降低IC设计的成本。
FPGA/CPLD的这些优点使得FPGA/CPLD技术在90年代以后得到飞速的发展,同时也大大推动了EDA软件和硬件描述语言(HDL)的进步。
FPGA/CPLD有什么区别呢?1)各个厂家叫法不尽相同:PLD(Programmable Logic Device)是可编程逻辑器件的总称,早期多EEPROM工艺,基于乘积项(Product Term)结构。
FPGA (Field Programmable Gate Arry)是指现场可编程门阵列,最早由Xilinx公司发明。
多为SRAM 工艺,基于查找表(Look Up Table)结构,要外挂配置用的EPROM。
Xilinx把SRAM工艺,要外挂配置用的EPROM的PLD叫FPGA,把Flash工艺(类似EEPROM工艺),乘积项结构的PLD叫CPLD; Altera把自己的PLD产品:MAX系列(EEPROM工艺),FLEX/ACEX/APEX系列(SRAM工艺)都叫作CPLD,即复杂PLD(Complex PLD)。
由于FLEX/ACEX/APEX系列也是SRAM工艺,要外挂配置用的EPROM,用法和Xilinx的FPGA一样,所以很多人把Altera的FELX/ACEX/APEX系列产品也叫做FPGA. 2)结构上的主要区别逻辑块的粒度不同逻辑块指PLD 芯片中按结构划分的功能模块,它有相对独立的组合逻辑阵列,块间靠互连系统联系.FPGA 中的CLB 是逻辑块,其特点是粒度小,输入变量为4~8 ,输出为1~2 ,因而只是一个逻辑单元,每块芯片中有几十到近千个这样的单元. CPLD中逻辑块粒度较大,通常有数十个输入端和一、二十个输出端,每块芯片只分成几块. 有些集成度较低的(如ATV2500) 则干脆不分块. 显然,如此粗大的分块结构使用时不如FPGA 灵活. 逻辑之间的互连结构不同CPLD 的逻辑块互连是集总式的,其特点是等延时,任意两块之间的延时是相等的,这种结构给设计者带来很大方便; FPGA 的互连则是分布式的,其延时与系统的布局有关, 3)应用范围也有所不同逻辑系统通常可分两大类型: 1、逻辑密集型: 如高速缓存控制、DRAM 控制和DMA 控制等,它们仅需要很少的数据处理能力,但逻辑关系一般都复杂2、数据密集型: 数据密集型需要大量数据处理能力,其应用多见于通讯领域. 为了选择合适的PLD 芯片,应从速度与性能、逻辑利用率、使用方便性、编程技术等方面进行考查。
速度与性能: 数据密集型系统,比如,通讯中对信号进行处理的二维卷积器. 在实现这一算法的逻辑系统中,每个单元所需要的输入端较少,但需要很多这样的逻辑单元. 这些要求与FPGA 的结构相吻合. 因为FPGA 的粒度小,其输入到输出的传输延迟时间很短,因而能获得高的单元速度.而控制密集型系统通常是输入密集型的,逻辑复杂,CLB 的输入端往往不够用,需把多个CLB 串行级联使用,同时CLB 之间的连接有可能通过多级通用PI 或长线,导致速度急剧下降. 因而实际的传输延迟时间要大CPLD. 比如,实现一个DRAM 控制器,它由四个功能块组成:刷新状态机、刷新地址计数器、刷新定时器和地址选择开关,需要的输入端有几十个,显然用CPLD 更合适. 逻辑利用率: 逻辑利用率是指器件中资源被利用的程度. CPLD 逻辑寄存器少,FPGA 逻辑弱而寄存器多,这正好与控制密集型系统与数据密集型系统相对应. 比如, 规模同为6000PLD 门的
is2pLSI1032 有192 个寄存器;而XC4005E 有616 个寄存器. 因此从逻辑利用率角度,对于组合电路较复杂的设计,宜采用颗粒较粗的CPLD ,触发器较多的设计,宜采用用细颗粒的FPGA. (3) 使用方便性: 使用方便首先要考虑性能的可预测性,在这点上CPLD 优于FPGA. 对于CPLD ,通常只要输入、输出端口数,内部门和触发器数目不超过芯片的资源并有
一定裕量,总是可以实现的. 而FPGA ,则很难预测,因为完成设计所需的CLB 逻辑级数是无法事实确定的,只有靠多次试验才能得到满意的结果. (4) 编程技术: FPGA 编程信息存放在外部存储器,要附加存储器芯片,其保密性差,断电后数据易丢失. CPLD 采用最佳的E2CMOS 技术。
尽管FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA结构上的差异,具有各自的特点: ①CPLD更适合完成各种算法和组合逻辑,FPGA更适合于完成时序逻辑。
换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。
②CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。
③在编程上FPGA比CPLD具有更大的灵活性。
CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FPGA可在逻辑门下编程,而CPLD是在逻辑块下编程。
④FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。
⑤CPLD比FPGA使用起来更方便。
CPLD的编程采用E2PROM或FASTFLASH技术,无需外部存储器芯片,使用简单。
而FPGA的编程信息需存放在外部存储器上,使用方法复杂。
⑥CPLD的速度比FPGA快,并且具有较大的时间可预测性。
这是由于FPGA是门级编程,并且CLB之间采用分布式互联,而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的。
⑦在编程方式上,CPLD主要是基于E2PROM或FLASH存储器编程,编程次数可达1万次,优点是系统断电时编程信息也不丢失。
CPLD又可分为在编程器上编程和在系统编程两类。
FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程数据重新写入SRAM中。
其优点是可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置。
⑧CPLD保密性好,FPGA保密性差。
⑨一般情况下,CPLD的功耗要比FPGA大,且集成度越高越明显。
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块连接起矗?钩商囟üδ艿牡缏贰2煌?Ъ疑??腇PGA在可编程逻辑块的规模,内部互连线的结构和采用的可编程元件上存在较大的差异。
较常用的有Altera、Xinlinx和Actel公司的FPGA。
FPGA一般用于逻辑仿真。
电路设计工程师设计一个电路首先要确定线路,然后进行软件模拟及优化,以确认所设计电路的功能及性能。
然而随着电路规模的不断增大,工作频率的不断提高,将会给电路引入许多分布参数的影响,而这些影响用软件模拟的方法较难反映出来,所以有必要做硬件仿真。
FPGA就可以实现硬件仿真以做成模型机。
将软件模拟后的线路经一定处理后下载到FPGA,就可容易地得到一个模型机,从该模型机,设计者就很直观地测试其逻辑功能及性能指标。