CPLD和FPGA区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CPLD和FPGA区别相关的知识,希望对你有一定的参考价值。

参考技术A

  可编程逻辑器件主要包括FPGA和CPLD FPGA是Field Programmable Gate Array缩写 CPLD是Complex Promrammable Logic Device的缩写

  从可编程逻辑器件的发展历史上来讲 CPLD一般是指采用乘积相结构的基于EEPROM的器件 所以具有非挥发的 不需要外部配置ROM 具有保密性和有限次编程次数(根据不同的结构 从 次到 万次不等)等特点 适合用在胶合逻辑(glue logic 如DSP芯片外围的译码逻辑) IO扩展 IO电平转换 FPGA芯片配置等应用场合 如Altera的MAX 和MAX 系列芯片 Xilinx的XC 和CoolRunner/II系列芯片 Lattice的ispMACH /Z系列芯片都是CPLD器件 容量从 宏单元到 宏单元不等

  FPGA主要是指采用四输入查找表(LUT )的基于SRAM的器件 因为SRAM是挥发的 掉电丢失数据 所以FPGA需要外部配置ROM 上电的时候 从外部的ROM把FPGA的配置数据导入到FPGA芯片内部后工作 具有SRAM的FPGA采用标准的CMOS制造工艺 可以随着最新的工艺而更新还代 给用户带来了实惠 衡量FPGA容量的一个基本指标是逻辑单元(Logic cell或者Logic element) 由一个可编程得LUT 和一个可编程的DFF组成 LUT 完成组合逻辑功能

  而DFF用来实现时序功能 FPGA的容量从几千的逻辑单元到几十万的逻辑单元不等 如Altera的Cyclone/II/III和Stratix/II/III系列芯片 Xilinx Spartan / E/ A/ AN和Virtex / 系列芯片都是FPGA器件

  随着芯片技术的发展 CPLD和FPGA的概念已经模糊在一起 如Altera和Lattice公司把小容量(小于 K左右逻辑单元)非挥发的可编程器件归到CPLD里 如Altera的MAXII系列和Lattice的MACH XO系列芯片 把基于SRAM的FPGA和FLASH的储存单元做到一个芯片里面 以及跟传统的CPLD不一样了

  总之 我们可以简单的区分FPGA和CPLD CPLD 小容量(< K左右LE)的非挥发的可编程器件 其它的可编程器件都可归到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的编程采用E PROM或FASTFLASH技术 无需外部存储器芯片 使用简单 而FPGA的编程信息需存放在外部存储器上 使用方法复杂

  ⑥CPLD的速度比FPGA快 并且具有较大的时间可预测性 这是由于FPGA是门级编程 并且CLB之间采用分布式互联 而CPLD是逻辑块级编程 并且其逻辑块之间的互联是集总式的

  ⑦在编程方式上 CPLD主要是基于E PROM或FLASH存储器编程 编程次数可达 万次 优点是系统断电时编程信息也不丢失 CPLD又可分为在编程器上编程和在系统编程两类 FPGA大部分是基于SRAM编程 编程信息在系统断电时丢失 每次上电时 需从器件外部将编程数据重新写入SRAM中 其优点是可以编程任意次 可在工作中快速编程 从而实现板级和系统级的动态配置

  ⑧CPLD保密性好 FPGA保密性差

  ⑨一般情况下 CPLD的功耗要比FPGA大 且集成度越高越明显

  随着复杂可编程逻辑器件(CPLD)密度的提高 数字器件设计人员在进行大型设计时 既灵活又容易 而且产品可以很快进入市场 许多设计人员已经感受到CPLD容易使用 时序可预测和速度高等优点 然而 在过去由于受到CPLD密度的限制 他们只好转向FPGA和ASIC 现在 设计人员可以体会到密度高达数十万门的CPLD所带来的好处

  CPLD结构在一个逻辑路径上采用 至 个乘积项 因而大型复杂设计的运行速度可以预测 因此 原有设计的运行可以预测 也很可靠 而且修改设计也很容易 CPLD在本质上很灵活 时序简单 路由性能极好 用户可以改变他们的设计同时保持引脚输出不变 与FPGA相比 CPLD的I/O更多 尺寸更小

  如今 通信系统使用很多标准 必须根据客户的需要配置设备以支持不同的标准 CPLD可让设备做出相应的调整以支持多种协议 并随着标准和协议的演变而改变功能 这为系统设计人员带来很大的方便 因为在标准尚未完全成熟之前他们就可以着手进行硬件设计 然后再修改代码以满足最终标准的要求 CPLD的速度和延迟特性比纯软件方案更好 它的NRE费用低于ASIC 更灵活 产品也可以更快入市 CPLD可编程方案的优点如下

  ●逻辑和存储器资源丰富(Cypress Delta K 的RAM超过 Kb)

  ●带冗余路由资源的灵活时序模型|

  ●改变引脚输出很灵活

  ●可以装在系统上后重新编程

  ●I/O数目多

  ●具有可保证性能的集成存储器控制逻辑

  ●提供单片CPLD和可编程PHY方案

  由于有这些优点 设计建模成本低 可在设计过程的任一阶段添加设计或改变引脚输出 可以很快上市

  CPLD的结构

  CPLD是属于粗粒结构的可编程逻辑器件 它具有丰富的逻辑资源(即逻辑门与寄存器的比例高)和高度灵活的路由资源 CPLD的路由是连接在一起的 而FPGA的路由是分割开的 FPGA可能更灵活 但包括很多跳线 因此速度较CPLD慢

  CPLD以群阵列(array of clusters)的形式排列 由水平和垂直路由通道连接起来 这些路由通道把信号送到器件的引脚上或者传进来 并且把CPLD内部的逻辑群连接起来

  CPLD之所以称作粗粒 是因为 与路由数量相比 逻辑群要大得到 CPLD的逻辑群比FPGA的基本单元大得多 因此FPGA是细粒的

  CPLD的功能块

  CPLD最基本的单元是宏单元 一个宏单元包含一个寄存器(使用多达 个乘积项作为其输入)及其它有用特性

  因为每个宏单元用了 个乘积项 因此设计人员可部署大量的组合逻辑而不用增加额外的路径 这就是为何CPLD被认为是 逻辑丰富 型的宏单元以逻辑模块的形式排列(LB) 每个逻辑模块由 个宏单元组成 宏单元执行一个AND操作 然后一个OR操作以实现组合逻辑

  每个逻辑群有 个逻辑模块 所有逻辑群都连接到同一个可编程互联矩阵

  每个群还包含两个单端口逻辑群存储器模块和一个多端口通道存储器模块 前者每模块有 b存储器 后者包含 b专用通信存储器且可配置为单端口 多端口或带专用控制逻辑的FIFO

  CPLD有什么好处?

  I/O数量多 ?

  CPLD的好处之一是在给定的器件密度上可提供更多的I/O数 有时甚至高达 %

  时序模型简单

  CPLD优于其它可编程结构之处在于它具有简单且可预测的时序模型 这种简单的时序模型主要应归功于CPLD的粗粒度特性

  CPLD可在给定的时间内提供较宽的相等状态 而与路由无关 这一能力是设计成功的关键 不但可加速初始设计工作 而且可加快设计调试过程

  粗粒CPLD结构的优点

  CPLD是粗粒结构 这意味着进出器件的路径经过较少的开关 相应地延迟也小 因此 与等效的FPGA相比 CPLD可工作在更高的频率 具有更好的性能

  CPLD的另一个好处是其软件编译快 因为其易于路由的结构使得布放设计任务更加容易执行

  细粒FPGA结构的优点

  FPGA是细粒结构 这意味着每个单元间存在细粒延迟 如果将少量的逻辑紧密排列在一起 FPGA的速度相当快 然而 随着设计密度的增加 信号不得不通过许多开关 路由延迟也快速增加 从而削弱了整体性能 CPLD的粗粒结构却能很好地适应这一设计布局的改变

  灵活的输出引脚

  CPLD的粗粒结构和时序特性可预测 因此设计人员在设计流程的后期仍可以改变输出引脚 而时序仍保持不变

  为什么CPLD和FPGA需要不同的逻辑设计技巧?

  FPGA是细粒器件 其基本单元和路由结构都比CPLD的小 FPGA是 寄存器丰富 型的(即其寄存器与逻辑门的比例高) 而CPLD正好相反 它是 逻辑丰富 型的

  很多设计人员偏爱CPLD是因为它简单易用和高速的优点 CPLD更适合逻辑密集型应用 如状态机和地址解码器逻辑等 而FPGA则更适用于CPU和DSP等寄存器密集型设计

  新的CPLD封装

  CPLD有多种密度和封装类型 包括单芯片自引导方案 自引导方案在单个封装内集成了FLASH存储器和CPLD 无须外部引导单元 从而可降低设计复杂性并节省板空间 在给定的封装尺寸内 有更高的器件密度共享引脚输出 这就为设计人员提供了 放大 设计的便利 而无须更改板上的引脚输出

  CPLD的功耗

  与同样密度的FPGA相比 CPLD的待机功耗更低

  CPLD FPGA (待机电流(在Vcc 为 V时))

   K μA mA

   K μA mA

   K mA mA

  CPLD特别适合那些要求低功耗和低温度的电池供电应用 像手持设备

  许多设计人员都熟悉传统的PLD 并喜欢这种结构所固有的灵活性和易用性 CPLD为ASIC和FPGA设计人员提供了一种很好的替代方案 可让他们以更简单 方便易用的结构实现其设计 CPLD现已达到数十万门的密度 并可提供当今通信设计所需的高性能 大于 万门的设计仍需ASIC和FPGA 但对于小型设计 CPLD不失为一个高性价比的替代方案

  FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念 内部包括可配置逻辑模块CLB(Configurable Logic Block) 输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分 FPGA的基本特点主要有

   )采用FPGA设计ASIC电路 用户不需要投片生产 就能得到合用的芯片 )FPGA可做其它全定制或半定制ASIC电路的中试样片

   )FPGA内部有丰富的触发器和I/O引脚

   )FPGA是ASIC电路中设计周期最短 开发费用最低 风险最小的器件之一

   )FPGA采用高速CHMOS工艺 功耗低 可以与CMOS TTL电平兼容

  可以说 FPGA芯片是小批量系统提高系统集成度 可靠性的最佳选择之一

  目前FPGA的品种很多 有XILINX的XC系列 TI公司的TPC系列 ALTERA公司的FIEX系列等    FPGA是由存放在片内RAM中的程序来设置其工作状态的 因此 工作时需要对片内的RAM进行编程 用户可以根据不同的配置模式 采用不同的编程方式

  加电时 FPGA芯片将EPROM中数据读入片内编程RAM中 配置完成后 FPGA进入工作状态 掉电后 FPGA恢复成白片 内部逻辑关系消失 因此 FPGA能够反复使用 FPGA的编程无须专用的FPGA编程器 只须用通用的EPROM PROM编程器即可 当需要修改FPGA功能时 只需换一片EPROM即可 这样 同一片FPGA 不同的编程数据 可以产生不同的电路功能 因此 FPGA的使用非常灵活

