EXIT
可编程逻辑器件及应用第 10 章 可编程逻辑器件可编程逻辑器件简介可编程逻辑器件的应用本章小结
EXIT
可编程逻辑器件及应用主要要求:
了解可编程逻辑器件的基本结构与类型 。
了解 GAL16V8 和 ispLSI1016 的结构与用法。
10.1 可编程逻辑器件简介
EXIT
可编程逻辑器件及应用一、可编程逻辑器件的概念与特点是由编程来确定其逻辑功能的器件。
Programmable Logical Device,简称 PLD
● 逻辑电路的设计和测试均可在计算机上实现,设计成功的电路可方便地下载到 PLD,因而研制周期短、
成本低、效率高,使产品能在极短时间内推出。
特点
● 用 PLD 实现的电路容易被修改。这种修改通过对
PLD 重新编程实现,可以不影响其外围电路。因此,其产品的维护、更新都很方便。 PLD 使硬件也能象软件一样实现升级,因而被认为是硬件革命。
● 较复杂的数字系统能用 1片或数片 PLD 实现,因而,
应用 PLD 生产的产品轻小可靠。此外,PLD 还具有硬件加密功能。
● 应用 PLD 设计电路时,需选择合适的软件工具。
EXIT
可编程逻辑器件及应用二、可编程逻辑器件的基本结构
PLD 的 基 本 结 构 图输入电路与阵列输出电路或阵列输入项乘积项或项输入输出二、可编程逻辑器件的基本结构输入缓冲电路用以产生输入变量的原变量和反变量,并提供足够的驱动能力。
输入缓冲电路
(a)一般画法 (b)PLD 中的习惯画法
(a) (b)
A A A AAA
EXIT
可编程逻辑器件及应用由多个多输入与门组成,用以产生输入变量的各乘积项 。
例如
C
A B C
CA B BA
W7 = ABC
ABCW0 = 与阵列
PLD 的 基 本 结 构 图输入电路与阵列输出电路或阵列输入项乘积项或项输入输出二、可编程逻辑器件的基本结构
EXIT
可编程逻辑器件及应用
PLD 器件中连接的习惯画法固定连接 可编程连接 断开连接
PLD 中与门和或门的习惯画法
(a)
(b)
Y
C
A
B
CB
A
A
CB
Y
Y Y
CBA
≥1
EXIT
可编程逻辑器件及应用由多个多输入与门组成,用以产生输入变量的各乘积项。
PLD 的 基 本 结 构 图输入电路与阵列输出电路或阵列输入项乘积项或项输入输出
C
A B C
CA B BA W
7 = ABC
A B CW0 =
● ● ●
● ● ●
与阵列的
PLD习惯画法二、可编程逻辑器件的基本结构
EXIT
可编程逻辑器件及应用由图可得
Y1 = ABC + ABC + ABC
Y2 = ABC + ABC
Y3 = ABC + ABC
例如
A B C
● ● ●
Y3 Y2 Y1
● ● ●
● ● ●
● ●
● ● ●
● ●
与阵列或阵列
PLD 的 基 本 结 构 图输入电路与阵列输出电路或阵列输入项乘积项或项输入输出由多个多输入或门组成,用以产生或项,即将输入的某些乘积项相加。
二、可编程逻辑器件的基本结构
EXIT
可编程逻辑器件及应用由 PLD 结构可知,从输出端可得到输入变量的乘积项之和,因此可实现任何组合逻辑函数。
再配以触发器,就可实现时序逻辑函数。
PLD 的 基 本 结 构 图输入电路与阵列输出电路或阵列输入项乘积项或项输入输出
PLD 的输出回路因器件的不同而有所不同,但总体可分为固定输出和可组态输出两大类 。
二、可编程逻辑器件的基本结构
EXIT
可编程逻辑器件及应用
(一 ) 按可编程部位分类类型 与阵列 或阵列 输出电路
PROM(即可编程 ROM) 固 定 可编程 固 定
PLA(即 Programmable
Logic Array,可编程逻辑阵列 ) 可编程 可编程 固定
PAL(即 Programmable
Array Logic,可编程阵列逻辑 ) 可编程 固 定 固 定
GAL(即 Genetic Array Logic,
通用阵列逻辑 ) 可编程 固 定 可组态
PROM,PAL 和 GAL 只有一种阵列可编程,
称为半场可编程逻辑器件,PLA 的与阵列和或阵列均可编程,称为全场可编程逻辑器件。
三、可编程逻辑器件的类型目前多用 GAL。因为 可重复编程、工作速度高、
价格低、具有强大的编程工具和软件支撑,并且用可编程的输出逻辑宏单元取代了固定输出电路,因而功能更强。
EXIT
可编程逻辑器件及应用通常简称 HDPLD
阵列型 HDPLD 主要优点:速度快,实现数据处理能力强;
FPGA 主要优点:容量大,实现逻辑控制的能力强。
低密度 PLD
高密度 PLD(即 High Density PLD,简 称 HDPLD)
阵列型 HDPLD
现场可编程门阵列
HDPLD
集成度 > 1000门的
PLD称为 HDPLD
(二 ) 按集成密度分类
Field Programmable Gate
Array,简称 FPGA 。
PROM,PLA,PAL 和
GAL 均属低密度 PLD。
EXIT
可编程逻辑器件及应用
ISP 器件由于密度和性能持续提高,价格持续降低,开发工具不断完善,因此正得到越来越广泛的应用。
在系统可编程逻辑器件普通 PLD
普通 PLD 需要使用编程器进行编程,
而 ISP 器件不需要编程器。
(三 ) 按编程方式分类即 In - System Programmable PLD
(简称 ispPLD)
EXIT
可编程逻辑器件及应用四、典型可编程逻辑器件简介采用 CMOS E2PROM 工艺,
可电擦除、可重复编程。
(一 ) GAL16V8 简介
1,GAL16V8 引脚图
VCC
GAL
16V
8
I/O
I/O
I/O
OE
I/O
I/O
I/O
I/O
I/O
CLK
I
I
I
I
I
I
I
I
GND
1
2
3
4
5
6
7
8
9
10 11
12
20
19
18
17
16
15
14
13
8 个输入端
8 个 I/O 端
1 个时钟输入端
1 个输出使能控制输入端
EXIT
可编程逻辑器件及应用
GAL16V8
1 CLK
2 I
3 I
4 I
5 I
6 I
7 I
8 I
9 I
I/O 19
I/O 18
I/O 17
I/O 16
I/O 15
I/O 14
I/O 13
I/O 12
OE 11
2,GAL16V8 逻辑图输出逻辑宏单元 (即
Output Logic Macro-
Cell,简称 OLMC)
与阵列输入电路
EXIT
可编程逻辑器件及应用
1 CLK
2 I
3 I
4 I
5 I
6 I
7 I
8 I
9 I
I/O 19
I/O 18
I/O 17
I/O 16
I/O 15
I/O 14
I/O 13
I/O 12
OE 11
2,GAL16V8 逻辑图
OLMC 中含有或门、
D 触发器和多路选择器等,
通过对 OLMC 编程可得到组合电路输出、时序电路输出、双向 I/O 端等多种工作组态。
EXIT
可编程逻辑器件及应用
1 CLK
2 I
3 I
4 I
5 I
6 I
7 I
8 I
9 I
I/O 19
I/O 18
I/O 17
I/O 16
I/O 15
I/O 14
I/O 13
I/O 12
OE 11
2,GAL16V8逻辑图与阵列的作用是产生输入信号的乘积项。其输入信号为 8 个输入端提供的原、反变量 和 8 个反馈输入端提供的原、反变量 。
产生这些变量的哪些乘积项,则由对与阵列的编程决定。
时钟输入端,提供时序电路所需要的时钟信号。
输出使能控制输入端。
它作为全局控制信号控制各
I/O 端的工作方式。
EXIT
可编程逻辑器件及应用是 E2CMOS 器件。
每片含 64 个触发器和
32 个锁存器,工作频率分 60 MHz,80 MHz、
90 MHz 和 110 MHz 四档。采用 +5 V 电源。
ispLSI / pLSI1016
(二 ) ispLSI / pLSI1016 简介
I/O 28
28
I/O
11
I/O 29
I/O 30
I/O 18
I/O 17
I/O 16
I/O 1
I/O 2
I/O 0
I/O 12
I/O 13
I/O 14
I/O 15
I/O
3
I/O
4
I/O
5
I/O
6
I/O
8
I/O
9
I/O
10
2726252423222120 29181917
16
15
14
13
12
11
10
20
404142434412346 5
9
87
31
32
33
34
35
36
37
38
39
I/O
27
I/O
26
I/O
25
I/O
24
I/O
19
I/O
20
I/O
21
I/O
22
I/O
23
IN
3
GN
D
GN
D
I/O
7
SD
O/
IN
1
SDI/IN0
Y2/SCLK
Y1/RESET
VCC
IN2/MODE
ispEN/NC
Y0
I/O 31
VCC
ispLSI 1016
PLSI 1016
Top View
isp1016 外 引 线 图有 44 个引脚,即
32 个 I/O 引脚,4 个专用输入引脚 (IN0
~ IN3),3 个 时钟输入引脚 (Y0 ~ Y2 ),1
个专用 编程控制引脚
(ispEN)和 4个电源引脚 (GND,VCC)。
EXIT
可编程逻辑器件及应用
4 个引脚 SDI /
IN0,SDO / IN1、
SCLK / Y2,MODE
/ IN2 与编程引脚复用。当编程控制引脚
ispEN = 1 时,这 4
个引脚功能为 IN0、
IN1,Y2 和 IN2;当编程控制引脚 ispEN
= 0 时,这 4 个引脚为编程引脚,分别为
SDI,SDO,SCLK
和 MODE。
是 E2CMOS 器件。
每片含 64 个触发器和
32 个触发器,工作频率分 60 MHz,80 MHz、
90 MHz 和 110 MHz 四档。采用 +5v 电源。
(二 )ispLSI / pLSI1016 简介
I/O 28
28
I/O
11
I/O 29
I/O 30
I/O 18
I/O 17
I/O 16
I/O 1
I/O 2
I/O 0
I/O 12
I/O 13
I/O 14
I/O 15
I/O
3
I/O
4
I/O
5
I/O
6
I/O
8
I/O
9
I/O
10
2726252423222120 29181917
16
15
14
13
12
11
10
20
404142434412346 5
9
87
31
32
33
34
35
36
37
38
39
I/O
27
I/O
26
I/O
25
I/O
24
I/O
19
I/O
20
I/O
21
I/O
22
I/O
23
IN
3
GN
D
GN
D
I/O
7
SD
O/
IN
1
SDI/IN0
Y2/SCLK
Y1/RESET
VCC
IN2/MODE
ispEN/NC
Y0
I/O 31
VCC
ispLSI 1016
PLSI 1016
Top View
isp1016 外 引 线 图
EXIT
可编程逻辑器件及应用是 E2CMOS 器件。
每片含 64 个触发器和
32 个触发器,工作频率分 60 MHz,80 MHz、
90 MHz 和 110 MHz 四档。采用 +5v 电源。
(二 ) ispLSI / pLSI1016 简介
I/O 28
28
I/O
11
I/O 29
I/O 30
I/O 18
I/O 17
I/O 16
I/O 1
I/O 2
I/O 0
I/O 12
I/O 13
I/O 14
I/O 15
I/O
3
I/O
4
I/O
5
I/O
6
I/O
8
I/O
9
I/O
10
2726252423222120 29181917
16
15
14
13
12
11
10
20
404142434412346 5
9
87
31
32
33
34
35
36
37
38
39
I/O
27
I/O
26
I/O
25
I/O
24
I/O
19
I/O
20
I/O
21
I/O
22
I/O
23
IN
3
GN
D
GN
D
I/O
7
SD
O/
IN
1
SDI/IN0
Y2/SCLK
Y1/RESET
VCC
IN2/MODE
ispEN/NC
Y0
I/O 31
VCC
ispLSI 1016
PLSI 1016
Top View
isp1016 外 引 线 图
Y1 /Reset 也是功能复用脚,
用于时钟输入或系统复位控制。
默认为系统复位端,若要用作时钟输入端,须通过编译器控制参数来定义。
EXIT
可编程逻辑器件及应用
MODE/IN 2
全局布线区
(GRP)
isp1016 结 构 框 图
Y0
A
0
IN 3
I/O 0I/O 1
I/O 2
SDO/IN 1SDI/IN 0
ispEN/NC
I/O 3I/O 4
I/O 5I/O 6
I/O 7I/O 8
I/O 9I/O 10
I/O 11I/O 12
I/O 13I/O 14
I/O 15
I/O 31I/O 30
I/O 29I/O 28
I/O 27I/O 26
I/O 25I/O 24
I/O 23I/O 22
I/O 21I/O 20
I/O 19I/O 18
I/O 17I/O 16
输出布线区输入总线输出布线区输入总线
CLK0
CLK1
CLK2
IOCLK0
IOCLK1
时钟分配网络
A
1A
2A
3A
4A
5A
6A
7
B0
B1
B2
B3
B4
B5
B6
B7
SCLK/Y2
Y1
GLB
主要由通用逻辑块
(GLB)、
全局布线区
(GRP)、
输出布线区
(ORP)、
输入总线、
输入输出单元 (IOC)、
和时钟分配网络 (CDN)
等构成。
EXIT
可编程逻辑器件及应用通用逻辑块 (即 Generic Logic Block,简称 GLB),
是 ispLSI / pLSI 芯片内部的基本逻辑单元,是最关键的部件,系统的逻辑功能主要由它来实现。
GLB 的 结 构 框 图与 阵列控 制 逻 辑乘积项 共享阵列来自 GRP
的输入乘积项复位时钟直接输入 输出到 GRP、
ORP 或 I/O
四输出 逻辑宏单元
2
16 20
44
一个 GLB 的功能相当于半个 GAL16V8,但比
GAL 更强。 1016 有 16 个 GLB(A0 ~ A7 和 B0 ~ B7 )。
EXIT
可编程逻辑器件及应用
MODE/IN 2
全局布线区
(GRP)
isp1016 结 构 框 图
Y0
A
0
IN 3
I/O 0I/O 1
I/O 2
SDO/IN 1SDI/IN 0
ispEN/NC
I/O 3I/O 4
I/O 5I/O 6
I/O 7I/O 8
I/O 9I/O 10
I/O 11I/O 12
I/O 13I/O 14
I/O 15
I/O 31I/O 30
I/O 29I/O 28
I/O 37I/O 36
I/O 25I/O 24
I/O 23I/O 22
I/O 21I/O 20
I/O 19I/O 18
I/O 17I/O 16
输出布线区输入总线输出布线区输入总线
CLK0
CLK1
CLK2
IOCLK0
IOCLK1
时钟分配网络
A
1A
2A
3A
4A
5A
6A
7
B0
B1
B2
B3
B4
B5
B6
B7
SCLK/Y2
Y1
GLB全局布线区 (又称集总布线区,即 Global Routing
Pool,简称 GRP),是可编程连线网络,通过它可将芯片内所有逻辑块及 IOC 相互连接。
输出布线区 (即 Output Routing Pool,简称 ORP),
它是能实现 GLB 和 IOC 之间互连的可编程互连阵列。
输入总线的主要作用是把
IOC 的输入信号送到 GRP 。
EXIT
可编程逻辑器件及应用
MODE/IN 2
全局布线区
(GRP)
isp1016 结 构 框 图
Y0
A
0
IN 3
I/O 0I/O 1
I/O 2
SDO/IN 1SDI/IN 0
ispEN/NC
I/O 3I/O 4
I/O 5I/O 6
I/O 7I/O 8
I/O 9I/O 10
I/O 11I/O 12
I/O 13I/O 14
I/O 15
I/O 31I/O 30
I/O 29I/O 28
I/O 37I/O 36
I/O 25I/O 24
I/O 23I/O 22
I/O 21I/O 20
I/O 19I/O 18
I/O 17I/O 16
输出布线区输入总线输出布线区输入总线
CLK0
CLK1
CLK2
IOCLK0
IOCLK1
时钟分配网络
A
1A
2A
3A
4A
5A
6A
7
B0
B1
B2
B3
B4
B5
B6
B7
SCLK/Y2
Y1
GLB输入输出单元 (即 I/O Cell,简称 IOC),它具有输入、
输出和双向 I/O 三种模式,每一种模式又有多种不同方式,可通过编程来进行选择。 1016 共有 32 个 IOC 。
时钟分配网络 (即 Clock Distribution Network,简称
CDN)的作用是通过编程提供各部分所需的时钟。其输入信号由 3 个外时钟输入端 (Y0 ~ Y2)和一个可由用户定义的内部时钟输入端提供。
EXIT
可编程逻辑器件及应用主要要求:
了解用 PLD 实现逻辑函数的原理 。
了解用 PLD 设计逻辑电路的基本方法。
10.2 可编程逻辑器件的应用
EXIT
可编程逻辑器件及应用
( 一 ) PLD 的简单应用举例
C B A
L1L2 L0
用 PLD 实现逻辑函数
L2 = ABC + ABC + ABC + ABC
L1 = BC + BC
L0 = BC + BC
通过对与阵列编程可得到所需乘积项 。
通过对或阵列编程得到所需乘积项之和 。
0 BC + BC
由于任何一个组合逻辑函数均可表示为标准与或式,因此,理论上可用 PLD 实现任何组合逻辑函数。
(一 ) PLD 的简单应用举例
EXIT
可编程逻辑器件及应用
( 二 ) PLD 的应用方法(二 ) PLD 的应用方法1,PLD 的基本设计方法设计准备宏元件库设计输入
● 电路图
● 程序设计处理
● 编译与优化
● 连接与适配功能仿真下载 (编程 )
PLD 设 计 流 程 图设计过程
EXIT
可编程逻辑器件及应用
(1)设计准备首先应分析设计要求,预估电路形式与规模,从而选择合适的 PLD 。 一般所设计电路需用的 I/O 端数量和 GLB 数量不要超过所选芯片所能提供数量的 80% 。 然后根据选定的 PLD 确定应采用何种设计开发工具 。
(2)设计输入设计输入在软件开发工具上进行 。 对于低密度 PLD,
可采用象 ABEL 这样的简单开发软件,可采用逻辑方程输入方式 。 对于高密度 PLD,可采用逻辑电路图,VHDL 语言
(即超高速集成电路硬件描述语言 )和波形图等输入方式 。
设计输入时,应尽量调用设计软件中所提供的元件。
EXIT
可编程逻辑器件及应用
(3)设计处理开发软件首先对设计输入的文件进行,语法检查,编译和逻辑优化,。
这一步通过后,将进行,连接与适配,,其作用是自动进行布局布线设计 。
,连接与适配,通过后,将产生标准 JEDEC 文件 。 并自动生成一个有关设计信息的设计报告 。
它是按电子器件工程联合协会所制定的标准格式编写的关于器件编程信息的计算机文件,也称 熔丝图文件,简称 JED 文件。把它下载到 PLD 中,即实现了逻辑电路。
EXIT
可编程逻辑器件及应用
(4) 功能仿真用以验证逻辑功能。
(5)下载 (编程 )
普通 PLD 要用编程器进行下载:把待编程的器件插入编程器的插座内,使用编程器配套的编程软件就可以将
JEDEC 文件写入 PLD 芯片 。 对于 ispPLD,不需要专用编程器,把用户电路板通过编程线与微机连接,利用菊花链下载软件,即可对 ispPLD 芯片进行在系统编程 。
即将 JEDEC 文件下载到器件中,使 PLD 具有所设计的逻辑功能。
EXIT
可编程逻辑器件及应用
[例 ] 使用 ispLSI1016 实现同步七进制计数器。
2,应用举例解,(1)采用 Synario System软件 进行设计。
ispLSI1016 是美国 Lattice 公司的产品,可采用其支持软件 Synario System 进行设计。
(2)设计输入采用电路图输入方式。
利用电路图输入环境下的绘图工具,并调用其元件库中的 4 位同步二进制计数器 TTL163 和与非门等输入下图。
3D
0D
1D
2D
3
TTL163Q
0Q
1Q
2Q
3EN1
EN2
LDCS1-5
VCC
CLOCK
Q0
11
VCC CAO
1-2
1-1
1-3
1-4
1-7
1-6
4
5
6
Q1
Q2
Q3
● ●





