第 5 章 大规模可编程逻辑器件

78
5 5 第第第第第第第第第第 第第第第第第第第第第 5.1 5.1 PLD PLD 第第 第第 5.2 第第第第第第第第第第第第第第第第第第CPLD CPLD 5.3 第第第第第第第第第第第第第第FPG FPG A A

Upload: nia

Post on 13-Jan-2016

116 views

Category:

Documents


4 download

DESCRIPTION

第 5 章 大规模可编程逻辑器件. 5.1 PLD 概述 5.2 复杂可编程逻辑器件( CPLD ) 5.3 现场可编程门阵( FPGA ). 5.1 可编程逻辑器件 (PLD) 概述. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第 5 章   大规模可编程逻辑器件

第第 55 章 章 大规模可编程逻辑器件大规模可编程逻辑器件

5.15.1 PLDPLD 概述概述

5.2 复杂可编程逻辑器件(复杂可编程逻辑器件( CPLDCPLD ))

5.3 现场可编程门阵(现场可编程门阵( FPGAFPGA ))

Page 2: 第 5 章   大规模可编程逻辑器件

2

5.1 可编程逻辑器件 (PLD) 概述

PROM 是始于 1970 年出现第一块可编程逻辑器件 PLD( Programmable Logic Device ),随后可编程逻辑器件又陆续出现了 PLA 、 PAL 、 GAL 、 EPLD 及现阶段的 CPLD和 FPGA 等。可编程逻辑器件的出现,不仅改变了传统的数字系统设计方法,而且促进了 EDA 技术的高速发展。 EDA 技术是以计算机为工具,代替人去完成数字系统设计中各种复杂的逻辑综合、布局布线和设计仿真等工作。设计者只需用硬件描述语言完成对系统功能的描述,就可以由计算机软件自行完成处理,得到设计结果。利用 EDA 工具进行设计,可以极大地提高设计的效率。

Page 3: 第 5 章   大规模可编程逻辑器件

3

5.1.1 可编程逻辑器件的分类

可编程逻辑器件的密度分类

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

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

可编程逻辑器件(PLD)

PROM PLA PAL GAL EPLD CPLD FPGA

Page 4: 第 5 章   大规模可编程逻辑器件

4

1 . 按集成密度分类可编程逻辑器件从集成密度上可分为低密度可编程逻辑

器件 LDPLD 和高密度可编程逻辑器件 HDPLD 两类。

LDPLD 通常是指早期发展起来的、集成密度小于 700门 / 片左右的 PLD 如 ROM 、 PLA 、 PAL 和 GAL 等。

HDPLD 包括可擦除可编程逻辑器件EPLD ( Erasable Programmable Logic Device )、复杂可编程逻辑器件 CPLD ( Complex PLD )和 FPGA 三种,其集成密度大于 700 门 / 片。如 Altera 公司的 EPM9560 ,其密度为 12000 门 / 片, Lattice 公司的 pLSI/ispLSI3320 为14000 门 / 片等。目前集成度最高的 HDPLD 可达 25 万门 / 片以上。

Page 5: 第 5 章   大规模可编程逻辑器件

5

2. 按编程方式分类

可编程逻辑器件的编程方式分为两类:一次性编程OTP ( One Time Programmable )器件和可多次编程MTP ( Many Time Programmable )器件。

OTP 器件是属于一次性使用的器件,只允许用户对器件编程一次,编程后不能修改,其优点是可靠性与集成度高,抗干扰性强。

MTP 器件是属于可多次重复使用的器件,允许用户对其进行多次编程、修改或设计,特别适合于系统样机的研制和初级设计者的使用。

Page 6: 第 5 章   大规模可编程逻辑器件

6

根据各种可编程元件的结构及编程方式,可编程逻辑器件通常又可以分为四类:

① 采用一次性编程的熔丝( Fuse )或反熔丝( Antifuse )元件的可编程器件,如 PROM 、 PAL 和 EPLD 等。

② 采 用 紫 外 线 擦 除 、 电 可 编 程 元 件 , 即 采 用EPROM 、 UVCMOS 工艺结构的可多次编程器件。

③ 采用电擦除、电可编程元件。其中一种是 E2PROM ,另一种是采用快闪存储器单元( Flash Memory )结构的可多次编程器件。

④ 基于静态存储器 SRAM 结构的可多次编程器件。目前多数FPGA 是基于 SRAM 结构的可编程器件。

Page 7: 第 5 章   大规模可编程逻辑器件

7

5. 按结构特点分类

PLD 按结构特点分为阵列型 PLD 和现场可编程门阵列型 FPGA 两大类。

阵列型 PLD 的基本结构由与阵列和或阵列组成。简单PLD (如 PROM 、 PLA 、 PAL 和 GAL 等)、 EPLD 和CPLD 都属于阵列型 PLD 。

现场可编程门阵列型 FPGA 具有门阵列的结构形式,它有许多可编程单元(或称逻辑功能块)排成阵列组成,称为单元型 PLD 。

