第6章可编程逻辑器件._第1页
第6章可编程逻辑器件._第2页
第6章可编程逻辑器件._第3页
第6章可编程逻辑器件._第4页
第6章可编程逻辑器件._第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第六章第六章 可编程逻辑器件可编程逻辑器件本章概要:本章介绍本章概要:本章介绍PLA、PAL、GAL、CPLD、EPLD和和FPGA等各种类型可编程逻辑器件的电路结构、工作原理和使等各种类型可编程逻辑器件的电路结构、工作原理和使用方法,并介绍可编程逻辑器件的编程方法。用方法,并介绍可编程逻辑器件的编程方法。知识要点:知识要点: (1)可编程逻辑器件的分类。)可编程逻辑器件的分类。 (2)可编程逻辑器件的结构及特性。)可编程逻辑器件的结构及特性。 (3)可编程逻辑器件的编程方法。)可编程逻辑器件的编程方法。 7.1 可编程逻辑器件的基本原理可编程逻辑器件的基本原理 PROM是始于是始于1970年

2、出现第一块可编程逻辑器件年出现第一块可编程逻辑器件PLD(Programmable Logic Device),随后可编程逻辑),随后可编程逻辑器件又陆续出现了器件又陆续出现了PLA、PAL、GAL、EPLD及现阶段的及现阶段的CPLD和和FPGA等。可编程逻辑器件的出现,不仅改变了传等。可编程逻辑器件的出现,不仅改变了传统的数字系统设计方法,而且促进了统的数字系统设计方法,而且促进了EDA技术的高速发展。技术的高速发展。EDA技术是以计算机为工具,代替人去完成数字系统设计技术是以计算机为工具,代替人去完成数字系统设计中各种复杂的逻辑综合、布局布线和设计仿真等工作。设计中各种复杂的逻辑综合、布

3、局布线和设计仿真等工作。设计者只需用硬件描述语言完成对系统功能的描述,就可以由计者只需用硬件描述语言完成对系统功能的描述,就可以由计算机软件自行完成处理,得到设计结果。利用算机软件自行完成处理,得到设计结果。利用EDA工具进工具进行设计,可以极大地提高设计的效率。行设计,可以极大地提高设计的效率。 7.1.1 可编程逻辑器件的分类可编程逻辑器件的分类 可编程逻辑器件的密度分类可编程逻辑器件的密度分类低密度可编程逻辑低密度可编程逻辑器件器件( (LDPLD) )高密度可编程逻辑高密度可编程逻辑器件器件( (HDPLD) )可编程逻辑器件可编程逻辑器件(PLD)PROMPLAPALGALEPLDC

4、PLDFPGA1 按集成密度分类按集成密度分类可编程逻辑器件从集成密度上可分为低密度可编程逻辑可编程逻辑器件从集成密度上可分为低密度可编程逻辑器件器件LDPLD和高密度可编程逻辑器件和高密度可编程逻辑器件HDPLD两类。两类。LDPLD 通常是指早期发展起来的、集成密度小于通常是指早期发展起来的、集成密度小于1000门门/片左右的片左右的PLD如如ROM、PLA、PAL和和GAL等等。HDPLD包括可擦除可编程逻辑器件包括可擦除可编程逻辑器件EPLD(Erasable Programmable Logic Device)、复杂可编程逻辑器件)、复杂可编程逻辑器件CPLD(Complex PLD

5、)和)和FPGA三种,其集成密度大于三种,其集成密度大于1000门门/片。如片。如Altera公司的公司的EPM9560,其密度为,其密度为12000门门/片,片,Lattice公司的公司的pLSI/ispLSI3320为为14000门门/片等。目前集成度片等。目前集成度最高的最高的HDPLD可达可达5亿晶体管亿晶体管/片片以上。以上。 2. 按编程方式分类按编程方式分类可编程逻辑器件的编程方式分为两类:一次性编程可编程逻辑器件的编程方式分为两类:一次性编程OTP(One Time Programmable)器件和可多次编程)器件和可多次编程MTP(Many Time Programmable

6、)器件。)器件。OTP器件是属于一次性使用的器件,只允许用户对器器件是属于一次性使用的器件,只允许用户对器件编程一次,编程后不能修改,其优点是可靠性与集成度高,件编程一次,编程后不能修改,其优点是可靠性与集成度高,抗干扰性强。抗干扰性强。MTP器件是属于可多次重复使用的器件,允许用户对器件是属于可多次重复使用的器件,允许用户对其进行多次编程、修改或设计,特别适合于系统样机的研制其进行多次编程、修改或设计,特别适合于系统样机的研制和初级设计者的使用。和初级设计者的使用。 根据各种可编程元件的结构及编程方式,可编程逻辑器件根据各种可编程元件的结构及编程方式,可编程逻辑器件通常又可以分为四类:通常又