这是软件中要求的输入输出端格式,
其中的数字为用户所定义的输入输出引脚。
EXIT
可编程逻辑器件及应用
(3)利用 Synario System 项目管理器窗口的操作完成设计处理与功能仿真 。
(4)利用 Lattice 公司的,菊花链下载软件 IDCD”
将上一步生成的 JEDEL 文件下载到东南大学雨顺电子技术有限公司的 SE-2 实验板中 。
(5)逻辑功能实测:利用 SE-2 实验板提供的时钟信号和译码显示电路,就可以观测 ispLSI1016 的工作情况 。 正常情况下将执行七进制计数功能 。
EXIT
可编程逻辑器件及应用本章小结
PLD 由与阵列,或阵列和输入输出电路组成 。
输入电路主要产生输入变量的原变量和反变量,并提供一定的输入驱动能力,与阵列用于产生逻辑函数的乘积项,或阵列用于获得积之和,因此,从原理上讲,可编程逻辑器件可以实现任何组合逻辑函数 。 输出电路可提供多种不同的输出结构,其中可包含触发器,从而使 PLD 也能实现时序逻辑功能 。
EXIT
可编程逻辑器件及应用
PLD 根据可编程部位不同,分为半场可编程和全场可编程器件 。 PROM,PAL 和 GAL
只有一种阵列可编程,称为半场可编程逻辑器件,PLA 的与阵列和或阵列均可编程,称为全场可编程逻辑器件 。 全场可编程器件由于技术复杂,价格昂贵,加上编程软件不够成熟,因此使用很少 。 而半场可编程器件简单,经济,编程软件丰富且成熟,因而应用广泛,其中最为常用的是 GAL 。 GAL 具有可重复编程和输出可组态的优点 。
EXIT
可编程逻辑器件及应用
PLD采用 PROM 工艺的称为一次可编程器件 (又简称 OTP 芯片,OTP 是 Only Time
Programmable 的缩写 ),如 PAL 等器件 。
采用 E2PROM 工艺的为可重复编程的可编程器件,如 GAL,ISP-PLD 系列器件等 。
EXIT
可编程逻辑器件及应用
ISP-PLD 不需要编程器,可直接对用户板上的器件进行编程,可在不改动硬件电路的情况下,实现对产品的改进和升级。它由于具有集成密度高、工作速度快、编程方法先进、设计周期短等一系列优点,发展非常迅速,前景十分看好。
EXIT
可编程逻辑器件及应用设计准备宏元件库设计输入
● 电路图
● 程序设计处理
● 编译与优化
● 连接与适配功能仿真下载 (编程 )
PLD 设 计 流 程 图