CPLD和FPGA基础概念和区别 cpld与fpga的区别

字号:大中小订阅

(1)什么是前仿和后仿

前仿:系统级仿真,对模块行为仿真,验证其功能

后仿:电路级仿真,验证时序

(2)阵列型pld器件

prom:与阵列固定,或阵列可编程,输出固定

pla:与阵列可编程,或阵列固定,输出固定

pal:与阵列可编程,或阵列固定,可组态(反馈)

gal:与阵列可编程,或阵列固定,可组态,含存储器

符号:黑点是固定连接,星花是可编程,无标记是固定断开

(3)cpld与fpga

CPLD集成度相对小一点,多用于2万门规模以下的设计,适合实现较复杂的组合逻辑,如编、译码设计

FPGA,集成度较高,内部触发器多,多用于1万门以上的大规模系统设计,适合做复杂的时序逻辑设计

把基于乘积项技术、E2PROM(或Flash MEM)存储工艺的可编程逻辑器件叫CPLD

把基于查找表技术、SRAM存储工艺的可编程逻辑器件叫FPGA

(4)CPLD结构:逻辑块(LB)或称逻辑阵列块(LAB)(但是LAB是由LE组成的),可编程内连线(PI),可编程I/O控制块(I/O B)

CPLD的逻辑宏单元主要包括与或阵列、触发器和多路选择器等电路,能独立地配置为组合或时序工作方式。

CPLD的逻辑宏单元(也可称为逻辑单元LE)与GAL的OLMC结构非常类似。

GAL器件一般分配给每个宏单元的乘积项的数量是固定的,一般为8、10、12、14、16个。

CPLD的宏单元有固定的乘积项(如MAX系列为4个),同时允许一组扩展乘积项可单独地分配给一个宏单元或多个宏单元使用,扩展乘积项比固定乘积项延时要长。

乘积项共享:并联扩展乘积项,共享扩展乘积项。

每个逻辑宏单元内含有两个或两个以上的触发器。(GAL的OLMC只有1个触发器。)通过对输出触发器编程,

可实现4种不同类型触发器结构:D、T、J-K和R-S触发器。

可编程内连线PI:在各个逻辑宏单元之间以及逻辑宏单元与I/O单元之间提供可编程的信号连接网络。

可编程的I/O控制块:主要由触发器和缓冲器组成。每个IOB控制一个外部引脚,可将其编程为输入、输出或双向I/O功能,或集电极开路、三态门等。

(5)fpga

FPGA都采用查找表(Look-Up-Table,LUT)来实现逻辑函数。FPGA的编程配置元件都是SRAM。(重要:FPGA的LAB一般由一个4输入LUT加Carry Logic加Reg组成。)

与CPLD相比,FPGA具有更高的集成度、更强的逻辑功能和更大的灵活性。

结构:可编程逻辑块(CLB),可编程输入输出块(IOB),可编程连线资源(PIR)

每个CLB中包含1个或2个逻辑单元(LE)。

LE主要由一个组合逻辑函数发生器、几个触发器、若干个多路选选择器及控制电路组成。

查找表(LUT)就是一个有N根,一般是4根地址线的16x1的RAM存储器。

当用户通过原理图或HDL语言描述了一个4输入的逻辑电路后,EDA软件就会按设计要求自动计算逻辑电路的所有可能的结果,并把该结果事先写入这个RAM存储器。这样,当输入变量作为RAM的地址信号输入时,预期的结果(输出逻辑函数)就作为RAM的存储数据输出了。(查找表存储组合逻辑值)

一个LUT无法完成的N>4的多输入电路,就需要通过进位和级联的方法将多个LUT单元相连,

这样FPGA就可以实现复杂的逻辑。

特点:结构灵活,内部的CLB、IOB和PI均可编程。

(6)FPGA与CPLD的区别

通常FPGA采用SRAM进行功能配置,可以重复编程,但系统掉电后,SRAM中的数据丢失。

因此,需在FPGA外加EPROM,将配置数据写入其中,系统每次上电自动将数据引入SRAM中。

而一般CPLD器件采用EEPROM存储技术,可重复编程,且系统掉电后,EEPROM中的数据不会丢失,适于数据的保密。

FPGA器件由于含有丰富的触发器资源,容易实现时序逻辑,若要求实现比较复杂的组合电路则需要几个CLB结合起来实现。

CPLD的与或阵列结构,使它更适合于实现大规模的组合逻辑功能,而它的触发器资源相对比较少。

FPGA多为细粒度结构。FPGA内部有丰富连线资源,CLB分块比较小,芯片利用率比较高。

CPLD多为粗粒度结构。CPLD宏单元的与或阵列较大,通常不能完全被应用,而且宏单元之间主要通过高速数据通道连接,

容量有限,限制了器件的灵活布线,因此CPLD利用率比FPGA低。

(7)标准的边界扫描测试只需要五根信号线,能够对电路板上所有支持边界扫描的芯片内部逻辑和边界管脚进行测试。

应用边界扫描技术能够增强芯片、电路板甚至系统的可测试性。

TDI--测试数据输入

TDO--测试数据输出

TMS--测试模式选择

TCK--测试时钟输入

TRST--测试复位输入(可以不需要)添加=======

异步清0的描述方法:

process(rst,clk)

begin

if rst=’1’ then

count<=(others=>’0’);

elsif clk’event and clk=’1’ then

count<=count+1;

end if;

end process;

同步清0的描述方法:

process

begin

wait until clk’event and clk=’1’;

if rst=’1’ then

count<=(others=>’0’);

else

count<=count+1;
CPLD和FPGA基础概念和区别 cpld与fpga的区别

end if;

end process;

  

爱华网本文地址 » http://www.aihuau.com/a/25101011/83110.html

更多阅读

世界观人生观价值观的区别和联系 人生观与世界观的关系

世界观、人生观和价值观世界观(亦称“宇宙观”),通常是指人们对整个世界(即对自然界、社会和人的思维)的根本看法。世界观不同,表现为人们在认识和改造世界时的立场、观点和方法的不同。一个人世界观、人生观的改变是一种根本的改变。

打工与创业的区别 打工与创业的经典区别(2)

21.打工时候电话费总是要省了又省,最好的是公司的电话无偿使用,出门在外,给老板电话,也是响了一下马上挂了,创业的时候电话总是咬咬牙要拨打,即使长途电话,只要是自己的合作方和客户,总是要等对方挂线,哪怕心上很疼也得承受;     22.打工

经销商和代理商区别 创业代理商与经销商的区别

经销一般是指经销商与生产厂家或供货商达成协议,在规定的期限和地域内购销指定的商品。在经销情形,供货商和经销商之间是一种买卖关系。从法律关系上讲,供货商和经销商之间是本人对本人的关系,经销商是以自己的名义购进货物,在规定的区

咨询与培训的区别 培训和咨询的联系与区别

——旧文摘录说明:最近有家企业让我给他们做二天内训,然后就培训内技术方法如何落地的跟踪发生了一点分歧。我已经破天荒地承诺课后可以长期跟踪服务——电子邮件、在线交流、电话沟通,但如果需要到企业实地考察指导的问题,免费三个工

声明:《CPLD和FPGA基础概念和区别 cpld与fpga的区别》为网友森系女孩分享!如侵犯到您的合法权益请联系我们删除