7、可以分为四类: 采用一次性编程的熔丝(采用一次性编程的熔丝(Fuse)或反熔丝()或反熔丝(Antifuse)元)元件的可编程器件,如件的可编程器件,如PROM、PAL和和EPLD等。等。 采用紫外线擦除、电可编程元件,即采用采用紫外线擦除、电可编程元件,即采用EPROM、UVCMOS工艺结构工艺结构(即指(即指EEPROM工艺结构工艺结构)的可多次编程的可多次编程器件。器件。 采用电擦除、电可编程元件。其中一种是采用电擦除、电可编程元件。其中一种是E2PROM,另一,另一种是采用快闪存储器单元(种是采用快闪存储器单元(Flash Memory)结构的可多次编)结构的可多次编程器件。程器件。

8、基于基于查找表基于基于查找表LUT、静态存储器、静态存储器SRAM工艺的可多次编工艺的可多次编程器件。目前多数程器件。目前多数FPGA是基于是基于SRAM结构的可编程器件。结构的可编程器件。3. 按结构特点分类按结构特点分类 PLDPLD按结构特点分为阵列型按结构特点分为阵列型PLD和现场可编程门阵列型和现场可编程门阵列型FPGA两大类。两大类。阵列型阵列型PLD的基本结构由与阵列和或阵列组成。简单的基本结构由与阵列和或阵列组成。简单PLDPLD(如(如PROMPROM、PLAPLA、PALPAL和和GALGAL等)、等)、EPLDEPLD和和CPLDCPLD都属于阵列都属于阵列型型PLDPL

9、D。 现场可编程门阵列型现场可编程门阵列型FPGA具有门阵列的结构形式,它具有门阵列的结构形式,它有许多可编程单元(或称逻辑功能块)排成阵列组成,称为有许多可编程单元(或称逻辑功能块)排成阵列组成,称为单元型单元型PLD。 由于历史的原因,可编程逻辑器件的分类没有一个由于历史的原因,可编程逻辑器件的分类没有一个统一的标准。按其结构的复杂程度及性能的不同。可编程统一的标准。按其结构的复杂程度及性能的不同。可编程逻辑器件一般可分为四种:逻辑器件一般可分为四种:SPLD、CPLD、FPGA及及ISP器件。器件。 1简单可编程逻辑器件(简单可编程逻辑器件(SPLD) 简 单 可 编 程 逻 辑 器 件

10、简 单 可 编 程 逻 辑 器 件 SP L D( Si mpl e Programmable Logic Device)是可编程逻辑器件)是可编程逻辑器件的早期产品。最早出现在的早期产品。最早出现在20世纪世纪70年代,主要是年代,主要是可编程只读存储器(可编程只读存储器(PROM)、可编程逻辑阵列)、可编程逻辑阵列(PLA)、可编程阵列逻辑()、可编程阵列逻辑(PAL)及通用阵列)及通用阵列逻辑(逻辑(GAL)器件等。简单)器件等。简单PLD的典型结构是由的典型结构是由与阵列及或阵列组成的,能有效实现以与阵列及或阵列组成的,能有效实现以“乘积和乘积和”为形式的布尔逻辑函数。为形式的布尔逻辑

11、函数。 2复杂可编程逻辑器件(复杂可编程逻辑器件(CPLD) 复杂可编程逻辑器件复杂可编程逻辑器件CPLD(Complex Programmable Logic Device)出现在)出现在20世纪世纪80年代末期。其结构上不同于早期年代末期。其结构上不同于早期SPLD的逻辑的逻辑门编程,而是采用基于乘积项技术和门编程,而是采用基于乘积项技术和E2PROM(或(或Flash)工艺的逻辑块编程,不但能实现)工艺的逻辑块编程,不但能实现各种时序逻辑控制,更适合做复杂的组合逻辑各种时序逻辑控制,更适合做复杂的组合逻辑电路。如电路。如Altera公司的公司的MAX系列,系列,Lattice公司公司的大

12、部分产品,的大部分产品,Xilinx公司的公司的XC9500系列等。系列等。 3现场可编程门阵列(现场可编程门阵列(FPGA) 现场可编程门阵列现场可编程门阵列FPGA(Field Programmable Gate Array)是由美国)是由美国Xilinx(赛灵思)公司率先开发的一种(赛灵思)公司率先开发的一种通用型用户可编程器件。通用型用户可编程器件。FPGA与与SPLD和和CPLD的结构完的结构完全不同,它不包括与门和或门,目前应用最多的全不同,它不包括与门和或门,目前应用最多的FPGA是是采用对基于查找表技术和采用对基于查找表技术和SRAM工艺的逻辑块编程来实现工艺的逻辑块编程来实现

