实用EDA技术与VHDL教程(人民邮电)第1章绪论_第1页
实用EDA技术与VHDL教程(人民邮电)第1章绪论_第2页
实用EDA技术与VHDL教程(人民邮电)第1章绪论_第3页
实用EDA技术与VHDL教程(人民邮电)第1章绪论_第4页
实用EDA技术与VHDL教程(人民邮电)第1章绪论_第5页
已阅读5页,还剩262页未读 继续免费阅读

下载本文档

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

文档简介

1、.EDAEDA技术概论技术概论1.1FPGA/CPLDFPGA/CPLD器件概述器件概述1.2 可编程逻辑器件的基本结构可编程逻辑器件的基本结构1.3EDAEDA技术概论技术概论1.1EDAEDA技术概论技术概论1.1EDAEDA技术概论技术概论1.1EDAEDA技术概论技术概论1.1FPGA/CPLDFPGA/CPLD器件概述器件概述1.2.简单的可编程逻辑器件简单的可编程逻辑器件1.4可编程逻辑器件可编程逻辑器件EPLDEPLD和和CPLDCPLD1.5 现场可编程门阵列现场可编程门阵列FPGAFPGA1.6FPGAFPGA的结构原理的结构原理1.7. EDA技术是指以大规模可编程逻辑技术

2、是指以大规模可编程逻辑器件为设计载体,以硬件描述语言为系器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式。统逻辑描述的主要表达方式。. 以计算机、大规模可编程逻辑器件的以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件方式过有关的开发软件,自动完成用软件方式设计的电子系统到硬件系统的逻辑编译、设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对于特定逻辑布局布线、逻辑仿真,直至对于特定目标芯片的适配编译、逻辑映射、

3、编程下目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用载等工作,最终形成集成电子系统或专用集成芯片的一门新技术,或称为集成芯片的一门新技术,或称为IES/ASIC自动设计技术。自动设计技术。. EDA技术涉及面广,内容丰富,从技术涉及面广,内容丰富,从教学和实用的角度看,主要应掌握如下教学和实用的角度看,主要应掌握如下4个方面的内容:个方面的内容:.(1)大规模可编程逻辑器件)大规模可编程逻辑器件(2)硬件描述语言)硬件描述语言(3)软件开发工具)软件开发工具(4)实验开发系统)实验开发系统. 大规模可编程逻辑器件是一种由用户编大规模可编程逻辑器件是一种由用户编程以实现

4、某种逻辑功能的新型逻辑器件。程以实现某种逻辑功能的新型逻辑器件。 FPGA和和CPLD分别是现场可编程门阵分别是现场可编程门阵列和复杂可编程逻辑器件的简称。列和复杂可编程逻辑器件的简称。. 现在,现在,FPGA和和CPLD的应用已十分的应用已十分广泛,它们将随着广泛,它们将随着EDA技术的发展而成技术的发展而成为电子设计领域的重要角色。为电子设计领域的重要角色。. FPGA在结构上主要包括三个部分,在结构上主要包括三个部分,即可编程逻辑单元、可编程输入即可编程逻辑单元、可编程输入/输出单输出单元和可编程连线。元和可编程连线。. CPLD在结构上主要包括三个部分,即在结构上主要包括三个部分,即可

5、编程逻辑宏单元、可编程输入可编程逻辑宏单元、可编程输入/输出单元输出单元和可编程内部连线。和可编程内部连线。. 从从EDA设计技术的发展历史来看,它设计技术的发展历史来看,它大致经历了以下大致经历了以下3个重要阶段,分别是第一个重要阶段,分别是第一代代EDA工具、第二代工具、第二代EDA工具以及第三代工具以及第三代EDA工具的产生和发展。工具的产生和发展。. 每一代每一代EDA工具都有其优缺点,后工具都有其优缺点,后一代一代EDA工具都是对前一代工具都是对前一代EDA工具进工具进行不断改进和功能扩展,从而满足各个行不断改进和功能扩展,从而满足各个历史时期设计人员的开发需要。历史时期设计人员的开

6、发需要。.1第一代第一代EDA工具工具2第二代第二代EDA工具工具3第三代第三代EDA工具工具. 一般来说,一般来说,EDA技术就是指以计算机为技术就是指以计算机为工作平台、以工作平台、以EDA软件工具为开发环境、以软件工具为开发环境、以硬件描述语言为设计语言、以可编程逻辑器硬件描述语言为设计语言、以可编程逻辑器件为实验载体、以件为实验载体、以ASIC和和SoC为设计目标、为设计目标、以电子系统设计为应用方向的电子产品自动以电子系统设计为应用方向的电子产品自动化设计过程。化设计过程。. 通常,通常,EDA设计技术的基本特征主设计技术的基本特征主要包括以下几个方面:要包括以下几个方面:1自顶向下

7、的设计方法自顶向下的设计方法2硬件描述语言硬件描述语言3逻辑综合和优化功能逻辑综合和优化功能4开放性和标准化开放性和标准化. 目前,目前,EDA技术的开发工具包括编辑技术的开发工具包括编辑器、仿真工具、检查器、仿真工具、检查/分析工具和优化分析工具和优化/综合综合工具等,这些工具的简单介绍如下所示。工具等,这些工具的简单介绍如下所示。 .1编辑器编辑器2仿真工具仿真工具3检查检查/分析工具分析工具4优化优化/综合工具综合工具.图图1-1 EDA1-1 EDA工具进行开发的具体流程图工具进行开发的具体流程图.(1)EDA工具的工具的PC平台化。平台化。(2)EDA设计技术朝着设计技术朝着ESDA

