第八章 可编程逻辑器件 本章的重点: 本章的难点: 1.PLD的基本特征,分类以及每种类型的特点; 第八章 可编程逻辑器件 本章的重点: 1.PLD的基本特征,分类以及每种类型的特点; 2.用PLD设计逻辑电路的过程和需要用的开发工具。 本章的重点在于介绍PLD的特点和应用,PLD内部的详细结构和工作过程不是教学重点。 本章的难点: 在本章的重点内容中基本没有难点。但在讲授PLD开发工具时,如能与实验课配合,结合本校实验室配备的开发工具讲解更好。
第八章 可编程逻辑器件 概述 第一节 可编程逻辑器件PLD概述 第二节 可编程逻辑阵列PLA(略) 第三节 可编程阵列逻辑(PAL) 第八章 可编程逻辑器件 概述 第一节 可编程逻辑器件PLD概述 第二节 可编程逻辑阵列PLA(略) 第三节 可编程阵列逻辑(PAL) 第四节 通用阵列逻辑(GAL) 第五节 可擦除可编程逻辑器件(EPLD) 第六节 现场可编程门阵列(FPGA)
通用集成电路:如前面讲过的SSI,MSI,PIO,CPU等。特点: 1.可实现予定制的逻辑功能,但功能相对简单; 概述 一、数字集成电路按逻辑功能分类 目前集成电路分为通用型和专用型两大类。 通用集成电路:如前面讲过的SSI,MSI,PIO,CPU等。特点: 1.可实现予定制的逻辑功能,但功能相对简单; 2. 构成复杂系统时,功耗大、可靠性差,灵活性差。 3.用户不可编程。 专用型集成电路(ASIC)分为定制型和半定制型。特点: (一)定制型:由用户提出功能,交工厂生产。其特点是 1.体积小、功耗低、可靠性高, 2.批量小时成本高,设计制造周期长。 (二)半定制型:是厂家作为通用产品生产,而逻辑功能由用户自行编程设计的ASIC芯片。如可编程逻辑器件(PLD)。其特点是 1.用户可编程,可加密,因此使用方便; 2.组成的系统体积小,功耗低,可靠性高,集成度高; 3. 适合批量生产。
传统的数字系统设计方法是“固定功能集成块+连线”,见图。 二、电子设计自动化(EDA-Electronic Design Automation)简介 1.PLD是实现电子设计自动化的硬件基础: 传统的数字系统设计方法是“固定功能集成块+连线”,见图。 EDA是“基于芯片的设计方法”: 传统电子系统设计方法 基于芯片的设计方法 可编程器件 固定功能元件 芯 片 设 计 电路板的设计 电路板的设计 电 子 系 统 电 子 系 统 当然,仅有硬件还不够,还要有EDA软件。本章只介绍硬件。
2.基于PLD设计流程 基于可编程逻辑器件设计分为三个步骤:设计输入、设计 实现、编程。其设计流程如下图。 器 件 编 程 功能仿真 设计输入 原理图 硬件描述语言 设计实现 优化 合并、映射 布局、布线 器件测试 时 序 仿 真 设计实现:生成下载所需的各种文件。 器件编程:即“下载”和“配置”,即将编程数据放到具体的可编程 器件中。
3.用PLD设计数字系统的特点 采用PLD设计数字系统和中小规模相比具有如下特点: (1) 减小系统体积:单片PLD有很高的密度,可容纳中小规模集成电路的几片到十几片。(低密度PLD小于700门/片,高密度PLD每片达数万门,最高达25万门)。 (2) 增强逻辑设计的灵活性:使用PLD器件设计的系统,可以不受标准系列器件在逻辑功能上的限制;用户可随时修改。 (3) 缩短设计周期:由于可完全由用户编程,用PLD设计一个系统所需时间比传统方式大为缩短;
(4) 提高系统处理速度:用PLD与或两级结构实现任何逻辑功能,比用中小规模器件所需的逻辑级数少。这不仅简化了系统设计,而且减少了级间延迟,提高了系统的处理速度; (5) 降低系统成本:由于PLD集成度高,测试与装配的量大大减少。PLD可多次编程,这就使多次改变逻辑设计简单易行,从而有效地降低了成本; (6) 提高系统的可靠性:用PLD器件设计的系统减少了芯片数量和印制板面积,减少相互间的连线,增加了平均寿命, 提高抗干扰能力,从而增加了系统的可靠性; (7)系统具有加密功能:多数PLD器件,如GAL或高密度可编程逻辑器件,本身具有加密功能。设计者在设计时选中加密项,可编程逻辑器件就被加密。器件的逻辑功能无法被读出,有效地防止电路被抄袭。
第一节 可编程逻辑器件PLD概述 PLD是70年代发展起来的新型逻辑器件,相继出现了 PROM、FPLA、PAL、GAL、EPLD 和 FPGA及iSP 等。前四种属于低密度PLD,后三种属高密度PLD。 可直接 输出 它们组成结构基本相似: PLD主体 一、PLD的基本结构 与门 阵列 或门 乘积项 和项 输入 电路 输入信号 互补 输出 输出函数 也可反馈到输入 反馈输入信号
二、PLD的逻辑符号表示方法 1. 输入缓冲器表示方法 A 2. 与门和或门的表示方法 PLD具有较大的与或阵列,逻辑图 的画法与传统的画法有所不同。 A B C D F2 A B C D F1 × 编程连接 固定连接 F1=A•B•C F2=B+C+D
2.也可简单地在对应的与门中画叉,因此E=D=0。 下图列出了连接的三种特殊情况: 1.输入全编程,输出为0。 须解释F=1的道理 2.也可简单地在对应的与门中画叉,因此E=D=0。 3.乘积项与任何输入信号都没有接通,相当与门输出为1。
下图给出最简单的PROM电路图,右图是左图的简化形式。 编程连接点 (或) 固定连接点 (与) 实现的函数为:
PLD基本结构大致相同,根据与或阵列是否可编程分为三类: (1)与固定、或编程:PROM (2)与或全编程:FPLA (3)与编程、或固定:PAL、GAL、EPLD、FPGA 1. 与固定、或编程:(PROM) 全译码 连接点编程时,需画一个叉。 A B C 0 0 0 0 0 1 0 1 0 1 1 1
在这种结构中,与阵列可编程,或阵列中每个或门所连接的乘积项是固定的,见下页图。其中EPLD和FPGA的结构还要复杂得多,我们将在后面介绍。 2. 与、或全编程: 代表器件是FPLA(Programmable Logic Array)(略) 3. 与编程、或固定:代表器件PAL(Programmable Array Logic) 和GAL(Generic Array Logic) EPLD、FPGA (Field Programmable Gate Array )。 在这种结构中,与阵列可编程,或阵列中每个或门所连接的乘积项是固定的,见下页图。其中EPLD和FPGA的结构还要复杂得多,我们将在后面介绍。
与阵列可编程,或阵列不可编程的PLD。 每个交叉点都可编程。 由于或阵列固定,以后将只画出或门 O1为两个乘积项之和。 O1
四、PLD的分类(按集成度分类) 可编程逻辑器件PLD LDPLD (低密度 PLD) HDPLD (高密度PLD) PROM FPLA PAL GAL EPLD FPGA iSP
第三节 可编程阵列逻辑器件(PAL) PAL采用双极型熔丝工艺,工作速度较高(10-35ns)。 PAL是由可编程的与阵列、固定的或阵列和输出电路三部分组成。有些PAL器件中,输出电路包含触发器和从 触发器输出端到与阵列的反馈线,便于实现时序逻辑电路。同一型号的PAL器件的输入、输出端个数固定。本节介绍PAL的五种基本结构。 PAL的基本结构 PAL器件的型号很多,它的典型输出结构通常有五种,其余的结构是在这五种结构基础上变形而来。
1. 专用输出结构 四个乘积项通过 或非门低电平输出。 输入信号 四个乘积项 如输出采用或门,为高电平有效PAL器件。 1. 专用输出结构 四个乘积项通过 或非门低电平输出。 输入信号 四个乘积项 I I 如输出采用或门,为高电平有效PAL器件。 若采用互补输出的或门,为互补输出器件。 一个输入
两个输入,一个来自外部I,另一来自反馈I/O。 当最上面的乘积项为高电平时,三 态门开通,I/O可作为输出或反馈;乘积 项为低电平时,三态门关断,作为输入。 可编程I/O结构如下图所示。 8个乘积项 两个输入,一个来自外部I,另一来自反馈I/O。
3. 寄存器型输出结构:也称作时序结构,如下图所示。 CP和输出使能OE是PAL的公共端 8个乘积项 输出使能OE 或门的输出通过D触发器, 在CP的上升沿时到达输出。 触发器的反相端反馈回与 阵列,可构成时序逻辑电路 触发器的Q端可以 通过三态缓冲器 送到输出引脚
4. 带异或门的寄存器型输出结构: 两个或项在触发器的输入 端异或之后,在时钟上升 沿到来时存入触发器内 把与项分割 成两个或项 增加了一 个异或门 有些PAL器件是由数个同一结构类型组成,有的则是由不同类型结构混合组成。 如由8个寄存器型输出结构组成的PAL器件命名为PAL16R8,由8个可编程I/O结构组成的PAL器件则命名为PAL16L8。
5. 运算选通反馈输出结构: 运算选通反馈结构 反馈选通电路 的输入变量B A+B A+B A+B A+B 反馈选通结构的反馈量再接 至与逻辑阵列作为输入变量 反馈选通电路 的反馈变量A
用途:利用反馈结构的反馈量编程可在与阵列的输出端产生 A和B的16种运算结构。 见下表: 1 A+B A B A B A B A A B A⊙ B B A+B
第四节 通用阵列逻辑GAL器件 采用E2CMOS工艺和灵活的输出结构,有电擦除、可反复编程的特性。 与PAL相比,GAL的输出结构配置了可以任意组态的输出逻辑宏单元OLMC(Output Logic Macro Cell)。因此,同一型号的GAL器件可满足多种不同的需要。 补:“二 PAL的应用” 见原稿
GAL和PAL在结构上的区别见下图: PAL结构 适当地为 OLMC进行 编程,GAL 就可以在功 能上代替前 面讨论过的 PAL各种输 出类型以及 其派生类型 GAL结构 图标号去掉:好了
一.GAL器件的结构 GAL器件型号定义和PAL一样根据输入输出的数量来确定,GAL16V8中的16表示器件的输入端数量,8表示输出端数量,V则表示输出形式可以改变的普通型 GAL16V8的基本结构(下图) 一个共用时钟CLK 8个输出缓冲器 8个输出反馈缓冲器 8个OLMC 8个输入缓冲器
输出逻辑宏单元OLMC 由或门、异或门、D触发器、多路选择器MUX、时钟控制、使能控制和编程元件等组成,如下图: 二 GAL输出逻辑宏单元OLMC的组成 输出逻辑宏单元OLMC 由或门、异或门、D触发器、多路选择器MUX、时钟控制、使能控制和编程元件等组成,如下图: 组合输出 1 逻辑图中注明与非门,或非门汉字. 时序输出
三 . 输出逻辑宏单元OLMC组态 输出逻辑宏单元由对AC1(n) 和AC0进行编程决定PTMUX、TSMUX、OMUX和FMUX的输出,共有5种基本组态: 专用输入组态、专用输出组态、复合输入/输出组态、寄存器组态和寄存器组合I/O组态。8个宏单元可以处于相同的组态,或者有选择地处于不同组态。 (1) 专用输入组态 :如下图所示: 此时AC1(n)=1,AC0=0,使TSMUX输出为0,三态输出缓冲器的输出呈现高电阻,本单元输出功能被禁止, I/O可以作为输入端,提供给相邻的逻辑宏单元。 本级输入信号却来自另一相邻宏单元。
(2) 专用组合输出组态【AC0=0,AC1(n)=0】:如下图所示: PTMUX选择1,第一与项送入或门 TSMUX选择VCC 1 我修改的注释框放映后不消失.并且与其他框重叠.:没有此现象了 OMUX选择0,跨过DFF FMUX选择接地,本单元和相邻单元的反馈信号均被阻断
(3) 寄存器组态:当AC1(n)=0,AC0=1时,如下图所示。 CLK、OE作为时钟和输出缓冲器的使能信号,是器件的公共端(TSMUX选中OE端) OMUX选中1端,DFF的Q端输出 FMUX选中DFF的Q端
(4)反馈组合输出组态:AC0=AC1(n)=1,且SYN=1 和专用输出组态比,有两点不同: 1.三态门使能端接第一与项; 2.输出信号反馈到与阵列。 (5)时序电路中的组合输出AC0=AC1(n),且SYN=0 这时其他OLMC中至少有一个工作在寄存器组态,而该OLMC作为组合电路使用。 与(4)不同在于CLK和OE端作为公共信号使用。 GAL的输入,输出电路和特性留给同学自学。
四、GAL的特点 (一)优点: GAL是继PAL之后具有较高性能的PLD,和PAL相比,具有以下优点: (1) 有较高的通用性和灵活性:它的每个逻辑宏单元可以根据需要任意组态,既可实现组合电路,又可实现时序电路。 (2) 利用率高:GAL采用电可擦除CMOS技术,可以用电压信号擦除并可重新编程。因此,可反复使用。 (3) 高性能的E2COMS工艺:使GAL的高速度、低功耗,编程数据可保存20年以上。
二、GAL器件的缺点 (1)时钟必须共用; (2)或的乘积项最多只有8个; (3)GAL器件的规模小,达不到在单片内集成一个数字系统的要求; (4)尽管GAL器件有加密的功能,但随着解密技术的发展,对于这种阵列规模小的可编程逻辑器件解密已不是难题。 EPLD、FPGA等高密度可编程逻辑器件出现后,上述缺点都得到克服。
第五节 可擦除的可编程 逻辑器件EPLD 一、EPLD的特点 1.EPLD(Erasable Programmable Logic Device)。分为两类:一类是紫外线可擦除的EPLD(采用UVEPROM工艺),另一类是电可擦除EPLD(采用E2PROM工艺)。 2.EPLD采用COMS工艺,属高密度可编程逻辑器件HDPLD(集成度大于1000门/片),芯片规模已达上万等效逻辑门。可以实现功能相当复杂的数字系统。 3.速度高(2ns)、功耗低(电流在数十毫安以下),抗干扰能力强。 4.具有在系统编程能力,不用编程器,使用方便,可靠性高。 5.与GAL相比,从结构上增加了: 异步时钟、异步清除功能。可实现异步时序电路。 乘积项共享功能,每个宏单元可多达32个乘积项, 输出级多种使能控制,而且三态输出使能控制比GAL要丰富。
二、在系统编程芯片(isp)EPM7128S的基本结构 I.在系统编程芯片EPM7128S的引脚图 TMS、TDI、TDO 和TCK是在系统编 程引脚 它有4个直接 输入(INPUT) 是Altera公司生产的高密度、高性能 CMOS可编程逻辑器件之一,PLCC 封装84端子 放映需顺序调整:调整了 64个I/O 既可以作为输入端也可为输出端
8个相似的逻辑阵列块LAB(Logic Array Block) II、EPM7128S器件结构图 可编程的I/O控制块可控制每个I/O 引脚单独为三种工作方式: 输入、输出和双向 8个相似的逻辑阵列块LAB(Logic Array Block) 每个LAB中有16个宏单元 此芯片有128个宏单元 EPM7128S组成: LAB逻辑阵列块 PIA可编程内联 矩阵 I/O控制块 芯片内部的 所有单元都 是通过内连 矩阵PIA连接起来
“可编程寄存器”使EPLD宏单元中的触发器比 GAL的功能更强、更灵活: 1.可编程实现D、T、JK或RS触发器 2.可编程时钟控制方式 (一)宏单元(MacroCell) “乘积项选择矩阵”用于分配乘积项: 1.到或门和异或门实现组合函数 2.到宏单元触发器的辅助输入端: 清除端(Clear) 置位端(Preset) 时钟端(Clock) “可编程寄存器”使EPLD宏单元中的触发器比 GAL的功能更强、更灵活: 1.可编程实现D、T、JK或RS触发器 2.可编程时钟控制方式 3.可编程异步、同步时序电路 “与逻辑阵列”实现组合逻辑函数中的乘积项。每个宏单元提供5个乘积项。它与GAL的宏单元相比,信号中增加了16根扩展乘积项,大大增强了实现组合函数的能力。 宏单元模块组成: 与逻辑阵列 乘积项选择矩阵 可编程寄存器 Global Clock Clear 36 个可编程 互连信号 16个扩展乘积项 去 I/O 控制块 7000 有两个全局时钟 乘积项 选择 矩阵 VCC D ENA PRn CLRn Q 清零 信号 Clock使能控制端 可旁路寄存器 共享逻辑 的扩展 来自其他逻辑 单元的并行扩展 去 PIA 可编程寄存器 需修改
(二)扩展乘积项 EPM7128S结构中提供的扩展乘积项有两种: 共享扩展乘积项 并联扩展乘积项 共享扩展乘积项是由每个宏单元 提供一个未投入使用的乘积项。 每个LAB有16个宏单元,因此有 16个共享扩展乘积项。 功能:大多数逻辑函数由5个乘积 项之和就可以实现。这样用一个宏 单元即可。对于复杂的逻辑函数, 需要附加乘积项能实现。 1.共享扩展乘积项: 共享扩展项为同一LAB内 的任意或全部宏单元共享。
2.并联扩展乘积项: 并联扩展乘积项是一些宏单元没有使用的乘积项可以分配到邻近单元使用。 使有的宏单元最多可达20个乘积项,而这其中5个乘积项由本宏单元提供 ,其他15个并联扩展乘积项是由邻近的宏单元提供的。 并联扩展乘积项 的传送通道
(三)可编程内连矩阵PIA(Programmable Interconnection Array) 专用输入引脚 I/O引脚 宏单元的输出 编程单元:它控制两输入端 的与门是否传送对应的PIA 信号去LAB,实现软开关作用。
(四)I/O控制块 EMP7128S的每个I/O引脚允许三种工作方式: 1.输入方式 2.输出方式 3.双向工作方式 三态门有多种使能信号,使三态控制更灵活。 这些信号包括:Vcc,GND,I/O信号,宏单 元信号输出,及专用输入信号。 使能信号选择矩阵 三态缓冲
第六节 现场可编程门阵列FPGA 前面讨论的可编程逻辑器件基本组成部分是与阵列、或阵列和输出电路。再加上触发器则可实现时序电路。 本节介绍的FPGA(Field Programmable Gate Array)不像PLD那样受结构的限制,它可以靠门与门的连接来实现任何复杂的逻辑电路,更适合实现多级逻辑功能。 陆续推出了新型的现场可编程门阵列FPGA。功能更加丰富,具有基本逻辑门电路、传输外部信号的输入/输出电路和可编程内连资源之外,还具有很高的密度等等。
一、现场可编程门阵列FPGA结构 FPGA的编程单元是基于静态存储器(SRAM)结构,从理论上讲,具有无限次重复编程的能力 下面介绍XILINX公司的XC4000E系列芯片,了解FPGA内部各个模块的功能,见下图: 可配置逻辑模 块CLB 输入/输出 模块I/OB 编程开关 矩阵PSM 可编程连 线PI
四、现场可编程门阵列FPGA的特点 (一)SRAM结构:可以无限次编程,但它属于易失性元件,掉电后芯片内信息丢失;通电之后,要为FPGA重新配置逻辑,FPGA配置方式有七种,请读者参考有关文献。 (二)内部连线结构:HDPLD的信号汇总于编程内连矩阵,然后分配到各个宏单元,因此信号通路固定,系统速度可以预测。而FPGA的内连线是分布在CLB周围,而且编程的种类和编程点很多,使得布线相当灵活,因此在系统速度方面低于HDPLD的速度。 (三)芯片逻辑利用率:由于FPGA的CLB规模小,可分为两个独立的电路,又有丰富的连线,所以系统综合时可进行充分的优化,以达到逻辑最高的利用。 (四)芯片功耗:高密度可编程逻辑器件HDPLD的功耗一般在0.5W~2.5W之间,而FPGA芯片功耗0.25mW~5mW,静态时几乎没有功耗,所以称FPGA为零功耗器件。
举例 一、BCD码求补电路——求[x补]10 解: [x补]10=10 – x [x补]15=15 – x 进位 [x补]15 可用逐位求反法得到。例如 [1010补]15=0101。加11可用四位加法器实现;减16,实际是舍掉加法器的进位。
四位加法器 BCD七段译码器 舍掉进位
二、扫描电路 a b c d e f g h S2 S1 S0 BCD七段译码器 A B C D S2 四个八选一 数据选择器 74151 八进制计数器 S1 S0 CP (扫描时钟 50Hz以上) A0~A7 B0~B7 C0~C7 D0~D7
8段数码管位置编号 3 2 1 0 7 6 5 4 S2=1 S2=0
返回26 返回27 返回28