实用EDA技术与VHDL教程(人民邮电)第1章绪论.ppt
《实用EDA技术与VHDL教程(人民邮电)第1章绪论.ppt》由会员分享,可在线阅读,更多相关《实用EDA技术与VHDL教程(人民邮电)第1章绪论.ppt(266页珍藏版)》请在三一办公上搜索。
1、第1章 绪论,1.1 EDA技术概论,EDA技术是指以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式。,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术,或称为IES/ASIC自动设计技术。,EDA技术涉及面广,内容丰富,从教学和实用的角度看,主要应掌握如下4个方面的内容:,(1)大规模可编程逻辑器件(2)硬件描述
2、语言(3)软件开发工具(4)实验开发系统,大规模可编程逻辑器件是一种由用户编程以实现某种逻辑功能的新型逻辑器件。FPGA和CPLD分别是现场可编程门阵列和复杂可编程逻辑器件的简称。,现在,FPGA和CPLD的应用已十分广泛,它们将随着EDA技术的发展而成为电子设计领域的重要角色。,FPGA在结构上主要包括三个部分,即可编程逻辑单元、可编程输入/输出单元和可编程连线。,CPLD在结构上主要包括三个部分,即可编程逻辑宏单元、可编程输入/输出单元和可编程内部连线。,1.1.1 EDA技术的发展历程,从EDA设计技术的发展历史来看,它大致经历了以下3个重要阶段,分别是第一代EDA工具、第二代EDA工具
3、以及第三代EDA工具的产生和发展。,每一代EDA工具都有其优缺点,后一代EDA工具都是对前一代EDA工具进行不断改进和功能扩展,从而满足各个历史时期设计人员的开发需要。,1第一代EDA工具2第二代EDA工具3第三代EDA工具,1.1.2 EDA设计技术的基本特征,一般来说,EDA技术就是指以计算机为工作平台、以EDA软件工具为开发环境、以硬件描述语言为设计语言、以可编程逻辑器件为实验载体、以ASIC和SoC为设计目标、以电子系统设计为应用方向的电子产品自动化设计过程。,通常,EDA设计技术的基本特征主要包括以下几个方面:1自顶向下的设计方法2硬件描述语言3逻辑综合和优化功能4开放性和标准化,1
4、.1.3 EDA设计技术的工具,目前,EDA技术的开发工具包括编辑器、仿真工具、检查/分析工具和优化/综合工具等,这些工具的简单介绍如下所示。,1编辑器2仿真工具3检查/分析工具4优化/综合工具,图1-1 EDA工具进行开发的具体流程图,1.1.4 EDA设计技术的发展趋势,(1)EDA工具的PC平台化。(2)EDA设计技术朝着ESDA和CE方向发展。(3)EDA工具应该具有编译选择能力。,1.2 FPGA/CPLD器件概述,目前,可编程逻辑器件广泛应用于计算机、数字电路设计、通信系统、工业自动控制、仪器仪表和集成电路设计等领域,它的出现大大改变了传统的系统设计方法,传统的“固定功能模块连线”
5、的设计方法正在逐步退出历史舞台,而基于芯片的设计方法正在成为电子系统设计的主流。,1.2.1 可编程逻辑器件的发展,随着科学技术的发展,集成电路的设计正朝着快速度、高性能、大容量、小体积和微功耗的方向发展,这种发展必将导致集成电路的设计规模日益增大,复杂程度日益增高。,经过40多年的发展,集成电路已经从小规模集成(SSI)、中规模集成(MSI)、大规模集成(LSI)发展到超大规模集成(VLSI)和特大规模集成(ULSI),每个芯片可以集成数百万个以上的晶体管。,如今,大规模和超大规模集成电路技术已经成为高科技研发领域的基础。,如果从具体的逻辑功能特点上来进行分类,那么大规模和超大规模集成电路可
6、以分为通用集成电路和专用集成电路两大类。,例如,常见的小规模数字集成电路74系列、CC4000系列、74HC系列和常用的大容量动态存储器等都属于通用集成电路,它们的特点是逻辑功能比较简单并且固定不变。,由于这些集成电路在组成复杂的电子系统中经常用到,因此可以看出它们具有很强的通用性。,一般来说,专用集成电路又可以分为两种不同的类型,它们分别是全定制集成电路(Full-Custom IC)和半定制集成电路(Semi-Custom IC)。,通常,可编程逻辑器件的发展历史如下所示:(1)20世纪70年代,采用熔丝编程的PROM和PLA器件可以称为是最早的可编程逻辑器件,它可以根据用户的需要写入相应
7、的信息来完成一定的逻辑功能。,但是由于熔丝烧断后不能再次接通,因此这时的器件编程是一次性的,写入后不能进行修改。,(2)20世纪70年代末,MMI公司率先推出了一种新的可编程逻辑器件PAL,它也采用双极性型工业制作、熔丝编程方式。,从逻辑特性上来看,PAL器件不如PLA器件那样灵活和方便,但是它的成本较低、价格便宜、编程方便、编程器也较为便宜,另外它还具有保密位来防止非法读出,因此它在当时获得了广泛的应用。,(3)20世纪80年代初,Lattice公司推出了另外一种新型的可编程逻辑器件GAL,它克服了PAL器件存在的缺点,应用起来更加灵活和方便。,GAL器件采用了电可擦除的CMOS工艺制作,采
8、用电压信号可以擦除原来的信息而重新进行编程操作。,另外,GAL器件的输出端口设置了可编程的输出逻辑宏单元(OLMC,Output Logic Macro Cell),设计人员通过编程可以将OLMC设置成不同的工作状态。,这样可以采用同一型号的GAL器件来实现PAL器件的各种电路输出工作方式,大大提高了器件的通用性。,(4)20世纪80年代中期,Xilinx公司提出了现场可编程的概念,同时生产了世界上第一片FPGA器件。,FPGA的编程方式与PAL器件和GAL器件大为不同,它不是通过专门的编程器来完成的。,通常,它的设计过程是利用一套专用的设计软件来完成的,最后生成一个用来对FPGA器件进行编程
9、的文件。,一般来说,FPGA中的编程信息将会存储在专用的RAM中,这样上电后外部RAM中的编程信息将会传入到器件中的静态RAM中,从而实现相应的功能。,(5)20世纪80年代末,Lattice公司又提出了在系统可编程技术,同时推出了一系列具有在系统可编程能力的CPLD。与EPLD相比,CPLD规模更大、结构更为复杂,能够完成较为复杂的系统功能设计。,(6)20世纪90年代后,可编程逻辑器件进入到了飞速发展的阶段。在生产工艺方面,可编程逻辑器件的线宽越来越小,集成门数越来越大,功耗越来越低。,在具体的器件编程方面,EEPROM逐渐取代了UVEPROM工艺,同时FPGA的现场可编程技术和CPLD的
10、在系统可编程技术使得可编程逻辑器件在使用上更加方便。,在测试技术方面,可编程逻辑器件大多数可采用边界扫描测试技术,大大加强了器件、电路板和系统的可测试性。,在逻辑功能上,可编程逻辑器件内部嵌有微处理器,大大提高了器件的逻辑功能和处理能力。,1.2.2 可编程逻辑器件的分类,1按照集成度和结构复杂度进行分类,图1-2 按照集成度和结构复杂度进行分类,PROM(Programmable Read Only Memory)是一种与阵列固定、或阵列可编程的与或阵列,通常它是由地址译码器、存储矩阵和输出缓冲器3个部分组成的。,PLA(Programmable Logic Array)是一种与阵列可编程、
11、或阵列也可进行编程的与或阵列。,PAL(Programmable Array Logic)是一种与阵列可编程、或阵列固定的与或阵列。,GAL(Generic Array Logic)是一种在PAL器件的基础上发展起来的新型可编程逻辑器件,从基本结构上看它仍然属于与或阵列结构的可编程逻辑器件。,FPGA(Field Programmable Gate Array)通常被称作现场可编程门阵列,它最初是由Xilinx公司提出的。,图1-3 FPGA器件的一般结构,通常,CPLD和FPGA的差别主要体现在两个方面:(1)CPLD和FPGA内部逻辑单元的电路工艺不同。(2)CPLD和FPGA内部连线的连
12、接方式不同。,2按照基本结构进行分类,目前常用的可编程逻辑器件都是从与或阵列和门阵列两类基本结构发展起来的,因此又可以从结构上将其分为两大类可编程逻辑器件:PLD(Programmable Logic Device)和FPGA(Field Programmable Gate Array)器件。,通常,这种分类方法的划分标准是:如果可编程逻辑器件的基本结构为与或阵列,那么这类器件就称为PLD;如果可编程逻辑器件的基本结构为门阵列,那么这类器件就称为FPGA。,3按照内部的逻辑单元进行分类,对于可编程逻辑器件来说,常见的内部逻辑单元主要包括与或阵列、宏单元、查找表和多路开关。,一般来说,内部逻辑单
13、元为与或阵列的可 编程逻辑器件包括PROM、PLA、PAL和GAL;内部逻辑单元为宏单元的可编程逻辑器件包括EPLD和CPLD;而内部逻辑单元为查找表和多路开关的可编程逻辑器件包括FPGA。,与或阵列是一种最为简单的可编程逻辑单元结构,它是由与阵列和或阵列共同组成的一种结构。,与或阵列在硅片上非常容易实现,对逻辑设计也十分方便。通过对与阵列和或阵列的编程方式进行相应的控制,用户可以很容易得到PROM、PLA、PAL和GAL器件。,4按照编程工艺进行分类,通过前面的介绍可以知道,如今各个厂商的CPLD和FPGA均采用CMOS工艺,因此它们的编程方法上将会有很大的不同。,根据可编程逻辑器件编程工艺
14、的不同,它们可以分为以下4种不同的类型:,(1)采用熔丝或反熔丝工艺的编程器件,这种类型的可编程逻辑器件包括几乎所有的PROM器件、Xilinx公司的XC5000系列器件和Actel公司的FPGA器件等。,(2)采用UVEPROM工艺的编程器件,即紫外线擦除编程器件,这种类型的可编程逻辑器件包括大多数的CPLD和FPGA器件。,(3)采用EPROM工艺的编程器件,即电可擦除编程器件,这种类型的可编程逻辑器件包括大多数的GAL器件、Lattice公司的ispLSI器件、Xilinx公司的XC9500系列和Altera公司的MAX7000系列等。,(4)采用SRAM工艺的编程器件,这种类型的可编程
15、逻辑器件包括Xilinx公司的FPGA器件和其他厂商的FPGA器件等。,1.3 可编程逻辑器件的基本结构,图1-4 可编程逻辑器件的基本结构,在可编程逻辑器件的基本结构中,由于与电路、或电路的数量很多,同时它们的排列又具有一定的规律性,因此设计人员常常将其称为与阵列以及或阵列。,另外,基本结构中与阵列的输出P1到Pd称作乘积项,它是可编程逻辑器件中非常重要的一个概念。,这里,假设可编程逻辑器件的输入数为n、输出数为m、乘积项的数目为d,那么器件的芯片面积S可以表示为如下的公式:S=(2n+m)d,对于与或阵列来说,设计人员可以通过改变与或阵列的具体连接关系来实现不同的逻辑功能。,通常,只要与或
16、阵列中的任何一个阵列的连接关系发生了变化,那么相应可编程逻辑器件的功能也会发生一定的变化。,在数字电路中,根据可编程逻辑器件中与或阵列的不同组合形式或者编程方式,可以将简单的可编程逻辑器件分为3种类型:,(1)可编程只读存储器PROM,它的特点是与或阵列中与阵列固定、或阵列可编程;,(2)可编程逻辑阵列PLA,它的特点是与或阵列中与阵列可编程、或阵列也可编程;,(3)可编程阵列逻辑PAL,它的特点是与或阵列中与阵列可编程、或阵列固定。,图1-5 通用集成电路的设计流程,图1-6 可编程逻辑器件的设计流程,1.4 简单的可编程逻辑器件,简单的可编程逻辑器件包括可编程只读存储器PROM、可编程逻辑
17、阵列PLA、可编程阵列逻辑PAL和通用阵列逻辑GAL,它们都是采用简单的与或阵列来构成的,因此它们能够有效地实现“积之和”形式的布尔逻辑函数。,本节将对上面的4种简单可编程逻辑器件进行介绍,这里首先介绍可编程只读存储器PROM。,1.4.1 可编程只读存储器(PROM),图1-7 只读存储器的电路结构框图,综上所述,只读存储器的与阵列是固定的,只要它的地址输入数相同,它们的与阵列都是相同的。,但是每种不同的只读存储器的或阵列是不同的,它们通常是根据所存储的数据信息来决定的,或者说是根据要求的逻辑关系来决定的,或阵列正是通过编程来实现不同的逻辑关系的。,因此,与阵列固定、或阵列可编程是只读存储器
18、中逻辑阵列的特点。,在数字电路中,只读存储器又可以分为掩模只读存储器、可编程只读存储器(PROM)和可擦除的可编程只读存储器(EPROM,Erasable Programmable Read Only Memory)等几种不同的类型。,1.4.2 可编程逻辑阵列(PLA),为了提高芯片资源的利用情况,用户往往希望与阵列不需要产生所有的最小项,它只需要产生具体设计的逻辑函数所需要的乘积项即可,可编程逻辑阵列PLA即可实现上面的功能。,从具体的结构上来看,可编程逻辑阵列PLA就是把ROM中的译码器改成乘积项发生器的一种可编程逻辑器件。,PLA的结构特点是与阵列可编程,或阵列也可以编程。根据PLA的
19、结构特点可以判断:PLA产生的乘积项的具体数目一般总是小于2n个;另外PLA中的每一个乘积项是根据设计的需要来进行输入信号组合的,它不一定是全部n个输入信号的组合。,在数字电路的设计中,PLA根据使用情况可以分为两大类:,(1)一类是完全按照用户的要求,设计一片专用的PLA芯片或者把PLA作为某种大规模集成电路的一部分。由于输入和输出数目已由设计要求规定,所以减少所需乘积项数目成为优化的主要目标。,(2)另外一类是现场可编程逻辑阵列(FPLA,Field PLA),它的最大特点是由用户自己编程写入与或阵列的内容。与第一类PLA相比,这才是一种真正的可编程逻辑器件。,目前,许多芯片制造厂商都提供
20、FPLA芯片,这种芯片的输入数目、输出数目和乘积项数目都是确定的,使用时只要不超过这些限制就可以。,图1-8 FPLA的基本结构,通过图1-8可以看出,FPLA和PROM的结构十分相似,它们的基本结构都是由与阵列、或阵列和输出缓冲器3个部分构成的。,两者的不同之处体现在以下3个方面:(1)PROM的与阵列是固定的,而FPLA的与阵列则是可编程的;,(2)PROM的与阵列会把输入变量的全部最小项都译出来,而FPLA的与阵列只用来产生设计需要的乘积项,因此它的乘积项要比PROM小得多;,(3)采用PROM产生组合逻辑函数时,用户一般只会用到全部最小项中的某一部分,因此它的资源利用率比较低,采用FP
21、LA产生组合逻辑函数时,可编程的与阵列只产生设计需要的乘积项,这样FPLA的与或阵列的规模将会大大减小,资源利用率提高。,图1-9 带有极性控制单元的FPLA输出结构,图1-10 时序逻辑型FPLA的电路结构框图,1.4.3 可编程阵列逻辑(PAL),可编程阵列逻辑(PAL)是20世纪70年代末MMI公司率先推出的一种新的可编程逻辑器件,它也采用双极型工业制作和熔丝编程方式。,PAL的基本结构与PLA十分类似,它通常也是由与阵列、或阵列和输出电路3个部分构成的。与PLA相比,PAL具有其自身的特点,这主要体现在以下两个方面:,(1)PAL中的与阵列是可以进行编程的,而或阵列则是固定不变的;(2
22、)PAL中的输出电路结构多种多样,可以方便地构成各种时序逻辑电路。,图1-11 PAL的基本电路结构,对于PAL来说,为了扩展它的电路功能同时增加其使用的灵活性,生产厂商在很多型号的PAL中添加了不同形式的输出电路。,根据PAL器件输出电路结构和反馈方式的不同,这里可以将PAL器件的输出电路分为以下几种类型:,(1)基本输出结构(2)可编程输入/输出结构(3)寄存器输出结构(4)异或输出结构,1基本输出结构,图1-12 反相输出的PAL器件,2可编程输入/输出结构,图1-13 PAL的可编程输入/输出结构,3寄存器输出结构,图1-14 PAL的寄存器输出结构,4异或输出结构,图1-15 PAL
23、的异或输出结构,1.4.4 通用阵列逻辑(GAL),20世纪80年代初,Lattice公司推出了另外一种新型的可编程逻辑器件GAL(Generic Array Logic,通用阵列逻辑),它是在PAL器件基础上发展起来的新型器件。,从基本结构原理上看,GAL器件仍然属于与或阵列结构的可编程逻辑器件。与传统的PAL器件相比,GAL器件具有以下两个重要特点:,(1)GAL器件采用了电可擦除的CMOS工艺来制作,即采用电压信号可以擦除原来的信息而重新进行编程操作。一般来说,GAL器件的功耗比PAL器件低得多,大概只有PAL器件的四分之一左右。,(2)GAL器件采用了与阵列和输出逻辑宏单元结构代替了P
24、AL器件的与或阵列结构,这样大大增加了GAL器件逻辑上的灵活性,因此一种GAL器件可以代替许多种PAL器件来进行逻辑电路的具体设计,大大提高了器件的通用性。,图1-16 GAL16V8的电路结构框图,总的来说,输出逻辑宏单元结构的作用体现在以下几个方面:(1)提供时序逻辑电路需要的触发器或寄存器;(2)提供多种输入/输出形式;,(3)提供内部信号反馈;(4)分配控制信号,如寄存器的时钟和复位信号以及三态门的输出使能信号等;(5)共享乘积项;(6)控制输出逻辑极性。,图1-17 OLMC内部结构框图,表1-1AC0和AC1对4个数据选择器的控制作用表,1寄存器模式下的寄存器输出配置,图1-18
25、寄存器模式下的寄存器输出配置,2寄存器模式下的组合输出配置,图1-19 寄存器模式下的组合输出配置,3复杂模式下的I/O组合输出配置,图1-20 复杂模式下的I/O组合输出配置,4复杂模式下的无反馈组合输出配置,图1-21 复杂模式下的无反馈组合输出配置,5简单模式下的有反馈组合输出配置,图1-22 简单模式下的有反馈组合输出配置,6简单模式下的无反馈组合输出配置,图1-23 简单模式下的无反馈组合输出配置,7简单模式下的专用输入配置,图1-24 简单模式下的专用输入配置,1.5 可编程逻辑器件EPLD和CPLD,除了简单的可编程逻辑器件和FPGA外,目前应用较为广泛的可编程逻辑器件主要包括两
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实用 EDA 技术 VHDL 教程 人民邮电 绪论
链接地址:https://www.31ppt.com/p-4892916.html