8、和和CE方向发展。方向发展。(3)EDA工具应该具有编译选择能力。工具应该具有编译选择能力。. 目前,可编程逻辑器件广泛应用于计算目前,可编程逻辑器件广泛应用于计算机、数字电路设计、通信系统、工业自动控机、数字电路设计、通信系统、工业自动控制、仪器仪表和集成电路设计等领域,它的制、仪器仪表和集成电路设计等领域,它的出现大大改变了传统的系统设计方法,传统出现大大改变了传统的系统设计方法,传统的的“固定功能模块连线固定功能模块连线”的设计方法正在的设计方法正在逐步退出历史舞台,而基于芯片的设计方法逐步退出历史舞台,而基于芯片的设计方法正在成为电子系统设计的主流。正在成为电子系统设计的主流。. 随着

9、科学技术的发展,集成电路的设随着科学技术的发展,集成电路的设计正朝着快速度、高性能、大容量、小体计正朝着快速度、高性能、大容量、小体积和微功耗的方向发展,这种发展必将导积和微功耗的方向发展,这种发展必将导致集成电路的设计规模日益增大,复杂程致集成电路的设计规模日益增大,复杂程度日益增高。度日益增高。. 经过经过40多年的发展,集成电路已经从小多年的发展,集成电路已经从小规模集成(规模集成(SSI)、中规模集成()、中规模集成(MSI)、)、大规模集成(大规模集成(LSI)发展到超大规模集成()发展到超大规模集成(VLSI)和特大规模集成()和特大规模集成(ULSI),每个芯),每个芯片可以集成

10、数百万个以上的晶体管。片可以集成数百万个以上的晶体管。. 如今,大规模和超大规模集成电路如今,大规模和超大规模集成电路技术已经成为高科技研发领域的基础。技术已经成为高科技研发领域的基础。. 如果从具体的逻辑功能特点上来进如果从具体的逻辑功能特点上来进行分类,那么大规模和超大规模集成电行分类,那么大规模和超大规模集成电路可以分为通用集成电路和专用集成电路可以分为通用集成电路和专用集成电路两大类。路两大类。. 例如,常见的小规模数字集成电路例如,常见的小规模数字集成电路74系列、系列、CC4000系列、系列、74HC系列和常系列和常用的大容量动态存储器等都属于通用集用的大容量动态存储器等都属于通用

11、集成电路,它们的特点是逻辑功能比较简成电路,它们的特点是逻辑功能比较简单并且固定不变。单并且固定不变。. 由于这些集成电路在组成复杂的电由于这些集成电路在组成复杂的电子系统中经常用到,因此可以看出它们子系统中经常用到,因此可以看出它们具有很强的通用性。具有很强的通用性。. 一般来说,专用集成电路又可以分为一般来说,专用集成电路又可以分为两种不同的类型,它们分别是全定制集成两种不同的类型,它们分别是全定制集成电路(电路(Full-Custom IC)和半定制集成电)和半定制集成电路(路(Semi-Custom IC)。)。. 通常,可编程逻辑器件的发展历史如下通常,可编程逻辑器件的发展历史如下所

12、示:所示:(1)20世纪世纪70年代,采用熔丝编程的年代,采用熔丝编程的PROM和和PLA器件可以称为是最早的可编程逻辑器器件可以称为是最早的可编程逻辑器件,它可以根据用户的需要写入相应的信息件,它可以根据用户的需要写入相应的信息来完成一定的逻辑功能。来完成一定的逻辑功能。. 但是由于熔丝烧断后不能再次接通,因但是由于熔丝烧断后不能再次接通,因此这时的器件编程是一次性的,写入后不能此这时的器件编程是一次性的,写入后不能进行修改。进行修改。.(2)20世纪世纪70年代末,年代末,MMI公司率先推公司率先推出了一种新的可编程逻辑器件出了一种新的可编程逻辑器件PAL,它,它也采用双极性型工业制作、熔

13、丝编程方也采用双极性型工业制作、熔丝编程方式。式。. 从逻辑特性上来看,从逻辑特性上来看,PAL器件不如器件不如PLA器件那样灵活和方便,但是它的成器件那样灵活和方便,但是它的成本较低、价格便宜、编程方便、编程器本较低、价格便宜、编程方便、编程器也较为便宜,另外它还具有保密位来防也较为便宜,另外它还具有保密位来防止非法读出,因此它在当时获得了广泛止非法读出,因此它在当时获得了广泛的应用。的应用。.(3)20世纪世纪80年代初,年代初,Lattice公司推出了另公司推出了另外一种新型的可编程逻辑器件外一种新型的可编程逻辑器件GAL,它克,它克服了服了PAL器件存在的缺点,应用起来更加灵器件存在的

14、缺点,应用起来更加灵活和方便。活和方便。. GAL器件采用了电可擦除的器件采用了电可擦除的CMOS工艺制作,采用电压信号可以擦除原来工艺制作,采用电压信号可以擦除原来的信息而重新进行编程操作。的信息而重新进行编程操作。. 另外,另外,GAL器件的输出端口设置了可编程的器件的输出端口设置了可编程的输出逻辑宏单元(输出逻辑宏单元(OLMC,Output Logic Macro Cell),设计人员通过编程可以将),设计人员通过编程可以将OLMC设置成设置成不同的工作状态。不同的工作状态。. 这样可以采用同一型号的这样可以采用同一型号的GAL器件器件来实现来实现PAL器件的各种电路输出工作方器件的各

15、种电路输出工作方式,大大提高了器件的通用性。式,大大提高了器件的通用性。.(4)20世纪世纪80年代中期,年代中期,Xilinx公司提出了公司提出了现场可编程的概念,同时生产了世界上第现场可编程的概念,同时生产了世界上第一片一片FPGA器件。器件。. FPGA的编程方式与的编程方式与PAL器件和器件和GAL器件大为不同,它不是通过专门的编程器器件大为不同,它不是通过专门的编程器来完成的。来完成的。. 通常,它的设计过程是利用一套专通常,它的设计过程是利用一套专用的设计软件来完成的,最后生成一个用的设计软件来完成的,最后生成一个用来对用来对FPGA器件进行编程的文件。器件进行编程的文件。. 一般

