首页 > 编程知识 正文

可编程逻辑器件的结构,什么是可编程逻辑器件

时间:2023-05-03 20:25:19 阅读:107603 作者:2595

3358 www.Sina.com/(http://www.Sina.com /,applicationspecificintegratedcircuit ) )是为特定用途而设计的集成电路。 使用量少时,成本高,设计和制造周期长。 (全定制)

3358 www.Sina.com/(http://www.Sina.com /,可编程逻辑器件):PLD作为通用集成电路被生成,他的逻辑功能是用户对设备进行编程一般PLD集成度高,能够满足设计一般数字系统的需要。 由此,设计者可以自己编程,将一个数字系统“集成”在一个PLD上,制作“片上系统”(专用集成电路,Systemon Chip )

目前生产和使用的PLD产品主要有ASIC等几种类型。 其中,PLA、PAL和GAL称为低密度PLD (一般为千门以下),EPLD、CPLD和FPGA称为高密度PLD。 (半定序)

PLD中最先使用的编程单元是保险丝或反保险丝,采用保险丝工艺的器件无法改写。 后来改为CMOS工艺,编程单元也变成了堆叠栅极MOS管。

PLD编程的开发系统主要由硬件和软件两部分组成。

可编程逻辑器件

PLD的第一个产品是PLA,出现于20世纪70年代后期。 PLA编程后的基本电路结构如下。

其中OE'=0。 在这种情况下:

Y3=ABCD A'B'C'D '

Y2=AC BD

Y1=A B

Y0=C D

在此介绍PLD中门电路的惯用法。

以上为组合逻辑型PLA,不含触发器,仅可用于组合逻辑电路的设计。 此外,还有用于设计包括触发器的定时逻辑电路的定时逻辑型PLA。 如下所示。

总结PLA :虽然PLA今天已经很少使用,但后来出现的PLD器件的基本原理都来源于PLA,是PLA不断发展和演变的产物。 另外,PLA作为电路结构形式,也可以应用于集成电路内部的结构设计。

PLD

PAL设备由可编程逻辑阵列、固定或逻辑阵列和输出电路三部分组成。 在未编程之前,与逻辑阵列的所有交叉点都连接有保险丝。 编程时保留有用的保险丝,熔断不需要的保险丝,即可得到所需的电路。 PAL编程后的基本电路结构如下。

这里:

SoC

可编程逻辑阵列(PLA,Programmable Logic Array)、可编程阵列逻辑(PAL,Programmable Array Logic)和通用阵列逻辑(GAL,Generic Array Logic)、可擦除的可编程逻辑器件(EPLD,Erasable ProgrammableLogic Device)、复杂的可编程逻辑器件(CPLD,Complex Programmable Logic Device)和现场可编程门阵列(FPGA,Field Programmable Gate Array)GAL由电可擦除CMOS(e2CMOS )工艺制造,可以通过电压信号擦除并重新编程。 (上述两种无法改写。 以下4种均可擦除可改写)

GAL的基本结构仍然是and-or阵列,不同点在于在输出侧新追加了可编程的输出逻辑宏单元OLMC(outputlogicmacrocell ),通过编程可以将olmc设定为不同的工作状态

一、PLA 

二、PALEPLD是从GAL演化而来的。 EPLD采用CMOS (低功耗、高噪声容限)和UVEPROM )可靠、可重写、集成度高、成本低廉的工艺制作。

三、GAL

  CPLD是从EPLD演化而来的。 CPLD多采用E2CMOS工艺制作。

四、EPLD

 FPGA独具匠心,采用CMOS - SRAM工艺制作。 (其集成度达到百万门级) ) ) ) )。

FPGA由3种可编程单元和存储程序数据的静态存储器构成。 这三种可能

编程单元分别是输入/输出模块(IOB,Input Output Block)、可编程逻辑模块(CLB,Configurable Logic Block)和互连资源(IR,Interconnect Resource)。而它们的工作状态全部都由编程数据存储器中的数据(比特流)设定。FPGA 基本电路结构框图如下所示:

接下来,分别介绍一下:

1、IOB

  每个 IOB 由输出三态缓冲器 G1、触发器、输入缓冲器 G2 和两个数据选择器 MUX1 和 MUX2 组成,而数据选择器的输入地址代码都存放在 FPGA 内部的编程数据存储器中(所以地址输入端不显示)。IOB 的电路如下所示:

2、CLB

  每个 CLB 由组合逻辑电路、存储电路和一些数据选择器组成的内部控制电路组成。CLB 的电路如下所示:

3、IR

  为了能将 FPGA 中数目很大的 CLB 和 IOB 连结成各种复杂的数字系统,在布线区内布置了丰富的连线资源 IR。这些连线资源可以分为金属线(Metal)、开关矩阵(SM,Switching Matrices)和可编程连接点(PIP,Programmable Interconnect Points)三类。IR 的布局状况如下所示:

  布线区里的金属线分为水平通用连线、垂直通用连线、水平长线、垂直长线、全局连线和直接连线等几种。这些金属线经可编程的连接点与 CLB、IOB 和开关矩阵相连。其中的通用连线主要用于 CLB 之间的连接,长线主要用于长距离或多分支信号的传送,全局连线则用于输送一些公共信号(如公用的 RESET' 信号),直接连线主要是用于减少传输延迟时间和简化编程而不经过开关矩阵和通用连线而直接对信号接收端的开关点编程。

  开关矩阵的作用如同一个可以实现多根导线转接的接线盒,通过对开关矩阵编程,可以将来自任何方向上的一根导线转接至其他方向的某一根导线上。开关矩阵在不同编程情况下的连接状态、开关矩阵和可编程连接点的布局状况如下所示:

  除了 FPGA 以外的 PLD 器件,基本上都采用了与 - 或逻辑阵列加上输出逻辑单元的结构形式。而 FPGA 则采用了完全不同的电路结构形式,它由若干独立的可编程逻辑模块组成,每个逻辑单元都是可编程的,用户可以通过编程将这些模块连接成所需要的数字系统。

  FPGA 的这种 CLB 阵列结构形式克服了 PAL 等 PLD 中那种固定的与-或逻辑阵列结构的局限性,在组成一些复杂的、特殊的数字系统时显得更加灵活。同时,由于加大了可编程 I/O 端的数目,也使得各引脚信号的安排更加方便和合理。

  不过 FPGA 本身也存在着一些明显的缺点。首先,它的信号传输延迟时间不是确定的。在构成复杂的数字系统时一般总要将若干个 CLB 组合起来才能实现。而由于每个信号的传输途径各异,所以传输延迟时间也就不可能相等(CPLD 的传输延时时间是确定的)。这不仅会给设计工作带来麻烦,而且也限制了器件的工作速度。在 CPLD 中就不存在这个问题。

  其次,由于 FPGA 中的编程数据存储器是一个静态随机存储器结构,所以断电后数据便随之丢失。因此,每次开始工作时都要重新装载编程数据,并需要配备保存编程数据的 EPROM。这些都给使用带来一些不便。

  此外,FPGA 的编程数据一般是存放在 EPROM 中的,而且要读出并送到 FPGA 的 SRAM 中,因而不便于保密。而 CPLD 中设有加密编程单元,加密后可以防止编程数据被读出。

  可见,FPGA 和 CPLD 各有不能取代的优点,这也正是两种器件目前都得到广泛应用的原因所在。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。