13、所需的逻辑功能的。同所需的逻辑功能的。同CPLD相比,它的逻辑块的密度更相比,它的逻辑块的密度更高、触发器更多、设计更灵活,多用于大规模电路的设计,高、触发器更多、设计更灵活,多用于大规模电路的设计,尤其更适合做复杂的时序逻辑。但由于尤其更适合做复杂的时序逻辑。但由于FPGA采用的是采用的是SRAM工艺,掉电后数据会丢失,因此实际应用时还须外工艺,掉电后数据会丢失,因此实际应用时还须外挂一个挂一个E2PROM或或Flash Memory来存储编程数据。典型来存储编程数据。典型的器件如的器件如Altera公司的所有公司的所有FLEX、ACEX、APEX、Cyclone(飓风)、(飓风)、Stra

14、tix系列,系列,Xilinx的的Spartan、Virtex系列等。系列等。4在系统可编程逻辑器件(在系统可编程逻辑器件(ISP) 在系统可编程逻辑器件在系统可编程逻辑器件ISP(In-System Programmable PLD ,通常简称通常简称ISP-PLD)是)是1992年由美国的年由美国的Lattice(莱(莱迪思)公司率先推出的。它是一种采用了在系统可编程技迪思)公司率先推出的。它是一种采用了在系统可编程技术的术的PLD,与传统编程技术的最大区别是它不使用编程器,与传统编程技术的最大区别是它不使用编程器,而是通过下载电缆与计算机直接相连,用户在自己设计的而是通过下载电缆与计算机

15、直接相连,用户在自己设计的目标系统中直接对器件编程。这种全新的设计方法可以使目标系统中直接对器件编程。这种全新的设计方法可以使可编程逻辑器件先装配后编程,成为产品后还可以反复编可编程逻辑器件先装配后编程,成为产品后还可以反复编程,使生产维护和系统更新都发生了革命性的变化。程,使生产维护和系统更新都发生了革命性的变化。 在系统编程是使用一根下载电缆一端连在计算机的并在系统编程是使用一根下载电缆一端连在计算机的并行打印口上,另一端接在装配了可编程逻辑器件的行打印口上,另一端接在装配了可编程逻辑器件的PCB板板上的插头中(目前大都使用上的插头中(目前大都使用JTAG口),早期的口),早期的PLD是不

16、是不支持支持ISP技术的,目前的技术的,目前的CPLD、FPGA都支持都支持ISP技术可技术可实现在线编程。实现在线编程。主要主要CPLD/FPGA产品:产品:复杂可编程逻辑器件(复杂可编程逻辑器件(CPLD) 复杂可编程器件复杂可编程器件CPLD是随着用户对可编程器是随着用户对可编程器件的集成度要求不断提高的形式下发展起来的,件的集成度要求不断提高的形式下发展起来的,其基本结构与其基本结构与PAL/GAL相仿,是基于与或阵列的相仿,是基于与或阵列的乘积项结构,但集成度要高得多。乘积项结构,但集成度要高得多。CPLD大都是由大都是由E2PROM和和Flash工艺制造的,可反复编程,一上工艺制造

17、的,可反复编程,一上电就可以工作,无须其他芯片配合。采用这种结电就可以工作,无须其他芯片配合。采用这种结构的商用构的商用CPLD的芯片较多,其性能也各有特点的芯片较多,其性能也各有特点. Altera 公司是全球最大的公司是全球最大的CPLD和和FPGA供应商供应商之一,它的之一,它的PLD器件和开发软件在国内应用的非器件和开发软件在国内应用的非常广泛,本节将以常广泛,本节将以Altera 公司应用较为广泛的公司应用较为广泛的MAX7000系列器件为例来介绍系列器件为例来介绍CPLD的基本结构的基本结构和原理。和原理。1 Altera 公司公司MAX7000系列简介系列简介 MAX7000系列

18、是高密度、高性能的系列是高密度、高性能的CMOS CPLD,是在,是在Altera公司的第二代公司的第二代MAX结构基础上构结构基础上构成,采用了成,采用了CMOS E2PROM 技术制造的,技术制造的,MAX7000系列系列CPLD包括了从含有包括了从含有32个宏单元的个宏单元的7032到含有到含有512个宏单元的个宏单元的7512一系列芯片。同时它一系列芯片。同时它又可细分为四个品种又可细分为四个品种 : MAX7000MAX7000EMAX7000SMAX7000A MAX7000系列可以用于混合电压的系统中,系列可以用于混合电压的系统中,其开发系统主要是其开发系统主要是Altera公司

19、的公司的MAX+PLUSII及及QuartusII软件。软件。MAX7000E在在MAX7000的基础上增加了一些特性,的基础上增加了一些特性,如附加全局时钟信号、附加输出使能控制、增加连如附加全局时钟信号、附加输出使能控制、增加连线资源和快速的输入寄存器等;线资源和快速的输入寄存器等;MAX7000S在在MAX7000E的基础上又增加了的基础上又增加了ISP在在系统可编程技术、系统可编程技术、JTAG边界扫描测试和开漏输出边界扫描测试和开漏输出选择等特性;选择等特性;MAX7000A在在MAX7000S的基础上又增强了的基础上又增强了ISP性性能包括快速编程的能包括快速编程的ISP算法,确保

20、全部编程的算法,确保全部编程的ISP工工作位和在系统编程期间作位和在系统编程期间I/O脚上的上拉电阻等。脚上的上拉电阻等。 由内部结构图可以看出,由内部结构图可以看出,MAX7000CPLD主要主要分为三个部分:宏单元分为三个部分:宏单元Macrocell,可编程连线,可编程连线PIA(Programmable Interconnect Array)和)和I/O控制块。控制块。宏单元是宏单元是CPLD的基本结构的基本结构,由它来实现基本的逻辑由它来实现基本的逻辑功能,功能,16个宏单元组成一个逻辑阵列块个宏单元组成一个逻辑阵列块LAB(Logic Array Block)。可编程连线)。可编程

