现在的位置: 首页CPLD介绍及应用正文

CPLD基本结构

复杂的可编程逻辑器件CPLD规模大,结构复杂,属于大规模集成电路范围。 CPLD有五个主要部分:逻辑阵列块、宏单元、扩展乘积项、可编程连线阵列和I/O控制块。

1.逻辑阵列块(LAB)
一个逻辑阵列块由16个宏单元的阵列组成,多个LAB通过可编程阵列(PIA)和全局总线连接在一起。如下图全局总线从所有的专用输入、I/O引脚和宏单元馈入信号。对于每个LAB有下列输入信号。

  • 来自作为通用逻辑输入的PIA的36个信号
  • 全局控制信号,用于寄存器辅助功能
  • 从I/O引脚到寄存器的直接输入通道

2.宏单元

MAX7000系列中的宏单元由3个功能块组成:逻辑阵列、乘积项选择矩阵和可编程寄存器。各部分可以被独自配置为时序逻辑和组合逻辑工作方式。其中逻辑阵列实现组合逻辑,可以为每个宏单元提供5个乘积项。乘积项选择矩阵分配这些乘积项作为到“或门”和“异或门”的主要逻辑输入,以实现组合逻辑函数,或者把这些乘积项作为宏单元中寄存器的辅助输入:如清零、置位、时钟和时钟使能控制。

每个宏单元中的触发器可以单独地编程为具有可编程时钟控制的D、T、JK或RS触发器的工作方式。触发器的时钟、清零输入可以通过编程选择使用专用的全局清零和全局时钟,或使用内部逻辑(乘积项逻辑阵列)产生的时钟和清零。触发器也支持异步清零和异步置位功能,乘积项选择矩阵分配乘积项来控制这些操作。如果不需要触发器,也可以将此触发器旁路,信号直接输给PIA或输出到I/O引脚,以实现组合逻辑工作方式。

3.扩展乘积项

每个宏单元的一个乘积项可以反相回送到逻辑阵列。这个“可共享”的乘积项能够连到同一个LAB中的任何其它乘积项上。尽管大多数逻辑函数能够用每个宏单元中的5个乘积项实现,但在某些复杂的逻辑函数中需要附加乘积项。为提供所需的逻辑资源,可以利用另一个宏单元,MAX70000结构也允许利用共享和并联扩展乘积项,这两种扩展项可作为附加的乘积项直接送到本LAB的任意宏单元中。利用扩展项可保证在实现逻辑综合时,用尽可能少的逻辑资源实现尽可能快的工作速度。

4.可编程连线阵列PIA

通过可编程连线阵列可将各LAB相互连接构成所需的逻辑。这个全局总线是可编程的通道,它能把器件中任何信号源连到其目的地。所有MAX7000系列器件的专用输入、I/O引脚和宏单元输出均馈送到PIA,PIA可把这些信号送到整个器件内的各个地方。只有每个LAB所需的信号才真正给它布置从PIA到该LAB的连线,下图是PIA信号布线到LAB的方式。

5.I/O控制块

I/O控制块允许每个I/O引脚单独地配置成输入/输出和双向工作方式。所有I/O引脚都有一个三态缓冲器,它能由全局输出使能信号中的一个控制,或者把使能端直接连接到地(GND)或电源(VCC)上。MAX7000系列器件的I/O控制框图如图5.6所示。MAX7000器件有6个全局输出使能信号,它们可以由以下信号驱动:两个输出使能信号、一个I/O引脚的集合、一个I/O宏单元的集合,或者是它“反相”后的信号。

当三态缓冲器的控制端接地(GND)时,其输出为高阻态,而且I/O引脚可作为专用输入引脚。当三态缓冲器的控制端接电源(VCC)时,输出使能有效。

MAX7000结构提供了双I/O反馈,且宏单元和引脚的反馈是相互独立的。当I/O引脚配置成输入时,有关的宏单元可以用于隐含逻辑。

在线咨询