07第七章可编程逻辑器件2学时.docx
- 文档编号:2262002
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:34
- 大小:78.18KB
07第七章可编程逻辑器件2学时.docx
《07第七章可编程逻辑器件2学时.docx》由会员分享,可在线阅读,更多相关《07第七章可编程逻辑器件2学时.docx(34页珍藏版)》请在冰点文库上搜索。
07第七章可编程逻辑器件2学时
第七章可编程逻辑器件PLD
2学时
知识要点
1、PLD的电路表示方法;
2、可编程逻辑阵列PLA;
3、可编程阵列逻辑PAL;
4、可编程通用阵列逻辑GAL;
5、可擦除可编程逻辑器件EPLD;
6、复杂可编程逻辑器件CPLD;
7、现场可编程门阵列FPGA;
8、PLD的编程;
重点1、熟练掌握PLD电路表示方法;
2、熟悉用PLA设计组合逻辑电路;
课后练习P199-4.5.1、P200-4.5.4
序言
数字集成电路分为三大类:
①通用型数字集成电路——结构简单,功能固定。
如TTL系列等中、小规模数字集成
电路,在构成复杂的数字系统时,电路体积、重量、功耗大,更主要是电路的工作可靠性差。
②专用型数字集成电路——ASIC(ApplicationSpecialIntegratedCircuit)。
运用大规模集
成电路技术,把一个复杂的数字系统集成在一片硅片上,封装成一块集成电路,以达到降低电路的体积、重量、功耗,同时提高工作可靠性。
可见,专用集成电路是为某项专门用途而设计制造的集成电路。
然而,ASIC的设计、制造周期长,若用量不大,则成本很高。
③可编程逻辑器件——是70年代后期发展起来的大规模集成电路,是一种可以由用户定
义和设置逻辑功能的器件,其特点是结构灵活,集成度高,处理速度快,可靠性高等。
PLD产品类型:
①可编程逻辑阵列PLA——ProgrammableLogicArray
②可编程阵列逻辑PAL——ProgrammableArrayLogic
③通用阵列逻辑GAL——GenericArrayLogic
④可擦除可编程器件EPLD——ErasableProgrammableLogicDevice
⑤复杂可编程逻辑器件CPLD——ComplexProgrammableLogicDevice
⑥在系统可编程逻辑器件ISP-PLD——In-SystemProgrammable
⑦现场可编程门阵列FPGA——FieldProgrammableGateArray
PLD编程开发系统:
硬件部分——计算机和专门的编程器;软件部分——各种编程软件。
说明:
在系统可编程ISP器件,不需要编程器,直接将计算机运行编程软件产生的编程数据写入系统中的PLD。
第一节PLD的电路表示方法
(第五版教材P171)
PLD表示法——是在芯片内部配置与逻辑图之间建立一一对应的关系。
PLD电路的基本组成就是门阵列和或门阵列。
一、门阵列交叉点的连接方式(三种)
1、硬线连接——是不可以编程改变的固定连接。
2、可编程“接通”单元——是依靠用户编程来实现“接通”连接(表示有熔丝或浮置栅管,是可编程点)。
3、可编程“断开”单元(被编程擦除单元)——是编程实现“断开”状态(表示熔丝已熔断,不相连接)。
二、基本门电路的PLD表示法
1、互补输出的缓冲器(一般作为输入缓冲器或反馈缓冲器)
A
A
A
2、三态输出的缓冲器(一般作为输出缓冲器)
ENEN
AAAA
3、与门
ABCD
A
L等价于CL
D
4、或门
A
BCD
A
L等价于CL
D
5、输出恒等于0的与门(与门编程的默认状态)
AABB
L=0
等价于
AABB
L=0
6、“悬浮”保持1状态的与门、或门
ABCD
ABCD
L1
L=1
三、PROM的PLD表示方法
PROM实质上就是可编程逻辑器件,且结构是:
①固定连接的与门阵列——即全译码的地址译码器;
②可编程的或门阵列——即存储矩阵;
如:
4位输入地址码的PROM的PLD表示方法,可描述如下:
地址线A3
A2A1A0
可编程的或门阵列
0000
0001
0010
1101
1110
1111
固定的与门阵列
数据输出
D
D
D3D210
可见:
n位地址码,则需要2n个译码与门。
与门阵列增大,相应开关时间(工作时间)增长,速度减慢。
所以:
一般只有小规模PROM才作为可编程逻辑器件使用,密度达2百万位/片的大规模PROM只作为存储器使用。
第二节可编程逻辑阵列PLA
任何一个逻辑函数都可以展开为与-或表达式,则任何一个逻辑函数都可以用一级与逻辑电路和或逻辑电路来实现。
一、可编程逻辑阵列PLA的基本介绍
1、PLA规格:
常用输入变量数、逻辑与阵列的输出端数、逻辑或阵列的输出端数的三者乘积表示。
如:
16×48×8其中16个变量输入端、48个与阵列能产生48个与项输出端、8个或阵列有8个输出端。
2、PLA的编程单元(单元结构和PROM、EPROM一样,编程原理和方法相同):
熔丝型
叠栅注入式MOS管
3、电路结构
(1)可编程与逻辑阵列
(2)可编程或逻辑阵列
(3)输入缓冲器
(4)输出缓冲器——①三态门结构;②集电极开路(OC门)结构;③可编程异或门(目的是对输出极性进行控制)。
S3
S2
S1
S0
或逻辑阵列
XOR
Y3
其中:
XOR为输出端极性控制编程单元。
Y2
当XOR熔丝连通(即XOR=0),有Yi与Si同相;
1
Y
i
当XOR熔丝熔断(即XOR=1),有Yi与S反相;
Y0
另外:
有的PLA中含有触发器,尚可构成时序电路。
OE
二、用PLA设计组合逻辑电路(组合逻辑型PLA)
设计方法与组合逻辑电路的设计一样,只是电路用PLA,即确定与阵列、或阵列的熔丝电路图。
如:
用PLA设计4位二进制码B3B2B1B0转换为格雷码G3G2G1G0的转换电路。
其简化逻辑函数如下:
G
3=B3⊕B4
B3
B2
=B3
G2=B2
B1
⊕B3
=B2B3
+B2B3
G1=B1⊕B2
B0
=B1B2
+B1B2
G0=B0
⊕B1
=B0B1+B0B1
G3
G2左图:
当OE=0时该PLA实现上述函数。
G1
G0
OE
三、用PLA设计时序逻辑电路(时序逻辑型PLA)
一般是所有触发器的输入端均由与-或逻辑的输出控制,触发器的输出端又反馈到与-或阵列中,从而构成时序电路。
第三节可编程阵列逻辑PAL
PAL是70年代末期由MMI公司推出的PLD器件。
PAL采用双极型工艺制作,熔丝编程方式。
一、PAL的基本电路
电路组成:
(1)可编程的与逻辑阵列——未编程前“空白”PAL的与逻辑阵列所有交叉点都有熔丝接通,编程后某些熔丝熔断;
(2)固定的或逻辑阵列;
(3)输入缓冲级;
(4)(适当的)输出缓冲级(输出电路);
可见:
通过对与阵列的编程可以实现各种组合逻辑电路。
当然也可以利用输出电路的触发器及反馈线构成时序逻辑电路。
目前,常见的PLA器件:
①输入变量可达20个;
②与逻辑阵列的与项可达80个;
③每个或门输入端可达16个;
④或逻辑阵列输出端可达10个;
1、专用输出结构
二、PAL的输出电路类型
有:
或门输出——如PAL10HB、PAL14H4,型号中H代表高电平输出有效;
或非门输出——如PAL10L8、PAL14L4,型号中L代表低电平输出有效;
互补输出——如PAL16C1,型号中C代表高、低电平互补输出;
2、可编程输入/输出结构
该结构的输出端为三态缓冲器,如下图所示。
EN
XOR
I/O
其中:
控制量EN由与阵列的一个可编程与项来实现,同时输出端又经过一个互补输出缓冲级反馈到与阵列上,如PAL16L8、PAL20L10。
另外,还可以设置可编程的异或门,实现输入/输出变量极性的控制。
3、寄存器输出结构
利用输出电路中的触发器可以存储与-或阵列输出的状态,而构成各种时序电路,如PAL16R4、PAL16R6、PAL16R8。
4、异或输出结构
如PAL20X4、PAL20X8、PAL20X10
5、运算选通反馈结构
如PAL16X4、PAL16A4
三、PAL的特点
优点:
逻辑设计的灵活性。
弊端:
①熔丝连接工艺,一旦编程之后则不能改写;
②不同的输出结构对应不同型号的PAL器件,不便用户使用;
第四节可编程通用阵列逻辑GAL
(第五版教材P311)
Lattice公司于1985年首先推出通用阵列逻辑GAL。
GAL的特点(区别于PAL)表现在:
①采用电可擦除的CMOS(E2CMOS)工艺制作,可用电压信号擦除并可重新编程;
②GAL输出端设置了可编程的输出逻辑宏单元OLMC(OutputLogicMacroCell),通过编程可将OLMC设置成不同的工作状态,这样同一型号GAL可实现多种输出电路工作模式。
一句话,GAL具有可擦除、可重新编程、可重新配置其结构等功能。
新有GAL器件可分为两大类:
一、GAL的基本结构
一类与PAL器件类似,即可编程与门阵列、固定连接或门阵列,如GAL16V8、ispGAL16Z8、GAL20V8;
一类与PLA器件类似,即与-或门阵列都可编程,如GAL39V18。
通用型GAL器件有两种:
GAL16V8——其中16表示最多有16个引脚作为输出端,8表示含有8个OLMC,最多可有8个引脚作为输出端。
GAL20V8——其中20表示最多有20个引脚作为输出端,8表示含有8个OLMC,最多可有8个引脚作为输出端。
GAL的基本结构有五大部分:
①输入缓冲级——一般作为固定输入;
②输出缓冲级;
③输出逻辑宏单元;
④可编程与门阵列;
⑤输出反馈/输出缓冲器;另外,系统时钟CLK输入端一个、一个三态输出控制端OE、电源Vcc、地GND。
二、输出逻辑宏单元OLMC
OLMC基本组成(四部分):
(1)或阵列——固定连接的或阵列;
(2)异或门——用于控制输出信号的极性;
(3)正边沿触发的D触发器——锁存或门的输出状态,使GAL适用于时序电路;
(4)数据选择器(数据多路开关)——有四个,数据选择器的控制信号都来自结构控制字。
①乘积项数据选择器PTMUX(用于控制来自与阵列的第一乘积项);
②三态数据选择器TSMUX(用于控制选择输出三态缓冲器的选通信号);
③反馈数据选择器FMUX(用于决定反馈信号的来源);
④输出数据选择器OMUX(用于控制输出信号是否锁存);
三、结构控制字
结构控制字——实现GAL的各种配置的控制。
结构控制字各位的功能:
①同步位SYN(当SYN=1时GAL器件具有组合型输出能力;当SYN=0时GAL器件具有寄存器型输出能力);
②结构控制位ACO;
③结构控制位AC1;
④极性控制位XOR;
⑤乘积项PT禁止位(屏蔽与门阵列不使用的乘积项);
可见,对结构控制字的编程,可实现控制GAL的工作方式。
第五节可擦除可编程逻辑器件EPLD
一、EPLD的基本结构
1、采用CMOS工艺(因而功耗低,噪声容限大)。
2、采用UVEPROM(紫外线可擦除的PROM)工艺(即以叠栅注入MOS管作编程单
元,可改写、可靠性高、集成度高、造价低,多半属于高密度PLD。
EPLD的集成度可达每片1万门以上)。
3、EPLD的OLMC中的触发器增加了可预置数、异步置零功能。
4、某些EPLD的或逻辑阵列采取了可编程逻辑结构。
二、EPLD的OLMC
EPLD的OLMC中的D触发器增加了预置、置零功能,从而增加了使用灵活性。
第六节复杂可编程逻辑器件CPLD
(第五版教材P356)
CPLD一般认为是EPLD的演变。
CPLD是简单PLD概念的进一步扩展,再一次提高了集成度。
表现在:
①有更多的输入信号;
②有更多的乘积项;
③有更多的宏单元;
CPLD内部有多个逻辑单元块,每个逻辑块相当于一个GAL器件,逻辑块之间可以使用可编程内部连线实现相互连接。
典型产品如:
ispLSI1016等。
其中isp即为在系统可编程
(In-SystemProgrammability)。
在系统可编程(ISP技术)——指未编程的ISP器件可以直接焊接在印制板上,然后通
过计算机的并行口和专用的编程电缆对焊接在电路板上的ISP器件直接多次编程,从而使器件具有所需要的逻辑功能。
(或者说:
是指在用户自己设计的目标系统中或线路板上为重新构建逻辑系统而对逻辑器件进行在线编程或反复修改的能力)。
Lattice公司于90年代初首先推出ISP-PLD。
ISP-PLD分两类:
①低密度——在GAL基础上增设了写入/擦除控制电路。
②高密度(ISPLSI)——包含I/OCell、GenericLogicBlock、可编程连线区、编程控制电路。
ISP器件的编程应具备三个条件:
①PC机;
②ISP编程软件;
③ISP专用编程电缆;
CPLD内部可编程单元均为E2CMOS结构,且按一定规则排列成阵列
形式,编程的过程就是编程数据写入E2CMOS单元阵列的过程。
第七节现场可编程门阵列FPGA
(第五版教材P362)
FPGA和CPLD都是PLD器件向着“更高速度、更高密度、更强功能、更加灵活”
方向发展的产物。
Xilinx公司率先提出FPGA的概念,是80年代中期发展起来的PLD。
使用FPGA器件,用户可“现场设计、现场修改、现场验证、现场实现”一个数万
门级的单片化数字系统。
一、FPGA的基本结构
FPGA的基本结构分为两部分:
(1)可编程模块
①输入/输出模块IOB(I/OBlock,根据需要配置成输入端或输出端);
②可配置逻辑模块CLB(ConfigurableLogicBlock,可编程为组合电路或时序电路);
③互连资源IR(InterconnectResource,CLB之间的各种布线,包括金属线、可编程开关矩阵、可编程连接点等);
(2)SRAM——存储编程数据。
显然断电后数据会丢失,因而编程数据通常保存在一片EPROM中,由EPROM内部的时序电路负责为SRAM自动装载这些数据。
二、FPGA中的输入/输出模块IOB
输入输出模块IOB由四部分构成:
输出三态缓冲器、触发器、输入缓冲器、两个数据选择器。
三、FPGA中的可配置逻辑模块CLB
可配置逻辑模块CLB由三部分构成:
组合逻辑、触发器、多个数据选择器。
四、FPGA中的互连资源IR
互连资源IR包括三个方面:
1、布线区金属线——水平通用连线、垂直通用连线(主要用于CLB之间的连线);水平长线、垂直长线(主要用于长距离或多分支信号的传送);全局连线(用于输送一些公共信号);直接连线。
2、可编程开关矩阵SM——(SwitchingMatrices)实现多根导线转接的接线盒。
3、可编程连接点PIP——(ProgrammableInterconnectPoints)。
第八节PLD的编程
用户的PLD编程工作必须在开发系统的支持下完成。
一、开发系统的硬件
计算机:
PC机
编程器:
对PLD进行写入和擦除的专用装置。
①能提供写入或擦除所需的电源电压控制信号;
②能通过串行口从计算机接收编程数据,最终写入PLD。
目前,生产的编程器具有较强的通用性,即可以实现多型号PLD的编程。
二、开发系统的软件
——是指PLD专用的编程语言和相应的汇编程序或编译程序。
分为:
汇编型软件(早期):
要求用化简后的与或逻辑表达式,不具备自动化简功能,兼容性差;
编译型软件(80年代):
输入的源程序多为专用的高级编程语言,如HDL语言、VHDL,有自动化简和优化设计的功能,还具有电路模拟和自动测试等附加功能。
原理收集型软件(80年代后期以来):
用电路原理图输入,需借助开发软件包。
三、PLD的编程步骤
1、实际逻辑问题的逻辑抽象
抽象为逻辑方程、真值表、状态转换图(表);
2、选择PLD的种类和型号
选择PLD时应考虑的因素:
①是否需要改写;
②是组合电路还是时序电路;
③电路的规模(有多少I/O端);
④电路的特点(触发器个数、与项最大数目、是否三态控制,等);
⑤工作速度的要求;
⑥功耗的要求;
⑦是否需要加密,等。
3、选择开发系统
选用的开发系统必须能支持选定器件的开发工作。
目前,我国具有代表性的开发系统有:
ISPSynario系统——是一个套装软件,包括DataI/O的Synayio软件、Lattice的PDS+适配器软件;
Foundation系统——由Xilinx公司提供软件;MAX+PLUSII系统——由Altera公司提供软件;
4、按编程语言的规定格式编写源程序
PLD的编程语言种类很多。
5、上机运行
把源程序输入计算机并运行相应编译程序,产生JEDEC下载文件。
所谓JEDEC
文件是一种由电子器件工程联合会制定的记录PLD编程数据的标准文件格式。
6、卸载
是指JEDEC文件由计算机送给编程器,再由编程器把数据写入PLD中。
7、测试
测试写好数据的PLD的逻辑功能,检查是否达到设计要求。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 07 第七 可编程 逻辑 器件 学时