Page 8: 第 5 章   大规模可编程逻辑器件

8

复杂可编程逻辑器件

5.2.1 CPLD概述 复杂可编程逻辑器件( CPLD )是在 EPLD 的基础上改进而发展起来的,它采用 EEPROM 工艺,具有高密度、高速度和低功耗等优点。 与 EPLD 相比, CPLD 增加了内部连线,并对逻辑宏单元和 I/O 单元做了重大改进,从而改善了系统的性能,提高了器件的集成度。尤其是在CPLD 中引入在系统编程( ISP )技术后,使CPLD 的应用更加方便灵活,深受设计人员的青睐,现已成为电子系统设计的首选器件之一。

Page 9: 第 5 章   大规模可编程逻辑器件

9

复杂可编程逻辑器件

5.2.1 CPLD概述 目前,生产 CPLD 器件的著名公司主要有美国的Altera 、 AMD 、 Lattice 、 Cypress 和Xilinx 等公司。 CPLD 的产品多种多样,器件的结构也有很大的差异,但大多数公司的 CPLD仍使用基于乘积项的阵列型单元结构。 例如, Altera 公司的 MAX 系列 CPLD产品、 Xilinx 公司和 Lattice 公司的 CPLD产品都采用可编程乘积项阵列结构。

Page 10: 第 5 章   大规模可编程逻辑器件

10

复杂可编程逻辑器件

5.2.1 CPLD概述 基于乘积项阵列型 CPLD 的组成: ● 可编程内部连线 ● 逻辑块 ● I/O 单元

Page 11: 第 5 章   大规模可编程逻辑器件

11

复杂可编程逻辑器件

● 可编程内部连线 为各逻辑块之间,以及逻辑块和 I/O 单元之间提供互连网络,实现信号连线。

包括实现乘积项的与阵列、乘积项分配和逻辑宏单元等,用于实现各种逻辑功能。

用于实现信号从器件输出,以及为输入信号提供输入通道。通常具有输入、输出和双向 I/O 模式。

● 逻辑块

● I/O 单元

Page 12: 第 5 章   大规模可编程逻辑器件

12

复杂可编程逻辑器件

5.2.2 Lattice 公司的CPLD Lattice 公司是世界上最早生产 PLD 器件和首先推出 ISP 技术的公司。 该公司将 ISP 技术与 E2CMOS 相结合,生产了多种高性能的 CPLD产品,主要有 ispLSI 和ispMACH 两大系列。该公司除了生产 CPLD 和FPGA 器件外,还开发了在系统可编程模拟器件( ispPAC ),是世界上第三大可编程器件的供应商。

Page 13: 第 5 章   大规模可编程逻辑器件

13

复杂可编程逻辑器件

ispLSI系列的 CPLD 是一种在系统可编程逻辑器件( ISPLD ),它采用 E2CMOS 工艺,具有集成度高、功耗低、擦除和编程时间短等特点,并且在系统编程次数可在 10 000次以上。 在系统可编程( ISP )是指编程器件可直接安装在用户自己设计的系统电路板上,通过计算机的并行接口和专用的编程电缆,对器件进行直接编程,并且可以反复编程,从而使器件具有用户所需要的逻辑功能。

5.2.2 ispLSI 器件简介

Page 14: 第 5 章   大规模可编程逻辑器件

14

复杂可编程逻辑器件

ispLSI 器件分为六个系列,分别为: ● ispLSI1000 系列 ● ispLSI2000 系列 ● ispLSI3000 系列 ● ispLSI5000 系列 ● ispLSI6000 系列 ● ispLSI8000 系列

5.2.2 ispLSI 器件简介

为通用系列,内部约有 2000~ 8000个PLD 等效门,适用于高速编码、总线管理、 LAN 或 DMA控制等。

为高速系列,内部约有 1000~ 6000个PLD 等效门,有较多 I/O端口,适用于高速计数、定时及高速 RISC/CISC微处理器的接口。

为高性能、高密度器件,其集成度达 8 000~ 14 000个PLD 等效门,可容纳规模较大的逻辑系统,适用于数字信号处理、图形处理、数据加密、解密和压缩等。

为超宽输入高密度器件,其基本结构与 ispLSI3000系列类似。

密度更高、结构更加复杂,集成密度可达25000个 PLD 等效门,内部提供了存储器、寄存器和计数器等子模块,可容纳大规模的逻辑系统,适用的范围更加广泛。

为超高密度系列,是最新推出的多寄存器超大结构器件,其规模为 25 000~ 43 750个 PLD 等效门。

Page 15: 第 5 章   大规模可编程逻辑器件

15

复杂可编程逻辑器件

ispLSI 系列 CPLD 的特点如下:

① 采用乘积项阵列结构;

② 采用先进的 ISP 技术 , 能重复编程擦写上万次;

③ 具有加密功能。

5.2.2 ispLSI 器件简介

