第八章 可编程逻辑器件

28
第第第 第第第第第第第 第第第 第第第第第第第

Upload: mingan

Post on 05-Jan-2016

129 views

Category:

Documents


12 download

DESCRIPTION

第八章 可编程逻辑器件. 可编程逻辑器件( PLD- Programmable Logic Device ). 焊点多,可靠性下降. 系统规模增加成本升高. 传统的逻辑系统,当规模增大时 ( SSI MSI). 功耗增加. 占用空间扩大. 连接线与点增多 抗干扰下降. 8.1 可编程逻辑器件的基本特点. 1. 数字集成电路从功能上有分为通用型、专用型两大类 2. PLD 的特点:是一种按通用器件来生产,但逻辑功能是由用户通过对器件编程来设定的集成电路。. 数字 系统. 二、 PLD 的发展和分类 PROM 是最早的 PLD - PowerPoint PPT Presentation

TRANSCRIPT

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

第八章 可编程逻辑器件第八章 可编程逻辑器件

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

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

传统的逻辑系统,当规模增大时 ( SSI MSI)

焊点多,可靠性下降系统规模增加成本升高功耗增加占用空间扩大

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

连接线与点增多抗干扰下降

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

1. 1. 数字集成电路从功能上有分为通用型、专用型两大类数字集成电路从功能上有分为通用型、专用型两大类

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

数字系统

8.1 8.1 可编程逻辑器件的基本特点可编程逻辑器件的基本特点

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

二、二、 PLDPLD 的发展和分类的发展和分类PROMPROM 是最早的是最早的 PLDPLD

1.1. PLA PLA 可编程逻辑阵列可编程逻辑阵列

2.2. PAL PAL 可编程阵列逻辑可编程阵列逻辑

3.3. GAL GAL 通用阵列逻辑通用阵列逻辑

4.4. CPLD CPLD 复杂可编程逻辑器件复杂可编程逻辑器件

5.5. FPGA FPGA 现场可编程门阵列现场可编程门阵列

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

8.2 8.2 可编程逻辑阵列(可编程逻辑阵列( PLAPLA ))

电路结构:一个可编程的与逻辑阵列、一个可编电路结构:一个可编程的与逻辑阵列、一个可编程的或逻辑阵列、输入缓冲电路和输出缓冲电路。程的或逻辑阵列、输入缓冲电路和输出缓冲电路。

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

PLDPLD 门电路的常用画法门电路的常用画法

×× 表示两条线通过编程相连表示两条线通过编程相连 · · 表示两条线是硬件连接的表示两条线是硬件连接的没有连接符号两条线表示不相连没有连接符号两条线表示不相连

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

组合逻辑型的组合逻辑型的 PLAPLA

• 一个具有一个具有 33 个输入端、可以产生个输入端、可以产生 44 个乘积项和个乘积项和 33 个输出个输出函数的函数的 PLAPLA 结构图。结构图。

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

BCABY

BCBAY

BABAY

NE

2

1

0

0时,

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

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

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

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

8.3 8.3 可编程阵列逻辑(可编程阵列逻辑( PALPAL ))8.3.1 PAL8.3.1 PAL 的基本结构形式的基本结构形式

