第八章 可编程逻辑器件

29
第第第 第第第第第第第 8.1 第第第第第第第第第第第第 第第第第第第第第第第第第第第第第 第第第 第第第第第第第第第第第第第第第第第第 第第第第第第 第第第第第第 :, 第第第 第第第第第第第第 第第第第第 ;;。 第第第第第第第 第第第 第第第第 第第第第第 第第第 第 :体、、。: 第第第第第第 第第第第 、。

Upload: tavi

Post on 13-Jan-2016

107 views

Category:

Documents


0 download

DESCRIPTION

第八章 可编程逻辑器件. 8.1 可编程逻辑器件的基本特点. 数字集成电路从功能上可分为 通用型、专用型 两大类。 利用通用芯片设计复杂数字电路时:线路连线多,使电路的可靠性下降;修改的工作量大;保密性差。 专用芯片的优点:体积小、功耗低、可靠性高。缺点:设计制作周期长、成本高。. PLD 的特点:是一种按通用器件来生产,但逻辑功能是由用户通过对器件编程来设定的集成电路。 一个 PLD 芯片中集成了大量的基本逻辑单元和可编程的连接元件。通过对这些连接元件的编程,就可以方便地设计出具有各种不同逻辑功能的专用集成电路。 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第八章    可编程逻辑器件

第八章 可编程逻辑器件

8.1 可编程逻辑器件的基本特点 数字集成电路从功能上可分为通用型、专

用型两大类。 利用通用芯片设计复杂数字电路时:线路

连线多,使电路的可靠性下降;修改的工作量大;保密性差。

专用芯片的优点:体积小、功耗低、可靠性高。缺点:设计制作周期长、成本高。

Page 2: 第八章    可编程逻辑器件

PLD 的特点:是一种按通用器件来生产,但逻辑功能是由用户通过对器件编程来设定的集成电路。

一个 PLD 芯片中集成了大量的基本逻辑单元和可编程的连接元件。通过对这些连接元件的编程,就可以方便地设计出具有各种不同逻辑功能的专用集成电路。

优点:成本低、设计周期短、修改方便等。

Page 3: 第八章    可编程逻辑器件

PLD

简单 PLD

PROM (可编程只读存储器, 70 年代)PLA (可编程逻辑阵列, 70 年代中)PAL (可编程阵列逻辑, 70 年代末)GAL (通用阵列逻辑, 80 年代中)

复杂 PLDCPLD

FPGA

可编程逻辑器件的分类

Page 4: 第八章    可编程逻辑器件

8.2 可编程逻辑阵列( PLA )电路结构: 一个可编程的与逻辑阵列、一个可编程的或逻辑

阵列、输入缓冲电路和输出缓冲电路。

Page 5: 第八章    可编程逻辑器件

PLD 门电路的常用画法

注意:图中两条线交叉点上的表示两条线通过编程相连;交叉点上的表示两条线之间是硬件连接的。如果交叉点上没有加注任何连接符号,则表示两条线不相连。

Page 6: 第八章    可编程逻辑器件

1 、组合逻辑型的 PLA

一个具有 3 个输入端、可以产生 4 个乘积项和 3 个输出函数的 PLA 结构图。

输出缓冲电路由一组三态输出的缓冲器组成。

BCABY

BCBAY

BABAY

NE

2

1

0

0时,

没有存储单元,用于设计组合逻辑电路

Page 7: 第八章    可编程逻辑器件

2 、时序逻辑型 PLA 电路 缓冲电路中增加了若干触发器 将这些触发器的状态反馈到可编程的与逻辑阵列上

Page 8: 第八章    可编程逻辑器件

课堂练习:题 8.2 。 解题思路:由于电路只给出 6 个与项,

因此要将 4 个输出的与的项不能超过 6 个。分析观察:将 Y2 、 Y3 变换一下。

Page 9: 第八章    可编程逻辑器件

8.3 可编程阵列逻辑( PAL ) PAL 由可编程的与阵列、固定的或阵列和输入、输出缓冲电路组成。

