51
1 第 2 第 第第第第第第第第第

第 2 章 可编程逻辑器件基础

  • Upload
    dionne

  • View
    226

  • Download
    14

Embed Size (px)

DESCRIPTION

第 2 章 可编程逻辑器件基础. 2.1 PLD 的基本结构和表示方法. 可编程逻辑器件( PLD ): P rogrammable L ogic D evice. PLD 的应用和发展简化了电路设计、降低了成本,提高了系统的可靠性和保密性,推动了 EDA 工具的发展,而且改变了数字系统的设计方法。. EDA 技术应用的一个重要基础. PLD 的基本结构有两种:与或阵列结构和查找表结构. 例: Y1 = A · B + A · C Y2 = A · B + B · C. 2.1.1 PLD 的与或阵列结构. - PowerPoint PPT Presentation

Citation preview

Page 1: 第 2 章 可编程逻辑器件基础

1

第 2 章 可编程逻辑器件基础

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

2

2.1 PLD 的基本结构和表示方法

可编程逻辑器件( PLD): Programmable Logic Device

PLD的应用和发展简化了电路设计、降低了成本,提高了系统的可靠性和保密性,推动了 EDA工具的发展,而且改变了数字系统的设计方法。

EDA技术应用的一个重要基础

PLD 的基本结构有两种:与或阵列结构和查找表结构

Page 3: 第 2 章 可编程逻辑器件基础

3

2.1.1 PLD的与或阵列结构

任何一个逻辑函数都可以用与—或逻辑式表示,亦即用一个与—或阵列来实现。

图 2.1.1 与或门电路及用阵列表示示意图

例: Y1 = A · B + A · C      Y2 = A · B + B · C

Page 4: 第 2 章 可编程逻辑器件基础

4

实际的 PLD是在上述与—或阵列的基础上配以输入和输出电路而实现的。

图 2.1.2 PLD基本结构框图

Page 5: 第 2 章 可编程逻辑器件基础

5

输入电路---输入缓冲器

图 2.1.3 PLD输入缓冲电路 主要作用:

降低对输入信号的要求,使之具有足够的驱动能力

产生原变量和反变量两个互补的信号

例: Y1 = A · B + A · C      Y2 = A · B + B · C

Page 6: 第 2 章 可编程逻辑器件基础

6

输出电路---输出缓冲器

图 2.1.4 PLD输出缓冲电路

PLD的输出方式有多种,如:由或阵列直接输出的组合方式,通过寄存器输出的时序方式。 输出可以是低电平有效,也可以是高电平有效。不管采用什么方式,在输出端口上往往做有三态电路,且有内部通路可以将输出信号反馈到与阵列输入端。

Page 7: 第 2 章 可编程逻辑器件基础

7

2.1.2 PLD与或阵列的表示方法

1. 与阵列:输入项

三输入端与门

积项线

编程点

与阵列可用省略画法表示

Page 8: 第 2 章 可编程逻辑器件基础

8

图 2.1.6  输入端全部编程连接的与门的省略画法

Page 9: 第 2 章 可编程逻辑器件基础

9

2.或阵列:其表示方法与与阵列相似

图 2.1.7 或阵列的表示方法

Page 10: 第 2 章 可编程逻辑器件基础

10

3.与—或阵列:

. . .F1 = A B + A B +A B

. .F2 = A B +A B

. .F3 = A B +A B

Page 11: 第 2 章 可编程逻辑器件基础

11

2.1.3 PLD的查找表结构

• 一个N 输入查找表 (LUT, Look Up Table)可以实现 N 个输入变量的任何组合逻辑功能,如 N 输入“与”、 N 输入“异或”等。

• 输入多于 N 个的逻辑函数、逻辑方程等必须分开用几个查找表( LUT)实现

输出查 黑找 盒表 子

输入 1

输入 2

输入 3

输入 4

1 、查找表的概念 1 、查找表的概念

Page 12: 第 2 章 可编程逻辑器件基础

12

● 使用 SRAM构成函数发生器,函数值放在 SRAM中, SRAM的地址为输入变量,输出为逻辑函数值。 M 个输入的 SRAM可以实现任意一个 M 个输入项的组合逻辑函数。

● 使用多路开关实现,其基本原理是将多路开关的数据输入端接固定电平,将其地址输入作为函数的输入,多路开关的输出为逻辑函数值。

2 、查找表的实现方法

Page 13: 第 2 章 可编程逻辑器件基础

13

0

0

0

0

0

1

0

1

0

0

0

0

0

1

0

1

输入 A 输入 B 输入 C 输入 D

查找表输出

16x1RAM

由多路开关构成的查找表原理

多路开关

Page 14: 第 2 章 可编程逻辑器件基础

14

2.2 PLD 的分类

由于历史的原因,对可编程逻辑器件的命名不很规范,一种器件往往具备其他几种器件的特征,无法严格分类

所以可编程逻辑器件有多种分类方法,没有统一的标准,下面介绍几种常见的分类法:

Page 15: 第 2 章 可编程逻辑器件基础

15

1. 按集成度分类

低密度 PLD : ROM 、 PAL 、 GAL等

