复杂可编程逻辑器件(Complex Programmable Logic Device, CPLD),CPLD适合用来实现各种运算和组合逻辑(combinational logic)。一颗CPLD内等于包含了数颗的PAL(可编程阵列逻辑),各PAL(逻辑区块)间的互接连线也可以进行程序性的规划。

1984 年Altera 公司发明世界上第一款可编程逻辑器件。FPGA是1985 Xilinx公司发明的。Lattice公司发明的系统可编程(In System Program,ISP)技术极大地扩展了CPLD的应运范围。

从结构工艺讲,CPLD多为乘积项结构,具体实现上就是所谓的宏单元(Micro-cell),包含EEPROM、Flash和反熔丝等不同工艺。FPGA多为查找表(LUT)加寄存器结构,实现工艺多为SRAM,也包含Flash、Anti-Fuse等工艺。

在延时方面,CPLD的Pin to Pin 延时是固定的, FPGA的Pin to Pin 延时是不可预测的。互连结构和连线资源方面,CPLD采用集总式互连结构,相对布线资源有限,CPLD产连线式布线结构决定了它的时序延迟是均匀的和可预测的。FPGA采用分布式结构决定了其延迟的不可预测性,使时序更难规划。

目前CPLD市场主要由Altera、Xilinx、 Lattice占领。Xilinx的CoolRunner-II CPLD,Altera的MAX II,Lattice的ispMACH等都在生活中有很大的应用。

Altera的从MAX II 系列开始CPLD已经不采用传统的宏单元MC结构,而是采用查找表LUT结构,基于Flash存储器编程,系统断电时编程信息不丢失。MAX II 系列的CPLD特殊的引脚分为三类:GCLK,DEV_OE,DEV_CLRn。内部用CFM配置查找表和寄存器。除了CFM还有8192 bit的UFM,这样可以不用外接Flash。没有上电顺序要求。

对开发者而言,CPLD和FPGA区别不大,只是CPLD的资源少一些而已。总得来说,CPLD开发难度低一些,因为资源有限,不可能实现太复杂的功能。所有的资料都在官网给的技术手册中,包括Handbook,datasheet,application note等。

注:

问:Altera 的CPLD和Xilinx的CPLD的区别?

问:MAXⅡ是以LUT来做计算,请问要如何转换为传统的CPLD MICRO-CELL?

答:粗略的换算公式为:1个LE = 0.78个宏单元

参考文献:

[1] Altera CPLD的简介. http://www.hseda.com/fpga/MAX2/BANK.HTM. 2015,08,26.

[2] Complex programmable logic device. https://en.wikipedia.org/wiki/Complex_programmable_logic_device. 2015,08,26.

[3] Altera历史. https://www.altera.com.cn/about/company/technology.html. 2015,08,26.

[4] Programmable logic device. https://en.wikipedia.org/wiki/Programmable_logic_device. 2015,08,26.

[5] 百度百科. http://baike.baidu.com/link?url=Pvrhmf9R9p2NVAH3_CFe3eMCRVqcDfy3jce6wZMn0WbD1I4VOZfZpbJJSCUyglfvfQjB3znuivK2ETrNwptlgK. 2015,08,26.

