51
1 2章 可编程逻辑器件基础

2章可编程逻辑器件基础 - Shandong University

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 2章可编程逻辑器件基础 - Shandong University

1

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

Page 2: 2章可编程逻辑器件基础 - Shandong University

2

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

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

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

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

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

Page 3: 2章可编程逻辑器件基础 - Shandong University

3

2.1.1 PLD的与或阵列结构

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

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

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

Page 4: 2章可编程逻辑器件基础 - Shandong University

4

实际的PLD是在上述与—或阵列的基础上配以输入

和输出电路而实现的。

图2.1.2 PLD基本结构框图

Page 5: 2章可编程逻辑器件基础 - Shandong University

5

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

图2.1.3 PLD输入缓冲电路

主要作用:

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

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

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

Page 6: 2章可编程逻辑器件基础 - Shandong University

6

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

图2.1.4 PLD输出缓冲电路

PLD的输出方式有多种,如:由或阵列直接输出的组

合方式,通过寄存器输出的时序方式。

输出可以是低电平有效,也可以是高电平有效。

不管采用什么方式,在输出端口上往往做有三态电路,

且有内部通路可以将输出信号反馈到与阵列输入端。

Page 7: 2章可编程逻辑器件基础 - Shandong University

7

2.1.2 PLD与或阵列的表示方法

1. 与阵列:

输入项三输入端与门

积项线

编程点

与阵列可用省略画法表示

Page 8: 2章可编程逻辑器件基础 - Shandong University

8

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

Page 9: 2章可编程逻辑器件基础 - Shandong University

9

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

图2.1.7 或阵列的表示方法

Page 10: 2章可编程逻辑器件基础 - Shandong University

10

3.与—或阵列:

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

. .F2 = A B +A B

. .F3 = A B +A B

Page 11: 2章可编程逻辑器件基础 - Shandong University

11

2.1.3 PLD的查找表结构

• 一个N输入查找表 (LUT,Look Up Table)可以实现N个输入变量

的任何组合逻辑功能,如 N输入“与”、 N输入“异或”等。

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

LUT)实现

输出查 黑找 盒表 子

输入1

输入2

输入3

输入4

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

Page 12: 2章可编程逻辑器件基础 - Shandong University

12

● 使用SRAM构成函数发生器,函数值放在SRAM中,SRAM的地址为输

入变量,输出为逻辑函数值。

M个输入的SRAM可以实现任意一个M个输入项的组合逻辑函数。

● 使用多路开关实现,其基本原理是将多路开关的数据输入端接固

定电平,将其地址输入作为函数的输入,多路开关的输出为逻辑函

数值。

2、查找表的实现方法

Page 13: 2章可编程逻辑器件基础 - Shandong University

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章可编程逻辑器件基础 - Shandong University

14

2.2 PLD的分类

由于历史的原因,对可编程逻辑器件的命

名不很规范,一种器件往往具备其他几种器件

的特征,无法严格分类

所以可编程逻辑器件有多种分类方法,没

有统一的标准,下面介绍几种常见的分类法:

Page 15: 2章可编程逻辑器件基础 - Shandong University

15

1. 按集成度分类

低密度PLD:ROM、PAL、GAL等

高密度PLD:EPLD CPLD、FPGA等

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

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

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

PLD

Page 16: 2章可编程逻辑器件基础 - Shandong University

16

PROM

可编程逻辑器件

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

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

PLA PAL GAL EPLD CPLD FPGA

PLD按集成度分类:

Page 17: 2章可编程逻辑器件基础 - Shandong University

17

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

价格低,易于编程,适合于程序代码、函数和数据表格

PLA: 与—或阵列结构,与阵、或阵都可编程

由于开发软件的原因,应用不广泛

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

特点:价格低,速度高,使用方便

GAL: 与—或阵列结构 + 输出逻辑宏单元(OLMC),与阵

可编程,或阵固定

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

低密度PLD(LDPLD):

Page 18: 2章可编程逻辑器件基础 - Shandong University

18

高密度PLD(HDPLD):

EPLD:可擦除PLD

结构:和GAL基本相同--大量增加了输出宏单元的数目特点:集成密度大大提高,增加了设计的灵活性,内

部连线固定,时延很小,工作速度高

CPLD:复杂可编程逻辑器件

结构:主要包括可编程逻辑宏单元、可编程I/O、

可编程内部连线。

特点:时延固定,工作速度高

FPGA:现场可编程门阵列。

结构:可编程逻辑块、可编程I/O和可编程内部互连

特点:含有较多的触发器、快速的局部互连和很高

的集成度

Page 19: 2章可编程逻辑器件基础 - Shandong University

19

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

单元型PLD

(1)阵列型:

“与阵列+或阵列+寄存器”的形式,如PAL、GAL、CPLD等

(2)单元型:

“查找表+寄存器”的形式,如FPGA。

Page 20: 2章可编程逻辑器件基础 - Shandong University

20

3、按编程工艺分类:

(1) ROM: 称为掩膜编程,由半导体生产厂家对器件

进行编程;

(2) PROM: 使用熔丝或反熔丝编程器件,一次性编程;

(3) EPROM: 紫外线擦除/电编程,可多次编程;

(4)EEPROM: 电擦除/电编程,可多次编程。和EPROM相比,

具有擦除方便和编程速度快的优点;

(5) SRAM: 使用SRAM为编程器件,可多次编程。

其中:(1)~(4)类为非易失性器件;