Page 16: 第 5 章   大规模可编程逻辑器件

16

复杂可编程逻辑器件

5.2.3 ispLSI 器件的结构 1. ispLSI1016的结构

Page 17: 第 5 章   大规模可编程逻辑器件

17

复杂可编程逻辑器件

1. ispLSI1016的结构 ispLSI1016 是由 2个宏块( Megablock )、 1 个全局布线区( GRP )、 32 个 I/O 单元、 1个时钟分配网络,以及在系统编程控制逻辑等组成。 每个宏块中包括 8个通用逻辑块( GLB )、 1 个输出布线区( ORP )、 1 个 16位输入总线和 18个引脚,其中 16个为 I/O 引脚, 2个为专用输入引脚。 时钟信号( Y0 ~ Y2 )经时钟分配网络分配后 , 产生 5个时钟信号 , 作为 GLB 的全局时钟和 I/O 单元的时钟。 、 SDI 、 SDO 、 MODE 和 SCLK 。

ispEN

编程引脚共有 5个,分别为

Page 18: 第 5 章   大规模可编程逻辑器件

18

复杂可编程逻辑器件

2. 通用逻辑块(GLB )的结构

通用逻辑块( GLB , Generic Logic Block )是整个器件的逻辑核心。 组成: 与阵列

乘积项共享阵列 PTSA

输出逻辑宏单元 OLMC

控制电路

Page 19: 第 5 章   大规模可编程逻辑器件

19

复杂可编程逻辑器件

与阵列

乘积项共享阵列

输出逻辑宏单元

控制电路

0 1 2 3 4 5 6 7 8 9 1011121314151617

来自全局布线区的输入 专用输入

0123456789

10111213141516171819

Q3

Q2

Q1

Q0

至全局布线区或输出布线区

乘积项复位全局复位

CLK0CLK1CLK2

乘积项时钟乘积项输出使能

控制功能

至输出使能多路选择器

Page 20: 第 5 章   大规模可编程逻辑器件

20

复杂可编程逻辑器件

2. 通用逻辑块(GLB )的结构

PTSA 可构成几种不同配置模式:

● 标准配置 ● 高速旁路配置 ● 异或配置 ● 单乘积项配置 ● 多重混合配置

Page 21: 第 5 章   大规模可编程逻辑器件

21

复杂可编程逻辑器件

( 1)标准配置

PTSA 的 4个或门输入按 4、 4、 5 、 7配置,而 PTSA 的 4个输出,通过编程可以共享4个或门输出的 1个或多个,以满足各种逻辑功能的需要。

Page 22: 第 5 章   大规模可编程逻辑器件

22

复杂可编程逻辑器件

( 2)高速旁路配置 PTSA 的 4个或门均按 4输入配置,而或门的输出直接与逻辑宏单元的输入连接。此时的乘积项 12、 17、 18、 19不与或门连接。

Page 23: 第 5 章   大规模可编程逻辑器件

23

复杂可编程逻辑器件

( 3) 异或配置

4个或门输入按 3、 3、 4、 6配置,其输出通过共享阵列产生 4个输出,分别接到 OLMC 中异或门的 1个输入端,而乘积项0、 4、 8、 13不再作为各或门第一乘积项的输入,而是直接输出到各自的 OLMC 中,作为异或门的另一个输入,形成异或配置。

3

3

4

6

Page 24: 第 5 章   大规模可编程逻辑器件

24

复杂可编程逻辑器件

( 4)单乘积项配置

乘积项 0、 4、 8、 13分别跨越各自的或门和 PTSA,通过异或门直接连接输出逻辑宏单元,异或门的另一输入端接地。 采用这种模式可获得最快的信号传递速度。

3

3

4

6

Page 25: 第 5 章   大规模可编程逻辑器件

25

复杂可编程逻辑器件

( 5 )多重混合配置

在同一个GLB 中, 4个输出既可以采用相同的配置模式,也可以采用不相同的配置模式。 若每个输出都独立地配置成上述 4种模式之一,可形成多重混合配置。

3

4

3+4乘积项异或

4乘积项旁路

单乘积项

4+7乘积项共享

Page 26: 第 5 章   大规模可编程逻辑器件

26

复杂可编程逻辑器件

全局布线区( GRP , Global Routing

Pool )位于芯片的中心,是 ispLSI 中的一种专用内部互连结构。 作用:将GLB 的输出信号或 I/O 单元的输入信号与 GLB 的输入端连接。 特点:互连延时可预知。

5. 全局布线区

Page 27: 第 5 章   大规模可编程逻辑器件

27

复杂可编程逻辑器件

I/O 单元称为输入 / 输出单元。它是器件外部封装引脚与内部信号之间的接口电路。

4. I/O单元结构 F1输出允许选择器

F2输出选择器

F3输出极性选择器

F4输入选择器

F5时钟选择器

F6时钟极性选择器

F7输入寄存器

