找回密码
 注册
搜索
查看: 2730|回复: 22

[讨论] 谁能讲讲CPLD和FPGA的区别啊?

[复制链接]
发表于 2006-1-11 00:10:00 | 显示全部楼层 |阅读模式
大家见笑,小弟刚刚接触FPGA,对有些概念不太了解,请各位指点一二
发表于 2006-1-11 09:32:00 | 显示全部楼层
<P>内部结构不同了</P><P>布线通道的实现</P><P>可能有些逻辑功能的实现是通过RAM中或ROM查找表实现的吧</P><P>呵呵,cpld是复杂可编程逻辑器件</P><P>       fpga是现场可编程器件</P><P>...............</P>[em10][br]<p align=right><font color=red>+3 RD币</font></p>
点评回复

使用道具 举报

发表于 2006-1-11 10:37:00 | 显示全部楼层
<DIV class=quote><B>以下是引用<I>zy2002</I>在2006-1-11 0:10:25的发言:</B>
大家见笑,小弟刚刚接触FPGA,对有些概念不太了解,请各位指点一二</DIV>


FPGA是查找表结构的,寄存器和ram资源丰富,不过需要外加flash或者Prom来加载程序,掉电后程序就消失了,上电需要重新加载程序。
CPLD是CMOS结构的,一次烧写永远有效,逻辑资源丰富,不过不含ram.[br]<p align=right><font color=red>+3 RD币</font></p>
点评回复

使用道具 举报

 楼主| 发表于 2006-1-11 22:18:00 | 显示全部楼层
<P>那现在FPGA和CPLD哪个使用的比较多么?</P><P>还有VHDL, Verilog有什么区别呢?</P>
点评回复

使用道具 举报

发表于 2006-1-12 12:53:00 | 显示全部楼层
<DIV class=quote><B>以下是引用<I>zy2002</I>在2006-1-11 22:18:28的发言:</B>
<P>那现在FPGA和CPLD哪个使用的比较多么?</P>
<P>还有VHDL, Verilog有什么区别呢?</P></DIV>



一般是看具体设计的需要,因为FPGA相对CPLD资源较多,所以复杂设计一般用FPGA,简单逻辑设计一般用CPLD。
另外VHDL和verilog只是RTL语言的两种,VHDL语言是美国军方标准,verilog是美国民间商业标准![br]<p align=right><font color=red>+3 RD币</font></p>
点评回复

使用道具 举报

发表于 2006-1-14 11:34:00 | 显示全部楼层

谁能讲讲CPLD和FPGA的区别啊?

<P>  两者的英文全称是现场可编程门阵列FPGA(field programe gate array)and复杂可编程逻辑器件CPLD(complex programe logic device);对于我们用户来说,就把它们当作可编程逻辑器件就行了,两者有一些差别,一般的用户要求不是很严格的话,也不需要搞得很清楚.可以提一提,一般FPGA有时它的时延具有不确定性,而CPLD它的时延可以确定.</P><P> </P>[br]<p align=right><font color=red>+3 RD币</font></p>
点评回复

使用道具 举报

发表于 2006-1-16 21:51:00 | 显示全部楼层
刚接触,在一本教材上说基本上没区别吧,你把它当一种东西就可以了,一般来说FPGA资源丰富一些,做一些复杂的逻辑设计![br]<p align=right><font color=red>+1 RD币</font></p>
点评回复

使用道具 举报

 楼主| 发表于 2006-1-17 11:40:00 | 显示全部楼层
多谢大家指点。[em14]
点评回复

使用道具 举报

发表于 2006-5-4 19:22:00 | 显示全部楼层
thanks
点评回复

使用道具 举报

发表于 2006-5-5 17:41:00 | 显示全部楼层
你可以搜索一下,我见过帖子有对FPGA和CPLD的区别有详细说明的啊
点评回复

使用道具 举报

发表于 2006-5-16 13:14:00 | 显示全部楼层
组合逻辑适合cpld
时序逻辑用fpga
点评回复

使用道具 举报

发表于 2006-5-18 23:49:00 | 显示全部楼层
<P>新手都会问这个问题,就像当初我一样,其实一般的用途,感觉不到有太大的区别的。</P>
点评回复

使用道具 举报

发表于 2006-5-21 14:29:00 | 显示全部楼层
cpld一般适合于组合逻辑比较多的设计,fpga适合于时序逻辑比较多的设计
点评回复