21、连线PIA负责信号负责信号的传递,连接所有的宏单元。的传递,连接所有的宏单元。I/O控制块负责输入控制块负责输入输出的电气特性控制,比如可以设定集电极开路输输出的电气特性控制,比如可以设定集电极开路输出,三态输出等。出,三态输出等。MAX7000宏单元基本结构宏单元基本结构 3. 宏单元(宏单元(MACROCELL) 宏单元是宏单元是MAX7000CPLD的基本结构,它能够的基本结构,它能够单独地配置为时序逻辑和组合逻辑工作方式。宏单单独地配置为时序逻辑和组合逻辑工作方式。宏单元由三个功能块组成:逻辑阵列、乘积项选择矩阵元由三个功能块组成:逻辑阵列、乘积项选择矩阵和可编程触发器。其具体结构见和

22、可编程触发器。其具体结构见x下图所示,图中左下图所示,图中左侧是逻辑阵列又叫乘积项阵列,实际就是一个与或侧是逻辑阵列又叫乘积项阵列,实际就是一个与或阵列,每一个交叉点都是一个可编程熔丝,如果导阵列,每一个交叉点都是一个可编程熔丝,如果导通就是实现通就是实现“与与”逻辑。后面的乘积项选择矩阵是逻辑。后面的乘积项选择矩阵是一个一个“或或”阵列。两者一起完成组合逻辑。图右侧阵列。两者一起完成组合逻辑。图右侧是一个可编程是一个可编程D触发器,它的时钟,清零输入都可触发器,它的时钟,清零输入都可以编程选择,可以使用专用的全局清零和全局时钟,以编程选择,可以使用专用的全局清零和全局时钟,也可以使用内部逻辑

23、(乘积项阵列)产生的时钟和也可以使用内部逻辑(乘积项阵列)产生的时钟和清零。如果不需要触发器,也可以将此触发器旁路,清零。如果不需要触发器,也可以将此触发器旁路,信号直接输出给信号直接输出给PIA或输出到或输出到I/O脚。脚。 对于一个简单的组合或时序电路,只需要一对于一个简单的组合或时序电路,只需要一个宏单元就可以完成它的逻辑功能,但对于一个个宏单元就可以完成它的逻辑功能,但对于一个复杂的电路,一个宏单元是不可能实现的,这是复杂的电路,一个宏单元是不可能实现的,这是就需要通过并联扩展项和共享扩展项将多个宏单就需要通过并联扩展项和共享扩展项将多个宏单元相连,宏单元的输出也可以连接到可编程连线元

24、相连,宏单元的输出也可以连接到可编程连线阵列,再作为另一个宏单元的输入。这样阵列,再作为另一个宏单元的输入。这样CPLD就可以实现更复杂的逻辑功能了。就可以实现更复杂的逻辑功能了。 现场可编程门阵列(现场可编程门阵列(FPGA) 现场可编程门阵列现场可编程门阵列FPGA是是20世纪世纪80年代出现的年代出现的一种新型可编程逻辑器件。它由若干独立的可编程一种新型可编程逻辑器件。它由若干独立的可编程逻辑模块组成,用户可以通过编程将这些模块连接逻辑模块组成,用户可以通过编程将这些模块连接成所需要的数字系统。因为这些模块的排列形式和成所需要的数字系统。因为这些模块的排列形式和门阵列(门阵列(Gate

25、Array)中单元的排列形式相似,所)中单元的排列形式相似,所以沿用了门阵列的名称。以沿用了门阵列的名称。FPGA属高密度的属高密度的PLD,其集成度非常高,多用于大规模逻辑电路的设计。其集成度非常高,多用于大规模逻辑电路的设计。 商用的商用的 FPGA是基于查找表是基于查找表LUT(Look-Up Table)技术)技术和和SRAM工艺的工艺的FPGA,它使用的最为,它使用的最为广泛,也是我们学习的重点,本节还是以广泛,也是我们学习的重点,本节还是以Altera 公公司的基于司的基于LUT技术和技术和SRAM工艺的工艺的FLEX10K系列系列器件为例来介绍器件为例来介绍FPGA的基本结构和原

26、理。的基本结构和原理。 4输入与门LUT(LookingUp Table) 由于LUT主要适合SRAM工艺生产,所以目前大部分FPGA都是基于SRAM工艺的,而SRAM工艺的芯片在掉电后信息就会丢失,一定需要外加一片专用配置芯片,在上电的时候。由这个专用配置芯片把数据加载到FPGA中,然后FPGA就可以正常工作,由于配置时间很短,不会影响系统正常工作。也有少数FPGA采用反熔丝或Flash工艺,对这种FPGA,就不需要外加专用的配置芯片。 目前广泛使用的FPGA大多是基于查找表LUT结构的,LUT本质上就是一个RAM。目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有4位地址线

27、161的RAM。当用户通过原理图或HDL语言描述了一个逻辑电路以后,FPGA的开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM,这样每输入一个信号进行逻辑计算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。现场可编程门阵列(现场可编程门阵列(FPGA) 1 Altera 公司公司FLEX10K系列简介系列简介 FLEX10K是是Altera公司公司1995年推出的一个新的产品系年推出的一个新的产品系列,并首次集成了嵌入式存储块,可为用户提供多达列,并首次集成了嵌入式存储块,可为用户提供多达24KB的片内的片内RAM,以满足存储器密集型应用的需要。,以满足存储器密

28、集型应用的需要。FLEX10K系列系列FPGA包括了从包括了从10K10到到10K250一系列芯片,一系列芯片,它们分别提供了它们分别提供了1万到万到25万个门,其结构类似于嵌入式门万个门,其结构类似于嵌入式门阵列,每个阵列,每个FLEX10K器件包括一个嵌入式阵列和一个逻器件包括一个嵌入式阵列和一个逻辑阵列。嵌入式阵列用来实现各种不同的存储功能或复杂辑阵列。嵌入式阵列用来实现各种不同的存储功能或复杂的逻辑功能。如数字信号处理、微控制器、宽数据路径处的逻辑功能。如数字信号处理、微控制器、宽数据路径处理和数据传输功能。逻辑阵列完成与门阵列中的门海一样理和数据传输功能。逻辑阵列完成与门阵列中的门海

29、一样的功能的功能 。如计数器、加法器、多路选择器等通用逻辑。嵌。如计数器、加法器、多路选择器等通用逻辑。嵌入式阵列和逻辑阵列的结合提供了嵌入式门阵列的高性能入式阵列和逻辑阵列的结合提供了嵌入式门阵列的高性能和高密度,可以使设计者在某个器件上实现一个完整的系和高密度,可以使设计者在某个器件上实现一个完整的系统。统。2 FLEX10K系列器件的结构系列器件的结构 下图示出了下图示出了FLEX10KFLEX10K系列系列FPGAFPGA的结构框图。的结构框图。FLEX10KFLEX10K的结构主要由逻辑阵列块的结构主要由逻辑阵列块LABLAB(Logic Logic Array BlockArray

30、 Block),输入输出单元),输入输出单元IOEIOE(In Out In Out ElementElement),可编程的行),可编程的行/ /列连线以及带有列连线以及带有RAMRAM的的嵌入式阵列块嵌入式阵列块EABEAB(Embedded Array BlockEmbedded Array Block)等)等几部分组成。几部分组成。LABLAB和和EABEAB是是FPGAFPGA的最主要结构,它的最主要结构,它们由可编程行们由可编程行/ /列连线相连接,这些连线同样也列连线相连接,这些连线同样也连接着芯片的输入输出管脚。连接着芯片的输入输出管脚。 FLEX10K内部结构内部结构EABE