Page 28: 第 5 章   大规模可编程逻辑器件

28

复杂可编程逻辑器件

4. I/O 单元结构 通过对可编程单元 F1 ~ F7 的 8个编程点的编程,可使 I/O 单元配置为几种不同的组态: 输入组态

Pin D Q

I/O 单元时钟

寄存输入

输出组态 Pin

缓冲输出

Pin

反向缓冲输出

双向 I/O 组态

Pin

三态缓冲输出

I/O Pin

D QI/O 单元时钟

带有寄存器输入的双向 I/O端

I/O Pin

双向 I/O端

缓冲输入 Pin

D Q

LEI/O 单元时钟

锁存输入

Pin

Page 29: 第 5 章   大规模可编程逻辑器件

29

复杂可编程逻辑器件

5. 宏块结构

在 ispLSI1016 器件中,有两个宏块,每个宏块包括 8个通用逻辑块( GLB )、 16位输入总线、1个输出布线区( ORP )、 16 个 I/O 单元、 2个专用输入( IN0 、 IN1 )和 1个公用乘积项OE 。

Page 30: 第 5 章   大规模可编程逻辑器件

30

复杂可编程逻辑器件

输出布线区(ORP ):

输出布线区

Page 31: 第 5 章   大规模可编程逻辑器件

31

复杂可编程逻辑器件

OE控制:

Page 32: 第 5 章   大规模可编程逻辑器件

32

复杂可编程逻辑器件

6. 时钟分配网络

作为 GLB时钟

作为 I/O 单元的时钟

专用系统时钟输入

1

Page 33: 第 5 章   大规模可编程逻辑器件

33

复杂可编程逻辑器件

5.2.4 Altera 公司的CPLD Altera 公司生产的 PLD 器件主要有:

CPLD ● Classic 系列 ● MAX 系列 ● FLEX 系列 ● ACEX 系列 ● APEX 系列 ● Mercury 系列 ● Excalibur 系列 ● Stratix 系列 ● Cyclone 系列

FPGA

1

Page 34: 第 5 章   大规模可编程逻辑器件

34

复杂可编程逻辑器件

MAX 系列产品采用乘积项阵列结构,分为: ● MAX9000系列 ● MAX7000系列 ● MAX5000系列 ● MAX3000A 系列

5.2.4 MAX 器件简介

器件系列 逻辑单元结构 互连结构 编程工艺 用户 I/O 引脚 可用门

MAX9000 乘积项 连续式 EEPROM

168~216 6 000~12 000

MAX7000 乘积项 连续式 EEPROM

36~212 600~10 000

MAX5000 乘积项 连续式 EPROM 28~100 600~3 750

MAX3000A

乘积项 连续式 EEPROM

34~158 600~5 000

Page 35: 第 5 章   大规模可编程逻辑器件

35

复杂可编程逻辑器件

MAX7000S 采用第二代的 MAX 结构,组成:

● 逻辑阵列块 LAB

● 可编程连线阵列 PIA

● I/O控制块

5.2.4 MAX7000S 器件的结构和原理

宏单元 MC

扩展乘积项EPT

1

Page 36: 第 5 章   大规模可编程逻辑器件

36

复杂可编程逻辑器件

MAX7000S 的结构:

PIA

Page 37: 第 5 章   大规模可编程逻辑器件

37

复杂可编程逻辑器件

1. 逻辑阵列块

每个 LAB 由 16个宏单元组成,并与各自对应的I/O控制块相连接,各 LAB 之间的连接通过可编程连线阵列和全局总线实现。

LAB 包括以下输入信号: ① 来自 PIA 的 36个通用逻辑输入信号;

② 用于辅助寄存器功能的全局控制信号; ③ 从 I/O 引脚到寄存器的直接输入信号。

Page 38: 第 5 章   大规模可编程逻辑器件

38

复杂可编程逻辑器件

2.宏单元MC

MC 用来实现各种具体的逻辑功能,可以独立地配置成组合逻辑或时序逻辑。

组成:逻辑阵列 乘积项选择矩阵 扩展乘积项 可编程寄存器 多路选择器

Page 39: 第 5 章   大规模可编程逻辑器件

39

复杂可编程逻辑器件

宏单元结构:

Page 40: 第 5 章   大规模可编程逻辑器件

40

复杂可编程逻辑器件

( 1 )逻辑阵列和乘积项选择矩阵 用来实现宏单元的组合逻辑函数。 逻辑阵列:组成与阵列,为乘积项选择矩阵提供 5个乘积项。 乘积项选择矩阵:用来实现 5个乘积项的逻辑函数,或将这 5个乘积项作为可编程寄存器的控制信号,实现寄存器的复位、置位、时钟输入和时钟使能等功能。

Page 41: 第 5 章   大规模可编程逻辑器件

41

复杂可编程逻辑器件