由可编程的与阵列、固定的或阵列和输入、输出缓冲电路由可编程的与阵列、固定的或阵列和输入、输出缓冲电路组成。组成。

)(

)(

)(

2

1

0

CDBCABY

DCDCBABAY

DCBAY

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

1. 1. 可编程输入输出结构可编程输入输出结构 可编程输入输出结构的输出电路具有可编程控制的三可编程输入输出结构的输出电路具有可编程控制的三

态输出缓冲器态输出缓冲器 GG11 。。

8.3.2 PAL8.3.2 PAL 的各种输出电路结构的各种输出电路结构

用途:组合逻辑电路,

有三态控制可实现总线连接

可将输出作输入用

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

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

便于对“与或”输出求反

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

用途:产生时序逻辑电路

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

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

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

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

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

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

PAL22V10D 的 OLMC 电路结构图

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

OLMC 可设置成的 4 种输出结构

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

8.4 8.4 通用逻辑阵列( 通用逻辑阵列( GALGAL ))

通用性更强的可编程逻辑器件电路结构形式通用性更强的可编程逻辑器件电路结构形式

可编程“可编程“与与”阵列 ”阵列 + + 固定“或”阵列 固定“或”阵列 + + 可编程输出可编程输出电路电路

OLMCOLMC编程单元编程单元采用采用 EE22CMOS CMOS 可改写可改写

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

GAL16V8 的 OLMC

数据选择器

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

8.5 8.5 复杂可编程逻辑器件(复杂可编程逻辑器件( CPLDCPLD ))由若干可编程的通用逻辑模块(由若干可编程的通用逻辑模块( generic logic blockgeneric logic block ,, GLBGLB )、)、可编程的输入输出模块(可编程的输入输出模块( input/output blockinput/output block ,, IOBIOB )和可)和可编程的内部连线组成。编程的内部连线组成。

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

GLBGLB 中的宏单元 中的宏单元 每个每个 GLBGLB 中包含中包含 88 ~~ 2020 个宏单元,规模较大的个宏单元,规模较大的 CPLDCPLD 中可中可包含包含 10001000 多个。多个。

CPLDCPLD 中的中的 IOBIOB 结构结构

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

8.6 8.6 现场可编程门阵列(现场可编程门阵列( FPGAFPGA ))包含若干个可编程逻辑模块(包含若干个可编程逻辑模块( CLBCLB )、可编程输入输出模)、可编程输入输出模

块块IOBIOB 和一整套的可编程内部资源。和一整套的可编程内部资源。

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

以以 XilinxXilinx 公司的公司的 XC2064XC2064 为例为例1. CLB1. CLB

包含一个组合逻辑电路、一个 D 触发器和 6个数据选择器。

可构成时序电路。

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

2. IOB2. IOB

由三态输出缓冲器、输入缓冲器、 D 触发器和两个数据选择器组成。

可以设置为输入 /输出;输入时可设置为同步、异步。

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

3. 3. 内部互连资源内部互连资源

包含许多水平方向和垂直方向的连线和可编程的开关矩阵 SM ,以及许多可编程的连接点

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

8.7 PLD8.7 PLD 的编程及硬件描述语言的编程及硬件描述语言对对 PLDPLD 进行编程就是要设置其中每个可编程元件的开关状态。进行编程就是要设置其中每个可编程元件的开关状态。

早期的早期的 PLDPLD 均需 离线进行编程操作,使用开发系统;均需 离线进行编程操作,使用开发系统;目前在目前在 CPLDCPLD 中多采用“在系统可编程(中多采用“在系统可编程( ISPISP )”技术。 )”技术。

一、开发系统一、开发系统1.1. 硬件:计算机硬件:计算机 ++ 编程器编程器2.2. 软件:开发环境(软件平台)软件:开发环境(软件平台) VHDL, VerilogVHDL, Verilog

真值表,方程式,电路逻辑图(真值表,方程式,电路逻辑图( SchematicSchematic )) 状态转换图( 状态转换图( FSMFSM ))

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

二、步骤二、步骤• 抽象(系统设计采用抽象(系统设计采用 Top-DownTop-Down 的设计方法)的设计方法)• 选定选定 PLDPLD• 选定开发系统选定开发系统• 编写源程序(或输入文件)编写源程序(或输入文件)• 调试,运行仿真,产生下载文件调试,运行仿真,产生下载文件• 下载下载• 测试测试

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

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

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

VHDL VHDL :针对超高速数字集成电路的硬件描述语言:针对超高速数字集成电路的硬件描述语言

VerilogVerilog :和:和 CC 语言有很多相似之处语言有很多相似之处

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

第 8 章 习题

8.1 8.2 8.4 8.6 8.7