FPGA与CPLD

news/2024/5/19 16:30:50 标签: 编程, 存储, 工作, output, flex, fp

FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

CPLD(Complex Programmable Logic Device)复杂编程逻辑器件,是从PAL和GAL器件发展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路范围。是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统.

CPLD与FPGA的关系

  早在1980年代中期,FPGA已经在PLD设备中扎根。CPLD和FPGA包括了一些相对大数量的可编辑逻辑单元。CPLD逻辑门的密度在几千到几万个逻辑单元之间,而FPGA通常是在几万到几百万。

  CPLD和FPGA的主要区别是他们的系统结构。CPLD是一个有点限制性的结构。这个结构由一个或者多个可编辑的结果之和的逻辑组列和一些相对少量的锁定的寄存器。这样的结果是缺乏编辑灵活性,但是却有可以预计的延迟时间和逻辑单元对连接单元高比率的优点。而FPGA却是有很多的连接单元,这样虽然让它可以更加灵活的编辑,但是结构却复杂的多。

  CPLD和FPGA另外一个区别是大多数的FPGA含有高层次的内置模块(比如加法器和乘法器)和内置的记忆体。一个因此有关的重要区别是很多新的FPGA支持完全的或者部分的系统内重新配置。允许他们的设计随着系统升级或者动态重新配置而改变。一些FPGA可以让设备的一部分重新编辑而其他部分继续正常运行。

FPGA工作原理

FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。

FPGA与CPLD的辨别和分类

FPGA与CPLD的辨别和分类主要是根据其结构特点和工作原理。通常的分类方法是:

  将以乘积项结构方式构成逻辑行为的器件称为CPLD,如Lattice的ispLSI系列、Xilinx的XC9500系列、Altera的MAX7000S系列和Lattice(原Vantis)的Mach系列等。

  将以查表法结构方式构成逻辑行为的器件称为FPGA,如Xilinx的SPARTAN系列、Altera的FLEX10K或ACEX1K系列等。

  尽管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大,且集成度越高越明显。


http://www.niftyadmin.cn/n/1403865.html

相关文章

第几个幸运数

提交列表 排名 共 110 分 编程题 (共 110 分) 5 赛前练习 二十二 7-4 第几个幸运数 (25分) 到x星球旅行的游客都被发给一个整数,作为游客编号。 x星的国王有个怪癖,他只喜欢数字3,5和7。 国王规定,游客的编号如果只含有因子:3,5,…

小T的疑惑

7-3 小T的疑惑 (20分) 小T是一个非常无聊的人,没事就喜欢偷听别人聊天。某天他在食堂排队时听到大一的新同学们在聊天,于是他也凑了过去。听到如下谈话: 小L : 我和小Z是同学。 小Z : 我和小H是同学。 小H &#x…

DB 什么意思

dB(Decibel,分贝) 是一个纯计数单位,本意是表示两个量的比值大小,没有单位。 在工程应用中经常看到貌似不同的定义方式(仅仅是看上去不同)。对于功率,dB 10*lg(A/B)。对于电压或电流,dB 20*lg…

承压计算

X星球的高科技实验室中整齐地堆放着某批珍贵金属原料。 每块金属原料的外形、尺寸完全一致,但重量不同。 金属材料被严格地堆放成金字塔形。 7 5 87 8 8 9 2 7 2 8 1 4 9 1 8 1 8 8 4 1 7 9 6 1 4 5 4 5 6 5 5 6 9 5 6 5 5 4 7 9 3 5 5 1 7 5 7 9 7 4 7 3 3 1 4 6 …

分巧克力

儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。 小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形。 为了公平起见,小明需要从这 N 块巧克力中切出K块巧克力分给小朋友们。切出的巧克力需要满足: 形状…

windows web服务器代码移植到linux所采的坑

windows web服务器代码移植到linux所采的坑 一、导入问题 不能直接将编译后的class文件放入linux服务器中,虽说java是跨平台性好,但是windows下的class文件是不能在linux下直接运行的. 二、编译问题 1. 编码问题 在linux端编译代码时,最先遇到的就是编码问题,默认是按ACSI…

pip安装不上库

pip国内的一些镜像 阿里云 http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ 豆瓣(douban) http://pypi.douban.com/simple/ 清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/ 中国科学技术大学 http://pypi.mirrors.ustc.e…

JavaWeb客户端下载服务器内含有中文的文件时文件名显示不正常解决办法

如图所示,网页下载一个含有中文名的文件 文件名并没有正常显示 解决方法,对于不同的浏览器,默认的解码方式不一样,需要针对不同的浏览器进行解码,网上下载DownloadUtils工具类,在服务器指定下载文件名的地方,调用该类的getFileName()方法,将原始文件名修改成不同的编码,第一个…