16、来说,一般来说,FPGA中的编程信息将会存中的编程信息将会存储在专用的储在专用的RAM中,这样上电后外部中,这样上电后外部RAM中的编程信息将会传入到器件中的静态中的编程信息将会传入到器件中的静态RAM中,从而实现相应的功能。中,从而实现相应的功能。.(5)20世纪世纪80年代末,年代末,Lattice公司又提出了公司又提出了在系统可编程技术,同时推出了一系列具有在系统可编程技术,同时推出了一系列具有在系统可编程能力的在系统可编程能力的CPLD。与。与EPLD相比,相比,CPLD规模更大、结构更为复杂,能够完成规模更大、结构更为复杂,能够完成较为复杂的系统功能设计。较为复杂的系统功能设计。.(

17、6)20世纪世纪90年代后,可编程逻辑器件进入年代后,可编程逻辑器件进入到了飞速发展的阶段。在生产工艺方面,可到了飞速发展的阶段。在生产工艺方面,可编程逻辑器件的线宽越来越小,集成门数越编程逻辑器件的线宽越来越小,集成门数越来越大,功耗越来越低。来越大,功耗越来越低。. 在具体的器件编程方面,在具体的器件编程方面,EEPROM逐逐渐取代了渐取代了UVEPROM工艺,同时工艺,同时FPGA的现的现场可编程技术和场可编程技术和CPLD的在系统可编程技术的在系统可编程技术使得可编程逻辑器件在使用上更加方便。使得可编程逻辑器件在使用上更加方便。. 在测试技术方面,可编程逻辑器件大在测试技术方面,可编程

18、逻辑器件大多数可采用边界扫描测试技术,大大加强多数可采用边界扫描测试技术,大大加强了器件、电路板和系统的可测试性。了器件、电路板和系统的可测试性。. 在逻辑功能上,可编程逻辑器件内在逻辑功能上,可编程逻辑器件内部嵌有微处理器,大大提高了器件的逻部嵌有微处理器,大大提高了器件的逻辑功能和处理能力。辑功能和处理能力。.1按照集成度和结构复杂度进行分类按照集成度和结构复杂度进行分类图图1-2 1-2 按照集成度和结构复杂度进行分类按照集成度和结构复杂度进行分类. PROM(Programmable Read Only Memory)是一种与阵列固定、或阵列可)是一种与阵列固定、或阵列可编程的与或阵列

19、,通常它是由地址译码编程的与或阵列,通常它是由地址译码器、存储矩阵和输出缓冲器器、存储矩阵和输出缓冲器3个部分组成个部分组成的。的。. PLA(Programmable Logic Array)是一种与阵列可编程、或阵列也可进行编是一种与阵列可编程、或阵列也可进行编程的与或阵列。程的与或阵列。. PAL(Programmable Array Logic)是一种与阵列可编程、或阵列固定的与或是一种与阵列可编程、或阵列固定的与或阵列。阵列。. GAL(Generic Array Logic)是一种)是一种在在PAL器件的基础上发展起来的新型可编器件的基础上发展起来的新型可编程逻辑器件,从基本结构上

20、看它仍然属于程逻辑器件,从基本结构上看它仍然属于与或阵列结构的可编程逻辑器件。与或阵列结构的可编程逻辑器件。. FPGA(Field Programmable Gate Array)通常被称作现场可编程门阵列,)通常被称作现场可编程门阵列,它最初是由它最初是由Xilinx公司提出的。公司提出的。.图图1-3 FPGA1-3 FPGA器件的一般结构器件的一般结构. 通常,通常,CPLD和和FPGA的差别主要体的差别主要体现在两个方面:现在两个方面:(1)CPLD和和FPGA内部逻辑单元的电路内部逻辑单元的电路工艺不同。工艺不同。(2)CPLD和和FPGA内部连线的连接方式内部连线的连接方式不同。

21、不同。. 目前常用的可编程逻辑器件都是从与或目前常用的可编程逻辑器件都是从与或阵列和门阵列两类基本结构发展起来的,因阵列和门阵列两类基本结构发展起来的,因此又可以从结构上将其分为两大类可编程逻此又可以从结构上将其分为两大类可编程逻辑器件:辑器件:PLD(Programmable Logic Device)和)和FPGA(Field Programmable Gate Array)器件。)器件。. 通常,这种分类方法的划分标准是:如通常,这种分类方法的划分标准是:如果可编程逻辑器件的基本结构为与或阵列,果可编程逻辑器件的基本结构为与或阵列,那么这类器件就称为那么这类器件就称为PLD;如果可编程逻

22、辑;如果可编程逻辑器件的基本结构为门阵列,那么这类器件就器件的基本结构为门阵列,那么这类器件就称为称为FPGA。. 对于可编程逻辑器件来说,常见的对于可编程逻辑器件来说,常见的内部逻辑单元主要包括与或阵列、宏单内部逻辑单元主要包括与或阵列、宏单元、查找表和多路开关。元、查找表和多路开关。. 一般来说,内部逻辑单元为与或阵列的可一般来说,内部逻辑单元为与或阵列的可 编程逻辑器件包括编程逻辑器件包括PROM、PLA、PAL和和GAL;内部逻辑单元为宏单元的可编程逻辑器件包括内部逻辑单元为宏单元的可编程逻辑器件包括EPLD和和CPLD;而内部逻辑单元为查找表和多;而内部逻辑单元为查找表和多路开关的可

23、编程逻辑器件包括路开关的可编程逻辑器件包括FPGA。. 与或阵列是一种最为简单的可编程与或阵列是一种最为简单的可编程逻辑单元结构,它是由与阵列和或阵列逻辑单元结构,它是由与阵列和或阵列共同组成的一种结构。共同组成的一种结构。. 与或阵列在硅片上非常容易实现,对逻与或阵列在硅片上非常容易实现,对逻辑设计也十分方便。辑设计也十分方便。 通过对与阵列和或阵列的编程方式进行通过对与阵列和或阵列的编程方式进行相应的控制,用户可以很容易得到相应的控制,用户可以很容易得到PROM、PLA、PAL和和GAL器件。器件。. 通过前面的介绍可以知道,如今各个厂通过前面的介绍可以知道,如今各个厂商的商的CPLD和和