31、AB在系统可编程模拟器件(在系统可编程模拟器件(ispPAC) ispPAC是是1999 年年11 月由美国月由美国Lattice 公司推公司推 出出 的的 在在 系系 统统 可可 编编 程程 模模 拟拟 电电 路路 (In-System Programmability Programmable Analog Circuits),从而,从而 翻翻 开开 了了 模模 拟拟 电电 路路 设设 计计 方方 法法 的的 新新 篇篇 章章 。 为为 电电 子子 设设 计计 自自 动动 化化 (EDA) 技技 术术 的的 应应 用用 开开 拓拓 了了 更更 广广 阔阔 的的 前前 景景 。 与与 数数 字

32、字 的的 在在 系系 统统 可可 编编 程程 大大 规规 模模 集集 成成 电电 路路 (ispLSI) 一一 样样 , 在在 系系 统统 可可 编编 程程 模模 拟拟 器器 件件 允允 许许 设设 计计 者者 使使 用用 开开 发发 软软 件件 在在 计计 算算 机机 中中 设设 计、计、 修修 改改 模模 拟拟 电电 路路 , 进进 行行 电电 路路 特特 性性 模模 拟拟 , 最最 后后 通通 过过 编编 程程 电电 缆缆 将将 设设 计计 方方 案案 下下 载载 至至 芯芯 片片 中中 。 目前目前Lattice 公司已推出了七种可编程模拟器件公司已推出了七种可编程模拟器件: ispP

33、AC10,ispPAC20,ispPAC30,ispPAC80,ispPAC81,ispPAC-POWR1208和和ispPAC-POWR604。 6.1.2 阵列型PLD阵列型PLD包括:PROM(可编程只读存储器)PLA(可编程逻辑阵列)PAL (可编程阵列逻辑)GAL (通用可编程阵列逻辑)EPLD(可擦除的可编程逻辑器件)CPLD(复杂可编程逻辑器件)可编程逻辑器件可编程逻辑器件PLD概述概述 可编程逻辑器件(可编程逻辑器件(Programmable Logic Device, 简称简称PLD)是一种由用户根据自己要求来构造逻辑功能的数字)是一种由用户根据自己要求来构造逻辑功能的数字集

34、成电路。集成电路。 和具有固定逻辑功能的和具有固定逻辑功能的74系列数字电路不同,系列数字电路不同,PLD本本身没有确定的逻辑功能,就如同一张白纸或是一堆积木,身没有确定的逻辑功能,就如同一张白纸或是一堆积木,要由用户利用计算机辅助设计,即用原理图或硬件描述语要由用户利用计算机辅助设计,即用原理图或硬件描述语言(言(HDL)的方法来表示设计思想,经过编译和仿真,生)的方法来表示设计思想,经过编译和仿真,生成相应的目标文件,再由编程器或下载电缆将设计文件配成相应的目标文件,再由编程器或下载电缆将设计文件配置到目标器件中,这时可编程器件(置到目标器件中,这时可编程器件(PLD)就可以作为满)就可以

35、作为满足用户要求的专用集成电路使用了,同时还可以利用足用户要求的专用集成电路使用了,同时还可以利用PLD的可重复编程能力,随时修改器件的逻辑功能,而无须改的可重复编程能力,随时修改器件的逻辑功能,而无须改变硬件电路。变硬件电路。 1基本结构基本结构 PLD由输入缓冲、与阵列、或阵列和输出结构等四部由输入缓冲、与阵列、或阵列和输出结构等四部分组成。其中,输入输出缓冲电路采用了互补输出结构,分组成。其中,输入输出缓冲电路采用了互补输出结构,输入缓冲电路可以产生输入变量的原变量和反变量,与阵输入缓冲电路可以产生输入变量的原变量和反变量,与阵列由与门构成用来产生乘积项,或阵列由或门构成用来产列由与门构

36、成用来产生乘积项,或阵列由或门构成用来产生乘积项之和形式的函数。输出结构相对于不同的生乘积项之和形式的函数。输出结构相对于不同的PLD有有所不同,有些是组合输出结构,可产生组合电路,有些是所不同,有些是组合输出结构,可产生组合电路,有些是时序输出结构,可形成时序电路。输出信号还可通过内部时序输出结构,可形成时序电路。输出信号还可通过内部通路反馈到与阵列的输入端。基本结构如下页图所示。通路反馈到与阵列的输入端。基本结构如下页图所示。PLD基本结构与电路表示法基本结构与电路表示法 PLD的基本结构框图 AAPLD缓冲器表示法 2 PLD电路表示法电路表示法 PLD电路表示法与传统表示法有所不同,主

37、要因为电路表示法与传统表示法有所不同,主要因为PLD的阵列规模十分庞大,如用传统表示法极不方便。在的阵列规模十分庞大,如用传统表示法极不方便。在x下图中给出了下图中给出了PLD的三种连接方式。连线交叉处有实点的的三种连接方式。连线交叉处有实点的表示固定连接;有符号表示固定连接;有符号“”的表示编程连接;连线单纯交的表示编程连接;连线单纯交叉表示不连接。叉表示不连接。PLD基本结构与电路表示法基本结构与电路表示法 下图中是一个三输入与门的两种表示法,即传统表示下图中是一个三输入与门的两种表示法,即传统表示法和法和PLD电路表示法。在输入项很多的情况下,电路表示法。在输入项很多的情况下,PLD表表

38、示法显得简洁方便。示法显得简洁方便。PROM基本结构基本结构PLA基本结构基本结构PAL基本结构基本结构6.2 可编程逻辑器件的设计技术可编程逻辑器件的设计技术 6.2.1 概 述 在在PLD没有出现之前,数字系统的传统设计往往采用没有出现之前,数字系统的传统设计往往采用“积木积木” 式的方法进行,实质上是对电路板进行设计,通式的方法进行,实质上是对电路板进行设计,通过标准集成电路器件搭建成电路板来实现系统功能,即先过标准集成电路器件搭建成电路板来实现系统功能,即先由器件搭成电路板,再由电路板搭成系统。数字系统的由器件搭成电路板,再由电路板搭成系统。数字系统的“积木块积木块”就是具有固定功能的

39、标准集成电路器件就是具有固定功能的标准集成电路器件,如,如TTL的的74/54系列、系列、CMOS的的4000/4500系列芯片和一些固系列芯片和一些固定功能的大规模集成电路等,用户只能根据需要选择合适定功能的大规模集成电路等,用户只能根据需要选择合适的集成电路器件,并按照此种器件推荐的电路搭成系统并的集成电路器件,并按照此种器件推荐的电路搭成系统并调试成功。设计中,设计者没有灵活性可言,搭成的系统调试成功。设计中,设计者没有灵活性可言,搭成的系统需要的芯片种类多且数目大需要的芯片种类多且数目大。 PLD的出现,给数字系统的传统设计法带来新的变革。的出现,给数字系统的传统设计法带来新的变革。采

40、用采用PLD进行的数字系统设计,是基于芯片的设计或称之为进行的数字系统设计,是基于芯片的设计或称之为“自底向上自底向上”(Bottom-Up)的设计,它跟传统的积木式)的设计,它跟传统的积木式设计有本质的不同。它可以直接通过设计设计有本质的不同。它可以直接通过设计PLD芯片来实现数芯片来实现数字系统功能,将原来由电路板设计完成的大部分工作放在字系统功能,将原来由电路板设计完成的大部分工作放在PLD芯片的设计中进行。这种新的设计方法能够由设计者根芯片的设计中进行。这种新的设计方法能够由设计者根据实际情况和要求定义器件的内部逻辑关系和管脚,这样可据实际情况和要求定义器件的内部逻辑关系和管脚,这样可

