复杂可编程逻辑器件(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. HDU 5178 pairs —— 思维 + 二分

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5178 pairs Time Limit: 2000/1000 MS (Java/Others)     ...

  2. FZU1686 神龙的难题 —— Dancing Links 可重复覆盖

    题目链接:https://vjudge.net/problem/FZU-1686 Problem 1686 神龙的难题 Accept: 812    Submit: 2394 Time Limit: ...

  3. POJ - 2417 Discrete Logging(Baby-Step Giant-Step)

    d. 式子B^L=N(mod P),给出B.N.P,求最小的L. s.下面解法是设的im-j,而不是im+j. 设im+j的话,貌似要求逆元什么鬼 c. /* POJ 2417,3243 baby s ...

  4. poj 2406 Power Strings(kmp求一个串的重复子串)

    题意:重复子串次数 思路:kmp #include<iostream> #include<stdio.h> #include<string.h> using nam ...

  5. Apostrophe not preceded by \

    编辑strings.xml的时候, <string name="start">Let's get started!</string> 报错说:“Apostr ...

  6. margin---bug

    常见的浏览器下margin出现的bug IE6中双边距Bug:发生场合:当给父元素内第一个浮动元素设置margin-left(元素float:left)或margin-right(元素float:ri ...

  7. 在 Ubuntu 系统中有三种设置环境变量 PATH 的方法。(ZT) repost

    来源地址: http://blog.csdn.net/jernymy/article/details/6547671 第一种适用于为单一用户设置PATH.第二种是为全局设置 PATH.第三种方法适合于 ...

  8. JAVA基础--JAVA API常见对象(字符串&缓冲区)11

    一. String 类型 1. String类引入 第二天学习过Java中的常量:   常量的分类:   数值型常量:整数,小数(浮点数) 字符型常量:使用单引号引用的数据 字符串常量:使用双引号引用 ...

  9. angular源码剖析之Provider系列--QProvider

    QProvider 简介 源码里是这么描述的: A service that helps you run functions asynchronously, and use their return ...

  10. hdoj5818【模拟】

    2016 Multi-University Training Contest 7 1010 思路: 我相信T的绝对是直接根据题目意思来了. 正确的一点小转变,比较一下那个队列小,然后把小的给大的,每次 ...