高密度 PLD : EPLD CPLD 、 FPGA等

低密度可编程逻辑器件也有人称为简单可编程逻辑器件( SPLD)

一般按照 GAL22V10芯片的容量(大致在 750门左右)进行区分

历史上 GAL22V10是 LDPLD和 HDPLD的分水岭

PLD

Page 16: 第 2 章 可编程逻辑器件基础

16

PROM

可编程逻辑器件

低密度可编程逻辑器件( LDPLD)

高密度可编程逻辑器件( HDPLD)

PLA PAL GAL EPLD CPLD FPGA

PLD按集成度分类:

Page 17: 第 2 章 可编程逻辑器件基础

17

PROM: 与—或阵列结构,与阵固定,或阵可编程

价格低,易于编程,适合于程序代码、函数和数据表格 PLA:  与—或阵列结构,与阵、或阵都可编程

由于开发软件的原因,应用不广泛 PAL:  与—或阵列结构,与阵可编程,或阵固定

特点:价格低,速度高,使用方便 GAL: 与—或阵列结构 + 输出逻辑宏单元( OLMC),与阵可编程,或阵固定

特点:品种少、功能较强、使用方便灵活、可多次编程,因而是小规模应用时的理想器件

低密度 PLD( LDPLD):

Page 18: 第 2 章 可编程逻辑器件基础

18

高密度 PLD( HDPLD):EPLD:可擦除 PLD 结构:和 GAL基本相同 --大量增加了输出宏单元的数目 特点:集成密度大大提高,增加了设计的灵活性,内 部连线固定,时延很小,工作速度高 CPLD:复杂可编程逻辑器件 结构:主要包括可编程逻辑宏单元、可编程 I/O、 可编程内部连线。 特点:时延固定,工作速度高

FPGA:现场可编程门阵列。 结构:可编程逻辑块、可编程 I/O和可编程内部互连 特点:含有较多的触发器、快速的局部互连和很高 的集成度

Page 19: 第 2 章 可编程逻辑器件基础

19