41、通过芯片设计实现多种数字系统功能,同时由于管脚定义的通过芯片设计实现多种数字系统功能,同时由于管脚定义的灵活性,不但大大减轻了系统设计的工作量和难度,提高了灵活性,不但大大减轻了系统设计的工作量和难度,提高了工作效率,而且还可以减少芯片数量,缩小系统体积,降低工作效率,而且还可以减少芯片数量,缩小系统体积,降低能源消耗,提高系统的稳定性和可靠性。能源消耗,提高系统的稳定性和可靠性。 IEEE标准的标准的HDL(如(如VHDL 和和Verilog HDL)给)给PLD和数字系统的设计带来了更新的设计方法和理念,和数字系统的设计带来了更新的设计方法和理念,产生了目前最常用的并称之为产生了目前最常用

42、的并称之为“自顶向下自顶向下”(Top-Down)的设计法。自顶向下的设计采用功能分割的方法从顶向的设计法。自顶向下的设计采用功能分割的方法从顶向下逐次将设计内容进行分块和细化。在设计过程中采用下逐次将设计内容进行分块和细化。在设计过程中采用层次化和模块化将使系统设计变得简洁和方便,其基本层次化和模块化将使系统设计变得简洁和方便,其基本设计思想如图设计思想如图7.15所示。层次化设计是分层次、分模块所示。层次化设计是分层次、分模块地进行设计描述。描述器件总功能的模块放在最上层,地进行设计描述。描述器件总功能的模块放在最上层,称为顶层设计;描述器件某一部分功能的模块放在下层,称为顶层设计;描述器