( 2)扩展乘积项 EPT EPT 包括共享扩展项和并联扩展项两部分,用来补充宏单元的逻辑资源。 共享扩展项 :每个 LAB 有 16个共享扩展项,这些扩展项是由每个宏单元提供一个未使用的乘积项 ,并将它们反相后反馈到相应的逻辑阵列中,进行集中使用,实现逻辑资源共享。 采用共享扩展后,每个扩展乘积项都可以被 LAB中的任何一个宏单元或全部宏单元使用和共享,从而可以实现更为复杂的逻辑函数。

Page 42: 第 5 章   大规模可编程逻辑器件

42

复杂可编程逻辑器件

共享扩展项的结构:

来自 PIA 的36个信号

16个共享扩展乘积项

宏单元乘积项逻辑

宏单元乘积项逻辑

Page 43: 第 5 章   大规模可编程逻辑器件

43

复杂可编程逻辑器件

( 2)扩展乘积项 EPT EPT 包括共享扩展项和并联扩展项两部分,用来补充宏单元的逻辑资源。 并联扩展项:是一些宏单元中未使用的乘积项,将这些乘积项直接分配到邻近的宏单元中,以实现逻辑资源共享 ,完成快速复杂的逻辑函数。 并联扩展项允许多达 20个乘积项直接馈送到宏单元的或逻辑,其中 5个乘积项是由宏单元自身提供的,其余的 15个为并联扩展项,由 LAB 中邻近的宏单元提供。

Page 44: 第 5 章   大规模可编程逻辑器件

44

复杂可编程逻辑器件

并联扩展项的结构:

宏单元乘积项逻辑

来自 PIA 的36个信号

16个共享扩展乘积项

置位信号

时钟信号复位信号

宏单元乘积项逻辑

置位信号

时钟信号复位信号

来自上一个宏单元

至下一个宏单元

Page 45: 第 5 章   大规模可编程逻辑器件

45

复杂可编程逻辑器件

( 3 )可编程寄存器 可编程寄存器由每个宏单元中的触发器组成。通过编程可完成时钟控制的 D 、 JK 、 T或 RS触发器。 时钟方式: ① 采用全局时钟信号( GCLK1 、 GCLK2 ); ② 采用全局时钟信号,由高电平有效的时钟使能信号进行控制; ③ 采用乘积项提供时钟信号。

Page 46: 第 5 章   大规模可编程逻辑器件

46

复杂可编程逻辑器件

( 4)多路选择器

宏单元中的多路选择器包括: ● 复位信号选择器 M1

● 时钟 /使能信号选择器 M2

● 快速输入选择器 M3

● 旁路选择器 M4

用来选择触发器的复位信号。

用来实现触发器时钟方式的控制。

用来选择触发器的数据输入信号。 用来选择宏单元输出逻辑的方式。

Page 47: 第 5 章   大规模可编程逻辑器件

47

复杂可编程逻辑器件

5.可编程连线阵列 PIA PIA 是一个可编程的布线通道,用来实现各 LAB

之间的连接。

至 LAB

PIA信号

Page 48: 第 5 章   大规模可编程逻辑器件

48

复杂可编程逻辑器件

4.I/O控制块

I/O控制块是器件外部封装引脚与内部信号之间的一个接口电路,由一个三态缓冲器和使能信号选择器组成。

当选择三态缓冲器的使能端接地时, I/O 引脚作为专用输入引脚使用。

当选择电源 VCC 为使能信

号时 ,I/O 引脚为输出方式。 当选择全局输出使能信号时, I/O 引脚为双向工作方式。

Page 49: 第 5 章   大规模可编程逻辑器件

49

现场可编程门阵列现场可编程门阵列

5.5.1 FPGA概述 世界上第一片 FPGA 由美国 Xilinx 公司于 1985

年率先推出。 进入 21世纪之后,以 FPGA 为核心的单片系统SOC 和可编程系统 SOPC 有了显著的发展,单片FPGA 的集成规模已达到几百万门,其工作速度已超过 300MHz 。 FPGA 在结构上已经实现了复杂系统所需要的主要功能,并将多种功能集成在一片 FPGA 器件中,如嵌入式存储器、嵌入式乘法器、嵌入式处理器、高速 I/O缓冲器、外置存储器接口和实现数字信号处理的 DSP 等功能。

Page 50: 第 5 章   大规模可编程逻辑器件

50

现场可编程门阵列现场可编程门阵列

5.5.1 FPGA概述 随着 FPGA 性能的不断完善 , FPGA 器件的种类日益丰富 ,受到世界范围内电子设计人员的普遍欢迎,并占据了较大的市场 ,其生产厂家也由原来的Xilinx 公司一家增加到Altera 、 Actel 、 Lattice 等十几家公司。 目前 FPGA主要产品大致可以分为两大类: ● 基于 SRAM 编程的 FPGA

● 基于反熔丝编程的 FPGA

Page 51: 第 5 章   大规模可编程逻辑器件

51

现场可编程门阵列现场可编程门阵列

