第2章PLD硬件特性与编程技术40461167

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

A1
A0
或阵列
(可编程)
A1 A1 A0 A0 与阵列(固定)
F1 F0
图2-12 用PROM完成半加器逻辑1阵9 列
2.2 低密度PLD可编程原理
2.2.2 PROM
PROM特点: 只能用于组合电路的可编程。其与阵列是全译码器,
产生了全部的最小项。(输入变量的增加会引起存储容 量的增加。而实际应用时,并不需要产生全部最小项)
图2-16 PAL的常用表示
23
2.2 低密度PLD可编程原理
2.2.5 GAL (通用阵列逻辑器件)
(1)首次采用了EEPROM工艺,使得GAL具有电可擦除重复编 程的特点。 (2)在“与-或”阵列结构上沿用了PAL的与阵列可编程、 或阵列固定的结构。 (3)在GAL的输出部分增加了输出逻辑宏单元 OLMC (Output Macro Cell),使GAL的输出具有多种组态,提高了 灵活性。
EDA技术与VHDL
1
第2章PLD硬件特性与编程技术
本章主要介绍几类常用的大规模可编程逻辑器件的 结构和工作原理,并对CPLD的乘积项原理和FPGA的 查找表原理分别进行剖析,最后介绍相关的编程技术。
2
2.1 PLD 概述
数字电路系统 基本门
与门 或门 非门 传输门
组合电路 时序电路
与门 或门
锁存器 触发器
2.1.2 PLD的分类 (3)从编程工艺上划分:
1.熔丝(Fuse)型器件。 一次性可编程 2.反熔丝(Anti-fuse)型器件 。 3.EPROM型。 紫外线擦除电可编程逻辑器件 4.EEPROM型 。 电可擦写编程器件 5.SRAM型 。 掉电后丢失编程信息 6.Flash型 。 多次可编程,掉电后不需要重新配置
存储单元
An1
译码器 Wp1
阵列
p 2n
图2-9 PROM基本结构
F0 F1 Fm1
14
2.2 低密度PLD可编程原理
2.2.2 PROM
PROM中的地址译码器是完成PROM存储阵列的行的选择, 其逻辑函数是:
W0 An1 A1 A0 W1 An1 A1 A0
... W2n 1 An1 A1 A0
8
2.2 低密度PLD可编程原理
低密度PLD器件的特点: 逻辑规模较小,只能实现通用数字逻辑电路(如74系
列)的一些功能,在结构上是由简单的“与-或”门阵列和 输入输出单元组成。如:PROM,PLA,PAL,GAL等。
9
2.2 低密度PLD可编程原理
2.2.1 电路符号表示
图2-3 常用逻辑门符号与现有国标符号的对照
2.3 CPLD的结构与可编程原理
(1)逻辑阵列:包含一个可编程的“与”阵列和固定的 “或”阵列,实现组合逻辑,给每个宏单元提供5个乘积 项。 (2)乘积项选择矩阵:分配这些乘积项作为到或门和异 或门的主要逻辑输入;或把这些乘积项作为宏单元中寄存 器的辅助输入:清零、置位、时钟和时钟使能控制。
33
其中 p 2n ,而M p1,m1 是存储单元阵列第m 1列p 1行单元的值
且 Mx,y 可编程
16
2.2 低密度PLD可编程原理
PROM的结构可表示为:
… … …
A0 A1
An1
与阵列 (不可 编程)
W0 W1
W p1
或阵列 (可编程)
F0 F1
Fm1
p 2n
图2-10 PROM的逻辑阵列结构
简单 PLD
复杂 PLD
PROM PLA PAL GAL
CPLD
高集成 度芯片
FPGA
6
2.1 PLD 概述
2.1.2 PLD的分类 (2) 从结构上分类 乘积项结构器件 —— 基本结构为“与-或”阵列 查找表结构器件 —— 由简单的查找表组成可编程门, 再构成阵列形式(门阵列)
7
2.1 PLD 概述
41
5.I/O控制块
EPM7128S器 件的I/O控制块
42
2.3 CPLD的结构与可编程原理
小结:
CPLD结构
逻辑阵列块 宏单元 扩展乘积项 可编程连线阵列 I/O控制块
43
2.4 FPGA的结构与工作原理
2.4.1 查找表逻辑结构(Look Up Table, LUT)
可编程逻辑 器件的结构
因此,一个N输入的查找表,需要SRAM存储N个输 入构成的真值表,需要2N个存储单元。。
45
2.4 FPGA的结构与工作原理
2.4.1 查找表逻辑结构(Look Up Table, LUT)
输入1
输入2
查找表
输入3
LUT
输出
输入4
图2-24 4输入查找表单元
46
输入A 输入B 输入C 输入D
0
00
共享扩展项:由每个宏单元提供一个单独的乘积项,通 过一个非门取反后反馈到逻辑阵列中,可被LAB内任何 一个或全部宏单元使用。
并联扩展项:是宏单元中一些没有被使用的乘积项,可 分配到邻近的宏单元去实现快速、复杂的逻辑函数。当 需要并联扩展时,“或”逻辑的输出通过一个选择分配 器,送往下一个宏单元的并联扩展“或”逻辑输入端。
0
0
1
16×1 RAM
01 0
0
0
0
0
0
1
1
4输入查找表单元内部结构
多路选择器
查找表 输出
类似16选1多
路开关
47
2.4 FPGA的结构与工作原理
2.4.2 Cyclone系列器件的结构与原理
目前,Altera有3个系列的Cyclone器件,即Cyclone, CycloneII, CycloneIII。它们都是低成本,高性价比的 FPGA。它们的结构和工作原理在FPGA器件中具有典型 性。
A0
规模 变小
算法复杂 运算速度下降
A2
A1
A0
F2 F1 F0
图2-14 PLA与 PROM的比较
F2 F1 F0
22
2.2 低密度PLD可编程原理
2.2.4 PAL (可编程阵列逻辑)
A1 A0 A0
与阵列可编程 或阵列固定
F0
A1
F1 F0 图2-15 PAL结构
F1
简化了算法,
运算速度提高
10
2.2.1 电路符号表示 输入缓冲器电路:
PLD的互补缓冲器
等效结构
11
2.2.1 电路符号表示 与阵列的简化图形: 或阵列的简化图形:
12
2.2.1 电路符号表示 阵列线连接表示
13
2.2 低密度PLD可编程原理
2.2.2 PROM (可编程只读存储器)
… … …
A0 A1
地址
W0
W1
20世纪80年代中期
Xilinx公 司
FPGA器件
20世纪80年代末
Lattice公 司
CPLD器件
20世纪80年代初
Lattice公 司
GAL器件
进入20世纪90年代后
内嵌复杂 功能模块 的SoPC
5
2.1 PLD 概述
2.1.2 PLD的分类
(1)按集成度分类
低集成 度芯片
Байду номын сангаас
可编程逻辑器件(PLD)
17
2.2 低密度PLD可编程原理
2.2.2 PROM
A1
A0
或阵列
(可编程)
以半加器为例:
S A0 A1 C A0 • A1
A1 A1 A0 A0 与阵列(固定)
F1
F0
4×2 PROM表示的PLD阵列图
18
2.2 低密度PLD可编程原理
2.2.2 PROM
F 0 A0A1 A0A1 F1 A1A0
48
2.4 FPGA的结构与工作原理
2.4.2 Cyclone系列器件的结构与原理
Cyclone器件主要由 逻辑阵列块(LAB)、嵌入式 存储器块、I/O单元和PLL等模块构成,在各个模块之间 存在着丰富的互连线和时钟网络。
Cyclone器件的可编程资源主要来自逻辑阵列块(LAB), 而每个LAB都是由多个逻辑单元(LE,Logic Element)构 成。LE是Cyclone FPGA器件的最基本可编程单元。
3
… …
2.1 PLD 概述
可编程的电路结构