2. 按结构分类{阵列型 PLD

单元型 PLD

( 1 )阵列型: “与阵列+或阵列+寄存器”的形式,如PAL、 GAL、 CPLD等。( 2 )单元型: “查找表+寄存器”的形式,如 FPGA。

Page 20: 第 2 章 可编程逻辑器件基础

20

3 、按编程工艺分类:

( 1 ) ROM: 称为掩膜编程,由半导体生产厂家对器件 进行编程; ( 2 ) PROM: 使用熔丝或反熔丝编程器件 , 一次性编程; ( 3 ) EPROM: 紫外线擦除 / 电编程,可多次编程; ( 4 ) EEPROM: 电擦除 / 电编程,可多次编程。和 EPROM

相比, 具有擦除方便和编程速度快的优点; ( 5 ) SRAM: 使用 SRAM为编程器件,可多次编程。 其中:( 1 )~( 4 )类为非易失性器件; ( 5 )为易失性器件,使用时需要配置器件。

Page 21: 第 2 章 可编程逻辑器件基础

21

General Array Logic Device

与阵列 + 输出逻辑宏单元( OLMC)

2.3 GAL器件的结构及特点

2.3.1 GAL的结构框图

Page 22: 第 2 章 可编程逻辑器件基础

22

逻辑宏单元

输入 / 输出口

输入口

时钟输入

三态控制

可编程与阵列

固定或阵列

图 2.3.4 GAL结构图

Page 23: 第 2 章 可编程逻辑器件基础

23

2.3.2 输出逻辑宏单元( OLMC)的结构与原理

Page 24: 第 2 章 可编程逻辑器件基础

24

GAL的四种输出组态

Page 25: 第 2 章 可编程逻辑器件基础

25

2.3.3 GAL的主要特点

※ 通用性好。宏单元可根据需要任意组态,

当输入引脚不够用时还可将 OLMC组态为输入端,

因而使用十分灵活;

※ 采用 UVMOS或 EECMOS工艺,可重复使用;

※ 方便生产和使用。只有GAL16V8、 20V8、 39V18等

少数几个品种。

1 、 GAL的优点

Page 26: 第 2 章 可编程逻辑器件基础

26

※ 只能作为同步时序电路使用,且只能是外加时钟;

※ 各触发器只能同时置位和清零;

※ 每个宏单元只有一条向与阵列反馈的通道;

※ 每个 OLMC中或门的输入端是固定的。

2 、 GAL的不足

Page 27: 第 2 章 可编程逻辑器件基础

27

2.4 CPLD的结构及特点

2.4.1 Lattice公司 ispLSI器件的结构

20世纪 90年代以来, Lattice首先发明了 ISP( In-System Programmability)下载方式,并将 E2CMOS与 ISP相结合,使 CPLD的应用领域有了巨大的扩展。

ispLSI器件都属于乘积项方式构成可编程逻辑的阵列型 CPLD,基本结构由五部分组成:通用逻辑块( GLB )、集总布线区( GRP)、输入输出单元( IOC)、输出布线区( ORP)和时钟分配网络( CDN)。以ispLSI系列的 CPLD为例分析一下其基本结构。

Page 28: 第 2 章 可编程逻辑器件基础

28

1 、 ispLSI1032E功能结构图

全局布线池

通用逻辑块GLB

I/O单元

输出布线池

时钟分配网络

Page 29: 第 2 章 可编程逻辑器件基础

29

a. 标准组态

2、 ispLSI1032---GLB

Page 30: 第 2 章 可编程逻辑器件基础

30b. 高速直通组态

Page 31: 第 2 章 可编程逻辑器件基础

31c. 异或逻辑组态

Page 32: 第 2 章 可编程逻辑器件基础

32d. 单乘积项组态

Page 33: 第 2 章 可编程逻辑器件基础

33e. 多模式组态

Page 34: 第 2 章 可编程逻辑器件基础

34

( 1 )使用灵活。

乘积项共享阵列的输入来自 4 个或门,而其 4个输出则用来控制该单元中的 4 个触发器。至于哪一个或门送给哪一个触发器不是固定的,而靠编程决定,一个或门输出可以送给几个触发器,一个触发器也可以同时接受几个或门的输出信息,甚至还可以跨过 PISA直接将或门输出送至某个触发器。

GLB总结

Page 35: 第 2 章 可编程逻辑器件基础

35

( 2 )同一 GLB中的触发器必须同步工作。

虽然输出逻辑宏单元中 4 个 D 触发器的时钟是连在一起的,但所使用的时钟信号却有多种选择,可以是全局时钟,也可以是片内生成的乘积项时钟。不同 GLB中触发器可以使用不同的时钟。( 3 ) 同一 GLB中 4 个触发器同时复位。

复位信号可以是全局复位信号或 GLB中乘积项产生的复位信号,两者始终是或的关系。

GLB是 ispLSI芯片中最关键的部件,它是一种标准逻辑块。

Page 36: 第 2 章 可编程逻辑器件基础

36

1 、 ispLSI1032E功能结构图

全局布线池

通用逻辑块GLB

I/O单元

输出布线池

时钟分配网络

Page 37: 第 2 章 可编程逻辑器件基础

37

3 、 ispLSI1032---IOC结构

Page 38: 第 2 章 可编程逻辑器件基础

38

ispLSI1032---IOC组态

Page 39: 第 2 章 可编程逻辑器件基础

39

1 、 ispLSI1032E功能结构图

全局布线池

通用逻辑块GLB

I/O单元

输出布线池

时钟分配网络

Page 40: 第 2 章 可编程逻辑器件基础

40

4 、 ispLSI1032---ORP

Page 41: 第 2 章 可编程逻辑器件基础

41

1 、 ispLSI1032E功能结构图

全局布线池

通用逻辑块GLB

I/O单元

输出布线池

时钟分配网络

Page 42: 第 2 章 可编程逻辑器件基础

42

5 、 ispLSI1032---CDN

Page 43: 第 2 章 可编程逻辑器件基础

43

2.5 FPGA的结构特点 2.5.1 FPGA的基本结构

Page 44: 第 2 章 可编程逻辑器件基础

44

1、 CLB结构示意图

Page 45: 第 2 章 可编程逻辑器件基础

45

2、 IOB结构示意图

Page 46: 第 2 章 可编程逻辑器件基础

46

3. 内部互连资源( PI )和开关矩阵 SM ( Swiching Matric ) ( 1 )长线互连

水平长线

四条外侧的长线是可连的半长线

垂直长线

Page 47: 第 2 章 可编程逻辑器件基础

47

( 2 )直接互连( Direct Interconnect) 每个 CLB与其周围的 4 个 CLB之间及最外层 CLB与相邻IOB间的连接,这种连接方式的工作速度最高。

( 3 )一般互连 BB

CB

DB

BC BD

CC CE

DC DE

开关矩阵

Page 48: 第 2 章 可编程逻辑器件基础

48

( 4 )开关矩阵

Page 49: 第 2 章 可编程逻辑器件基础

49

FPGA 与 CPLD的比较1 、逻辑块的粒度不同

FPGA中逻辑块粒度小,其输入变量为 4 ~ 8 ,输出为1 ~ 2 ,每块芯片中有几十到几千个这样的逻辑块。

CPLD中逻辑块粒度则较大,通常有数十个输入端和一、二十个输出端,每个芯片只分成几块,甚至不分块。

使用时, CPLD不如 FPGA灵活

Page 50: 第 2 章 可编程逻辑器件基础

50

2 、逻辑块之间的互连结构不同

CPLD: 集中式的互连,其特点是等延时,设计者可事先预知所设计电路的时延。

FPGA:分布式的互连,其延时与系统布局有关,设计者无法事先预知所设计电路的时延。

使用时, CPLD优于FPGA

Page 51: 第 2 章 可编程逻辑器件基础

51

3 、应用场合不同 CPLD: 逻辑强但寄存器少,有利于控制密集型系统 常应用于如高速缓存、 DRAM控制和 DMA控制等 FPGA:逻辑弱但寄存器多,有利于数据密集型系统 常应用于需要大量数据处理能力的通讯领域。