《可编程逻辑器件优秀PPT.ppt》由会员分享,可在线阅读,更多相关《可编程逻辑器件优秀PPT.ppt(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第八章第八章 可编程逻辑器件可编程逻辑器件8.1 可编程逻辑器件的基本特点可编程逻辑器件的基本特点 数字集成电路从功能上可分为通用型、数字集成电路从功能上可分为通用型、专用型两大类。专用型两大类。利用通用芯片设计困难数字电路时:线利用通用芯片设计困难数字电路时:线路连线多,使电路的牢靠性下降;修改的路连线多,使电路的牢靠性下降;修改的工作量大;保密性差。工作量大;保密性差。专用芯片的优点:体积小、功耗低、牢专用芯片的优点:体积小、功耗低、牢靠性高。缺点:设计制作周期长、成本高。靠性高。缺点:设计制作周期长、成本高。PLD的特点:是一种按通用器件来生产,但的特点:是一种按通用器件来生产,但逻辑功
2、能是由用户通过对器件编程来设定的集成电逻辑功能是由用户通过对器件编程来设定的集成电路。路。一个一个PLD芯片中集成了大量的基本逻辑单元芯片中集成了大量的基本逻辑单元和可编程的连接元件。通过对这些连接元件的编程,和可编程的连接元件。通过对这些连接元件的编程,就可以便利地设计出具有各种不同逻辑功能的专用就可以便利地设计出具有各种不同逻辑功能的专用集成电路。集成电路。优点:成本低、设计周期短、修改便利等。优点:成本低、设计周期短、修改便利等。PLD简单简单PLDPROM(可编程只读存储器,可编程只读存储器,70年代)年代)PLA(可编程逻辑阵列,可编程逻辑阵列,70年代中)年代中)PAL(可编程阵列
3、逻辑,可编程阵列逻辑,70年代末)年代末)GAL(通用阵列逻辑,通用阵列逻辑,80年代中)年代中)复杂复杂PLDCPLDFPGA可编程逻辑器件可编程逻辑器件的分类的分类8.2 可编程逻辑阵列(可编程逻辑阵列(PLA)电路结构:电路结构:一个可编程的一个可编程的与逻辑阵列与逻辑阵列、一个可编程的、一个可编程的或逻辑或逻辑阵列阵列、输入缓冲电路和输出缓冲电路。、输入缓冲电路和输出缓冲电路。PLD门电路的常用画法门电路的常用画法留意:图中两条线交叉点上的留意:图中两条线交叉点上的 表示两条线通过编程相连;表示两条线通过编程相连;交叉点上的交叉点上的 表示两条线之间是硬件连接的。假如交叉点上表示两条线
4、之间是硬件连接的。假如交叉点上没有加注任何连接符号,则表示两条线不相连。没有加注任何连接符号,则表示两条线不相连。1、组合逻辑型的、组合逻辑型的PLAz一个具有一个具有3个输入端、可以产生个输入端、可以产生4个乘积项和个乘积项和3个输出函个输出函数的数的PLA结构图。结构图。z输出缓冲电路由一组三态输出的缓冲器组成。输出缓冲电路由一组三态输出的缓冲器组成。没有存储单元,用于没有存储单元,用于设计组合逻辑电路设计组合逻辑电路2、时序逻辑型、时序逻辑型PLA电路电路z缓冲电路中增加了若干触发器缓冲电路中增加了若干触发器z将这些触发器的状态反馈到可编程的与逻辑阵列上将这些触发器的状态反馈到可编程的与
5、逻辑阵列上课堂练习:题课堂练习:题8.2。解题思路:由于电路只给出解题思路:由于电路只给出6个与项,个与项,因此要将因此要将4个输出的与的项不能超过个输出的与的项不能超过6个。个。分析视察:将分析视察:将Y2、Y3变换一下。变换一下。8.3 可编程阵列逻辑(可编程阵列逻辑(PAL)PAL由可编程的与阵列、由可编程的与阵列、固定固定的或阵列和输入、的或阵列和输入、输出缓冲电路组成。输出缓冲电路组成。8.3.1 PAL的基本结构形式的基本结构形式专用输出结构:输出端只专用输出结构:输出端只能作为逻辑函数的输出端能作为逻辑函数的输出端运用,不能另作它用。运用,不能另作它用。1.可编程输入输出结构可编
6、程输入输出结构8.3.2 PAL的各种输出电路结构的各种输出电路结构 当与逻辑阵列输出的乘积项当与逻辑阵列输出的乘积项P编程为编程为1时,三态缓冲器时,三态缓冲器G1处于正处于正常工作状态,常工作状态,I/O端被设置为输出端;而当端被设置为输出端;而当P编程为编程为0时,三态缓冲时,三态缓冲器器G1处于高阻态,这时处于高阻态,这时I/O端可作为输入端运用,从端可作为输入端运用,从I/O端输入的信端输入的信号经过缓冲器号经过缓冲器G2加到与逻辑阵列上。这样可使器件的引脚得到充分加到与逻辑阵列上。这样可使器件的引脚得到充分的利用。的利用。如:如:PAL16L82.异或输出结构异或输出结构 在与或阵
7、列的输出和三态输出缓冲器之间增加一级在与或阵列的输出和三态输出缓冲器之间增加一级异或门。异或门。当编程结果使得当编程结果使得X=0时,时,Y与与S同相;同相;当编程结果使得当编程结果使得X=1时,时,Y与与S反相。反相。3.寄存器输出结构寄存器输出结构 增加了一些触发器,并将触发器的状态反增加了一些触发器,并将触发器的状态反馈到与逻辑阵列上,以便为时序逻辑电路供馈到与逻辑阵列上,以便为时序逻辑电路供应存储电路。应存储电路。PAL16R4 可以设计组合和可以设计组合和时序逻辑电路时序逻辑电路输出缓冲电路中含有输出缓冲电路中含有4个触发器,且触发器个触发器,且触发器的状态全都反馈到与的状态全都反馈
8、到与阵列上。阵列上。4.可配置输出结构可配置输出结构 输出电路由一组可编程的输出电路由一组可编程的输出逻辑宏单元输出逻辑宏单元(output logic macrocell,OLMC)组成。通过对)组成。通过对OLMC的编的编程,可以将输出电路的结构设置成不同的形式。程,可以将输出电路的结构设置成不同的形式。PAL22V10D 的的OLMC电路结构图电路结构图(a)、()、(c)为寄存器输出结构;)为寄存器输出结构;(b)、()、(d)为输入输出结构。)为输入输出结构。8.4 通用逻辑阵列(通用逻辑阵列(GAL)GAL的设计目标是能将其输出电路设置成的设计目标是能将其输出电路设置成PAL的全部
9、输出电路结构形式,并且能替换同样的全部输出电路结构形式,并且能替换同样规模的各种型号规模的各种型号PAL器件。器件。GAL可视为可视为PAL的改进形式,它将或逻辑阵的改进形式,它将或逻辑阵列合并到了列合并到了OLMC(可编程输出逻辑宏单元)当(可编程输出逻辑宏单元)当中,并增加了中,并增加了OLMC的可编程功能,使之能够设的可编程功能,使之能够设置成置成PAL的全部输出结构形式。的全部输出结构形式。GAL的编程单元接受的编程单元接受E2CMOS工艺,可重复编工艺,可重复编程;而多数程;而多数PAL器件是接受熔丝编程工艺的,不能器件是接受熔丝编程工艺的,不能重复编程。重复编程。GAL16V8的的
10、OLMC数据选择器数据选择器8.5 困难可编程逻辑器件困难可编程逻辑器件(CPLD)由若干可编程的通用逻辑模块(由若干可编程的通用逻辑模块(generic logic block,GLB)、可编程的输入输出模块()、可编程的输入输出模块(input/output block,IOB)和可编程的内部连线组成。)和可编程的内部连线组成。每个每个GLB中包含中包含820个宏单元,规模较大个宏单元,规模较大的的CPLD中可包含中可包含1000多个。多个。GLB中的宏单元中的宏单元GLB类似于一个具有类似于一个具有可配置输出结构可配置输出结构的的PAL电路。电路。CPLDCPLD中的中的中的中的IOBI
11、OB结构结构结构结构 由于由于CPLD中的中的GLB接受的是类似于接受的是类似于PAL的与或逻辑阵的与或逻辑阵列结构,所以在用这些列结构,所以在用这些GLB组成所须要的系统时敏捷性比组成所须要的系统时敏捷性比较差。而且随着较差。而且随着CPLD规模的增加,内部资源的利用率也随规模的增加,内部资源的利用率也随之降低。之降低。为了提高芯片的有效利用率并增加编程的敏捷性,为了提高芯片的有效利用率并增加编程的敏捷性,FPGA接受了另外一种结构形式,即逻辑单元阵列形式。接受了另外一种结构形式,即逻辑单元阵列形式。8.6 现场可编程门阵列(现场可编程门阵列(FPGA)包含若干个可编程包含若干个可编程逻辑模
12、块(逻辑模块(CLB)、)、可编程输入输出模块可编程输入输出模块IOB和一整套的可编和一整套的可编程内部资源。程内部资源。CLB按阵列形式排按阵列形式排列,每个列,每个CLB是一个独是一个独立的电路模块,可以产立的电路模块,可以产生简洁的组合逻辑函数生简洁的组合逻辑函数或时序逻辑函数。或时序逻辑函数。以以Xilinx公司的公司的XC2064为例为例1.可编程逻辑模块可编程逻辑模块CLB芯片中有芯片中有64个个CLB,排列成,排列成8 8的矩阵。的矩阵。2.可编程输入输出模块可编程输入输出模块IOBMUX2的作用:可使信号的输入分为同步和异步两种方式。的作用:可使信号的输入分为同步和异步两种方式
13、。3.内部互连资源内部互连资源SM:可编程的开关矩阵:可编程的开关矩阵 这些开关矩阵相当于这些开关矩阵相当于转接开关,通过编程可以转接开关,通过编程可以有选择地将它的两个引出有选择地将它的两个引出端接通。在每个端接通。在每个CLB的输的输入端和输出端与连线间、入端和输出端与连线间、IOB的输入端与连线间、的输入端与连线间、开关矩阵与连线间均设置开关矩阵与连线间均设置有可编程的连接点,可以有可编程的连接点,可以依据要求将这些连接点编依据要求将这些连接点编程为连接状态或者断开状程为连接状态或者断开状态。态。FPGA的编程方法与的编程方法与CPLD不同:不同:在对在对CPLD编程时,是接受编程时,是
14、接受PROM或或E2PROM技术将技术将每个编程点的编程数据(每个编程点的编程数据(0或或1)写入其中的。而在对)写入其中的。而在对FPGA编程时,编程数据是写入片内的编程时,编程数据是写入片内的RAM中的;每一个编程点中的;每一个编程点的开关状态受的开关状态受RAM中对应的一位数据限制;由于中对应的一位数据限制;由于RAM中的中的数据可以快速地反复写入和擦除,所以即使在工作状态下,数据可以快速地反复写入和擦除,所以即使在工作状态下,也可以通过快速刷新也可以通过快速刷新RAM中的数据重构它的电路结构;而中的数据重构它的电路结构;而且重复编程的次数也几乎没有限制。且重复编程的次数也几乎没有限制。
15、大多数状况下,并不须要在线随时刷新大多数状况下,并不须要在线随时刷新RAM中的数据。中的数据。通常的做法是将编程数据事先存放在一个附加的通常的做法是将编程数据事先存放在一个附加的EPROM中,中,并将它的地址线、数据线、限制端与并将它的地址线、数据线、限制端与FPGA相连。当相连。当FPGA接通电源时,会首先启动内部的限制程序,自动地将接通电源时,会首先启动内部的限制程序,自动地将EPROM中的数据读入中的数据读入FPGA的的RAM中,然后再限制中,然后再限制FPGA进入正常工作状态。进入正常工作状态。FPGA的缺点:的缺点:(1)由由于于所所设设计计的的系系统统可可能能由由不不同同数数目目的
16、的CLB经经过过不不同同的的连连接接线线路路组组成成,所所以以不不同同信信号号到到达达同同一一点点所所经经过过的的传传输输延延迟迟时时间间可可能能不不同同,而而且且事事先先不不能能确确知知。其其结结果果很很可可能能导导致致竞竞争争-冒险现象的发生。冒险现象的发生。(2)由由于于RAM属属于于易易失失性性存存储储器器,断断电电后后所所存存数数据据将将自自动动丢丢失,所以每次起先工作时都须要重新装入编程数据。失,所以每次起先工作时都须要重新装入编程数据。因此,在工作的便捷和牢靠方面因此,在工作的便捷和牢靠方面FPGA不如不如CPLD。早早期期的的PLA、PAL、GAL接接受受的的是是熔熔丝丝型型或
17、或E2PROM编编程程工工艺艺,通通常常须须要要在在专专用用的的编编程程器器上上对对PLD编编程程。而而后后来来的的CPLD接接受受了了在在系系统统可可编编程程(ISP)技技术术,把把编编程程限限制制电电路路也也集集成成在在芯芯片片内内部部,只只需需运运用用电电缆缆和和插插口口将将计计算算机机的的输出接口和输出接口和ISPLD相连就可以了。相连就可以了。硬件描述语言(硬件描述语言(hardware description language,HDL)一种特地用于描述电路逻辑功能的计一种特地用于描述电路逻辑功能的计算机编程语言,能对任何困难的数字电路进算机编程语言,能对任何困难的数字电路进行全面的
18、逻辑功能描述。行全面的逻辑功能描述。VHDL:针对超高速数字集成电路的硬件描述:针对超高速数字集成电路的硬件描述语言语言Verilog HDL:和:和C语言有很多相像之处,它语言有很多相像之处,它有较强的描述底层电路单元的实力。有较强的描述底层电路单元的实力。8.7 PLD编程及硬件描述语言编程及硬件描述语言 对对PLD进行编程就是要设置其中每个可编程元件的进行编程就是要设置其中每个可编程元件的开关状态;全部开关状态;全部PLD的编程工作都是在计算机协助下进的编程工作都是在计算机协助下进行的。行的。厂商厂商软件系统名称软件系统名称适用器件系列适用器件系列输入方式输入方式AMDLatticesy
19、narioMACHGAL、ispLSI、PLSI等等原原理理图图、ABEL、VHDL文文本等本等LatticeispEXPERTIspLSI、PLSI等等原理图、原理图、VHDL文本等文本等ALTERAMAX+PLUSMAX、FLEX等等原原理理图图、波波形形图图、VHDL、AHDL文本等文本等XILINXFOUNDATIONXC各系列等各系列等原理图、原理图、VHDL文本等文本等ACTELACTEL DesignerSX和和MX等等原理图、原理图、VHDL等等AMDMicrosimMACH等等原理图等原理图等ALTERAQuartusMAX、FLEX、APEX等等原原理理图图、波波形形图图、VHDL、Verilog AHDL文本等文本等XILINXALLIANCEXILINX各种各种CPLD、FPGA 图图形形、VHDL等等多多种种HDL文文本本可编程逻辑器件设计电路过程如下图所示可编程逻辑器件设计电路过程如下图所示设设计计输输入入编编译译综综合合仿仿真真验验证证数数据据下下载载 器时器时 件序件序 功检功检 能查能查设计人员完成设计人员完成 电电 路路 设设 计计