lishixinzhi/Article/program/qrs/201311/11075

32个最热CPLD-FPGA论坛

1. OPENCORES.ORG
这里提供非常多,非常好的PLD了内核,8051内核就可以在里面找到。
进入后,选择project或者由http//www.opencores.org/browse.cgi/by_category进入。
对于想了解这个行业动态人可以看看它的投票调查。
http://www.opencores.org/polls.cgi/list
OpenCores is a loose collection of people who are interested in developing hardware, with a similar ethos to the free software movement. Currently the emphasis is on digital modules called ‘cores‘, since FPGAs have reduced the incremental cost of a core to approximately zero. Activity is centered around the opencores web site
http://www.opencores.org - 中文

2. FPGAs are fun
提供了大量的关于FPGA应用的文章,项目实际例子。强烈推荐
http://www.fpga4fun.com/ - 外文

3. Open Collector
收集了大量的开源硬件,内核.它的分类非常清晰,不多说。强烈推荐
目录结构
# Design tools and software
* Digital
o Data Entry
o Simulation
+ General
+ Spice or alternatives
+ Verilog
+ VHDL
o Verification
o Synthesis
+ ASIC
+ FPGA
+ Logic Minimization
+ PCB Design
o Educational
* Other
# Hardware designs
* Design Libraries
* Computers
* Embedded Systems
* Processors
* Interface
* Control
* Robotics
* Audio
* Video
* DSP
* Radio
* Telecoms
* Other
# Groups and Organizations
http://opencollector.org/summary.php - 外文