使用道具 举报

发表于 2006-5-22 10:49:00 | 显示全部楼层
1, FPGA/CPLD的原理,特点与应用
答:pal/gal是早期的可编程逻辑器件的发展形式,其特点多基于eecmos工艺,结构较为简单,可编程逻辑单元多为与,或阵列,可编程单元密度较低,仅能适用于某些简单的数字逻辑电路。它们的特点是低功耗,低成本,高可靠性,软件可编程,可重复更改等特点。
    CPLD是复杂可编程逻辑器件。CPLD是在pal ,gal的基础上发展起来的,一般也采用eecmos工艺,也少数厂商采用flash工艺,其基本结构由可编程I/O单元,基本逻辑单元,布线池和其他辅助功能模块构成,CPLD可以完成设计中较复杂,较高速度的逻辑功能,cpld的器件的供应商有altera,lattice xilinx等。
    FPGA的集成度是在CPLD的基础上发展起来的新型高性能可编程逻辑器件,它一般采用SRAM工艺,也有用专用器件采用flash工艺或反熔丝工艺等。fpga的集成度很高,其器件密度从数万门到数千万系统门不等,可以完成极其复杂的时序与组合逻辑电路功能,适用于高速,高密度的高端数字逻辑电路设计领域。组成部分有可编程输入/输出单元,基本可编程逻辑单元,嵌入式块ram,丰富的布线资源,底层的嵌入功能单元,内嵌专用硬核等。主要器件厂商有xilinx,altera,lattice ,actel和,atmel.

2  FPGA与CPLD的异同有哪些?
答:CPLD是复杂可编程逻辑器件。CPLD是在pal ,gal的基础上发展起来的,一般也采用eecmos工艺,也少数厂商采用flash工艺,其基本结构由可编程I/O单元,基本逻辑单元,布线池和其他辅助功能模块构成,CPLD可以完成设计中较复杂,较高速度的逻辑功能,cpld的器件的供应商有altera,lattice xilinx等。
    FPGA的集成度是在CPLD的基础上发展起来的新型高性能可编程逻辑器件,它一般采用SRAM工艺,也有用专用器件采用flash工艺或反熔丝工艺等。fpga的集成度很高,其器件密度从数万门到数千万系统门不等,可以完成极其复杂的时序与组合逻辑电路功能,适用于高速,高密度的高端数字逻辑电路设计领域。组成部分有可编程输入/输出单元,基本可编程逻辑单元,嵌入式块ram,丰富的布线资源,底层的嵌入功能单元,内嵌专用硬核等。主要器件厂商有xilinx,altera,lattice ,actel和,atmel.[br]<p align=right><font color=red>+5 RD币</font></p>
点评回复

使用道具 举报

发表于 2006-6-26 09:54:00 | 显示全部楼层
<TABLE fixed; WORD-BREAK: break-all" width="90%" border=0><TR><TD 10pt; LINE-HEIGHT: 14pt" width="100%"><img src="http://www.52rd.com/bbs/Skins/Discuz/topicface/none.gif"> <B></B>
<B><FONT size=2>Fpga/cpld逻辑设计知识

</FONT></B>1.       setup /hold time 芯片信号与时钟的关系

建立时间是触发器的时钟上升沿到来前,数据保持稳定不变的时间;保持时间是触发器的时钟上升沿到来后,数据保持稳定不变的时间.如果输入信号不满足建立保持时间就不能被这一时钟打入触发器.



2.       fpga与 cpld区别

1)      cpld更适合组合逻辑设计,基于乘积项结构,fpga更适合时序逻辑设计,基于查找表结构;

2)      cpld的连续分布式结构使延时均匀可预测,fpga的分段分布式结构使延时不可预测;

3)      fpga比cpld设计更灵活,因为fpga可以在逻辑门下编程,cpld在逻辑块下编程;

4)      fpga比cpld集成度高,有更复杂布线结构和逻辑实现;

5)      fpga比cpld使用复杂,fpga基与sram结构要外加配置器件,cpld基于e2prom或fastflash不要配置器件.

6)      Fpga比cpld功耗小且规模越大越明显.



3.       竞争冒险

信号在逻辑器件内部经过连线和逻辑单元时,都有一定的延时.延时时间受到连线长度和逻辑单元个数及环境因数有关,所以在门输入的多个信号同时发生变化时会出现尖峰信号,这些尖峰信号称为”glitch”,如果组合逻辑中有glitch,这个电路就存在”冒险”.

