1 / 29

第八章 可编程逻辑器件

第八章 可编程逻辑器件. 8.1 可编程逻辑器件的基本特点. 数字集成电路从功能上可分为 通用型、专用型 两大类。 利用通用芯片设计复杂数字电路时:线路连线多,使电路的可靠性下降;修改的工作量大;保密性差。 专用芯片的优点:体积小、功耗低、可靠性高。缺点:设计制作周期长、成本高。. PLD 的特点:是一种按通用器件来生产,但逻辑功能是由用户通过对器件编程来设定的集成电路。 一个 PLD 芯片中集成了大量的基本逻辑单元和可编程的连接元件。通过对这些连接元件的编程,就可以方便地设计出具有各种不同逻辑功能的专用集成电路。

tavi
Download Presentation

第八章 可编程逻辑器件

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第八章 可编程逻辑器件 8.1 可编程逻辑器件的基本特点 数字集成电路从功能上可分为通用型、专用型两大类。 利用通用芯片设计复杂数字电路时:线路连线多,使电路的可靠性下降;修改的工作量大;保密性差。 专用芯片的优点:体积小、功耗低、可靠性高。缺点:设计制作周期长、成本高。

  2. PLD的特点:是一种按通用器件来生产,但逻辑功能是由用户通过对器件编程来设定的集成电路。PLD的特点:是一种按通用器件来生产,但逻辑功能是由用户通过对器件编程来设定的集成电路。 一个PLD芯片中集成了大量的基本逻辑单元和可编程的连接元件。通过对这些连接元件的编程,就可以方便地设计出具有各种不同逻辑功能的专用集成电路。 优点:成本低、设计周期短、修改方便等。

  3. PROM(可编程只读存储器,70年代) PLA(可编程逻辑阵列,70年代中) 简单PLD PAL(可编程阵列逻辑,70年代末) GAL(通用阵列逻辑,80年代中) PLD CPLD 复杂PLD FPGA 可编程逻辑器件的分类

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

  5. PLD门电路的常用画法 注意:图中两条线交叉点上的表示两条线通过编程相连;交叉点上的表示两条线之间是硬件连接的。如果交叉点上没有加注任何连接符号,则表示两条线不相连。

  6. 1、组合逻辑型的PLA • 一个具有3个输入端、可以产生4个乘积项和3个输出函数的PLA结构图。 • 输出缓冲电路由一组三态输出的缓冲器组成。 没有存储单元,用于设计组合逻辑电路

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

  8. 课堂练习:题8.2。 解题思路:由于电路只给出6个与项,因此要将4个输出的与的项不能超过6个。分析观察:将Y2、Y3变换一下。

  9. 8.3 可编程阵列逻辑(PAL) PAL由可编程的与阵列、固定的或阵列和输入、输出缓冲电路组成。 8.3.1 PAL的基本结构形式 专用输出结构:输出端只能作为逻辑函数的输出端使用,不能另作它用。

  10. 8.3.2 PAL的各种输出电路结构 1. 可编程输入输出结构 当与逻辑阵列输出的乘积项P编程为1时,三态缓冲器G1处于正常工作状态,I/O端被设置为输出端;而当P编程为0时,三态缓冲器G1处于高阻态,这时I/O端可作为输入端使用,从I/O端输入的信号经过缓冲器G2加到与逻辑阵列上。这样可使器件的引脚得到充分的利用。 如:PAL16L8

  11. 2. 异或输出结构在与或阵列的输出和三态输出缓冲器之间增加一级异或门。 当编程结果使得X=0时,Y与S同相; 当编程结果使得X=1时,Y与S反相。

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

  13. PAL16R4 输出缓冲电路中含有4个触发器,且触发器的状态全都反馈到与阵列上。 可以设计组合和时序逻辑电路

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

  15. (a)、(c)为寄存器输出结构; (b)、(d)为输入输出结构。

  16. 8.4 通用逻辑阵列( GAL) GAL的设计目标是能将其输出电路设置成PAL的所有输出电路结构形式,并且能替换同样规模的各种型号PAL器件。 GAL可视为PAL的改进形式,它将或逻辑阵列合并到了OLMC(可编程输出逻辑宏单元)当中,并增强了OLMC的可编程功能,使之能够设置成PAL的所有输出结构形式。 GAL的编程单元采用E2CMOS工艺,可重复编程;而多数PAL器件是采用熔丝编程工艺的,不能重复编程。

  17. GAL16V8的OLMC 数据选择器

  18. 8.5 复杂可编程逻辑器件(CPLD) 由若干可编程的通用逻辑模块(generic logic block,GLB)、可编程的输入输出模块(input/output block,IOB)和可编程的内部连线组成。

  19. GLB中的宏单元 GLB类似于一个具有可配置输出结构的PAL电路。 每个GLB中包含8~20个宏单元,规模较大的CPLD中可包含1000多个。

  20. CPLD中的IOB结构 由于CPLD中的GLB采用的是类似于PAL的与或逻辑阵列结构,所以在用这些GLB组成所需要的系统时灵活性比较差。而且随着CPLD规模的增加,内部资源的利用率也随之降低。 为了提高芯片的有效利用率并增强编程的灵活性,FPGA采用了另外一种结构形式,即逻辑单元阵列形式。

  21. 8.6 现场可编程门阵列(FPGA) 包含若干个可编程逻辑模块(CLB)、可编程输入输出模块IOB和一整套的可编程内部资源。 CLB按阵列形式排列,每个CLB是一个独立的电路模块,可以产生简单的组合逻辑函数或时序逻辑函数。

  22. 以Xilinx公司的XC2064为例1. 可编程逻辑模块CLB 芯片中有64个CLB,排列成88的矩阵。

  23. 2. 可编程输入输出模块IOB MUX2的作用:可使信号的输入分为同步和异步两种方式。

  24. 3. 内部互连资源 SM:可编程的开关矩阵 这些开关矩阵相当于转接开关,通过编程可以有选择地将它的两个引出端接通。在每个CLB的输入端和输出端与连线间、IOB的输入端与连线间、开关矩阵与连线间均设置有可编程的连接点,可以根据要求将这些连接点编程为连接状态或者断开状态。

  25. FPGA的编程方法与CPLD不同: 在对CPLD编程时,是采用PROM或E2PROM技术将每个编程点的编程数据(0或1)写入其中的。而在对FPGA编程时,编程数据是写入片内的RAM中的;每一个编程点的开关状态受RAM中对应的一位数据控制;由于RAM中的数据可以快速地反复写入和擦除,所以即使在工作状态下,也可以通过快速刷新RAM中的数据重构它的电路结构;而且重复编程的次数也几乎没有限制。 大多数情况下,并不需要在线随时刷新RAM中的数据。通常的做法是将编程数据事先存放在一个附加的EPROM中,并将它的地址线、数据线、控制端与FPGA相连。当FPGA接通电源时,会首先启动内部的控制程序,自动地将EPROM中的数据读入FPGA的RAM中,然后再控制FPGA进入正常工作状态。

  26.  FPGA的缺点: (1)由于所设计的系统可能由不同数目的CLB经过不同的连接线路组成,所以不同信号到达同一点所经过的传输延迟时间可能不同,而且事先不能确知。其结果很可能导致竞争-冒险现象的发生。 (2)由于RAM属于易失性存储器,断电后所存数据将自动丢失,所以每次开始工作时都需要重新装入编程数据。 因此,在工作的便捷和可靠方面FPGA不如CPLD。 早期的PLA、PAL、GAL采用的是熔丝型或E2PROM编程工艺,通常需要在专用的编程器上对PLD编程。而后来的CPLD采用了在系统可编程(ISP)技术,把编程控制电路也集成在芯片内部,只需使用电缆和插口将计算机的输出接口和ISPLD相连就可以了。

  27. 8.7 PLD编程及硬件描述语言 对PLD进行编程就是要设置其中每个可编程元件的开关状态;所有PLD的编程工作都是在计算机辅助下进行的。 硬件描述语言(hardware description language,HDL) 一种专门用于描述电路逻辑功能的计算机编程语言,能对任何复杂的数字电路进行全面的逻辑功能描述。 VHDL :针对超高速数字集成电路的硬件描述语言 Verilog HDL:和C语言有很多相似之处,它有较强的描述底层电路单元的能力。

  28. 厂商 软件系统名称 适用器件系列 输入方式 AMD Lattice synario MACHGAL、ispLSI、PLSI等 原理图、ABEL、VHDL文本等 Lattice ispEXPERT IspLSI、PLSI等 原理图、VHDL文本等 ALTERA MAX、FLEX等 原理图、波形图、VHDL、AHDL文本等 MAX+PLUSⅡ XILINX XC各系列等 原理图、VHDL文本等 FOUNDATION ACTEL ACTEL Designer SX和MX等 原理图、VHDL等 AMD Microsim MACH等 原理图等 ALTERA Quartus MAX、FLEX、APEX等 原理图、波形图、VHDL、Verilog AHDL文本等 XILINX ALLIANCE XILINX各种 CPLD、FPGA 图形、VHDL等多种HDL文本

  29. 可编程逻辑器件设计电路过程如下图所示 设计人员完成 电 路 设 计 设 计 输 入 编 译 综 合 仿 真 验 证 数 据 下 载 器时 件序 功检 能查

More Related