输入

缓冲
电路






“与-或”结构 查找表结构
输出

缓冲

电路
图2-1 基本PLD器件的原理结构图
较简单
4
2.1 PLD 概述
2.1.1 PLD的发展历程
20世纪70年代
熔丝编程的 PROM和 PLA器件
20世纪70年代末
AMD公 司推出 PAL器件
图2-22 PIA信号布线到LAB的方式
编程节点 40
2.3 CPLD的结构与可编程原理
5.I/O控制块 允许每个I/O引脚单独的被配置为:输入、输出和双
向工作方式。所有I/O引脚都有一个三态缓冲器,它的控 制端信号来自一个多路选择器,可以选择用全局输出使能 信号其中之一进行控制,或直接连到地(GND)或电源 (VCC)上。
29
2.3 CPLD的结构与可编程原理
30
2.3 CPLD的结构与可编程原理
2.宏单元 Max7000系列器件包含 32~256 个宏单元
MAX7000系列中的宏单元
逻辑阵列
乘积项选择矩阵 可编程寄存器
可单独配置为时序逻辑和组合逻辑工作方式。
31
图2-18 MAX7000系列的单个宏单元结构
32
51
2.4 FPGA的结构与工作原理
2.4.2 Cyclone系列器件的结构与原理
可编程寄存器 —— 可以被配置为D、T、JK和SR触发器 模式。具有数据、异步数据装载、时钟、时钟使能、清零 和异步置位/复位输入信号。若只需要组合逻辑,可将触 发器旁路,LUT的输出作为LE的输出。
PROM的或阵列可编程,与阵列不可编程。
20
2.2 低密度PLD可编程原理
2.2.3 PLA (可编程逻辑阵列)
A1
A0
或阵列
(可编程)
与阵列,或阵列 都可编程
A1 A1 A0 A0
与阵列(可编程)
F1
图2-13 PLA逻辑阵列示意图
F0
21
2.2 低密度PLD可编程原理
2.2.3 PLA
A2
A1
24
25
26
2.3 CPLD的结构与可编程原理
CPLD(Complex Programmable Logic Device) 复杂可编程逻辑器件,从GAL的结构扩展而来。 以Altera公司的Max7000系列器件为例,介绍CPLD的结构 和工作原理。
27
2.3 CPLD的结构与可编程原理
以Max7000 系列为例 (结构)
基于乘积项的可编程结构 可编程的查找表(LUT)结构
LUT是可编程的最 小逻辑构成单元
44
2.4 FPGA的结构与工作原理
2.4.1 查找表逻辑结构(Look Up Table, LUT)
大部分FPGA采用基于SRAM(静态随机存储器)的 查找表逻辑形成结构,即用SRAM来构成逻辑函数发生器。
一个N输入查找表可以实现N个输入变量的任何逻辑 功能,如N输入“与”、N输入“异或”等。
38
2.3 CPLD的结构与可编程原理
4、可编程连线阵列(Programmable Interconnect Array, PIA )
不同的LAB通过在可编程连线阵列PIA上布线,以 相互连接构成所需的逻辑。这个全局总线是一种可编程的 通道,可把器件中任何信号连接到其目的地。
39
2.3 CPLD的结构与可编程原理
逻辑阵列块 宏单元 扩展乘积项 可编程连线阵列 I/O控制块
28
2.3 CPLD的结构与可编程原理
1.逻辑阵列块(LAB, Logic Array Block)
一个LAB由16个宏单元的阵列组成。 MAX7000结构主要是由多个LAB组成的阵列以及 它们之间的连线构成。包含有32~256个宏单元。 多个LAB通过可编程连线阵(Programmable Interconnect Array, PIA)和全局总线连接在一起。
作为附加的乘积项直接送到本LAB的任意一个 宏单元中。
用尽可能少的资源,得到尽可能快的工作速度。
35
2.3 CPLD的结构与可编程原理
共享扩展 乘积项结构
局部连线
共享扩展 项提供的 “与非” 乘积项
宏单元的 乘积项
逻辑
宏单元的 乘积项
逻辑
36
3.扩展乘积项 并联扩展项 馈送方式
37
2.3 CPLD的结构与可编程原理
地址译码器可看成是一个“与阵列”
15
2.2 低密度PLD可编程原理
对存储单元的阵列输出:
可看成是一个 “或阵列”
F0 M W p1,0 p1 … M1,0W1 M 0,0W0 F1 M W p1,1 p1 … M W 1,1 1 M W 0,1 0
.
.
.
Fm1 M W p1,m1 p1 … M W 1,m1 1 M W 0,m1 0
49
图2-26 Cyclone LE结构图
50
2.4 FPGA的结构与工作原理
2.4.2 Cyclone系列器件的结构与原理
每个逻辑单元(LE)主要由 一个4输入的查找表、 进位链逻辑 和 一个可编程的寄存器构成。
4输入的LUT —— 完成所有的4输入、1输出的 组合逻辑功能。
进位链逻辑 —— 带有进位选择,可灵活的构成1位 加法或减法逻辑。
2.3 CPLD的结构与可编程原理
(3)可配置寄存器:可以单独的被配置为带有可编程时钟 控制的D、T、JK 或 RS触发器工作方式,也可以将寄存器 旁路掉,以实现组合逻辑工作方式。
34
2.3 CPLD的结构与可编程原理
3.扩展乘积项 对复杂的逻辑函数需要附加乘积项。 共享扩展乘积项 并联扩展乘积项
相关文档
最新文档