返回该小组首页 回复主题
liangxiaoyan

liangxiaoyan

小组等级:     E币:161  (E币换礼)

#1楼主:可编程逻辑器件

文章发表于:2007-08-29 04:20

6.4 可编程逻辑器件概述

6.4.1 PLD 的发展

可编程逻辑器件 PLD 出现于 20 世纪 70 年代,是一种半定制逻辑器件,它为用户最终把自己所设计的逻辑电路直接写入到芯片上提供了物质基础。

使用这类器件可及时方便地研制出各种所需的逻辑电路,并可重复擦写多次,因而它的应用越来越受到重视,上节存储器中介绍的 PROM 、 EPROM 、 皆属于可编程逻辑器件。

可编程逻辑器件大致经历了从 PROM 、 PLA 、 PAL 、 GAL 、 EPLD 、 FPGA 、 CPLD 的发展过程,在结构、工艺、集成度、功能、速度和灵活性方面都有很大的改进和提高。

可编程逻辑器件大至的演变过程如下:

1 . 70 年代,熔丝编程的 PROM 和可编程逻辑阵列 PLA ( Programmable Logic Array )器件是最早的可编程逻辑器件。

2 . 70 年代末, AMD 公司开始推出可编程阵列逻辑 PAL ( Programmable Array Logic )器件。

3 . 80 年代初, Lattice 公司发明可电擦写的,比 PAL 使用更灵活的通用阵列逻辑 GAL ( Generic Array Logic )器件。

4 . 80 年代中期, Xilinx 公司提出现场可编程概念,同时生产了世界上第一片现场可编程门阵列 FPGA ( Field Programmable Gare Array )器件,同一时期, Altera 公司推出 EPLD(Erasable Programmble Logic Device) 器件,较 GAL 器件有更高的集成度,可以用紫外线或电擦除。

5 . 80 年代末, Lattice 公司又提出了在系统可编程技术 isp ( in Sytem Programmable ),并且推出了一系列具备在系统可编程能力的器件 CPLD (复杂可编程逻辑器件)。

进入 90 年代,可编程逻辑集成电路技术进入飞速发展时期。器件和软件几乎每两三年更新一次。这些 PLD 器件按着集成度分为低密度可编程逻辑器件( LDPLD )和高密度可编程逻辑器件( HDPLD )。

在此我们从各种 PLD 器件中选取具有代表性的 Lattice 公司的 GAL 器件和属于 CPLD 的 ispLSI 器件的电路结构和编程软件,以及 Altera 公司的 FPGA 加以简要的介绍。由此可以了解可编程器件及其编程语言的基本概况,为进一步掌握可编程器件及其编程语言打下必要的基础。

6.4.2 PLD 的分类和特点

通常按集成度将 PROM 、 PLA 、 PAL 、和 GAL 称为低密度可编程逻辑器件 (LDPLD) ,而将 EPLD 、 CPLD 、 FPGA 称为高密度可编程逻辑器件( HDPLD )。首先我们对其中四种 LDPLD 器件进行比较 , 如表 6.4 所示。

PLD 所用的单元器件数目很多,按常规绘制电路原理图非常不便,制造厂商推出了一套简化的表示方法。见图 6.11 和图 6.12 所示。

6.4.3 实现可编程的基本方法

PLD 器件内部电路虽然十分复杂,但 PLD 器件实现可编程的基本方法不外乎通过与矩阵或矩阵的编程,如表 12.4 中 PROM 或阵列可编程; PLA 与和或阵列都可编程; PAL 和 GAL 与阵列可编程;通过改变内部连接线的编程;通过数据传输方向的编程来构成功能复杂的逻辑电路

 

1. 阵列和或阵列编程方法

在 ROM 的应用中曾讲述了用 ROM 构成组合和时序逻辑电路的方法,在此介绍一种更加灵活的方法以实现电路的可编程。电路可以通过软件编程,确定与矩阵和或矩阵内部的硬件电路的连接,下面通过可变模计数器的例子来说明如何实现电路逻辑功能的可编程。

可变模计数器的逻辑方框图如图 6.13 所示。在一般的同步计数器中,通过卡诺图的设计,在触发器之间连接一些门电路,这些门电路的作用是检测触发器的现态,以确定触发器的新状态,当计数器计数到第 N - 1 个状态时,这些门电路要保证下一个时钟来到后,计数器复零。所以计数器不同的进制,这些门电路的连接是不同的。