1.基于 SRAM 编程的 FPGA

由可配置的逻辑模块( CLB , Configurable

Logic Block )、可编程布线资源( PI , Programmable

Interconnection )和可编程的输入输出模块( IOB , Input/Output Block )三部分组成。

可配置逻辑模块

可编程I/O 单元

可编程开关矩阵 互连资源

Page 52: 第 5 章   大规模可编程逻辑器件

52

现场可编程门阵列现场可编程门阵列

主要结构特征: ① 具有门阵列的逻辑模块( CLB )和互连通道结构; ② 具有多输入的逻辑单元; ③ 支持双向和多资源的连线; ④ 具有快速再配置功能。

优点: ① 可以反复编程; ② 开发设计不需要专门的编程器; ③ 与 CMOS 工艺的存储器兼容,芯片的价格比较低。

Page 53: 第 5 章   大规模可编程逻辑器件

53

现场可编程门阵列现场可编程门阵列

缺点: ① 器件掉电后, SRAM 中的配置数据会丢失,因此在 FPGA 器件的外部,需要附加一个只读存储器 PROM 或 EPROM ,用来保存这些配置数据,这样会给配置数据的保密带来一定的问题; ② 器件内部可编程连线和逻辑定义通过大量的传输门开关来实现。由于电阻较大,导致信号的传递速度受到影响,限制了系统的工作频率。

50

Page 54: 第 5 章   大规模可编程逻辑器件

54

现场可编程门阵列现场可编程门阵列

2. 基于反熔丝编程的 FPGA

这类器件的逻辑结构采用基于多路选择器的基本逻辑单元,配置数据放在反熔丝开关矩阵中,通过编程,使部分反熔丝介质击穿,造成开关导通,从而实现器件的编程。 属于一次性可编程 FPGA 。

缺点:一次性编程,不便于修改和在系统升级。

优点:具有集成度高、功耗低、保密性强、抗辐射和抗干扰性能好、使用时无需附加存储器等。

50

Page 55: 第 5 章   大规模可编程逻辑器件

55

现场可编程门阵列现场可编程门阵列

5.5.2 Xilinx公司的 FPGA

作为 FPGA 技术的提出者和器件的发明者, Xilinx 公司在 PLD 器件性能和应用灵活性等方面一直保持 FPGA领域的世界领先地位,其产品主要有: XC2000 、 XC3000 、 XC4000 、 XC5000 、XC6000 ,以及 Spartan 和 Virtex 等多个系列,近百余种型号。

Page 56: 第 5 章   大规模可编程逻辑器件

56

现场可编程门阵列现场可编程门阵列

主要由可配置的逻辑模块 CLB 、可编程布线资源PI 和可编程的输入输出模块 IOB 三部分组成。

5.5.1 XC4000 系列器件的结构原理

Page 57: 第 5 章   大规模可编程逻辑器件

57

现场可编程门阵列现场可编程门阵列

可配置的逻辑模块 CLB 是 FPGA 的基本逻辑单元电路。作为 FPGA 的重要组成部分, CLB 以阵列的形式分布在芯片的中部,用来实现各种逻辑函数。

1.可配置的逻辑模块 CLB

CLB 的组成: 可编程函数发生器触发器快速进位逻辑电路内部连接逻辑控制电路

Page 58: 第 5 章   大规模可编程逻辑器件

58

现场可编程门阵列现场可编程门阵列

CLB 的基本结构:

输入:

逻辑信号G1~G4逻辑信号F1~F4控制信号C1~C4时钟信号 CLK 输出: 组合输出 X 、 Y

时序输出XQ 、 YQ

Page 59: 第 5 章   大规模可编程逻辑器件

59

现场可编程门阵列现场可编程门阵列

CLB 提供 3个可编程的函数发生器,可对输入变量进行各种逻辑运算。

( 1)逻辑函数发生器

G 和 F 为 2个独立的 4变量函数发生器,各有 16个数据存储单元,数据输入为 G1~G4 和 F1~F4 ,输出 G 和 F 。 H 为 3变量函数发生器,输入取自 H1 、 G 或H0 ,以及 F 或 H2 。 通过 3个函数发生器的组合,可使 CLB实现多种形式的组合逻辑函数。

Page 60: 第 5 章   大规模可编程逻辑器件

60

现场可编程门阵列现场可编程门阵列

CLB 提供 2个 D 触发器。 ( 2 )触发器

D 为触发器的输入,通过四选一多路选择器,在DIN 、 F 、 G 和 H 中进行选择。 CLK 为 CLB 的公用时钟,通过各自的选择器为触发器提供上升沿或下降沿触发的时钟信号。 E 为触发器的选通信号,通过选择器直接接受高电平或由 CLB 的内部信号 EC控制。 触发器的置位和复位公用一个 CLB 内部控制信号SR ,通过各自的 S/R控制逻辑提供置位信号和复位信号。

Page 61: 第 5 章   大规模可编程逻辑器件