(5)为易失性器件,使用时需要配置器件。

Page 21: 2章可编程逻辑器件基础 - Shandong University

21

General Array Logic Device

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

2.3 GAL器件的结构及特点

2.3.1 GAL的结构框图

Page 22: 2章可编程逻辑器件基础 - Shandong University

22

逻辑宏单元

输入/输出口

输入口

时钟输入

三态控制

可编程与阵列

固定或阵列

图2.3.4 GAL结构图

Page 23: 2章可编程逻辑器件基础 - Shandong University

23

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

Page 24: 2章可编程逻辑器件基础 - Shandong University

24

GAL的四种输出组态

Page 25: 2章可编程逻辑器件基础 - Shandong University

25

2.3.3 GAL的主要特点

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

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

因而使用十分灵活;

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

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

少数几个品种。

1、GAL的优点

Page 26: 2章可编程逻辑器件基础 - Shandong University

26

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

时钟;

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

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

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

2、GAL的不足

Page 27: 2章可编程逻辑器件基础 - Shandong University

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章可编程逻辑器件基础 - Shandong University

28

1、ispLSI1032E功能结构图

全局布线池

通用逻辑块GLB

I/O单元

输出布线池

时钟分配网络

Page 29: 2章可编程逻辑器件基础 - Shandong University

29

a. 标准组态

2、 ispLSI1032---GLB

Page 30: 2章可编程逻辑器件基础 - Shandong University

30b. 高速直通组态

Page 31: 2章可编程逻辑器件基础 - Shandong University

31c. 异或逻辑组态

Page 32: 2章可编程逻辑器件基础 - Shandong University

32d. 单乘积项组态

Page 33: 2章可编程逻辑器件基础 - Shandong University

33e. 多模式组态

Page 34: 2章可编程逻辑器件基础 - Shandong University

34

(1)使用灵活。

乘积项共享阵列的输入来自4个或门,而其4个输

出则用来控制该单元中的4个触发器。至于哪一个或门

送给哪一个触发器不是固定的,而靠编程决定,一个或

门输出可以送给几个触发器,一个触发器也可以同时接

受几个或门的输出信息,甚至还可以跨过PISA直接将或

门输出送至某个触发器。

GLB总结

Page 35: 2章可编程逻辑器件基础 - Shandong University

35

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

虽然输出逻辑宏单元中4个D触发器的时钟是连

在一起的,但所使用的时钟信号却有多种选择,可

以是全局时钟,也可以是片内生成的乘积项时钟。

不同GLB中触发器可以使用不同的时钟。

(3) 同一GLB中4个触发器同时复位。

复位信号可以是全局复位信号或GLB中乘积项产

生的复位信号,两者始终是或的关系。

GLB是ispLSI芯片中最关键的部件,它是一种

标准逻辑块。

Page 36: 2章可编程逻辑器件基础 - Shandong University

36

1、ispLSI1032E功能结构图

全局布线池

通用逻辑块GLB

I/O单元

输出布线池

时钟分配网络

Page 37: 2章可编程逻辑器件基础 - Shandong University

37

3、ispLSI1032---IOC结构

Page 38: 2章可编程逻辑器件基础 - Shandong University

38

ispLSI1032---IOC组态

Page 39: 2章可编程逻辑器件基础 - Shandong University

39

1、ispLSI1032E功能结构图

全局布线池

通用逻辑块GLB

I/O单元

输出布线池

时钟分配网络

Page 40: 2章可编程逻辑器件基础 - Shandong University

40

4、ispLSI1032---ORP

Page 41: 2章可编程逻辑器件基础 - Shandong University

41

1、ispLSI1032E功能结构图

全局布线池

通用逻辑块GLB

I/O单元

输出布线池

时钟分配网络

Page 42: 2章可编程逻辑器件基础 - Shandong University

42

5、ispLSI1032---CDN

Page 43: 2章可编程逻辑器件基础 - Shandong University

43

2.5 FPGA的结构特点

2.5.1 FPGA的基本结构

Page 44: 2章可编程逻辑器件基础 - Shandong University

44

1、CLB结构示意图

Page 45: 2章可编程逻辑器件基础 - Shandong University

45

2、 IOB结构示意图

Page 46: 2章可编程逻辑器件基础 - Shandong University

46

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

(1)长线互连

水平长线

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

垂直长线

Page 47: 2章可编程逻辑器件基础 - Shandong University

47

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

(3)一般互连BB

CB

DB

BC BD

CC CE

DC DE

开关矩阵

Page 48: 2章可编程逻辑器件基础 - Shandong University

48

(4)开关矩阵

Page 49: 2章可编程逻辑器件基础 - Shandong University

49

FPGA与CPLD的比较

1、逻辑块的粒度不同

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

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

使用时,CPLD不如FPGA灵活

Page 50: 2章可编程逻辑器件基础 - Shandong University

50

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

CPLD: 集中式的互连,其特点是等延时,设计者可

事先预知所设计电路的时延。

FPGA:分布式的互连,其延时与系统布局有关,设计

者无法事先预知所设计电路的时延。

使用时,CPLD优于FPGA

Page 51: 2章可编程逻辑器件基础 - Shandong University

51

3、应用场合不同

CPLD: 逻辑强但寄存器少,有利于控制密集型系统常应用于如高速缓存、DRAM控制和DMA控制等

FPGA:逻辑弱但寄存器多,有利于数据密集型系统常应用于需要大量数据处理能力的通讯领域。