在可变模计数器的逻辑方框图中,包括 ROM 中的与矩阵、或矩阵以及作为反馈网络的一些触发器和逻辑门。 A n-1 、 … 、 A 1A 0 是与矩阵的输入,称为地址输入,与矩阵是可编程的,而 ROM 中与矩阵是不可编程的。或矩阵与 ROM 中的或矩阵相同,是可编程的。触发器在这里作为反馈网络,将电路中触发器的状态反馈到与矩阵的内部输入,以实现对计数器模,即计数周期的编程控制。

可变模计数器编程的基本工作原理基于在可编程的与矩阵和或矩阵的基础上,设置了一个符合函数,在计数过程中,触发器的输出,即计数器的状态和与矩阵输入的地址码进行比较。当计数器的状态与地址码一致时,则给出符合信号,强迫计数器进入所希望的状态,即初始状态,随后计数器则按卡诺图确定的程序继续工作,直到最后一个状态,即由地址码确定的第 N - 1 个状态,再强迫计数器回到初始状态。所以每个触发器应当受到两个控制函数的控制,即

式中 f ——正常的由卡诺图得到的控制函数;

F —— 强迫计数器进入的希望状态;

T —— 符合函数

符合函数是一组异或函数

当符合函数 T= 1 时, F 不起作用,P=f ,计数器按正常程序计数;当 T= 0 时, F 起作用, P=F ,强迫计数器跳变到所希望的状态。当 [ Q D Q C Q B Q A ]=[ DCBA ] 时,T= 0 ;[ Q D Q C Q B Q A ] ≠ [ DCBA ] 时, T= 1 。

在大规模可编程集成电路中,为了减少连线,往往不采用 JK 触发器,而采用 D 触发器,集成起来可占用较小的芯片面积。

如采用四级触发器,可从 0000 一直计数到 1111 ,可实现二进制计数到十六进制计数,一般就以二进制的计数顺序作为 N 进制同步计数器的计数顺序,状态转换表见表 6.5 。根据表 12.5 确定计数器的驱动方程,这一过程与传统的计数器的设计步骤一样,见图 6.14 所示的卡诺图。

地址码与 N 之间的关系见表 6.6 ,地址码的状态即为计数器的最后一个状态。由 F f T 确定新的驱动方程式,新的驱动方程式为

根据求出的 T f Df Cf Bf A ,当计数器计数到 N - 1 状态时, [ Q D Q C Q B Q A ] 与 [ DCBA ] 符合, T= 0 ,则 P=F ,再来一个计数脉冲 CP ,强迫计数器进入初始状态,如果设初态为 0000 ,则 P=F= 0 ,可以使驱动方程比较简单,于是有

根据以上五个与或逻辑式,可以根据图 6.13 所示方框图的基本原理来实现,与项可以在与矩阵中编程实现,或项可以在或矩阵中编程实现。

N 进制可变模计数器的阵列图如图 6.15 所示。上方是与矩阵,它的输入是 A 、B 、C 、D 四个地址码和触发器提供的反馈信号。可通过编程构成符合信号 T 和四个触发器驱动方程式中所需要的与项。下方的或矩阵对各个与项进行相加。根据设计的结果,对矩阵进行编程,一旦编程完毕,计数器将根据地址码进行计数,不同的地址码,计数周期将不同。

2. 编程实现连线

通过电子开关实现连线的可编程,电子开关有 MOS 晶体管和传输门。图 6.16 是一个通用开关阵列,每一个接点上有 6 个电子开关,通过编程可实现任意方向的连线接通。根据需要也可以在一个方向进行编程连线。在复杂可编程逻辑器件内部的数据传输,以及单片的在系统通用阵列开关,基本上都采用这种方式来对电路的连接进行编程,以确定信号的传输去向。

3. 可编程实现数据传输

数据传输的编程一般是通过异或门或数据选择器实现的,如图 6.17 所示。图 (a) 是采用异或门的形式,以确定信号是以原变量的形式,还是反变量的形式向前传输。图 (b) 是采用 MUX 的形式,通过对选择变量 C 2C 1C 0 的编程,可控制数据快速直通、输出高电平、输出反变量、输出原变量和输出低电平等形式传输。这种方式在低密度和高密度可编程器件中都有采用。

快速回复主题--如果想加入编辑器功能,建议使用 [高级回复]

您目前还不是小组成员,请先加入

回复贴子区

用户名:    您没有注册?

密码:    忘记了密码?

内容:

  • DesignDesign
  • HTMLHTML

浏览该小组的用户还看过...

设计资源与分销

赞助商链接

所有小组精华文章