61

现场可编程门阵列现场可编程门阵列

用来实现内部控制信号的转换,为函数发生器 H提供输入 H0 、 H1 和 H2, 以及为触发器提供数据输入 DIN 、置位 /复位信号 SR 和选通信号 EC 。

( 3 )控制电路

Page 62: 第 5 章   大规模可编程逻辑器件

62

现场可编程门阵列现场可编程门阵列

为了提高函数发生器的运算速度, CLB 为 G 和 F两个函数发生器提供了实现进位、借位功能的快速进位逻辑电路。

( 4) CLB 的快速进位逻辑电路

Page 63: 第 5 章   大规模可编程逻辑器件

63

现场可编程门阵列现场可编程门阵列

除了实现组合逻辑和时序逻辑功能外, CLB 可以利用 G 和 F 中的存储单元,实现片内读 /写存储器的功能,构成两个容量为 161位或一个321位的RAM 。 数据的写入可采用边沿触发或电平触发,所构成的RAM 具有单口和双口两种模式。

( 5 ) CLB 的 RAM 组态

模 式 容 量 触 发 方 式 161位 162位 321位 边沿触发 电平触发

单口RAM

√ √ √ √ √

双口RAM

√ √

Page 64: 第 5 章   大规模可编程逻辑器件

64

现场可编程门阵列现场可编程门阵列

可构成两个 161位的 RAM 或一个162位的RAM 。

① 单口 RAM模式

内部信号:

H1——写使能信号WE

DIN/H2—— 数据输入 D1

SR/H0—— 数据输入 D0

CLK——写操作的时钟脉冲G1~G4——RAM 的地址输入F1~F4——RAM 的地址输入G 和 F——RAM 的数据输出

写操作: 地址信号G1~G4 、 F1~F4经写地址译码器译码,分别选通各自要写入的存储单元,在写使能信号WE 和写时钟脉冲 CLK 的控制下,将数据 D1 、 D0 分别写入G 和 F 的存储单元。

读操作: 当地址线G1~G4 、 F1~F4给出读地址信号时,读出数据便可从指定的存储单元中读出。

Page 65: 第 5 章   大规模可编程逻辑器件

65

现场可编程门阵列现场可编程门阵列

双口 RAM 具有同时进行读操作和写操作的功能。 ② 双口 RAM模式

双口 RAM 的数据的读、写操作由 G 来完成,并且读、写地址线是独立的。 读地址线取自G1~G4 ,写地址信号由F1~F4 提供。 写数据输入信号D0取自内部信号 SR/H0 ,经DIN端写入 G 的存储单元。 读出的数据取自 G 的输出端。 这样便可对 G 同时进行读 /写操作,实现 CLB 的双口 RAM 模式。

Page 66: 第 5 章   大规模可编程逻辑器件

66

现场可编程门阵列现场可编程门阵列

IOB 是 FPGA 外部引脚与内部逻辑之间的接口电路 , 它分布在芯片的四周,每个 IOB 对应连接一个引脚。

2. 输入 /输出模块 IOB

由三态输出缓冲器 G1 、输入缓冲器 G2 、输出 /输入触发器 F1 和 F2 、上拉 /下拉控制电路,以及多个多路选择器组成。

通过对 IOB 的编程,可改变输入 / 输出模块的具体配置,将引脚定义为输入、输出或双向功能,同时还可实现三态控制。

Page 67: 第 5 章   大规模可编程逻辑器件

67

现场可编程门阵列现场可编程门阵列

IOB 的结构:

输出通道: 多路选择器M2 和 M4 、 D触发器 F1, 以及三态输出缓冲器G1 组成。 输入通道: 输入缓冲器G2 、 D 触发器F2 、延时电路,以及多路选择器M5 、 M6 和M8 组成。

T—— 三态输出缓冲器的使能信号,通过对 M1 的编程,可定义为高电平有效或低电平有效。 CE—— 两个触发器的公用选通信号。

ICLK 和 OCLK 分别为输入和输出通道的时钟信号,可通过对 M7 和 M3 的编程,实现上升沿或下降沿触发。

当 I/O 引脚作为输出时 ,通过M2 的同相或反相选择 ,将 OUT

信号送入输出通路 ,再经三态输出缓冲器从 I/O

端口输出。 输出方式可通过对 M4 的编程来实现,既可以寄存器输出,也可以组合输出。

当 I/O 引脚作为输入时,输入信号经过输入缓冲器 G2 进入输入通道。根据M5 和 M6 的编程选择,输入信号可直接由I1 、 I2输入至内部逻辑电路,也可经触发器寄存后再输入到内部电路。

Page 68: 第 5 章   大规模可编程逻辑器件

68

现场可编程门阵列现场可编程门阵列

可编程布线资源主要用来实现芯片内部 CLB 之间、 CLB 和 IOB 之间的连接,使 FPGA 成为用户所需要的电路逻辑网络。

5. 可编程布线资源

