可编程逻辑器件基础讲稿.ppt
关于可编程逻辑器件基础第一页,讲稿共三十八页哦概述概述 从逻辑器件的功能和使用方法看,最初的逻辑器件全部采用标准通用片,后来发展到采用现场片和用户片。通用片通用片的功能是器件厂制造时定死的,用户只能拿来使用而不能改变其内部功能。通用片有门、触发器、多路开关、加法器、寄存器、计数器、译码器等逻辑器件和随机读写存储器件。用户片用户片是完全按用户要求设计的VLSI器件。它对用户来讲是优化的,但是设计周期长,设计费用高,通用性低,销售量少。用户片一般称为专用集成电路(ASIC),但是它也向通用方向发展。由于通用片和全用户片的使用范围有限,20世纪70年代以后陆续出现了用户可在现场更改其内容(功能)的现场片现场片,如EPROM,FPLA,PAL,GAL,FPGA等一类可编程逻辑器件,通称为PLD器件。它们规整通用,适合采用高集成度技术,因此,在数字系统中得到了迅速的应用。第二页,讲稿共三十八页哦可编程逻辑器件基础 低密度的PLD器件的基本框图如图1.1所示,它由输入缓冲、与阵列、或阵列、输出缓冲等四部分功能电路组成。根据与门阵列、或门阵列和输出结构的不同,低密度的PLD可分为四种基本类型:PROM,FPLA,PAL,GAL。数据输入输入缓冲与阵列或阵列输出缓冲数据输出图1.1 PLD的基本框图第三页,讲稿共三十八页哦说明一PLD的基本结构可编程逻辑器件基础组成功能输入功能输入缓冲器产生输入变量的原变量和反变量与阵列与门阵列产生输入变量的与项(乘积项)或阵列或门阵列将与阵列输出的乘积项有选择的进行或运算,形成与或式,实现函数输出功能 三态门 寄存器产生输出信号,提供反馈信号第四页,讲稿共三十八页哦1连接 硬线连接断开连接接通连接.二PLD的有关逻辑约定可编程逻辑器件基础第五页,讲稿共三十八页哦 二PLD的有关逻辑约定2缓冲器A输入B=AC=A输出可编程逻辑器件基础第六页,讲稿共三十八页哦 二PLD的有关逻辑约定ABCDPLD的表示法ADB C表达式为:D=ABC3与门传统表示法可编程逻辑器件基础第七页,讲稿共三十八页哦4或门D=A+B+CA B CD.表达式为:二PLD的有关逻辑约定可编程逻辑器件基础第八页,讲稿共三十八页哦例题1DABB_A_ABDB_A_D=AABB=0_简化表示表达式为:可编程逻辑器件基础第九页,讲稿共三十八页哦_ _ _.分析:O1=AB O2=AB O3=0O=O1+O2=AB+AB=AOB=AOB+例题2ABOO1O3O2可编程逻辑器件基础第十页,讲稿共三十八页哦可编程逻辑器件的发展70年代初期的PLD 主要是可编程只读存储器(PROM)和可编程逻辑阵列(PLA)。在PROM中,与门阵列是固定的,或门阵列是可编程的;器件采用熔断丝工艺,一次性编程使用。70年代末期的PLD 出现了可编程阵列逻辑(PAL)器件。在PAL器件中,与门阵列是可编程的,或门阵列是固定连接的,它有多种输出和反馈结构,为数字逻辑设计带来了一定的灵活性。但PAL仍采用熔断丝工艺,一次性编程使用。第十一页,讲稿共三十八页哦可编程逻辑器件的发展80年代中期的PLD 通用阵列逻辑(GAL)器件问世,并取代了PAL。GAL器件是在PAL器件基础上发展起来的新一代器件。和PAL一样,它的与门阵列是可编程的,或门阵列是固定的。但由于采用了高速电可擦CMOS工艺,可以反复擦除和改写,很适宜于样机的研制。它具有CMOS低功耗特性,且速度可以与TTL可编程器件相比。特别是在结构上采用了“输出逻辑宏单元”电路,为用户提供了逻辑设计和使用上的较大灵活性。80年代中后期的PLD 80年代后期问世的FPGA(现场可编程门阵列)器件,FPGA属于较高密度的PLD器件。FPGA的基本结构有两类:一类是在PAL基础上加以改进和扩展形成的;另一类是逻辑单元型,逻辑单元之间是互联阵列。这些资源可由用户编程。第十二页,讲稿共三十八页哦PLDPLD的分类及特点的分类及特点PROM-可编程存储器PLA-可编程逻辑阵列PAL-可编程阵列逻辑GAL-通用可编程阵列逻辑FPGA-现场可编程门阵列ispLSI-在系统可编程大规模集成电路PLD第十三页,讲稿共三十八页哦PLDPLD的分类及特点的分类及特点 只读存储器(ROM)有掩模式ROM,PROM,EPROM,E2PROM,EAROM,FLASH等形式,是非易失性存储器。这类存储器可靠性高,一般用来存放固定的程序或数据。现场可编程逻辑阵列(FPLA)的与阵列和或阵列均可编程,可以实现组合逻辑和时序逻辑。可编程阵列逻辑(PAL)的结构和FPLA相似,也由与阵列及或阵列两部分组成,其中与阵列可编程,或阵列固定。通用阵列逻辑(GAL)是80年代中期在PAL的基础上发展起来的器件,GAL器件是一种电擦除的可编程器件,特别适合于研制开发阶段使用。第十四页,讲稿共三十八页哦PLDPLD的分类及特点的分类及特点 现场可编程门阵列(FPGA)是90年代中后期发展起来的一种可编程的大规模集成器件,它既有门阵列的结构和性能,又具有现场可编程的特点,而且可以反复地擦除和重新编程,适用于ASIC的研制。FPGA的体系结构核心是可组态的逻辑块。PLD器件自20世纪70年代发明以来,从熔丝型到光擦除型;到80年代又发展成为点擦除型;到90年代则进一步发展成为在系统编程型。在系统编程(ISP),是指用户具有在自己设计的目标系统中或线路板上为重构逻辑而对逻辑器件进行编程或反复改写的能力。ISP为用户提供了传统的PLD技术无法达到的灵活性,带来了巨大的时间效益和经济效益,是可编程逻辑技术的实质性飞跃,因此被称为PLD设计技术的一次革命。第十五页,讲稿共三十八页哦ISPISP技术的特点技术的特点 ISP器件的出现,全面实现了硬件设计与修改的软件化,使得数字系统的设计面貌焕然一新。也就是说,硬件设计变得像软件一样易于修改,硬件的功能可以随时进行修改,或按预定程序改变组态进行重构。这不仅扩展了器件的用途,缩短了系统调试周期,而且还根除了对器件单独编程的环节,省去了器件编程设备,简化了目标设备的现场维护和升级工作。第十六页,讲稿共三十八页哦ISPISP技术的特点技术的特点 传统的样机设计,首先根据功能选定某种重要逻辑构件,进行系统级逻辑设计,电路板设计,装配调试。如果要增减逻辑或修改逻辑,必须首先推倒原来设计的电路板,再重新设计新的电路板,之后再进行装配调试,直至样机设计工作完毕。当采用ISP器件进行设计时,可把上述重要部件全部安放在样机板上,然后再用可编程逻辑器件和可编程开关器件按预定功能将其联系起来。若要改变设计,无论是增减还是修改逻辑,都能够通过设计工具软件在数分钟内完成。重构的逻辑通过一根五芯编程电缆从计算机写入到样机板上的ISP器件之中。这种无需改动元器件或印制电路板就可修改系统功能的特点是ISP技术的优点之一。由于ISP技术能够在不取下器件的情况下直接在线路板上重新编程,直接在芯片上对设计进行修改与验证,从而允许一些无法预料的逻辑变动在设计过程中能够早日确定,因此可大大缩短系统的设计、调试周期,是一种全新的设计方法,并支持设计方案的保密。第十七页,讲稿共三十八页哦ISPISP技术的特点技术的特点ISP器件的设计流程图图1.2 ISP器件的设计流程图第十八页,讲稿共三十八页哦ISPISP逻辑器件系列逻辑器件系列 美国Lattice公司是世界上第一片GAL的诞生地。近年来,该公司在高密度可编程逻辑器件(HDPLD)的研制方面取得很大进展。特别是90年代发明并率先推出的ISP技术,开拓了新一代的PLD。Lattice公司已将ISP技术应用到HDPLD中,形成ispLSI系列高密度在系统可编程逻辑器件。ispLSI器件是最早问世的ISP器件,它既有可编程逻辑器件PLD的性能与特点,又有现场可编程逻辑阵列PGA的高密度和灵活性。其系统速度可达135MHZ,逻辑集成密度可达25000门以上,是先进的HDPLD。ispLSI器件能够满足对高性能系统逻辑的需求,广泛适用于数据处理、通信、图形处理、空间技术、军事装备、工业控制和测量仪器等领域。它强有力的结构能够实现各种逻辑功能,其中包括寄存器、计数器、多路选择器、译码器和复杂状态机。目前Lattice公司生产的ispLSI器件有六个系列:1000系列,2000系列,3000系列,5000V系列,6000系列,8000系列。第十九页,讲稿共三十八页哦ISPISP逻辑器件系列逻辑器件系列ispLSIl000系列系列 系统工作频率:12580MHz 引脚至引脚延迟(最大值):7.515ns PLD门密度:20008000 封装:44脚至128脚PLCC,TQEP,JLCC,PQFP或CPGAispLSIl000系列中1016、1024、1032的性能参数性能参数ispLSI 1016ispLSI 1024ispLSI 1032等效门数200040006000最高工作频率fmax(MHz)1109090传输时延tqd(ns)101012宏单元数6496128触发器数96144192输入与I/O数365472第二十页,讲稿共三十八页哦ISPISP逻辑器件系列逻辑器件系列 下面以ispLSI 1032器件为例,说明其特点与性能。(1)速度指标:ispLSI 1032有128个宏单元,最高工作频率fmax为90Mhz,传输时延tpd为12ns。(2)同步时钟:每个器件有3个时钟,既可以从外部时钟端输入,又可以由内部时钟电路产生。(3)输入寄存器锁存器:每个I/O单元均有一个输入寄存器锁存器。(4)对锁定引脚的布线灵活性:对锁定引脚的布线比较灵活,宏单元输出通过输出布线区能够连到不同的引脚上。(5)制作工艺:采用E2CMOS工艺制作,有可重新编程能力,有小于1s的快速擦除能力,而且在出厂前可100地进行测试。第二十一页,讲稿共三十八页哦 ispLSI系列器件是基于与或阵列结构的复杂PLD产品。芯片由若干个巨块组成,巨块之间通过全局布线区GRP连起来,每个巨块包括若干个通用逻辑块GLB、输出布线区ORP、若干个I/O引脚和专用输入引脚。例如:ispLSI 1032芯片有84个引脚,其中64个是I/O引脚,集成密度为6000个等效门,每片含68个触发器和64个锁存器,管脚与管脚延迟为12ns,系统最高工作频率为90MHz。ispLSI1032的功能框图和引脚图。ispLSIispLSI器件的结构器件的结构第二十二页,讲稿共三十八页哦ispLSI1032的功能框图和引脚图。图1.3 ispLSI 1032总体结构图第二十三页,讲稿共三十八页哦ispLSIispLSI器件的结构器件的结构1.1.全局布线区全局布线区GRPGRP 出全局布线区GRP位于芯片的中央。它以固定的方式将所有片内逻辑联系在一起,供设计者使用,和通用总线的功能是一致的。其特点是其输入输出之间的延迟是恒定的和可预知的。例如:110MHz档级的芯片在带有4个GLB负载时其延迟时间为0.8ns,和输入、输出的位置无关。这个特点使片内互连性非常完善,使用者可以很方便地实现各种复杂的设计。2.2.通用逻辑块通用逻辑块 GLBGLB 通用逻辑块GLB是ispLSI器件的最基本逻辑单元,紧挨GRP四边的小方块,标示为A0,A1,,A7;B0,B1,B7等,每边8块,共32块。它由与阵列、乘积项共享阵列、四输出逻辑宏单元和控制逻辑组成。第二十四页,讲稿共三十八页哦ispLSIispLSI器件的结构器件的结构3.3.布线区布线区 1.内部结构内部结构 ORP是介于GLB和输入输出单元IOC之间的可编程互连阵列,阵列的输入是8个GLB的32个输出端,而阵列的16个输出则分别与该侧的16个IOC相连。2.ORP的功能的功能 通过对ORP的编程,可以将任一个GLB的输出灵活地送到16个I/O端的某一个。由于IOC和GLB之间没有一对一关系,因而可以将GLB的编程和对外部引脚的排列分开进行。这一特点使得在不改变外部引脚排列的情况下可以修改芯片内部的逻辑设计。在ORP旁边还有16条通向中央布线区GRP的输入总线。I/O单元可以使用,GLB的输出也可以通过ORP使用它,从而方便地实现了I/O端复用的功能和GLB之间的互连。有时为了高速工作,GLB输出跨过ORP直接与I/O单元直接相连。第二十五页,讲稿共三十八页哦ispLSIispLSI器件的结构器件的结构4.4.输入输出单元输入输出单元IOCIOC 输入输出单元是ispLSI1016总框图中最外层的小方块,共有32个。I/O单元的用途是:将输入信号、输出信号、输入输出双向信号与具体的I/O管脚相连接,从而构成输入、输出、三态输出的双向I/O口。IOC中的触发器有两种工作方式:一是锁存方式,触发器在时钟信号低电平时锁存;二是寄存器方式,在时钟信号上升沿时将信号打入。两种方式通过R/L端编程来确定。I/O单元的各种工作组态元的各种工作组态 输入组态:包括输入缓冲、锁存输入、寄存器输入。输出组态:包括输出缓冲、反向输出缓冲、三态输出缓冲。双向组态:包括双向I/O、带有寄存器的双向I/O。第二十六页,讲稿共三十八页哦ispLSIispLSI器件的结构器件的结构5.5.巨块巨块 1.巨块的组成巨块的组成 巨块是GLB及其对应的ORP、IOC等的总称。不同类别、不同型号的ispLSI器件,其主要区别在于构成芯片的巨块数各不相同。例如ispLSI1016有两个巨块,1032有4个巨块,1048有6个巨块。一个巨块包含8个GLB,16个I/O口,2个专用输入端。专用输入端不是经过锁存器而是直接输入的,在软件自动分配下为本巨块内的GLB使用。2.输出使能的公共乘积项输出使能的公共乘积项OE 用于输出使能的公共乘积项OE,是本巨块中某个GLB的19号乘积项产生的。利用它作为本巨块所有16个I/O单元公用的OE信号,8个GLB分别产生8个OE信号,由八选一OEMUX选出,连接到这个巨块的16个I/O单元中,同时使能16个三态输出缓冲器,从而避免了每个需要三态输出的GLB都要各自产生OE信号。第二十七页,讲稿共三十八页哦6.6.时钟设置网络时钟设置网络CDNCDN 时钟分配网络随器件不同而异。ispLSI1032的时钟分配网络柜产生5个全局时钟信号:CLK0,CLK1,CLK2,IOCLK0,IOCLK1。其中CLK0,CLK1,CLK2三个同步时钟信号可供所有的通用逻辑块GLB使用。IOCLK0,IOCLK1可用于所有的IO单元,供IO寄存器使用。其输入信号由4个专用时钟输入引脚Y0,Y1,Y2,Y3提供。其中Y1兼有时钟功能。这些输入可被直接连到任意的GLB,或者IO单元。但应注意的是,时钟网络的输入也可以是通用逻辑块GLB的4个输出,以便生成内部时钟电路。这内部时钟电路是由用户自己定义的。例如将外加主时钟由Y0送入,作为全局时钟CLK0,GLB输出O0,O1,O2,O3,顺次产生分频信号,连接这些信号到CLK1,CLK2,IOCLK0,IOCLK1时钟线上,生成内部时钟电路,这时其他GLB或IO单元便可以在比外部输入主时钟较低频率的节拍上工作。ispLSIispLSI器件的结构器件的结构第二十八页,讲稿共三十八页哦在系统编程原理和方法在系统编程原理和方法 ISP技术的特点是可以不用编程器,用户直接在自己设计的目标系统中或线路板上对PLD器件进行编程。可以先装配后编程,成为产品后还可以反复编程。1.1.在系统编程原理在系统编程原理 1.编程(写入)原理 在系统编程与普通编程的基本操作一样,都是逐行编程。由于器件是插在目标系统中或线路板上的,各端口与实际的电路相连,编程时系统处于工作状态,因而在系统编程的最关键问题就是编程时如何与外系统脱离。ispLSI器件有两种工作模式,即正常模式正常模式和编辑模式编辑模式。工作模式的选择是用在系统编程使能信号ispEN来控制:当使能信号ispEN为高电平时,器件处于正常模式;当ispEN为低电平时,器件所有I/O端的三态缓冲电路皆处于高阻状态,内部100k上拉电阻发挥作用,从而切断了芯片与外电路的联系,避免了编程芯片与外电路的相互影响。第二十九页,讲稿共三十八页哦 2.五个编程接口 ispLSI器件有五个编程接口,用来实现对器件的写入操作。它们是:ispEN:编程使能端。当ispEN为高电平时,器件处于正常模式。当ispEN为低电平时,器件处于编程模式,器件所有I/O端的三态门皆处于高阻状态,从而切断了芯片与外电路的联系,避免了编程芯片与外电路的相互影响。SDI:串行数据输入端。在编程模式下,SDI完成两种功能:一是作为串行移位寄存器的输入;二是作为编程状态机的一个控制信号。MODE:方式控制信号端。MODE为低时,SDI作为串行移位寄存器的输入;MODE为高时,SDI作为控制信号。SDO:串行数据输出端。将水平移位寄存器的输出反馈给计算机,对编程数据进行校验。SCLK:串行时钟输入端。它用来提供串行移位寄存器和片内时序机的时钟信号。在系统编程原理和方法在系统编程原理和方法第三十页,讲稿共三十八页哦 3.编程状态机 编程状态机编程状态机实质上是一个专用的编程控制器。对某一行的编程过程有以下三步操作:第一,按地址和命令将JEDEC文件中的数据自SDI端串行输入数据寄存器;第二,将编程数据写进E2CMOS逻辑单元;第三,将写入的数据自SDO移出进行校验。同一行数据寄存器分为高段位和低段位,它们的编程是靠不同的命令分别进行的。对整个芯片的编程还有许多其他操作,如整体擦除或部分(GLB,GRP,IOC等)擦除,保密位编程,将GLB或IOC中寄存器组态成串行移位寄存器等。所有这些操作,都必须在计算机的命令下按一定顺序进行,因此在ispLSI中安排了一个编程状态机来控制编程操作。在系统编程原理和方法在系统编程原理和方法第三十一页,讲稿共三十八页哦2.ISP2.ISP器件的编程方式器件的编程方式 1.利用PC机的I/O端口编程 对ISP器件的编程可利用PC机进行。如下图所示,利用PC机并行口可向用户目标板提供编程信号的环境,它利用一条编程电缆将确定的编程信号(SDI、MODE、SDO、SCLK、ispEN)提供给ISP器件。该电缆是一根7芯传输线,除了5根信号线外,还有一根地线和对目标板电源的检测线。在系统编程原理和方法在系统编程原理和方法第三十二页,讲稿共三十八页哦 2.多芯片多芯片ISP编程编程 并联方式 如果一块电路板上装有多块ISP器件,可对它们总的安排一个接口即可。下图是一种并联方式,各ISP器件的4个编程控制信号并行接在一起,但信号对各器件分别使能,使它们逐个进入编程状态。在这种情况下,处于正常模式下的器件仍可继续完成正常的系统工作,而处于编程模式下的器件则处于编程状态。在系统编程原理和方法在系统编程原理和方法第三十三页,讲稿共三十八页哦 串联方式 下图是一种串联方式,称为菊花链结构,其特点是各种不同芯片共用一套ISP编程接口。每片的SDI输入端和前面一片的SDO输出端相连,最前面一片的SDI端和最后一片的SDO端与ISP编程接口相连,构成一个类似移位寄存器的链形结构。链中的器件数可以很多,只要不超过接口的驱动能力即可。在系统编程原理和方法在系统编程原理和方法第三十四页,讲稿共三十八页哦 各器件的编程状态机受MODE和SDI信号控制。当MODE为高电平时,器件内的移位寄存器被短路,SDI直通SDO端,由接口送出的控制信号可以从一个器件传到下一个器件。使各个器件的状态机同时处于闲置状态、移位状态或执行状态。至于每个器件执行什么操作,则由各器件所接收的指令来决定。当MODE为低电平时,各器件中的移位寄存器都嵌入菊花链中,相互串联在一起,可以将指令或数据从SDI输入,移位传送到此链中的某一位置。也可以将某一器件读出的数据经此链移位送到最后一个器件的SDO端,供校验使用。用户对某个器件编程时,应知道该器件在链中的位置。每种ISP器件都有一个8位识别码,只要将这些识别码装入移位寄存器,通过移位传递送入计算机即可。在系统编程原理和方法在系统编程原理和方法第三十五页,讲稿共三十八页哦PLDPLD编程文件格式编程文件格式 1.JEDEC文件的由来文件的由来 J Joint E Electron D Device E Engineering C Council(电子器件工程联合会)制定了PLD数据交换的标准JEDEC格式文件,对PLD器件编程时加以限制。根据该文件,将PLD器件中的某些编程点烧断,某些编程点保留,使编程后的器件能够完成特定的逻辑功能这是编写PLD文件所必须遵守的,这样便于PLD之间的数据交换,也便于使用通用编程器。在系统编程原理和方法在系统编程原理和方法第三十六页,讲稿共三十八页哦 2.JEDEC文件格式文件格式 JEDEC文件的格式是用和矩阵表示PLD的编程点,表示编程连接,表示不连接。例1111111100000000000000001110101111111101*I3I2I1I0P1P2P3P4P5O15;043;122;31_PPPIIPIP对于与阵列来讲,P5使输出O始终为1,这是不可取的!分析:在系统编程原理和方法在系统编程原理和方法第三十七页,讲稿共三十八页哦感谢大家观看感谢大家观看第三十八页,讲稿共三十八页哦