24、FPGA均采用均采用CMOS工艺,因工艺,因此它们的编程方法上将会有很大的不同。此它们的编程方法上将会有很大的不同。. 根据可编程逻辑器件编程工艺的不根据可编程逻辑器件编程工艺的不同,它们可以分为以下同,它们可以分为以下4种不同的类型:种不同的类型:.(1)采用熔丝或反熔丝工艺的编程器件,)采用熔丝或反熔丝工艺的编程器件,这种类型的可编程逻辑器件包括几乎所这种类型的可编程逻辑器件包括几乎所有的有的PROM器件、器件、Xilinx公司的公司的XC5000系列器件和系列器件和Actel公司的公司的FPGA器件等。器件等。.(2)采用)采用UVEPROM工艺的编程器件,即紫工艺的编程器件,即紫外线擦

25、除编程器件,这种类型的可编程逻辑外线擦除编程器件,这种类型的可编程逻辑器件包括大多数的器件包括大多数的CPLD和和FPGA器件。器件。.(3)采用)采用EPROM工艺的编程器件,即电可工艺的编程器件,即电可擦除编程器件,这种类型的可编程逻辑器擦除编程器件,这种类型的可编程逻辑器件包括大多数的件包括大多数的GAL器件、器件、Lattice公司的公司的ispLSI器件、器件、Xilinx公司的公司的XC9500系列和系列和Altera公司的公司的MAX7000系列等。系列等。.(4)采用)采用SRAM工艺的编程器件,这种类型工艺的编程器件,这种类型的可编程逻辑器件包括的可编程逻辑器件包括Xilin

26、x公司的公司的FPGA器件和其他厂商的器件和其他厂商的FPGA器件等。器件等。.图图1-4 1-4 可编程逻辑器件的基本结构可编程逻辑器件的基本结构. 在可编程逻辑器件的基本结构中,由在可编程逻辑器件的基本结构中,由于与电路、或电路的数量很多,同时它们于与电路、或电路的数量很多,同时它们的排列又具有一定的规律性,因此设计人的排列又具有一定的规律性,因此设计人员常常将其称为与阵列以及或阵列。员常常将其称为与阵列以及或阵列。. 另外,基本结构中与阵列的输出另外,基本结构中与阵列的输出P1到到Pd称作乘积项,它是可编程逻辑器件称作乘积项,它是可编程逻辑器件中非常重要的一个概念。中非常重要的一个概念。

27、. 这里,假设可编程逻辑器件的输入数为这里,假设可编程逻辑器件的输入数为n、输出数为、输出数为m、乘积项的数目为、乘积项的数目为d,那么器,那么器件的芯片面积件的芯片面积S可以表示为如下的公式:可以表示为如下的公式: S =(2n + m)d. 对于与或阵列来说,设计人员可以对于与或阵列来说,设计人员可以通过改变与或阵列的具体连接关系来实通过改变与或阵列的具体连接关系来实现不同的逻辑功能。现不同的逻辑功能。. 通常,只要与或阵列中的任何一个通常,只要与或阵列中的任何一个阵列的连接关系发生了变化,那么相应阵列的连接关系发生了变化,那么相应可编程逻辑器件的功能也会发生一定的可编程逻辑器件的功能也会

28、发生一定的变化。变化。. 在数字电路中,根据可编程逻辑器在数字电路中,根据可编程逻辑器件中与或阵列的不同组合形式或者编程件中与或阵列的不同组合形式或者编程方式,可以将简单的可编程逻辑器件分方式,可以将简单的可编程逻辑器件分为为3种类型:种类型:.(1)可编程只读存储器)可编程只读存储器PROM,它的特点是,它的特点是与或阵列中与阵列固定、或阵列可编程;与或阵列中与阵列固定、或阵列可编程;.(2)可编程逻辑阵列)可编程逻辑阵列PLA,它的特点是与或,它的特点是与或阵列中与阵列可编程、或阵列也可编程;阵列中与阵列可编程、或阵列也可编程;.(3)可编程阵列逻辑)可编程阵列逻辑PAL,它的特点是与,它

29、的特点是与或阵列中与阵列可编程、或阵列固定。或阵列中与阵列可编程、或阵列固定。.图图1-5 1-5 通用集成电路的设计流程通用集成电路的设计流程.图图1-6 1-6 可编程逻辑器件的设计流程可编程逻辑器件的设计流程. 简单的可编程逻辑器件包括可编程只读简单的可编程逻辑器件包括可编程只读存储器存储器PROM、可编程逻辑阵列、可编程逻辑阵列PLA、可编、可编程阵列逻辑程阵列逻辑PAL和通用阵列逻辑和通用阵列逻辑GAL,它们,它们都是采用简单的与或阵列来构成的,因此它都是采用简单的与或阵列来构成的,因此它们能够有效地实现们能够有效地实现“积之和积之和”形式的布尔逻形式的布尔逻辑函数。辑函数。. 本节

30、将对上面的本节将对上面的4种简单可编程逻辑种简单可编程逻辑器件进行介绍,这里首先介绍可编程只器件进行介绍,这里首先介绍可编程只读存储器读存储器PROM。.图图1-7 1-7 只读存储器的电路结构框图只读存储器的电路结构框图. 综上所述,只读存储器的与阵列是综上所述,只读存储器的与阵列是固定的,只要它的地址输入数相同,它固定的,只要它的地址输入数相同,它们的与阵列都是相同的。们的与阵列都是相同的。. 但是每种不同的只读存储器的或阵但是每种不同的只读存储器的或阵列是不同的,它们通常是根据所存储的列是不同的,它们通常是根据所存储的数据信息来决定的,或者说是根据要求数据信息来决定的,或者说是根据要求的