由可编程连线和可编程开关矩阵( PSM )组成,分布在 CLB 阵列的行、列之间,贯穿整个芯片。

Page 69: 第 5 章   大规模可编程逻辑器件

69

现场可编程门阵列现场可编程门阵列

可编程布线资源示意图:

长线

双长线单长线双长线

长线

全局时钟线

Page 70: 第 5 章   大规模可编程逻辑器件

70

现场可编程门阵列现场可编程门阵列

PSM主要用来实现可编程连线的连接(即单长线或双长线的连接)。 每个 PSM 中有 6个开关管,通过编程可完成连接线的直线连接、拐弯连接或多路连接。

( 1)可编程开关矩阵 PSM

直线连接 :

1

1

拐弯连接 :

1

1

多路连接 :

1

1

1

Page 71: 第 5 章   大规模可编程逻辑器件

71

现场可编程门阵列现场可编程门阵列

可编程连线共有 5 种类型:单长线、双长线、长线、全局时钟线和进位逻辑线。

( 2 )可编程连线

类型 单长线 双长线 长线 全局时钟线 进位逻辑线 合计

水平线 8 4 6 0 0 18

垂直线 8 4 6 4 2 24

CLB 的连线资源

Page 72: 第 5 章   大规模可编程逻辑器件

72

现场可编程门阵列现场可编程门阵列

单长线是指可编程开关矩阵之间的水平金属线和垂直金属线,用来实现局部区域信号的传输。 它的长度相当于两个 CLB 之间的距离,可通过PSM实现直线连接、拐弯连接或多路连接。 由于信号每经过一个开关矩阵都要产生一定的延时,所以单长线不适合长距离传输信号。

① 单长线

Page 73: 第 5 章   大规模可编程逻辑器件

73

现场可编程门阵列现场可编程门阵列

双长线的长度是单长线的 2倍,每根双长线都是从一个开关矩阵出发,绕过相邻的开关矩阵进入下一个开关矩阵,并在线路中成对出现。 它类似于单长线,在 CLB 中除了时钟输入 CLK外,所有输入端均可由相邻的双长线驱动,而 CLB的每个输出都可驱动邻近的水平或垂直双长线。 双长线与单长线相比,减少了经过开关矩阵的数量,因此它更有效地提供了中距离的信号通路,加快了系统的工作速度。

② 双长线

Page 74: 第 5 章   大规模可编程逻辑器件

74

现场可编程门阵列现场可编程门阵列

长线是由贯穿整个芯片的水平和垂直的金属线组成,并以网格状分布。 它不经过开关矩阵,通常用于高扇出和时间要求苛刻的信号网,可实现高扇出、遍布整个芯片的控制线,如复位 /置位线等。 每根长线的中点处有一个可编程的分离开关,可根据需要形成两个独立的布线通道,提高长线的利用率。

③ 长线

Page 75: 第 5 章   大规模可编程逻辑器件

75

现场可编程门阵列现场可编程门阵列

全局时钟线只分布在垂直方向,主要用来提供全局的时钟信号和高扇出的控制信号。

④ 全局时钟线

每个 CLB 仅有 2根进位逻辑线 ,并分布在垂直方向 ,主要用来实现 CLB 的进位链。

⑤ 进位逻辑线

Page 76: 第 5 章   大规模可编程逻辑器件

76

现场可编程门阵列现场可编程门阵列

CLB 的布线连接图:

双长线

单长线

双长线

长线

线

双长线

单长线

双长线

线

全局

时钟线

Page 77: 第 5 章   大规模可编程逻辑器件

77

现场可编程门阵列现场可编程门阵列

5.5.3 Altera 公司的 FPGA Altera 公司也是世界上著名的 PLD 器件生产厂商 ,自 20世纪 90 年代以后,其高密度的 PLD产品发展很快 ,多年来一直占据着同行业领先的地位,是目前全球 PLD 器件的最大供应商之一。 该公司的产品具有高性能、高集成度和高性价比等该公司的产品具有高性能、高集成度和高性价比等优点优点 ,, 并且器件内部连线采用连续式互连结构,实现并且器件内部连线采用连续式互连结构,实现了器件延时的预测,加上提供了功能全面的开发工具了器件延时的预测,加上提供了功能全面的开发工具和丰富的和丰富的 IPIP核、宏功能库等,使得该公司的核、宏功能库等,使得该公司的 PLDPLD产产品深受众多用户的青睐,并在各个领域中得到了广泛品深受众多用户的青睐,并在各个领域中得到了广泛的应用。的应用。

Page 78: 第 5 章   大规模可编程逻辑器件

78

现场可编程门阵列现场可编程门阵列

5.5.3 Altera 公司的 FPGA

Altera 公司的主要产品有:

CPL

D

MAX 系列

Classic 系列

FPG

A

FLEX 系列ACEX 系列APEX 系列Mercury 系列Excalibur 系列Stratix 系列Cyclone 系列