复杂可编程逻辑器件CPLD的基本结构

文章出处:czhlcai 发布时间: 2008/12/08 | 6911 次阅读

 

  1.基于乘积项的CPLD结构

  CPLD的结构是基于乘积项(Product-Term)的,现在以Xilinx公司的XC9500XL系列芯片为例介绍CPLD的 基本结构,如图1所示,其他型号CPLD的结构与此非常类似。

  CPLD可分为3部分:功能模块(Function Block)、快速互连矩阵(FastCONNECT Ⅱ SwitchMatrix)和I/O控制模块。每个功能模块包括可编程与阵列、乘积项分配器和18个宏单元,功能模块的结 构如图2所示。快速互连矩阵负责信号传递,连接所有的功能模块。I/O控制模块负责输人输出的电气特性 控制,比如可以设定集电极开路输出、三态输出等。图1中的I/O/GCK,I/O/GSR,1/0/GTS是全局时钟、全 局复位和全局输出使能信号,这几个信号有专用连线与CPLD中每个功能模块相连,信号到每个功能模块的 延时相同并且延时最短。


图1 基于乘积项的CPLD内部结构


图2 功能模块的结构

  宏单元是CPLD的基本结构,由它来实现基本的逻辑功能。图3所示为宏单元的基本结构。图3中左侧是乘 积项阵列,实际就是一个与或阵列,每一个交叉`点都是可编程的,如果导通就实现“与”逻辑,与后面的乘积项分配器一起完成组合逻辑。图3右侧是一个可编程的触发器,可配置为D触发器或T触发器,它的时钟、清零输入都可以编程选择,可以使用专用的全局清零和全局时钟,也可以使用内部逻辑(乘积项阵列)产生的时钟和清零。如果不需要触发器,也可以将此触发器旁路,信号直接输出给互连矩阵或输出到I/0脚。


图3 CPLD的宏单元结构

  2.CPLD逻辑实现原理

  下面以一个简单的电路为例,具体说明CPLD是如何利用以上结构实现逻辑的,电路如图4所示。

  假设组合逻辑的输出为f,则f=(A十B)* C *(!D)=A * C*!D+B*C *!D(以!D表示D的“非”),CPLD将以图5的方式来实现组合逻辑f。

  A,B,C,D由PLD芯片的引脚输人后进入互连矩阵,在内部会产生A,A,B,B,C,C,D,D 8个输出。图5中每一个叉表示相连(可编程熔丝导通),所以得到:f=fl+12=(A* C *!D)+(B*C*!D),这样就实现了组合逻辑。图4中,D触发器的实现比较简单,直接利

             
 图4 简单逻辑电路                                                                                                               图5 CPLD的逻辑实现

  用宏单元中的可编程D触发器来实现。时钟信号CLK由I/O脚输入后进人芯片内部的全局时钟专用通道,直接连接到可编程触发器的时钟端。可编程触发器的输出与I/O脚相连,把结果输出到芯片引脚。这样CPLD就完成了图4所示电路的功能。以上这些步骤都是由软件自动完成的,不需要人为干预。

  图4的电路是一个很简单的例子,只需要一个宏单元就可以完成。但对于一个复杂的电路,一个宏单元是不可能实现的,这时就需要通过并联扩展项和共享扩展项将多个宏单元相连,宏单元的输出也可以连接到互连矩阵,再作为另一个宏单元的输入。这样CPLD就可以实现更复杂的逻辑。

  这种基于乘积项的CPLD基本都是由E2PROM和Flashェ艺制造的,一上电就可以工作,无须其他芯片配合。

  欢迎转载,信息来源维库电子市场网(www.dzsc.com

转载自:http://www.dzsc.com/data/html/2008-12-8/74636.html

复杂可编程逻辑器件CPLD的基本结构的更多相关文章

  1. 自己动手写处理器之第二阶段(1)——可编程逻辑器件与PLD电路设计流程

    将陆续上传本人写的新书<自己动手写处理器>(尚未出版),今天是第五篇,我尽量每周四篇         通过上一章的介绍,读者应该知道CPU内部有一些主要的电路,比方:译码电路.运算电路.控 ...

  2. FPGA学习之基本结构

    如何学习FPGA中提到第一步:学习.了解FPGA结构,FPGA到底是什么东西,芯片里面有什么,不要开始就拿个开发板照着别人的东西去编程.既然要开始学习FPGA,那么就应该从其基本结构开始.以下内容是我 ...

  3. CPLD和FPGA的区别(转)

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

  4. cpld fpga 区别

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

  5. FPGA与CPLD的概念及其区别

    一.FPGA与CPLD的基本概念 1.CPLD CPLD主要是由可编程逻辑宏单元(LMC,Logic Macro Cell)围绕中心的可编程互连矩阵单元组成,其中LMC逻辑结构较复杂,并具有复杂的I/ ...

  6. 转载论文关于fir滤波器的fpga实现

    摘 要 本文讨论的FIR滤波器因其具有严格的线性相位特性而得到广泛的应用.在工程实践中,往往要求信号处理具有实时性和灵活性,本论文研究FIR的FPGA解决方案正体现了电子系统的微型化和单片化. 本论文 ...

  7. IC 小常识

    IC产品的命名规则: 大部分IC产品型号的开头字母,也就是通常所说的前缀都是为生产厂家的前两个或前三个字母,比如:MAXIM公司的以MAX为前缀,AD公司的以AD为前缀,ATMEL公司的以AT为前缀, ...

  8. FPGA各大厂商,不可不知

    引言: FPGA市场前景诱人,但是门槛之高在芯片行业里无出其右.全球有60多家公司先后斥资数十亿美元,前赴后继地尝试登顶FPGA高地,其中不乏英特尔.IBM.德州仪器.摩托罗拉.飞利浦.东芝.三星这样 ...

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

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

随机推荐

  1. 6.6(java学习笔记)文件分割(IO综合例子)

    基本思路: 文件分割:将一个文件分割成若干个独立的文件.    设置分割后小文件文件的字节数,然后读取被分割文件, 将对应的字节数写入分割后的小文件中.     使用seek定位下一次读取位置. 文件 ...

  2. Http报头Accept与Content-Type的区别(转)

    1.Accept属于请求头, Content-Type属于实体头. Http报头分为通用报头,请求报头,响应报头和实体报头. 请求方的http报头结构:通用报头|请求报头|实体报头 响应方的http报 ...

  3. JQuery给动态HTML绑定事件

    说明:涉及到事件委托原理,这里不深究了. 直接使用live或者delegate去实现.网上说on也可以,没测试过. 注意:live在新版的JQuery已经取消.on在比较新的版本才支持. 参考: ht ...

  4. Easyui treegrid 无法显示树形结构解决办法

    easyui treegrid 中检查了数据结构没有问题的,但就是不展示树形结构, 检查发现原来是 var columnsAll = [ { title: '任务ID', field: 'TaskID ...

  5. 地图投影与ArcGIS坐标系转换

    1. 通常GIS项目涉及到的坐标系 (1)面向局部区域的大比例尺二维平面:高斯投影(横轴墨卡托) 说明:在市一级的小范围区域的GIS系统,比如规划局.国土局.建设局的系统,大都使用高斯投影,以便与地方 ...

  6. 【spring】spring boot中使用@EnableTransactionManagement 以后,spring mvc接收前台ajax的post方法传过来的参数,使用@RequestBody接收不到参数

    在启动类上添加了注解: @EnableTransactionManagement, postMan测试接口,以这种方式传递参数: 测试结果: 接收不到参数 问题解决: 原因:是因为 这个项目中的Con ...

  7. 【java】子类可以通过调用父类的public方法调用父类的private方法,为什么?

    代码1: 打印结果: 代码2: 运行结果: 问题: 代码1中super是父类自己调用自己的add()方法,并在add()方法中调用了私有的del()方法,那为什么打印出来的this是子类? 代码2中t ...

  8. 直接拿来用!最火的iOS开源项目(二)

    每一次的改变总意味着新的开始.”这句话用在iOS上可谓是再合适不过的了.GitHub上的iOS开源项目数不胜数,iOS每一次的改变,总会引发iOS开源项目的演变,从iOS 1.x到如今的iOS 7,有 ...

  9. iOS -- 解决iOS11中navigationBar上使用initWithCustomView按钮图片错位 frame无效

    在iOS11上当使用如下代码设置时 UIButton *shareButton = [UIButton buttonWithType:(UIButtonTypeCustom)]; shareButto ...

  10. Microsoft office(1)分页符和分节符

    Microsoft office下的页面布局中的分页符和分节符的区别: 分页符:标记一页的终止并开始下一页的点 分节符:插入分节符并在下一页开始新节 一般情况下,分节符在分页符外围,分节符一般是各种格 ...