31、逻辑关系来决定的,或阵列正是通过的逻辑关系来决定的,或阵列正是通过编程来实现不同的逻辑关系的。编程来实现不同的逻辑关系的。. 因此,与阵列固定、或阵列可编程因此,与阵列固定、或阵列可编程是只读存储器中逻辑阵列的特点。是只读存储器中逻辑阵列的特点。. 在数字电路中,只读存储器又可以分为掩在数字电路中,只读存储器又可以分为掩模只读存储器、可编程只读存储器(模只读存储器、可编程只读存储器(PROM)和可擦除的可编程只读存储器(和可擦除的可编程只读存储器(EPROM,Erasable Programmable Read Only Memory)等几种不同的类型。等几种不同的类型。. 为了提高芯片资源的

32、利用情况,用为了提高芯片资源的利用情况,用户往往希望与阵列不需要产生所有的最户往往希望与阵列不需要产生所有的最小项,它只需要产生具体设计的逻辑函小项,它只需要产生具体设计的逻辑函数所需要的乘积项即可,可编程逻辑阵数所需要的乘积项即可,可编程逻辑阵列列PLA即可实现上面的功能。即可实现上面的功能。. 从具体的结构上来看,可编程逻辑阵列从具体的结构上来看,可编程逻辑阵列PLA就是把就是把ROM中的译码器改成乘积项发中的译码器改成乘积项发生器的一种可编程逻辑器件。生器的一种可编程逻辑器件。. PLA的结构特点是与阵列可编程,或的结构特点是与阵列可编程,或阵列也可以编程。阵列也可以编程。 根据根据PL

33、A的结构特点可以判断:的结构特点可以判断:PLA产生的乘积项的具体数目一般总是小于产生的乘积项的具体数目一般总是小于2n个;另外个;另外PLA中的每一个乘积项是根据设中的每一个乘积项是根据设计的需要来进行输入信号组合的,它不一计的需要来进行输入信号组合的,它不一定是全部定是全部n个输入信号的组合。个输入信号的组合。. 在数字电路的设计中,在数字电路的设计中,PLA根据使根据使用情况可以分为两大类:用情况可以分为两大类:.(1)一类是完全按照用户的要求,设计一)一类是完全按照用户的要求,设计一片专用的片专用的PLA芯片或者把芯片或者把PLA作为某种大作为某种大规模集成电路的一部分。由于输入和输出

34、规模集成电路的一部分。由于输入和输出数目已由设计要求规定,所以减少所需乘数目已由设计要求规定,所以减少所需乘积项数目成为优化的主要目标。积项数目成为优化的主要目标。.(2)另外一类是现场可编程逻辑阵列()另外一类是现场可编程逻辑阵列(FPLA,Field PLA),它的最大特点是由用户自己编程),它的最大特点是由用户自己编程写入与或阵列的内容。与第一类写入与或阵列的内容。与第一类PLA相比,这相比,这才是一种真正的可编程逻辑器件。才是一种真正的可编程逻辑器件。. 目前,许多芯片制造厂商都提供目前,许多芯片制造厂商都提供FPLA芯片,这种芯片的输入数目、输出数目和芯片,这种芯片的输入数目、输出数

35、目和乘积项数目都是确定的,使用时只要不超乘积项数目都是确定的,使用时只要不超过这些限制就可以。过这些限制就可以。.图图1-8 FPLA1-8 FPLA的基本结构的基本结构. 通过图通过图1-8可以看出,可以看出,FPLA和和PROM的结构十分相似,它们的基本结构都是由的结构十分相似,它们的基本结构都是由与阵列、或阵列和输出缓冲器与阵列、或阵列和输出缓冲器3个部分构成个部分构成的。的。. 两者的不同之处体现在以下两者的不同之处体现在以下3个方面:个方面:(1)PROM的与阵列是固定的,而的与阵列是固定的,而FPLA的的与阵列则是可编程的;与阵列则是可编程的;.(2)PROM的与阵列会把输入变量的

36、全部的与阵列会把输入变量的全部最小项都译出来,而最小项都译出来,而FPLA的与阵列只用的与阵列只用来产生设计需要的乘积项,因此它的乘积来产生设计需要的乘积项,因此它的乘积项要比项要比PROM小得多;小得多;.(3)采用)采用PROM产生组合逻辑函数时,用户一产生组合逻辑函数时,用户一般只会用到全部最小项中的某一部分,因此般只会用到全部最小项中的某一部分,因此它的资源利用率比较低,采用它的资源利用率比较低,采用FPLA产生组合产生组合逻辑函数时,可编程的与阵列只产生设计需逻辑函数时,可编程的与阵列只产生设计需要的乘积项,这样要的乘积项,这样FPLA的与或阵列的规模将的与或阵列的规模将会大大减小,

37、资源利用率提高。会大大减小,资源利用率提高。.图图1-9 1-9 带有极性控制单元的带有极性控制单元的FPLAFPLA输出结构输出结构.图图1-10 1-10 时序逻辑型时序逻辑型FPLAFPLA的电路结构框图的电路结构框图. 可编程阵列逻辑(可编程阵列逻辑(PAL)是)是20世纪世纪70年代末年代末MMI公司率先推出的一种新的公司率先推出的一种新的可编程逻辑器件,它也采用双极型工业可编程逻辑器件,它也采用双极型工业制作和熔丝编程方式。制作和熔丝编程方式。. PAL的基本结构与的基本结构与PLA十分类似,十分类似,它通常也是由与阵列、或阵列和输出电它通常也是由与阵列、或阵列和输出电路路3个部分

