数字电路与系统设计第5章.ppt

数字电路与系统设计第5章.ppt

CPLD的这种结构是在GAL的基础上扩展、改进而成的, 尽管它的规模比GAL大得多,功能也强得多,但它的主体部分——可编程逻辑块仍然是基于乘积项(即: 与-或阵列)的结构,因而将其称为阵列扩展型HDPLD。  扩展的方法并不是简单地增大与阵列的规模,因为这样做势必导致芯片的利用率下降和电路的传输时延增加,所以CPLD采用了分区结构, 即将整个芯片划分成多个逻辑块和输入/输出块,每个逻辑块都有各自的与阵列、 逻辑宏单元、 输入和输出等,相当于一个独立的SPLD,再通过一定方式的全局性互连资源将这些SPLD和输入/输出块连接起来,构成更大规模的CPLD。 简单地讲,CPLD就是将多个SPLD集成到一块芯片上,并通过可编程连线实现它们之间的连接。  就编程工艺而言,多数的CPLD采用E2PROM编程工艺, 也有采用Flash Memory编程工艺的。  下面以Altera公司生产的MAX7000系列为例, 介绍CPLD的电路结构及其工作原理。MAX7000在Altera公司生产的CPLD中是速度最快的一个系列,包括MAX7000E、MAX7000S、 MAX7000A三种器件,集成度为600~5000个可用门、 32~256个宏单元和36~155个可用I/O引脚。 它采用CMOS制造工艺和E2PROM编程工艺, 并可以进行在系统编程。  图5-28所示为MAX7000A的电路结构,它主要由逻辑阵列块LAB(Logic Array Block)、I/O控制块和可编程互连阵列PIA(Programmable Interconnect Array)三个部分构成。 另外, MAX7000A结构中还包括4个专用输入, 它们既可以作为通用逻辑输入,也可以作为高速的全局控制信号(1个时钟信号、 1个清零信号和两个输出使能信号)。  图 5-28 MAX7000A的电路结构图 1. 逻辑阵列块LAB MAX7000A的主体是通过可编程互连阵列PIA连接在一起的、 高性能的、 灵活的逻辑阵列块。每个LAB由16个宏单元组成, 输入到每个LAB的有如下信号:  ① 来自于PIA的36个通用逻辑输入;  ② 全局控制信号(时钟信号、 清零信号);  ③ 从I/O引脚到寄存器的直接输入通道, 用于实现MAX7000A的最短建立时间。LAB的输出信号可以同时馈入PIA和I/O控制块。 2. 宏单元Macrocell MAX7000A的宏单元如图5-29所示,它包括与阵列、乘积项选择阵列以及由一个或门、 一个异或门、一个触发器和4个多路选择器构成的OLMC。 不难看出, 每一个宏单元就相当于一片GAL。 1) 与阵列、 乘积项选择矩阵 与阵列用于实现组合逻辑, 每个宏单元的与阵列可以提供5个乘积项。 乘积项选择矩阵分配这些乘积项作为“或门”或“异或门”的输入(以实现组合逻辑函数),或者作为触发器的控制信号(清零、 置位、 使能和时钟)。 图5-29 MAX7000A的宏单元 2) 扩展乘积项 尽管大多数逻辑函数可以用一个宏单元的5个乘积项来实现, 但在某些复杂的函数中需要用到更多的乘积项,这样就必须利用另外的宏单元。 虽然多个宏单元也可以通过PIA连接,但AX7000A允许利用扩展乘积项, 从而保证用尽可能少的逻辑资源实现尽可能快的工作速度。 扩展乘积项有两种: 共享扩展项和并联扩展项。  在每一个宏单元的与阵列所提供的5个乘积项中,都可以有一个乘积项经反相后反馈回与阵列,这个乘积项就被称为共享扩展项。 这样每个LAB最多可以有16个共享扩展项被本LAB的任何一个宏单元所使用。图5-30(a)表明了共享扩展项是如何馈送到多个宏单元的。  图 5-30 MX7000A的扩展乘积项 (a) 共享扩展项; 并联扩展项是指在一些宏单元中没有被使用的乘积项, 并且可以被直接馈送到相邻的宏单元的或逻辑以实现复杂的逻辑函数。 在使用并联扩展项时,或门最多允许20个乘积项直接输入, 其中5个乘积项由本宏单元提供, 另外15个乘积项是由本LAB中相邻的宏单元提供的并联扩展项。 在MAX7000A的LAB中,16个宏单元被分成两组, 每组有8个宏单元(即一组为1~8, 另一组为9~16), 从而在LAB中形成两条独立的并联扩展项借出/借入链。一个宏单元可以从与之相邻的较小编号的宏单元中借入并联扩展项,而第1、 9个宏单元只能借出并联扩展项,第8、16个宏单元只能借入并联扩展项。图

文档评论(0)

1亿VIP精品文档

相关文档