所以尽量采用同步电路,信号的变化在时钟的沿,只要出现在时钟沿的毛刺不满足setup/hold都不会有问题,如果还有问题可以在输出信号的保持时间内加D触发器采样.还有尽量不要让输入信号同时变化如采用格雷码?输入.



4.       门控时钟的设计原则

时钟驱动逻辑只包含一个”与门”或”或门”;

逻辑门的输入有一个为时钟输入,其他必须满足相对这个时钟的setup/hold time;



5.       如何提高系统运行速度

时钟周期T&gt;=Tco+Tdelay+Tsetup-Tdp;就是如何减小T,方法就是减小组合逻辑的延时Tdelay,所以出现了流水线思想,即分割大的逻辑电路为几个小的逻辑电路在中间插入flip-flop,消除时间瓶颈.



6.       pld/fpga完整的开发流程

设计输入;2. .逻辑综合;3功能仿真;4.布局布线;5.时序仿真;6.程序下载


7.       fpga的4种常用设计思想及技巧

1)      乒乓操作:数据流控制的处理技巧,先通过输入选择逻辑把数据流等时分配到两个数据缓冲块,再通过输出选择逻辑在以后的缓冲周期轮流从缓冲模块中读取数据送到数据流处理模块中.

2)      串并转换:复杂的可用fsm实现.

3)      流水线思想:组合逻辑分割.

4)      数据接口的同步设计:如果为同步时钟用同步ram\fifo,若为异步时钟用异步fifo.



8.       同步逻辑与异步逻辑

同步逻辑的时钟之间有固定的因果关系,异步逻辑的时钟之间没有固定的因果关系.



9.       常用的逻辑电平,ttl与cmos能互连吗?

有0.1v,4.9v,1.0v,3.5v;0.5v,2.7v,0.8v,2.0v等;ttl不能与cmos互连,但是在vcc=5v时,cmos输出到ttl输入是可以的.



10.   亚稳态

异步时钟设计的组合逻辑是出现亚稳态的主要原因,当信号违反了dff的setup/hold time就会出现不确定电平逻辑,只要亚稳态时间小于时钟周期就可用双reg方法消除.



11.moore与mealy  fsm

       Moore fsm的输出只跟当前的状态有关,与当前输入信号无关;mealy fsm的输出不但与当前的状态有关,还与当前的输入信号有关. </TD></TR></TABLE>
点评回复

使用道具 举报

发表于 2006-7-26 14:59:00 | 显示全部楼层
[em10][em10][em10]
点评回复

使用道具 举报

发表于 2006-7-26 16:03:00 | 显示全部楼层
一、
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块连接起来,构成特定功能的电路。不同厂家生产的FPGA在可编程逻辑块的规模,内部互连线的结构和采用的可编程元件上存在较大 的差异。较常用的有Altera、Xinlinx和Actel公司的FPGA。FPGA一般用于逻辑仿真。电路设计工程师设计一个电路首先要确定线路,然后进行软件模拟及优化,以确认所设计电路的功能及性能。然而随着电路规模的不断增大,工作频率的不断提高,将会给电路引入许多分布参数的影响,而这些影响用软件模拟的方法较难反映出来,所以有必要做硬件仿真。FPGA就可以实现硬件仿真以做成模型机。将软件模拟后的线路经一定处理后下载到FPGA,就可容易地得到一个模型机,从该模型机,设计者就很直观地测试其逻辑功能及性能指标。  
二、
系统的比较,与大家共享:
尽管FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA结构上的差异,具有各自的特点:
①CPLD更适合完成各种算法和组合逻辑,FP GA更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。

②CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。

③在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FP GA可在逻辑门下编程,而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大,且集成度越高越明显
点评回复

使用道具 举报

发表于 2006-8-6 00:04:00 | 显示全部楼层
我这个新手也写写了!!!!!!!!!!!!
点评回复

使用道具 举报

发表于 2006-8-19 08:50:00 | 显示全部楼层
这个说明还是能够理解的。谢谢。
点评回复

使用道具 举报

发表于 2006-9-22 18:15:00 | 显示全部楼层
fpga适合大的项目
cpld适合小项目
但fpga逻辑单元cbl浪费比较严重
cpld资源利用率比较高
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-24 05:06 , Processed in 0.049838 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表