38、构成的。个部分构成的。 与与PLA相比,相比,PAL具有其自身的特具有其自身的特点,这主要体现在以下两个方面:点,这主要体现在以下两个方面:.(1)PAL中的与阵列是可以进行编程的,而中的与阵列是可以进行编程的,而或阵列则是固定不变的;或阵列则是固定不变的;(2)PAL中的输出电路结构多种多样,可以中的输出电路结构多种多样,可以方便地构成各种时序逻辑电路。方便地构成各种时序逻辑电路。.图图1-11 PAL1-11 PAL的基本电路结构的基本电路结构. 对于对于PAL来说,为了扩展它的电路来说,为了扩展它的电路功能同时增加其使用的灵活性,生产厂功能同时增加其使用的灵活性,生产厂商在很多型号的商在

39、很多型号的PAL中添加了不同形式中添加了不同形式的输出电路。的输出电路。. 根据根据PAL器件输出电路结构和反馈器件输出电路结构和反馈方式的不同,这里可以将方式的不同,这里可以将PAL器件的输器件的输出电路分为以下几种类型:出电路分为以下几种类型:.(1)基本输出结构)基本输出结构(2)可编程输入)可编程输入/输出结构输出结构(3)寄存器输出结构)寄存器输出结构(4)异或输出结构)异或输出结构.图图1-12 1-12 反相输出的反相输出的PALPAL器件器件.图图1-13 PAL1-13 PAL的可编程输入的可编程输入/ /输出结构输出结构.图图1-14 PAL1-14 PAL的寄存器输出结构

40、的寄存器输出结构.图图1-15 PAL1-15 PAL的异或输出结构的异或输出结构. 20世纪世纪80年代初,年代初,Lattice公司推出了公司推出了另外一种新型的可编程逻辑器件另外一种新型的可编程逻辑器件GAL(Generic Array Logic,通用阵列逻辑),通用阵列逻辑),它是在它是在PAL器件基础上发展起来的新型器器件基础上发展起来的新型器件。件。. 从基本结构原理上看,从基本结构原理上看,GAL器件仍然器件仍然属于与或阵列结构的可编程逻辑器件。属于与或阵列结构的可编程逻辑器件。 与传统的与传统的PAL器件相比,器件相比,GAL器件具器件具有以下两个重要特点:有以下两个重要特点

41、:.(1)GAL器件采用了电可擦除的器件采用了电可擦除的CMOS工艺工艺来制作,即采用电压信号可以擦除原来的信来制作,即采用电压信号可以擦除原来的信息而重新进行编程操作。一般来说,息而重新进行编程操作。一般来说,GAL器器件的功耗比件的功耗比PAL器件低得多,大概只有器件低得多,大概只有PAL器件的四分之一左右。器件的四分之一左右。.(2)GAL器件采用了与阵列和输出逻辑宏单器件采用了与阵列和输出逻辑宏单元结构代替了元结构代替了PAL器件的与或阵列结构,这器件的与或阵列结构,这样大大增加了样大大增加了GAL器件逻辑上的灵活性,因器件逻辑上的灵活性,因此一种此一种GAL器件可以代替许多种器件可以

42、代替许多种PAL器件来器件来进行逻辑电路的具体设计,大大提高了器件进行逻辑电路的具体设计,大大提高了器件的通用性。的通用性。.图图1-16 GAL16V81-16 GAL16V8的电路结构框图的电路结构框图. 总的来说,输出逻辑宏单元结构的总的来说,输出逻辑宏单元结构的作用体现在以下几个方面:作用体现在以下几个方面:(1)提供时序逻辑电路需要的触发器或寄)提供时序逻辑电路需要的触发器或寄存器;存器;(2)提供多种输入)提供多种输入/输出形式;输出形式;.(3)提供内部信号反馈;)提供内部信号反馈;(4)分配控制信号,如寄存器的时钟和复)分配控制信号,如寄存器的时钟和复位信号以及三态门的输出使能

43、信号等;位信号以及三态门的输出使能信号等;(5)共享乘积项;)共享乘积项;(6)控制输出逻辑极性。)控制输出逻辑极性。.图图1-17 OLMC1-17 OLMC内部结构框图内部结构框图.ACO ACO AC1AC1(n n)OMUXOMUXPTMUXPTMUXTSMUXTSMUXPMUXPMUX(反馈)(反馈)地址地址输出输出性质性质地址地址第一个乘积第一个乘积项项三态门控三态门控制制AC1AC1(m m) = 0= 0AC1AC1(m m) = 1= 100000 0组合组合1 1接至或门接至或门V Vcccc:常通:常通0 0来自邻级来自邻级01010 0断开断开1 1接至或门接至或门O

44、O:常断:常断0 0来自邻级来自邻级10101 1时序时序1 1接至或门接至或门外加外加OEOE信信号号来自来自D D触发器触发器11110 0组合组合0 0控制三态门控制三态门第一个乘第一个乘积项积项来自自输出端来自自输出端表表1-11-1AC0AC0和和AC1AC1对对4 4个数据选择器的控制作个数据选择器的控制作用表用表.图图1-18 1-18 寄存器模式下的寄存器输出配置寄存器模式下的寄存器输出配置.图图1-19 1-19 寄存器模式下的组合输出配置寄存器模式下的组合输出配置.图图1-20 1-20 复杂模式下的复杂模式下的I/OI/O组合输出配置组合输出配置. 图图1-21 1-21

45、 复杂模式下的无反馈组合输出配置复杂模式下的无反馈组合输出配置.图图1-22 1-22 简单模式下的有反馈组合输出配置简单模式下的有反馈组合输出配置.图图1-23 1-23 简单模式下的无反馈组合输出配置简单模式下的无反馈组合输出配置.图图1-24 1-24 简单模式下的专用输入配置简单模式下的专用输入配置. 除了简单的可编程逻辑器件和除了简单的可编程逻辑器件和FPGA外,外,目前应用较为广泛的可编程逻辑器件主要包目前应用较为广泛的可编程逻辑器件主要包括两种:一种是可擦除的可编程逻辑器件括两种:一种是可擦除的可编程逻辑器件EPLD;另外一种是复杂的可编程逻辑器件;另外一种是复杂的可编程逻辑器件

