0 卖盘信息
BOM询价
您现在的位置: 首页 > 电子资讯 >技术信息 > 基于Altera MAX7000和Xilinx XC9500的PLD总体结构及逻辑实现原理

基于Altera MAX7000和Xilinx XC9500的PLD总体结构及逻辑实现原理

2018-05-11
类别:技术信息
eye 239
文章创建人 拍明


一、基于乘积项(Product-Term)的PLD结构

采用这种结构的PLD芯片有:Altera的MAX7000,MAX3000系列(EEPROM工艺),Xilinx的XC9500系列(Flash工艺)和LatTIce,Cypress的大部分产品(EEPROM工艺)

我们先看一下这种PLD的总体结构(以MAX7000为例,其他型号的结构与此都非常相似):

图1 基于乘积项的PLD内部结构.png

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

这种PLD可分为三块结构:宏单元(Marocell),可编程连线 (PIA)和I/O控制块。 宏单元是PLD的基本结构,由它来实现基本的逻辑功能。图1中兰色部分是多个宏单元的集合(因为宏单元较多,没有一一画出)。可编程连线负责信号传递,连 接所有的宏单元。I/O控制块负责输入输出的电气特性控制,比如可以设定集电极开路输出,摆率控制,三态输出等。 图1 左上的INPUT/GCLK1,

INPUT/GCLRn,INPUT/OE1,INPUT/OE2 是全局时钟,清零和输出使能信号,这几个信号有专用连线与PLD中每个宏单元相连,信号到每个宏单元的延时相同并且延时最短。

宏单元的具体结构见下图:

图2 宏单元结构.png

图2 宏单元结构

左侧是乘积项阵列,实际就是一个与或阵列,每一个交叉点都是一个可编程 熔丝,如果导通就是实现“与”逻辑。后面的乘积项选择矩阵是一个“或”阵列。两者一起完成组合逻辑。图右侧是一个可编程D触发器,它的时钟,清零输入都可 以编程选择,可以使用专用的全局清零和全局时钟,也可以使用内部逻辑(乘积项阵列)产生的时钟和清零。如果不需要触发器,也可以将此触发器旁路,信号直接 输给PIA或输出到I/O脚。

二、乘积项结构PLD的逻辑实现原理

下面我们以一个简单的电路为例,具体说明PLD是如何利用以上结构实现逻辑的,电路如下图:

乘积项结构PLD的逻辑实现原理.png

图3

假设组合逻辑的输出(AND3的输出)为f,则f=(A+B)*C*(!D)=A*C*!D + B*C*!D ( 我们以!D表示D的“非”)

PLD将以下面的方式来实现组合逻辑f:

乘积项结构PLD的逻辑实现原理.png

图4

A,B,C,D由PLD芯片的管脚输入后进入可编程连线阵列 (PIA),在内部会产生A,A反,B,B反,C,C反,D,D反8个输出。图中每一个叉表示相连(可编程熔丝导通),所以得到:f= f1 + f2 = (A*C*!D) +

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

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

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

MAX7000

MAX7000S系列器件共包含32~256个逻辑宏单元(Logic Cell,LC)。

概述

每16个逻辑宏单元组成一个逻辑阵列块(Logic Array Block,LAB)。与GAL相似,每个逻辑宏单元含有一个可编程的与阵列和固定的或阵列,以及一个可配置寄存器。每个宏单元共享扩展乘积项和高速并联扩展乘积项,它们可向每个逻辑宏单元提供多达32个乘积项,以构成负责的逻辑函数。

模块介绍

逻辑阵列块

一个LAB由16个逻辑宏单元的阵列组成。MAX7000结构主要由多个LAB组成的阵列以及它们之间的连线构成。多个LAB通过可编程连线阵(Programmable Interconnect Array,PIA)和全局总线连接在一起,全局总线从所有的专用输入、I/O引脚和宏单元馈入信号。对于每个LAB,输入信号来自三部分:

●来自作为通用逻辑输入的PIA的36个信号。

●来自全局控制信号,用于寄存器辅助功能。

●从I/O引脚到寄存器的直接输入通道。

逻辑宏单元

MAX7000系列中的逻辑宏单元由三个功能块组成:逻辑阵列、乘积项选择矩阵和可编程寄存器,它们可以被单独地配置为时序逻辑或组合逻辑工作方式。其中逻辑阵列实现组合逻辑,可以给每个逻辑宏单元提供五个乘积项。乘积项选择矩阵分配这些乘积项作为到或门和异或门的主要输入逻辑,以实现组合逻辑函数;或者把这些乘积项作为宏单元中寄存器的辅助输入:清零(Clear)、置位(Preset)、时钟(Clock)和时钟使能控制(Clock Enable)。

每个逻辑宏单元中有一个共享扩展乘积项经非门后回馈到逻辑阵列中,逻辑宏单元中还存在并行扩展乘积项,从邻近逻辑宏单元借位而来。

逻辑宏单元中的可配置寄存器可以单独地被配置为带有可编程时钟控制的D、T、JK或SR触发器工作方式,也可以将寄存器旁路掉,以实现组合逻辑工作方式。

可编程连线阵列

不同的LAB通过在可编程连线阵列(PLA)上布线,以相互连接构成所需的逻辑。这个全局总线是一种可编程的通道,可以把器件上任何信号连接到用户希望的目的地。所有MAX7000S器件的专用输入、I/O引脚和逻辑宏单元输出都连接到PIA,而PIA可把这些信号送到整个器件内的各个地方。只有每个LAB需要的信号才布置从PIA到该LAB的连线。

右图可看出PIA信号布线到LAB的方式。

由右图显示,通过EEPROM单元控制与门的一个输入端,以选择驱动LAB的PIA信号。由于MAX7000S的PIA有固定的延时,使得器件延时性能容易预测。

4、I/O控制块

I/O控制块允许每个I/O引脚单独被配置为输入、输出和双向三种工作方式。所有I/O引脚都有一个三态缓冲器,它的控制端信号来自一个多路选择器,可以选择用全局输出使能信号其中之一进行控制,或者直接连到地(GND)或电源(VCC)上 。

右图表示的是EPM7128S器件的I/O控制块,它共有六个全局输出使能信号。这六个使能信号可来自:两个输出使能信号(OE1、OE2)、I/O引脚的子集或I/O宏单元的子集,并且也可以指这些信号取反后的信号。当三态缓冲器的控制端接地时,其输出为高阻态。这是I/O引脚可作为专用输入引脚使用。当三态缓冲器控制端接电源VCC时,输出被一直使能,为普通输出引脚。MAX7000S结构提供双I/O反馈,其逻辑宏单元和I/O引脚的反馈是独立的。当I/O引脚被配置成输入引脚时,与其相连的宏单元可以作为隐埋逻辑使用。

【XC9500】

XC9500系列被广泛地应用于通信、网络和计算机等产品中。该系列器件采用快闪存储技术(FastFlash),比EECMOS工艺的速度更快,功耗更低。目前,Xilinx公司XC9500系列CPLD的tpd可达4ns,宏单元数达到288个,系统时钟可达到200MHz。XC9500器件支持PCI总线规范和JTAG边界扫描测试功能,具有在系统可编程功能能力。该系列有XC9500、XC9500XV和XC95000XL三个类型,内核电压分别为5V、2.5V和3.3V。



责任编辑:Davia

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

标签: Altera Xilinx PLD

相关资讯