CPLD的更多相关文章

  1. 关于CPLD与FPGA的对比分析

    1.PLD/FPGA/CPLD PLD(Programmable Logic Device):可编程逻辑器件,数字集成电路半成品,芯片上按照一定的排列方式集成了大量的门和触发器等基本逻辑元件,使用者按 ...

  2. Multiplexing SDIO Devices Using MAX II or CoolRunner-II CPLD

    XAPP906 Supporting Multiple SD Devices with CoolRunner-II CPLDs There has been an increasing demand ...

  3. 17.Quartus 怎么回读CPLD里面的东西

    可以使用Quartus® II Programmer的“Examine”特性回读编程目标文件(.POF)是CPLD不是FPGA 先用auto检测加没加加密位,然后执行ex,然后save,Examine ...

  4. CPLD VS FPGA

    FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL.GAL.CPLD等可编程器件的基础上进一步发展的产物.它是作为专用集成电路(ASIC)领域中的 ...

  5. FPGA/CPLD设计思想与技巧

    本文讨论的四种常用FPGA/CPLD设计思想与技巧:乒乓操作.串并转换.流水线操作.数据接口同步化,都是FPGA/CPLD逻辑设计的内在规律的体现,合理地采用这些设计思想能在FPGA/CPLD设计工作 ...

  6. xilinx cpld XC95144XL 最小系统板

    手上有几块xilinx的CPLD芯片XC95144,闲着无聊,打样的几块板子回来玩玩. 全部引脚引出,外接4个LED灯和一个Power灯,做成了50mm*50mm的板子,省钱(O(∩_∩)O). 下面 ...

  7. CPLD的发展及趋势简介

    很多板子上,都看到过有CPLD的芯片,如我见过的一个R232电平转换小板上面就用的EPM240T控制器. 当时看到很奇怪,干啥用的,后来想想,232所需的电平不就是由EPM240T提供的嘛.想明白后就 ...

  8. CPLD和FPGA的区别(转)

    原文:http://tvb2058.spaces.eepw.com.cn/articles/article/item/15358 本文重点从CPLD的结构来讲的,从而说明其与FPGA的区别 ----- ...

  9. CPLD/FPGA厂商概述 .

    随着可编程逻辑器件应用的日益广泛,许多IC制造厂家涉足PLD/FPGA领域.目前世界上有十几家生产CPLD/FPGA的公司,最大的三家是:ALTERA,XILINX,Lattice,其中ALTERA和 ...

  10. cpld fpga 区别

    cpld fpga 区别 系统的比较,与大家共享: 尽管FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA结构上的差异,具有各自的特点: ①CPLD更适合完成各种算法和 ...

随机推荐

  1. mpvue——实现点击数组内的某一元素进行置顶(排序第一)操作

    前言 其实很简单只是用了js的几个函数 substr unshift splice 完整代码 | mpvue模仿QQ 代码 思路很简单,获取当前元素下标然后通过unshift函数将该值插入到数组第一位 ...

  2. CentOS7 安装和配置Tomcat

    1.官网下载Tomcat的压缩包 https://tomcat.apache.org/download-70.cgi 2.使用Xftp5把下载的压缩包上传到 /usr/soft (soft文件夹自己新 ...

  3. html5--6-56 阶段练习5-翻转效果

    html5--6-56 阶段练习5-翻转效果 学习要点 运用所学过的知识完成一个简单的小练习,理解对动画的应用. @charset="UTF-8"; *{ ; ; } img{ w ...

  4. (转)Linux下 SVN客户端安装

    原地址:http://rtxbc.iteye.com/blog/860092 今天有现场程序连svn服务器一直有异常,于是在现场linux下安装svn client来直接测试,看问题原因: 一:安装s ...

  5. http查看工具

    View HTTP Request and Response Header Web-Sniffer Desktop App Please check our new free Web-Sniffer ...

  6. UVa11077

    dp+置换 可以把排列分成几个循环,然后dp统计 dp[i][j]=dp[i-1][j-1]*(i-1)+dp[i-1][j],表示当前有i个元素,至少换j次,然后如果不在自己应该在的位置有i-1种情 ...

  7. wcf中序列化BinaryFormatter,DataContractJsonSerializer,DataContractSerializer,SoapFormatter,XmlSerializer

    using System; using System.Runtime.Serialization; using System.Xml.Serialization; namespace Larryle. ...

  8. hdu5829 Rikka with Subset

    首先考虑本题的$O(n^2)$做法. $Part1$ 对原序列从大到小排序后,考虑每个数字对最终答案的贡献,有第x个数字对答案的贡献十分难以计算,所以考虑计算数字x是集合第K大的方案数,作为数字x对$ ...

  9. redis简介、安装、配置和数据类型

    redis简介.安装.配置和数据类型 redis简介 Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理. 它支持字符串.哈希表.列表.集合.有序集合, ...

  10. 折半插入排序 之通俗易懂,图文+代码详解-java编程

    转自http://blog.csdn.net/nzfxx/article/details/51615439 1.特点及概念介绍 下面给大家讲解一下"二分法查找"这个java基础查找 ...