46、CPLD。. 由于由于CPLD是是EPLD的改进形式,因此的改进形式,因此它比它比EPLD的规模更大、结构更为复杂,但的规模更大、结构更为复杂,但是它们的基本结构和基本原理是类似的,因是它们的基本结构和基本原理是类似的,因此这里将它们放在同一小节中进行介绍。此这里将它们放在同一小节中进行介绍。. 20世纪世纪80年代中期,年代中期,Altera公司推出了公司推出了一种新型的、电可擦除的可编程逻辑器件,一种新型的、电可擦除的可编程逻辑器件,它被称作它被称作EPLD,即,即Erasable Programmable Logic Device,它是继,它是继PAL和和GAL器件之后器件之后推出的另外

47、一种可编程逻辑器件。推出的另外一种可编程逻辑器件。. 与与PAL和和GAL器件相比较,器件相比较,EPLD的的集成度更高,结构更为复杂,功能更加强集成度更高,结构更为复杂,功能更加强大,因此它迅速取代大,因此它迅速取代PAL和和GAL器件成为器件成为可编程逻辑器件的主流。可编程逻辑器件的主流。. 一般来说,一种可编程逻辑器件取一般来说,一种可编程逻辑器件取代另外一种可编程逻辑器件成为应用的代另外一种可编程逻辑器件成为应用的主流,它必须具有一定的技术优势。主流,它必须具有一定的技术优势。. 与与PAL和和GAL器件相比,器件相比,EPLD的特点的特点主要体现在:主要体现在:(1)EPLD采用了采

48、用了CMOS工艺,因此工艺,因此EPLD具有具有CMOS器件低功耗、高噪声容限的优器件低功耗、高噪声容限的优点。点。.(2)EPLD采用了采用了UVEPROM和和EEPROM工艺制作,因此工艺制作,因此EPLD的可靠性较高,易于的可靠性较高,易于擦写;同时集成度要比擦写;同时集成度要比PAL和和GAL器件高器件高得多,而且价格也比较便宜。得多,而且价格也比较便宜。.(3)EPLD采用了与采用了与GAL器件类似的输出逻器件类似的输出逻辑宏单元,但是它的输出逻辑宏单元更加辑宏单元,但是它的输出逻辑宏单元更加灵活,因此灵活,因此EPLD的功能更加强大,灵活性的功能更加强大,灵活性也更高。也更高。.(

49、4)在某些特殊情况下,为了提高与或阵列)在某些特殊情况下,为了提高与或阵列中乘积项的利用率,有些中乘积项的利用率,有些EPLD器件的或逻器件的或逻辑阵列部分也引入了可编程逻辑结构。辑阵列部分也引入了可编程逻辑结构。. 为了克服上述为了克服上述PAL和和GAL器件存在的器件存在的问题,问题,EPLD生产厂商在它的与或阵列上生产厂商在它的与或阵列上做了修改,不同的厂商具有不同的修改方做了修改,不同的厂商具有不同的修改方案,归纳起来主要有以下案,归纳起来主要有以下4种修改方案:种修改方案:.(1)第)第1种修改方案是在种修改方案是在EPLD的与或阵列中,的与或阵列中,将每个或门输入的一组乘积项的数目

50、设计成不将每个或门输入的一组乘积项的数目设计成不完全相同的形式,这样就大大方便了产生不同完全相同的形式,这样就大大方便了产生不同乘积项数目的与或逻辑函数,提高了乘积项的乘积项数目的与或逻辑函数,提高了乘积项的利用率。利用率。.(2)第)第2种修改方案是将种修改方案是将EPLD中的每一组乘中的每一组乘积项分为两个部分,然后采用这两个部分产积项分为两个部分,然后采用这两个部分产生两个与或逻辑函数,最后通过编程使这两生两个与或逻辑函数,最后通过编程使这两部分既可以单独地送到输出逻辑电路上,又部分既可以单独地送到输出逻辑电路上,又可以组合在一起产生一个项数更多的与或逻可以组合在一起产生一个项数更多的与

51、或逻辑函数。辑函数。. 例如,例如,Atmel公司的公司的EPLD器件器件ATV750就就采用了这种方式,它将采用了这种方式,它将8个乘积项分成两组,每个乘积项分成两组,每组组4个乘积项分别用来产生与或逻辑函数,然后个乘积项分别用来产生与或逻辑函数,然后通过可编程的数据选择器来对两个与或逻辑函通过可编程的数据选择器来对两个与或逻辑函数的输出进行控制操作。数的输出进行控制操作。 这种方式的具体方法如图这种方式的具体方法如图1-25所示。所示。.图图1-25 1-25 第第2 2种修改方案举例(乘积项分组)种修改方案举例(乘积项分组).(3)第)第3种修改方案是将种修改方案是将EPLD中的每一组乘

52、中的每一组乘积项都分为两个部分,然后通过编程可以将积项都分为两个部分,然后通过编程可以将这两个部分相加,这样可以产生一个含有这两个部分相加,这样可以产生一个含有8个乘积项的与或逻辑函数;另外也可以将这个乘积项的与或逻辑函数;另外也可以将这两个部分为相邻的一组乘积项所共享,这样两个部分为相邻的一组乘积项所共享,这样可以与相邻一组乘积项共同组成一个项数更可以与相邻一组乘积项共同组成一个项数更多的与或逻辑函数。多的与或逻辑函数。 .(4)第)第4种修改方案是在种修改方案是在EPLD的内部结构中,的内部结构中,每一个输出逻辑宏单元都分配每一个输出逻辑宏单元都分配4个单独的乘积个单独的乘积项,另外还允许