43、件某一部分功能的模块放在下层,称为底层设计;底层模块还可以再向下分层,直至最后称为底层设计;底层模块还可以再向下分层,直至最后完成硬件电子系统电路的整体设计。完成硬件电子系统电路的整体设计。 系统设计系统设计模块模块A A模块模块B B模块模块C C模块模块A1模块模块A2模块模块A3模块模块B1模块模块B2模块模块B3模块模块C1模块模块C2模块模块C3图6.13 “自顶向下自顶向下”设计法示意图设计法示意图可编程逻辑器件的设计流程可编程逻辑器件的设计流程 可编程逻辑器件可编程逻辑器件的设计流程包括设计准备、的设计流程包括设计准备、设计输入、设计处理和器件编程四个步骤以及相应设计输入、设计处

44、理和器件编程四个步骤以及相应的功能仿真、时序仿真和器件测试三个设计验证过的功能仿真、时序仿真和器件测试三个设计验证过程。这个设计流程与第程。这个设计流程与第1章章1.2节中叙述的节中叙述的EDA设计设计流程基本相同,这里不再重复。流程基本相同,这里不再重复。 6.2.2 在系统可编程技术在系统可编程技术在系统可编程(在系统可编程(In-System Programmable,简称简称ISP)技术是)技术是20世纪世纪80年代末年代末Lattice公司首先公司首先提出的一种先进的编程技术。在系统可编程是指对提出的一种先进的编程技术。在系统可编程是指对器件、电路板或整个电子系统的逻辑功能可随时进器