4. The First Stop for the Latest ICs and Components
非常好的关于微处理器,DSP,可以编程控制器资讯的网站,更新非常快。强烈推荐一些领导级别的人常去,了解行业动态!
http://www.eeproductcenter.com/ - 外文

5. FPGA和CPLD可编程逻辑器件 - 莱迪思半导体公司
http://www.latticesemi.com.cn/ - 中文

6. Altera中文主页 强烈推荐
http://www.altera.com.cn/ - 中文

7. 强烈推荐FPGA学习。
http://www.epanorama.net/links/fpga.html - 外文

8. EDA Industry Working Groups
好像是官方网站,大量的相关资料与链接.
http://www.vhdl.org/ - 外文

9. 可编程逻辑器件 - Programable Logic Device
一个专门的关于可编程逻辑器件 - Programable Logic Device ( FPGA & CPLD )的网站,里面的资料比较全。里面有几个非常好的栏目:参考设计,应用文章,设计进阶。
http://www.pld.com.cn/ - 中文

10. 可编程逻辑器件 - Programable Logic Device
一个专门的关于可编程逻辑器件 - Programable Logic Device ( FPGA & CPLD )的网站,里面的资料比较全。里面有几个非常好的栏目:参考设计,应用文章,设计进阶。这里的BBS论坛人气也比较旺
http://www.pld.com.cn/bbs/index.asp - 中文
 