8.3.1 PAL 的基本结构形式

)(

)(

)(

0'

2

1

0

CDBCABY

DCDCBABAY

DCBAY

EN 时当

专用输出结构:输出端只能作为逻辑函数的输出端使用,不能另作它用。

Page 10: 第八章    可编程逻辑器件

1. 可编程输入输出结构8.3.2 PAL 的各种输出电路结构

当与逻辑阵列输出的乘积项 P 编程为 1 时,三态缓冲器 G1 处于正常工作状态, I/O 端被设置为输出端;而当 P 编程为 0 时,三态缓冲器 G1 处于高阻态,这时 I/O 端可作为输入端使用,从 I/O端输入的信号经过缓冲器 G2 加到与逻辑阵列上。这样可使器件的引脚得到充分的利用。

如: PAL16L8

Page 11: 第八章    可编程逻辑器件

2. 异或输出结构 在与或阵列的输出和三态输出缓冲器之间增加一级异或门。

当编程结果使得 X=0 时, Y 与 S 同相;

当编程结果使得 X=1 时, Y 与 S 反相。

Page 12: 第八章    可编程逻辑器件

3. 寄存器输出结构 增加了一些触发器,并将触发器的状态反馈到与逻辑阵列上,以便为时序逻辑电路提供存储电路。

Page 13: 第八章    可编程逻辑器件

PAL16R4

可以设计组合和时序逻辑电路

输出缓冲电路中含有 4个触发器,且触发器的状态全都反馈到与阵列上。

Page 14: 第八章    可编程逻辑器件

4. 可配置输出结构 输出电路由一组可编程的输出逻辑宏单元( output logic macrocell , OLMC )组成。通过对 OLMC 的编程,可以将输出电路的结构设置成不同的形式。

PAL22V10D 的 OLMC电路结构图

Page 15: 第八章    可编程逻辑器件

( a )、( c )为寄存器输出结构;

( b )、( d )为输入输出结构。

Page 16: 第八章    可编程逻辑器件

8.4 通用逻辑阵列( GAL ) GAL 的设计目标是能将其输出电路设置

成 PAL 的所有输出电路结构形式,并且能替换同样规模的各种型号 PAL 器件。

GAL 可视为 PAL 的改进形式,它将或逻辑阵列合并到了 OLMC (可编程输出逻辑宏单元)当中,并增强了 OLMC 的可编程功能,使之能够设置成 PAL 的所有输出结构形式。

GAL 的编程单元采用 E2CMOS 工艺,可重复编程;而多数 PAL 器件是采用熔丝编程工艺的,不能重复编程。

Page 17: 第八章    可编程逻辑器件

GAL16V8 的OLMC

数据选择器

Page 18: 第八章    可编程逻辑器件

8.5 复杂可编程逻辑器件( CPLD ) 由若干可编程的通用逻辑模块( generic logic

block , GLB )、可编程的输入输出模块( input/output block , IOB )和可编程的内部连线组成。

Page 19: 第八章    可编程逻辑器件

每个 GLB 中包含 8 ~ 20 个宏单元,规模较大的 CPLD 中可包含 1000 多个。

GLB 中的宏单元

GLB 类似于一个具有可配置输出结构的 PAL 电路。

Page 20: 第八章    可编程逻辑器件

CPLDCPLD中的中的 IOBIOB结构结构

由于 CPLD 中的 GLB 采用的是类似于 PAL 的与或逻辑阵列结构,所以在用这些 GLB 组成所需要的系统时灵活性比较差。而且随着 CPLD 规模的增加,内部资源的利用率也随之降低。

为了提高芯片的有效利用率并增强编程的灵活性, FPGA 采用了另外一种结构形式,即逻辑单元阵列形式。

Page 21: 第八章    可编程逻辑器件

8.6 现场可编程门阵列( FPGA )

包含若干个可编程逻辑模块( CLB )、可编程输入输出模块IOB 和一整套的可编程内部资源。

CLB 按阵列形式排列,每个 CLB 是一个独立的电路模块,可以产生简单的组合逻辑函数或时序逻辑函数。

Page 22: 第八章    可编程逻辑器件

以 Xilinx公司的 XC2064 为例1. 可编程逻辑模块 CLB

芯片中有 64个 CLB ,排列成 88 的矩阵。

Page 23: 第八章    可编程逻辑器件

2. 可编程输入输出模块 IOB

MUX2 的作用:可使信号的输入分为同步和异步两种方式。

Page 24: 第八章    可编程逻辑器件

3. 内部互连资源SM :可编程的开关矩阵

这些开关矩阵相当于转接开关,通过编程可以有选择地将它的两个引出端接通。在每个 CLB 的输入端和输出端与连线间、 IOB 的输入端与连线间、开关矩阵与连线间均设置有可编程的连接点,可以根据要求将这些连接点编程为连接状态或者断开状态。

Page 25: 第八章    可编程逻辑器件

FPGA 的编程方法与 CPLD 不同: 在对 CPLD 编程时,是采用 PROM 或 E2PROM

技术将每个编程点的编程数据( 0 或 1 )写入其中的。而在对 FPGA 编程时,编程数据是写入片内的 RAM 中的;每一个编程点的开关状态受 RAM 中对应的一位数据控制;由于 RAM 中的数据可以快速地反复写入和擦除,所以即使在工作状态下,也可以通过快速刷新 RAM 中的数据重构它的电路结构;而且重复编程的次数也几乎没有限制。

大多数情况下,并不需要在线随时刷新 RAM 中的数据。通常的做法是将编程数据事先存放在一个附加的EPROM 中,并将它的地址线、数据线、控制端与 FPGA

相连。当 FPGA 接通电源时,会首先启动内部的控制程序,自动地将 EPROM 中的数据读入 FPGA 的 RAM 中,然后再控制 FPGA 进入正常工作状态。

Page 26: 第八章    可编程逻辑器件

FPGA 的缺点:( 1 )由于所设计的系统可能由不同数目的 CLB 经过不同的

连接线路组成,所以不同信号到达同一点所经过的传输延迟时间可能不同,而且事先不能确知。其结果很可能导致竞争 -冒险现象的发生。

( 2 )由于 RAM属于易失性存储器,断电后所存数据将自动丢失,所以每次开始工作时都需要重新装入编程数据。

因 此 , 在 工 作 的 便捷和 可 靠 方面 FPGA 不 如CPLD 。

早期的 PLA 、 PAL 、 GAL 采用的是熔丝型或E2PROM 编程工艺,通常需要在专用的编程器上对 PLD

编程。而后来的 CPLD 采用了在系统可编程( ISP )技术,把编程控制电路也集成在芯片内部,只需使用电缆和插口将计算机的输出接口和 ISPLD 相连就可以了。

Page 27: 第八章    可编程逻辑器件

硬件描述语言( hardware description language , HDL )

一种专门用于描述电路逻辑功能的计算机编程语言,能对任何复杂的数字电路进行全面的逻辑功能描述。

VHDL :针对超高速数字集成电路的硬件描述语言Verilog HDL :和 C 语言有很多相似之处,它有较强的描述底层电路单元的能力。

8.7 PLD 编程及硬件描述语言 对 PLD 进行编程就是要设置其中每个可编程元件的开关状态;所有 PLD 的编程工作都是在计算机辅助下进行的。

Page 28: 第八章    可编程逻辑器件

厂商 软件系统名称 适用器件系列 输入方式

AMDLattice

synario MACHGAL 、 ispLSI 、 PLSI 等

原理图、 ABEL 、 VHDL文本等

Lattice ispEXPERT IspLSI 、 PLSI 等 原理图、 VHDL文本等

ALTERA MAX+PLUSⅡ MAX 、 FLEX 等 原 理 图 、 波 形图、 VHDL 、 AHDL 文本等XILINX FOUNDATION XC 各系列等 原理图、 VHDL文本等

ACTEL ACTEL Designer

SX 和 MX 等 原理图、 VHDL 等

AMD Microsim MACH 等 原理图等

ALTERA Quartus MAX 、 FLEX 、APEX 等

原 理 图 、 波 形图 、 VHDL 、 Verilog AHDL文本等XILINX ALLIANCE XILINX 各种

CPLD 、 FPGA 图形、 VHDL 等多种 HDL文本

Page 29: 第八章    可编程逻辑器件

可编程逻辑器件设计电路过程如下图所示

设计输入

编译综合

仿真验证

数据下载

器时 件序 功检 能查

设计人员完成

电 路 设 计