53、一组扩展乘积项单独地配给某项,另外还允许一组扩展乘积项单独地配给某一输出逻辑宏单元或多个输出逻辑宏单元,这一输出逻辑宏单元或多个输出逻辑宏单元,这样便可以用来实现更加复杂的逻辑函数。样便可以用来实现更加复杂的逻辑函数。.图图1-26 1-26 第第3 3种修改方案举例(乘积项共享种修改方案举例(乘积项共享).图图1-27 1-27 第第4 4种修改方案举例(乘积项反馈)种修改方案举例(乘积项反馈).图图1-28 AT22V101-28 AT22V10的的OLMCOLMC电路电路. 芯片制造厂商为了提高芯片制造厂商为了提高EPLD产品的竞争产品的竞争 能力,提出了能力,提出了CPLD(Compl

54、ex Programmable Logic Device,复杂的可编程逻辑器件)的概,复杂的可编程逻辑器件)的概 念,目的是为了对先前的念,目的是为了对先前的EPLD产品进行结构产品进行结构 和性能改造,逐渐改进不足之处以便与和性能改造,逐渐改进不足之处以便与FPGA 器件进行抗衡。器件进行抗衡。. 为了提高集成度,同时又保持为了提高集成度,同时又保持EPLD传输时传输时间可预测的优点,生产厂商将若干个类似于间可预测的优点,生产厂商将若干个类似于PAL的功能模块和实现互连的开关矩阵集成在同一芯的功能模块和实现互连的开关矩阵集成在同一芯片上,这样就形成了所谓的片上,这样就形成了所谓的CPLD。.

55、 与先前的与先前的EPLD产品相比,产品相比,CPLD产品具产品具有规模更大、结构更为复杂、集成度更高、有规模更大、结构更为复杂、集成度更高、可靠性更加稳定和成本更低等优点,因此它可靠性更加稳定和成本更低等优点,因此它属于大规模集成电路的范围。属于大规模集成电路的范围。. 与与FPGA产品相比,产品相比,CPLD具有与其具有与其相似的集成度和通用性,另外它在速度相似的集成度和通用性,另外它在速度和时序预测上还有一定的优势。和时序预测上还有一定的优势。. 正是由于上述优势,正是由于上述优势,CPLD能够在可能够在可编程逻辑器件技术的竞争中与编程逻辑器件技术的竞争中与FPGA并驾并驾齐驱,成为两支

56、领导可编程逻辑器件技术齐驱,成为两支领导可编程逻辑器件技术发展的力量之一。发展的力量之一。. 一般来说,一般来说,CPLD在集成度和结构上呈在集成度和结构上呈现出来的特点是具有更大规模的与或阵列,现出来的特点是具有更大规模的与或阵列,增加了大量的逻辑宏单元和布线资源,触发增加了大量的逻辑宏单元和布线资源,触发器的数目也明显增多。器的数目也明显增多。. 对于不同的器件公司来说,它们的对于不同的器件公司来说,它们的CPLD产品结构具有很大的不同之处。产品结构具有很大的不同之处。 但是从基本结构上来说,任何芯片但是从基本结构上来说,任何芯片公司的公司的CPLD都应该包括都应该包括3个部分:可编个部分

57、:可编程逻辑宏单元、可编程程逻辑宏单元、可编程I/O单元和可编程单元和可编程内部连线,只不过不同的公司具有不同内部连线,只不过不同的公司具有不同的表示形式而已。的表示形式而已。.图图1-29 MAX70001-29 MAX7000系列器件的内部结构系列器件的内部结构. 在在Altera公司的可编程逻辑器件公司的可编程逻辑器件MAX7000系列中,可以看出它主要是由高性能和灵活性系列中,可以看出它主要是由高性能和灵活性很高的很高的LAB来构成的,它是器件中最大的逻辑来构成的,它是器件中最大的逻辑单元。单元。. 通过图通过图1-30所示的内部结构可以看出,所示的内部结构可以看出,每个每个LAB是由

58、是由16个宏单元来构成的,同时个宏单元来构成的,同时 每个每个LAB与各自对应的与各自对应的I/O控制块相连。控制块相连。.图图1-30 MAX7000S1-30 MAX7000S和和MAX7000EMAX7000E系列器件的内部系列器件的内部结构结构. 可以看到,内部结构中的可以看到,内部结构中的4个个LAB通通过过PIA与全局总线连接在一起,而全局总与全局总线连接在一起,而全局总线则是由所有的专用输入引脚、线则是由所有的专用输入引脚、I/O引脚引脚和宏单元的反馈信号等来构成的,这样和宏单元的反馈信号等来构成的,这样利用这些连线可以实现不同利用这些连线可以实现不同LAB之间的之间的连接,从而

59、实现复杂的逻辑功能。连接,从而实现复杂的逻辑功能。. 在在MAX7000系列中,每个系列中,每个LAB可以可以包括如下输入信号:包括如下输入信号:.(1)来自于用作通用逻辑输入的)来自于用作通用逻辑输入的PIA的的36个信号;个信号;(2)来自于用来控制寄存器的全局控制信)来自于用来控制寄存器的全局控制信号;号;.(3)来自于从)来自于从I/O引脚到寄存器的直接输引脚到寄存器的直接输入通道,它们用来实现入通道,它们用来实现MAX7000S系列系列和和MAX7000E系列的快速建立时间。系列的快速建立时间。.图图1-31 MAX70001-31 MAX7000系列的宏单元内部结构系列的宏单元内部

60、结构. 在宏单元的内部结构中,每一个可编在宏单元的内部结构中,每一个可编程寄存器可以按照程寄存器可以按照3种不同的时钟方式来进种不同的时钟方式来进行相应的控制,如下所示:行相应的控制,如下所示:.(1)采用全局时钟信号来进行控制,它能)采用全局时钟信号来进行控制,它能够得到最快的时钟到输出引脚的性能。够得到最快的时钟到输出引脚的性能。.(2)采用全局时钟信号并有高电平有效的)采用全局时钟信号并有高电平有效的时钟使能信号来进行控制,它能够实现具时钟使能信号来进行控制,它能够实现具有使能控制的触发器并同样可以得到最快有使能控制的触发器并同样可以得到最快的时钟到输出引脚的性能。的时钟到输出引脚的性能

温馨提示

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

评论

0/150

提交评论