45、件、电路板或整个电子系统的逻辑功能可随时进行修改或重构的能力。支持行修改或重构的能力。支持ISP技术的可编程逻辑器技术的可编程逻辑器件称为在系统可编程器件(件称为在系统可编程器件(ISP-PLD),例如),例如Lattice公司生产的公司生产的ispLSI1000 ispLSI8000系列器系列器件属于件属于ISP-PLD。 在系统可编程逻辑器件在系统可编程逻辑器件ISP(In-System Programmable PLD ,通常简称通常简称ISP-PLD)是)是1992年由美国的年由美国的Lattice(莱迪(莱迪思)公司率先推出的。它是一种采用了在系统可编程技术的思)公司率先推出的。它是

46、一种采用了在系统可编程技术的PLD,与传统编程技术的最大区别是它,与传统编程技术的最大区别是它不使用编程器,而是不使用编程器,而是通过下载电缆与计算机直接相连,用户在自己设计的目标系通过下载电缆与计算机直接相连,用户在自己设计的目标系统中直接对器件编程统中直接对器件编程。这种全新的设计方法可以使可编程逻。这种全新的设计方法可以使可编程逻辑器件先装配后编程,成为产品后还可以反复编程,使生产辑器件先装配后编程,成为产品后还可以反复编程,使生产维护和系统更新都发生了革命性的变化。维护和系统更新都发生了革命性的变化。 在系统编程是使用一根下载电缆一端连在计算机的并行在系统编程是使用一根下载电缆一端连在

47、计算机的并行打印口上,另一端接在装配了可编程逻辑器件的打印口上,另一端接在装配了可编程逻辑器件的PCB板上的板上的插头中(目前大都使用插头中(目前大都使用JTAG口),口),早期的早期的PLD是不支持是不支持ISP技术的,目前的技术的,目前的CPLD、FPGA都支持都支持ISP技术可实现在线编技术可实现在线编程。程。在系统编程方法 利用计算机接口和下载电缆对器件编程 利用Bit-Blaster或Byte-Blaster下载 利用目标板上的单片机或微处理机对ISP器件编程 多芯片ISP编程 菊花链编程结构(Daisy Chain)SDI SDOSDI SDOSDI SDOISP编程口6.2.3

48、边界扫描技术边界扫描技术边界扫描测试边界扫描测试BST(Boundary-Scan Testing)是针对器件密度及是针对器件密度及I/O口数增加,信号注入和测取难口数增加,信号注入和测取难度越来越大而提出的一种新的测试技术。它是由联度越来越大而提出的一种新的测试技术。它是由联合测试活动组织合测试活动组织JTAG提出来的,而后提出来的,而后IEEE对此制对此制定了测试标准,称为定了测试标准,称为IEEE 1149.1 标准。标准。边界扫描边界扫描测试技术主要解决芯片的测试问题测试技术主要解决芯片的测试问题。 6.3 可编程逻辑器件的编程与配置可编程逻辑器件的编程与配置 由于可编程逻辑器件具有在

49、系统下载或重新由于可编程逻辑器件具有在系统下载或重新配置功能,因此在电路设计之前就可以把其焊接在配置功能,因此在电路设计之前就可以把其焊接在印刷电路板上,并通过电缆与计算机连接。在设计印刷电路板上,并通过电缆与计算机连接。在设计过程中,以下载编程或配置方式来改变可编程逻辑过程中,以下载编程或配置方式来改变可编程逻辑器件的内部逻辑关系,达到设计逻辑电路目的。器件的内部逻辑关系,达到设计逻辑电路目的。目前常见的可编程逻辑器件的编程和配置工目前常见的可编程逻辑器件的编程和配置工艺包括艺包括基于电可擦存储单元的基于电可擦存储单元的E E2 2PROMPROM或或FlashFlash技术技术的编程工艺的编程工艺、基于基于SRAMSRAM查找表的编程单元的编程工查找表的编程单元的编程工艺艺和和基于基于

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论