11. Andraka Consulting Group Home
包含了大量的算法比如FFT,FIR以及它们的DSP与FPGA实现等等。
http://www.andraka.com/toc.htm - 中文

12. www.fpga-faq.org 
收集了大量的faq.对一些概论性的东西作了很好的解说。初学者必去。
http://www.fpga-faq.org/ - 外文

13. Via Dev-page
提供许多非常新的开发项目,而且提供详细的有关资料。
ultrasonic sensor-based radar
Simple power supply
PIC-based alarm clock
Nissan Maxima Consult Interface
Mfr. libraries for Protel
Sony IRCS remote control FPGA IP core
testing proj.
Cheap logic analyzer, PIC based
PIC-based IDE
Custom Protel libraries
Sobel edge detector FPGA IP Core - EE project
Trivial high-voltage programmer for PIC
FPGA-based MAC and PHY
FTDI USB - RS 232 converter
MP3 Server front-end for linux server, PIC based
文档下载http://via.dynalias.org/hw/
http://via.dynalias.org/ - 外文

14. Design And Reuse
The Web‘s System-On-Chip Design Resource - IP, Core, System-On-Chip
http://www.us.design-reuse.com/ - 外文

15. 硬件工程师之家(hardware Engineer
大量的电子开发资料,主要是硬件相关,计算机接口开发.推荐
http://www.****it.com/ - 中文

16. FPGAworld
大量的资料下载,推荐.需要注册
http://www.fpgaworld.com/ - 外文

17. FPGA-Guide
This WEB-page is dedicated to all PLD / FPGA-designers
to find the best solution for their project
http://www.fpga-guide.com/ - 外文

18. SOCcentral
SOCcentral brings you the latest news about SOC/ASIC/FPGA design, EDA tools and design methodologies, intellectual property (IP), and design reuse. You‘ll also find the abstracts (and links) to more than 1600 relevant magazine and newspaper articles, tutorials, whitepapers, and application notes available on line, as well as the most comprehensive directory of EDA/design service/IP providers available anywhere on the Internet.
http://www.soccentral.com/ - 外文

19. EDACafe, the Leading EDA Portal
http://www.edacafe.com/ - 外文
 
20. FPGA and Programmable Logic Journal
MCU+ALTERA注意了.
 
21. FPGA.ch [52RD.com]
有许多FPGA应用。
http://www.fpga.ch/ - 外文

22. NIOS μClinux Project
在NIOS处理器上移植uclinux,提供详细文档,电路。
http://www.enseirb.fr/~kadionik/embedded/uclinux/nios-uclinux.html - 外文

23. 中国可编程逻辑器件网 FPGA CPLD专业技术网站
提供可编程逻辑器件开发资料与开发板
http://www.81ic.com/ - 中文

24. Accellera的主页
一个收集了非常多的关于HDL标准的网站。
Accellera‘s mission is to drive worldwide development and use of standards required by systems, semiconductor and design tools companies, which enhance a language-based design automation process. Its Board of Directors guides all the operations and activities of the organization and is comprised of representatives from ASIC manufacturers, systems companies and design tool vendors.
http://www.accellera.org/activities/ - 外文

25.www.fpga4fun.com
www.fpga4fun.com网站收集的链接,非常实用。特色就是它把verilog与VHDL相关的链接作了分类汇总。
http://www.fpga4fun.com/links.html - 外文

26. FPGA CPU News
收集了大量的关于FPGA,CPU的新闻,可以了解它们的发展动态。可惜很久很久没有更新了。
http://www.fpgacpu.org/ - 中文

27. FPGA-based Logic Analyzer
利用FPGA来进行逻辑分析,有上位机器VC的源代码实现,非常优秀,它不是利用MFC实现,我下载并且编译通过,有硬件电路图,PCB图,有PC104与并口接口。但是我没有找到VHDL代码。一个非常有用的实际性工程。可以
http://www.eebit.com/ - 外文

28. FPGA开发板网
尽管是买fpga开发板的,但也有小许资料下载。看看
http://www.fpgadev.com/ - 中文

29. DA开发技术网
Altera FPGA开发板,Altera CPLD开发板,Xilinx FPGA开发板, Xilinx CPLD开发板,cyclone开发板,cyclone2开发板,Spartan2开发板,Spartan3开发板,Mars-EDA
http://www.eda.org.cn/ - 中文

30. 线路人生51fpga
http://www.51fpga.com/ - 外文

31. 思恒科技-DSP、ARM、FPGA等开发的电子综合网站
公司网站,资料还不是很多,有时间可以看看。
http://www.siheng.cn/ - 中文

32. 中国集成电路设计平台开发网
里面有些不错的关于FPGA的资料,可以看看。
http://www.fpgastation.cn/ - 中文
转载自:http://blog.csdn.net/hemmingway/article/details/51051624












































































































































以上是关于CPLD和FPGA区别的主要内容,如果未能解决你的问题,请参考以下文章

需要cpld和fpga的详细说明

什么是FPGA CPLD?

请高人解释一下集成电路设计中 可编程逻辑器件设计(PLD)和现场可编程逻辑阵列设计(FPGA)和两者的区别

lattice与altera的fpga有啥区别?譬如开发环境,配置等

FPGA工程师面试试题集锦11~20

CPLD和FPGA的编程和配置都有哪些方式