数字电路与逻辑设第八章-大规模集成数字电路-课件_第1页
数字电路与逻辑设第八章-大规模集成数字电路-课件_第2页
数字电路与逻辑设第八章-大规模集成数字电路-课件_第3页
数字电路与逻辑设第八章-大规模集成数字电路-课件_第4页
数字电路与逻辑设第八章-大规模集成数字电路-课件_第5页
已阅读5页,还剩95页未读 继续免费阅读

下载本文档

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

文档简介

1、学 习 目 标: 重点与难点: 学 习 要 求: 本章介绍半导体存储器及其应用,可编程逻辑器件PLD及其应用,MAX+PLUS应用。半导体存贮器的基本结构、工作原理及其应用。掌握半导体存贮器的基本结构及工作原理,理解ROM、RAM的应用,初步掌握CPLD/FPGA的基本设计思想和设计方法。目 录8.1 概述8.2 存储器及其应用8.3 可编程逻辑器件PLD8.4 CPLD/FPGA开发环境MAX+PLUS应用简介本章小结8.1 概述8.1.1 大规模集成电路的发展1962年最早在市场上出现一个逻辑门的小规模集成电路;1966年出现了含10100个逻辑门的中规模集成电路;1967年4月,含100

2、0多个晶体管的大规模集成电路问世;又过了十五年,集成电路提高了十余万倍。集成电路一出现就显示出了强大生命力,发展迅猛,五年时间就完成了小、中、大的发展过程,这与它有的高速和超高速、小型化、低成本、高可靠等诸多优点是分不开的。8.1.2 大规模集成电路的分类大规模集成电路专用性强、制造工艺复杂、研制费用高。很多电路虽然原则上都可大规模集成,但考虑经济效益,目前真正得到发展与应用的大体上有以下几类。1. 存储器存储器是计算机中用于存放二进制信息的部件,它是计算机的重要组成部分之一。半导体存储器由大规模集成电路构成,每一片存储芯片包含大量的存储单元。每一个存储单元有唯一的地址代码加以区分,并能存储一

3、位或多位二进制信息。2. 可编程逻辑器件一个逻辑系统可以由标准逻辑电路芯片组成,利用各种功能的集成芯片组合出需要的逻辑电路。用这种方法组成的逻辑系统,需要大量的逻辑芯片,设计工作繁琐且设计周期长,难以最优化设计。可编程逻辑器件的出现,使设计观念发生了改变,设计工作变得非常容易,因而得到了迅速发展和应用。专用的逻辑集成电路可分为:可编程逻辑器件PLD、门阵列逻辑电路GAL、现场可编程门阵列逻辑电路FPGA、标准单元逻辑电路SCL等。3. 微处理器1971年首先研制出了一个4位的微处理器,它实质上是一个微型计算机。它将计算机中的运算器、控制器集成在一个芯片上,通常又称为计算机的中央处理单元(CPU

4、)。经过近七年发展,相继出现了8位机、16位机、32位机。一个既包括CPU,还包括一定容量的RAM、ROM,以及输入输出接口电路的单片计算机也得到了广泛应用。4. 其它大规模集成电路由于早期大规模集成电路研制费用很高,只是把大量商品中有的一些功能部件做成了大规模集成电路,如存储器、微处理器等。后来在大规模集成技术得到一定发展的情况下,人们开始把大量生产的产品做成大规模集成电路,如计算器、手表、电子游戏机所用的大规模集成电路等。随着集成工艺的日趋完善、成熟、生产成本的不断降低,使得某些专用设备中的子系统也可大规模集成化,如数字控制调谐系统、通信及信号处理、频率合成、运算处理、语音合成等都可用大规

5、模集成电路。8.2存储器及其应用存储器的种类很多,从存取功能上可分为只读存储器ROM(Read Only Memory)和随机存取的存储器RAM (Random Access Memory)两大类。只读存储器ROM存储的数据是固定的,在正常工作时只能从中读取数据,不能对数据进行删除或修改。它的特点是电路结构简单,停电后数据不会丢失。但ROM只适合用于内容固定不变的场合,如用于存放常数、系统程序、字库等。ROM通常又可分为三大类:随机存储器RAM与ROM不同,在电路中正常工作是可以随时读出数据,也可以随时改写数据,但停电后数据丢失。因此RAM的特点是使用灵活方便,但数据易丢失。它适用于需要对数据

6、随时更新的场合,如用于存放计算机中的原始数据、中间结果、用户程序等。掩膜ROM(Mask ROM,MROM)可编程ROM(Programmable ROM, PROM)可擦除的可编程ROM(Erasable Programmable ROM, EPROM)存储器中所存储二进制信息的总位数称为存储器的存储容量。一个具有n根地址输入线(2n根字线)和b根输出线(b根位线)的ROM,其存储容量为:存储容量字线数位线数2nb(位)2ROM的工作原理如图是一个简单的ROM电路,其地址译码器部分由4个与门组成,存储体部分由4个或门组成。2个输入地址码A1A0,经译码器译码后产生4个存储单元的字线W0、W1

7、、W2、W3,地址译码器所接的4个或门,构成4位输出数据D3D2D1D0。8.2.1 固定只读存储器ROM1ROM的结构由地址译码器和存储体两部分组成。例如,若要把1单元存储的b位二进制数据读取出来,则只需要令地址码An-1An-2.A2A1A0=00001即可,因这时地址译码器输出的地址是W1=1,选中的是1单元。由图求出下列函数表达式:由表达式可求出:可以看出,对于给定的地址,相应一条字线输出高电平,与该字线有二极管相连接的或门输出为1,未连接的或门输出为0。地 址A1 A0字 线W0 W1 W2 W3内 容D3 D2 D1 D00 00 11 01 11 0 0 00 1 0 00 0

8、1 00 0 0 11 0 1 10 1 0 11 1 0 00 1 1 13PROMPROM的结构与掩模ROM一样,但是在出厂时存储矩阵的每个交叉点上均有管子连接,即每个存储单元都存入了1。编程时,用户可以根据自己的需要,编好代码,在指定的位置上将1改写成0即可,所以PROM需要在输入/输出控制电路中加入写入电路。如图是一种常见的双极型熔丝结构的PROM单元电路。熔丝烧断后不能再恢复,某一单元改写为0后,就不能再改写为1了,是一种不可重写的ROM。4EPROM和OTPROM 由于普通的PROM的内容在写入后不能更改,所以如果在编程(写入)过程中出错,或者经过实践后需要对其中内容作修改,那就只

9、能用一片新的PROM再编程。为解决这一问题,经常使用EPROM。EPROM可以多次擦除重写。按擦除方式不同,EPROM又可以分为两种:紫外线擦除的UVEPROM和电擦除的EEPROM(E2PROM)。EPROM的结构与PROM相同,只是基本存储单元使用了不同的器件。它采用的是叠栅注入MOS管(简称SIMOS管),它比普通的MOS管多了一个浮置栅。当浮置栅不带电荷时,它的开启电荷与普通的MOS管一样;当浮置栅带负电荷时,由于负电荷的影响,正常的开启电压无法在衬底表面形成沟道,不能使SIMOS管导通。SIMOS管EPROM存储单元 SIMOS管结构示意图及其符号出厂时,所有的SIMOS管的浮置栅均

10、不带电荷,故从数据线Dm上读出的数据全为1。编程即是写0操作,当通过高压脉冲使SIMOS管的导电沟道内产生高速电子,穿越SiO2薄层注入到浮置栅上,从而形成注入负电荷。读出时由于正常高电平无法使SIMOS管导通,故读出数据为0。由于浮置栅被SiO2包围,注入电荷很难泄露掉,故数据可以长期保存,断电后不会丢失。SIMOS管EPROM存储单元 SIMOS管结构示意图及其符号擦除时,通过芯片表面有透明石英玻璃板,用紫外线照射SIMOS管,将在SiO2层产生临时释放通道,使注入的电荷放电,数据恢复全为1。目前,常用的EPROM有2716(2K8位)、2732(4K8位)、2764(8K8位)、2712

11、8(16K8位)、27256(32K8位)等。如图为27256的引脚排列图EPROM芯片27256的引脚排列图在正常使用过程中,VCC5V,VPP接5V。在进行编程时,VPP接编程电平25V。 为输出使能端,用来决定是否将ROM的输出送到总线上去,当 =0时,输出可以使能;当 =1时,输出被禁止,ROM输出端为高阻态。OEOEOE 为片选端,用来决定ROM是否工作,当 =0 时,ROM工作,当 =1时,ROM停止工作,且输出为高阻态(不论 为何值)。OECSCSCSOECSCS可见ROM输出能否被使能,同时取决于 和 的状态,只有当 和 均为0时,ROM输出使能,否则将被禁止,输出端为高阻态。

12、OEOTPROM(one time PROM)是指为降低造价而生产的没有石英玻璃窗口的EPROM,用户只能进行一次性写入的只读存贮器。常用于电子玩具、电子记事本等需要大批量生产的场合。5闪存(flash memory)闪存(即通常说的优盘)也与EPROM 一样,都是电可改写的不挥发性存贮器,消除可以使整个芯片或者以块为单位消除,这是特征。写入机制是利用热电注入的方式,而消去利用隧道的现象。常用于数码相机、数字式录音机或电子计事本中,其体积只有邮票的大小。所谓flash就是指数据可以轻松的一起擦除。存贮单元与EPROM一样,也是只有一个晶体管构成,故便于提高速度和集成度。此写入数据时,也像EPR

13、OM那样,在栅极、漏极间加高电压脉冲,把源极接地,热电子注入浮置栅中。擦除数据时,源极接高电压,栅极接地,漏极开路。利用隧道效应,从浮栅把电子引出。因此,其栅氧化层比EPROM的薄,当设定IC制造的条件或工作电压时,应当注意这一点。闪存具有较大的容量、价格低的优势,而且体积小巧,可以原样装在电路板上,具有既可写入也能擦除数据的特性。因此,近年来EPROM有被闪存取代的趋势。目前,单片闪存容量达到了512Mb,是一种巨大商业价值的存贮芯片技术8.2.2 ROM的应用1用ROM实现组合逻辑函数ROM中的地址译码器产生了输入变量的全部最小项,即实现了对输入变量的与运算;ROM中的存储体实现了有关最小

14、项的或运算。因此,ROM实际上是由与门阵列和或门阵列构成的组合逻辑电路。工程上,为了ROM的设计方便,常阵列图表示。与门阵列的小圆点“”表示各逻辑变量之间的与运算,或门阵列的小圆点“”表示各最小项之间的或运算。用ROM实现逻辑函数的步骤:(1)列出函数的真值表或写出函数的最小项表达式。(2)选择合适的ROM,画出函数的阵列图。例如,用ROM实现下列函数:按A、B、C、D排列变量,并将Y1、Y2扩展成为4变量的逻辑函数,写出各函数的最小项表达式:用ROM来实现这4个函数时,只要将4个变量ABCD作为ROM的地址输入,而将4个函数Y1、Y2、Y3、Y4作为ROM中存储单元存放的代码。显然,该ROM

15、的容量为164位,即存储16个字,每字4位。由函数的最小项表达式可画出ROM的阵列图与门阵列的连接是固定的或门阵列是可编程的注:2用ROM作函数运算表电路设x的取值范围为015的正整数,可用BB3B2B1B0表示。根据yx2可算出y的最大值是152225,可以用8位二进制数YY7Y6Y5Y4Y3Y2Y1Y0表示。由此可列出YB2即yx2的真值表。输 入输 出注B3 B2 B1 B0Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0十进制数0 0 0 00 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 11 0 1 01 0

16、1 11 1 0 01 1 0 11 1 1 01 1 1 10 0 0 0 0 0 0 00 0 0 0 0 0 0 10 0 0 0 0 1 0 00 0 0 0 1 0 0 10 0 0 1 0 0 0 00 0 0 1 1 0 0 10 0 1 0 0 1 0 00 0 1 1 0 0 0 10 1 0 0 0 0 0 00 1 0 1 0 0 0 10 1 1 0 0 1 0 00 1 1 1 1 0 0 11 0 0 1 0 0 0 01 0 1 0 1 0 0 11 1 0 0 0 1 0 01 1 1 0 0 0 0 101491625364964811001211441691

17、96225由真值表写出各函数的最小项表达式:选用168位ROM,阵列图如下:3用ROM作字符发生器电路字符发生器也是利用ROM实现代码转换的一种组合电路,常用于各种显示设备中。被显示的字符以像点的形式存储在ROM中,每个字符由75(或79)点阵组成。如图为显示字符Z的ROM连线图。数据经输出缓冲器接至光栅矩阵。当地址码A2A1A0选中某行时,该行的内容即以光点的形式反映在光栅矩阵上。单元内容为1,相应于光栅上就出现亮点。若地址周期循环变化,各行的内容相继反映在光栅上,显示出所存储的字符。同样,对各种复杂的电压波形,如三脚波、正弦波、梯形波等,如果把它们在一个周期内的多个采样幅值量化存入存储器,

18、在需要时将这些数据依次循环取出,经数-模转换后输出,这样就可以得到各种信号的电压波形。因而用存储器可以实现波形发生器。通过改变扫描周期,还可以改变输出波形的频率。4ROM容量扩展(1)位扩展(字长的扩展)现有型号的EPROM,输出多为8位,若要扩展为16位,只需将两个8位输出芯片的地址线和控制线都分别并联起来,而输出一个作为高8位,另一个作为低8位即可。(2)字扩展(字数扩展,即地址码扩展)把各个芯片的输出数据线和输入地址线都对应地并联起来,而用高位地址的译码输出作为各芯片的片选信号 ,即可组成总容量等于各芯片容量之和的存储体。CS图中地址码A0A14接到各个芯片的地址输入端,高位地址A15、

19、A16作为2线-4线译码器74LS139的输入信号,经译码后产生的4个输出信号Y0Y3分别接到4个芯片的 端,对它们进行片选。CS片选情况及相应芯片的地址区间输 入A16 A15输 出Y0 Y1 Y2 Y3选中芯片芯片地址区间0 00 11 01 10 1 1 11 0 1 11 1 0 11 1 1 0123400 A14 A13A001 A14 A13A010 A14 A13A011 A14 A13A08.2.3 随机存取存储器RAM随机存取存储器RAM又称读/写存储器,主要用来存放各种现场的输入、输出数据,中间结果以及与外存交换信息等。与ROM类似,它由地址译码器、存储矩阵和读/写控制电

20、路组成。与ROM不同,其地址译码器采用了不同的译码方式。此外,由于RAM可随时读/写,其输入/输出电路也与ROM不同。各存储单元排列成矩阵,地址线被分成两组:行地址和列地址,并用两个译码器对行、列地址分别译码,称双译码方式。行译码器的输出称为行线(Xi),选中一行存储单元;列译码器的输出称为列线(Yj),选中一列存储单元。只有同时被行线和列线选中的交叉点上的存储单元才能与读/写控制电路接通,进行读/写操作。随机存取存储器RAM根据存储单元的电路结构和工作原理不同,分成静态RAM和动态RAM两种:(1)静态RAM(SRAM)存储单元。静态RAM存储单元由静态MOS电路或双极型(TTL、ECL)电

21、路组成,MOS 型RAM存储容量大,功率低,而双极型RAM存取速度快。(2)动态RAM(DRAM)存储单元。是利用MOS电容存储信息,考虑电容器上的电荷将不可避免地因漏电等因素而损失,为保护原存储信息不变,不间断地对存储信息的电容定时地进行充电(刷新)。动态RAM只有在读写操作时才消耗功率,因此功耗极低,非常适宜制成超大规模集成电路。8.2.4 RAM的应用1 RAM与微型计算机系统的连接RAM引脚可分为地址线、数据线和读/写控制线。而微型计算机系统通常也可将其系统总线分为地址总线、数据总线和控制总线。连接时,将RAM的地址线与微机系统的地址总线相连,RAM的数据线与系统数据总线相连,RAM的

22、读/写控制线与系统控制总线中有关读/写的控制线相连。2RAM的扩展若RAM的位数刚好与计算机的数据总线位数相同,只是存储单元数目不够用,这样就需要用若干片RAM来增加字数字扩展。如果RAM的位数与计算机总线位数不匹配,为了使计算机每次读写能够取得相应数量的数据位,同样需要若干片RAM来扩展每次存取的位数位扩展。(1)字扩展只要将如图译码器中另一个输出端接到用于扩展的存储器芯片 的端即实现了存储器的字扩展。CS用4片6116芯片扩展成8K8位RAM的连接示意图 (2)位扩展位扩展的目的是用多片存储器一起工作,使一次读/写操作的数据位数增多。所以进行位扩展的各片存储器应当在同一地址代码的控制下,同

23、时选中各片中相同位置的存储单元,将它们的数据并行输入或输出。各片存储器的片选端、地址线、读/写控制线均应分别接在一起,只要将各片存储器的数据线分别接到系统数据总线的不同位置上,即可实现位扩展。8.3.1 PLD的基本结构PLD的基本结构主体是由与门和或门构成的与阵列和或阵列。与阵列的输入端都设置有输入缓冲电路。PLD可以由或门阵列直接输出(组合方式),也可以通过寄存器输出(时序方式)。8.3 可编程逻辑器件PLD为方便起见常用简化画法。交叉点上画小圆点“”者表示连上了且为硬连接,不能通过编程改变;交叉点上画叉“”者表示编程连接,可以通过编程将其断开;既无小圆点也无叉者表示断开。因为任何组合逻辑

24、函数均可变为与或表达式,可用由与门和或门构成的二级电路实现,任何时序电路都是由组合电路和触发器构成的,所以,利用PLD可以构成任何组合电路和时序电路。8.3.2 PLD的分类PLD内部通常只有一部分或某些部分是可编程的,根据它们的可编程情况,可把PLD分成4类:分类与阵列或阵列输出电路PROM固定可编程固定PLA可编程可编程固定PAL可编程固定固定GAL可编程固定可组态可编程只读存储器(PROM)可编程逻辑阵列(Programmable Logic Array,简称PLA)可编程阵列逻辑(Programmable Array Logic,简称PAL)通用阵列逻辑(Generic Array L

25、ogic,简称GAL)PROM的或阵列是可编程的,而与阵列是固定的,其阵列结构如图所示。用PROM只能实现函数的标准与或式,不管所要实现的函数真正需要多少最小项,其与阵列必须产生全部n个变量的2n个最小项,故利用率很低。所以,PROM除了用来制作函数表电路和显示译码电路外,一般只作存储器用,ASIC很少使用。PLA的与阵列和或阵列都是可编程的,其阵列结构如图所示。PLA可以实现函数的最简与或式,利用率比PROM高得多。但由于缺少高质量的支持软件和编程工具,价格较贵,门的利用率也不够高,使用仍不广泛。PAL的或阵列固定,与阵列可编程。PAL速度高、价格低,其输出电路结构有好几种形式,可以借助编程

26、器进行现场编程,但其输出方式固定而不能重新组态,编程是一次性的,因此它的使用仍有较大的局限性。GAL的阵列结构与PAL相同,但其输出电路采用了逻辑宏单元结构,用户可根据需要对输出方式自行组态,因此功能更强,使用更灵活,应用更广泛。在4类PLD中,PROM和PLA属于组合逻辑电路,PAL既有组合电路又有时序电路,GAL则为时序电路。当然也可用GAL实现组合函数。8.3.3 PLA应用用PROM实现逻辑函数是基于公式Y=mi,因为任何一个逻辑函数都可以化简为最简与或表达式 Y=Pi,所以在用与阵列和或阵列实现逻辑函数时,与阵列并不需要产生全部最小项,与阵列可进行简化,从而或阵列也可简化 PLA的基

27、本设计思想。例如,用PLA实现下列函数: 因为各个函数都是最简与或式,由此可画出PLA的阵列图,如图所示。8.3.4 PLD设计过程简介在用PLD器件实现数字系统时,首先要选择合适的器件与开发系统,并对目标系统进行模块划分及模块设计,这一过程根据所设计的对象不同,方法及步骤各异,对PLD器件的设计一般要经过设计输入、设计实现和器件编程三个步骤。在这三个步骤中穿插功能仿真、时序仿真及测试三个设计验证过程。设计输入是设计者对器件进行功能描述的过程。描述方法最常用的有两种,电路图和硬件描述语言。用电路图描述器件功能时设计软件需提供必要的元件库或逻辑宏单元。硬件描述语言则有很多种:ABEL-HDL、C

28、UPL和MINC-HDL支持布尔代数方程、真值表、状态机等逻辑表达方式,适合进行逻辑功能描述;VHDL和Verilog为行为描述语言,具有很强的逻辑描述和仿真功能,是硬件设计语言的主流。硬件描述语言更适合描述逻辑功能。电路图和硬件描述语言结合使用会使设计输入更为简捷方便。在设计输入过程中可以对各模块进行功能仿真,以验证各模块逻辑的正确性。(1)设计输入(2)设计实现设计实现的过程是根据设计输入的文件,经过编译、器件适配等操作得到熔丝图文件的过程。通常设计实现都是由设计软件自动完成的。设计者可以通过设置一些控制参数来控制设计实现过程。设计实现一般要经过优化(逻辑化简)、合并(多模块文件合并)、映

29、射(与器件适配)、布局、布线等过程直至生成熔丝图文件,即JEDEC文件(简称JED文件)。在设计实现过程中可以进行对器件的延时仿真,以估算系统时延是否满足设计要求。(3)器件编程器件编程即是将JED文件下载到器件的过程。由于器件编程需要满足一定的条件如编程电压、编程时序及编程算法等,因此,对不具备在系统编程能力的器件要使用专门的编程器。而对ISP和FPGA器件编程时,则不需要使用编程器。在对器件编程后还要对器件进行测试,测试过程如果出现问题还要重新修改设计,并重复上述过程,直至器件测试完全通过。MAX+PLUS 是开发Altera公司系列FPGA/CPLD 产品的软件工具,支持FLEX 10K

30、E,FLEX 10K,FLEX 8000,FLEX 6000,ACEX 1K ,MAX 9000,MAX 7000,MAX 5000, MAX3000 和Classic可编程逻辑器件系列。8.4 CPLD/FPGA开发环境MAX+ PLUS应用简介利用MAX+PLUS 提供的设计环境和设计工具,可以高效灵活的设计各种数字电路。MAX+PLUS 具有开放的界面,能与其他工业标准的EDA设计输入、综合及校验相联接。使用MAX+PLUS ,设计者无需精通器件内部的复杂结构,只需运用自己熟悉的输入方式进行设计,通过MAX+PLUS 把这些设计转换成最终结构所需的格式。由于有关结构的详细知识已装入开发工

31、具,设计者不需手工优化自己的设计,因此设计速度非常快。MAX+PLUS和Quartus都是Altera公司为开发FPGA/CPLD 产品的软件工具,它们的基本功能相似,只是操作界面稍有区别,Quartus增加了一些新的功能,Quartus和MAX+PLUS的操作界面可以相互转化。如图所示,点击Tool/Customize选项,出现如下的对话框。根据需要,选择是否使用MAX+PLUS界面。选好后,单击Apply,重新启动该程序就进入了所需要的操作界面。8.4.1 MAX+PLUS II 安装(Multiple Array Matrix and Programmable Logic Use Sys

32、tem)Max+Plus 7.0、Max+Plus 9.2、Max+Plus 9.23、Max+Plus 9.3、Max+Plus 9.5、Max+Plus 10.0、包括Baseline版、Full版,Windows版、Unix版,单机版、网络版,等等。1Max Plus 版本2MAX+PLUS 安装安装基本过程同其它Windows应用软件安装。 License (软件使用授权码)的设置在安装完基本MAX+PLUS 后,将随安装软件一起的License.dat文件拷贝到硬盘某一目录下(否则MAX+PLUS 的大部分功能不能使用),启动MAX+PLUS ,选择Options / License

33、 Setup 项。 在 License File or Server Name 栏输入License 的正确路径和文件名,或通过 Browse找到License.dat,单击 OK 按键确定。 编程、下载设备的设置 Max Plus 可支持多种编程、下载方式和设备:MasterBlaster、 ByteBlaster、 BitBlaster、Lp6+PL-MPU。 我们将使用的是:支持并口的 ByteBlaster下载电缆。首先选择 MAX+PLUS | Programmer ,再选择 Options | Hardware Setup , 在 Hardware Setup 对话框中,选择 Ha

34、rdware Type 为:ByteBlaster ,选择Parallel Port 为 ByteBlaster下载电缆所连接的并口,如:LPT1:(0 x378)。3MAX+PLUS 使用时的几个注意事项 对自己的每项设计,建立清晰的目录和文件系统。一项设计,一个子目录(即一个文件夹,且设计文件名最好不要用中文),不要直接都建在Max +Plus 的省缺目录下。Max +Plus中的Project,可以帮助我们管理设计文件。 对在不同的计算机上完成的设计,不要随便将整个工程的设计文件相互交换。Max +Plus II 的软件版权保护功能可能引起软件不能正常工作。必要时,建议将设计原文件,或设

35、计生成的最终配置文件进行相互交换。 如需要连接硬件时,应遵循硬件操作的基本规程。8.4.2 Max+Plus II 基本功能1图形输入 例:设计一个股份制企业使用的投票表决器专用IC,要求该电路根据各股东投票,直接显示表决是否通过。设该股份制企业有4个股东,分别占有的股份是:A:35% B:20% 、 C: 30%、D: 15%,如果超过50%的股权同意,则表决结果通过。设:投票时同意为“1”,不同意为“0”。表决结果 通过为“1”,不通过为“0”。则:该股份制企业投票表决器真值表为A B C DGA B C DG0 0 0 00 0 0 10 0 1 00 0 1 10 1 0 00 1 0

36、 10 1 1 00 1 1 1000000011 0 0 01 0 0 11 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 100111111根据卡诺图简化可得到:G=AB+AC+BCD实现G=AB+AC+BCD的逻辑电路该表决器专用集成电路的设计制造步骤:(1)启动MAX+PLUS (2)建立工程项目:File / Project / Name , 在Driver 和 Directories 栏目中选择工程存放的路经,在 Project Name 栏目中输入工程名,单击 OK 按键确定。 如图所示。(3)新建一个图形设计文件(*.gdf): 选择 File

37、/ New,如图所示。在图中选择 Graphic Editor file (左边出现小圆点)和 .gdf 文件(* .gdf 文件:Graphic Design File,图形设计文件), 单击 OK 按键。进入到 MAX +PLUS 的图形编辑器,如下图所示。(4) 输入电路元件 在上图的空白处双击(鼠标左键),或者选择 Symbol / Enter Symbol,出现下图所示。在Symbol Name 栏中输入电路元件名:and2 (2输入端“与门”)。或者在prim Symbol Library 中选中 and2。单击 OK 按键后,可以看到光标上粘着被选的元件,将其拖动到合适的位置,再

38、单击左键,使其固定。(5)重复以上步骤(4),将电路所需的全部元件摆放到适当的位置。 and2:2输入“与门” 2个、and3:3输入“与门”1个、or3:3输入“或门”1个、input:输入引脚4个、output:输出引脚1个。(6)连接电路中的连线将光标移到待连线处,单击鼠标左键后,再移动光标到待连线的另一处,再次单击左键,即可生成一条连线。用以上方法,连接电路中所有要连的连线。(7)保存设计的文件选择 File / Save As 项,或者单击工具条中保存文件按键(水平工具条左数第三个按键),屏幕如下图。在下图中,检查 File Name 栏应与工程名相同,但扩展名为 .gdf 。单击

39、OK 键完成设计文件的保存。(8)选择使用的CPLD芯片选择Assign / Device项,屏幕如图所示。我们使用的CPLD是 Altera 生产的FLEX10K 系列的 EPF10K20TI144-4,故在Device对话框中,选: Device Family: FELX10K ;Devices:EPF10K20TC144-3单击 OK 键完成芯片选择。(9)编译设计文件选择 Max+Plus / Complier,或 File / Project / Save & Compile或 单击水平工具条左起第12个按键,打开编译器。单击 Start 按键后,计算机开始处理数据。如果编译通过,会

40、出现“ 0 errors” 和“0 warnings” 字样。按 “确定”退出。(10)底层编辑 引脚分配选择 Max+Plus / Floorplan editor,或 单击水平工具条左起第11个按键,打开底层编辑器,如图所示。在 Layout 菜单中,选定 Current Assignments Floorplan 项有效,进行引脚分配设计。(11)将 Unassigned Nodes & 栏中,电路的输入输出节点标号直接用鼠标 “拖到” 想分配的引脚上。本例中,我们可将 “表决器” 的输入 A、B、C、D 分配到 EPF10K20TC144-4 芯片的第 80、81、82、83引脚上;输

41、出G分配到第 9 引脚上。(12)引脚分配后,再编译引脚分配后,需要进行再编译,以生成芯片的配置文件 (*.sof 文件)。再编译方法同步骤(9)。 (sof文件:SRAM Object File)(13)设计结果下载,生成专用芯片选择 Max+Plus / Programmer或单击水平工具条左起第15个按键打开编程器。选择 JTAG / Multi-Device JTAG Chain Setup项,选择对芯片编程(下载)的配置文件,如图所示。单击 Delete All,删除以前的配置文件。 用 Select Programming File 功能选定设计生成的芯片配置文件(*.sof 文件

42、,“ * ” 应与设计的工程名相同),并用 OK 键确认。单击 ADD 键,使选定的配置文件出现在 Programming File Names 栏目中。按 OK 键退出 JTAG / Multi-Device JTAG Chain Setup 项。按 Configure 即开始对芯片进行编程(下载),正常下载完成后,应出现以下字样 “Configuration Complete” (14)观察、验证电路实际工作情况是否与设计目的相一致。(2)新建一个波形设计文件(*.wdf 文件):选择 File | New,如图所示。2波形输入(以“股份制企业投票表决器”设计为例)(1)建立工程项目:(同

43、前)对话框中,选择Waveform Editor File 和 .wdf 后,单击OK。进入波形编辑界面,如下图所示。(3) 用 Node / Insert选项,或在 Name 栏的空白处双击来插入和定义输入输出引脚及性质,如下图所示。定义引脚A、B、C、D为输入,G为组合逻辑型输出。注1:引脚类型有 Input(输入)、Outpot(输出)、Buried Node(隐含节点)注2:作为Output 或 Buried Node时,又有Registered(寄存器)、Combinatorial(组合逻辑)、Machine(状态机)之分。(4)编辑A、B、C、D、G各引脚的波形,编辑完成后的结果如

44、下图所示。 注1:输入引脚的波形应包含输入所有可能的组合。 注2:输入输出波形应覆盖整个可编辑的时间范围。(5)选择使用的CPLD芯片(同前)(6)编译设计文件(同前)(7)底层编辑 引脚分配(同前)(8)引脚分配后,再编译 (同前)(9)设计结果下载(同前)注:编辑仿真通道文件后,同样可对波形设计的结果进行仿真。3文本输入Max+Plus 支持VHDL、AHDL等语言。下面再以“股份制企业投票表决器”为例来展示 AHDL 、VHDL语言设计ASIC的方法。其逻辑表达式:G=AB+AC+BCD(最简“积之和”式)(1)用AHDL语言描述如下:SUBDESIGN study10(A,B,C,D

45、: INPUT ; G : OUTPUT;)BEGIN G=(A and B) or (A and C) or (B and C and D);END; (2)新建工程:File | project | Name(3)新建 *.tdf 文件:File | New(4)在文本编辑框输入AHDL源程序,完成后屏幕如下图所示。(5)保存AHDL设计文件:File | Save。注意检查文件名应同工程名,扩展名应为 .tdf 。(6)选择使用的CPLD芯片:Assign | Device(7)编译设计文件:Max +Plus | Complier若需对可编程器件完成编译仿真,则继续以下步骤:(8)新建

46、 *.scf 文件:File | New(9)添加仿真节点:Node | Enter Nodes From (10)编辑输入节点的仿真输入波形,如下图所示。(11)保存仿真通道文件: File | Save。注意检查文件名应同工程名,扩展名应为 scf 。(12)逻辑特性仿真:Max +Plus | Simulator,仿真结果如下图所示。(13)时延特性仿真与仿真结果:Max +Plus | Timing Analyzer,仿真结果如下图。若需对可编程器件完成编程下载,则继续以下步骤:(14)底层编辑 引脚分配:Max+Plus II / Floorplan editor。可将输入 A、B、

47、C、D 分配到 80、81、82、83引脚上;输出G分配到第 9 引脚上。(15)再编译:Max +Plus / Complier(16)下载: Max+Plus / Programmer(17)观察电路工作情况,与真值表对比,验证设计结果正确性。注1:在AHDL源程序中,也可不用最简逻辑表达式。如下程序得到相同结果。SUBDESIGN study10(A,B,C,D : INPUT ; G : OUTPUT;)BEGIN % 根据“最小项之和”式%G=(!A&B&C&D) # (A&!B&C&!D)#(A&!B&C&D)#(A&B&!C&!D)#(A&B&!C&D)#(A&B&C&!D)#(

48、A&B&C&D);END;异或非!$NXOR异或$XOR或非!#NOR或#OR+与非!&NAND与&AND非!NOT说明AHDL运算符逻辑运算符注2:AHDL的逻辑运算符见下表所示。注3:问题用VHDL语言描述如下:ENTITY study11 ISPORT(A,B,C,D : IN bit; G : OUT bit);END study11;ARCHITECTURE a OF study11 ISBEGIN G=(A and B) or (A and C) or(B and C and D);END a; 其第(2)到(13)步同用AHDL设计的步骤,仅在保存文件时选用 .vhd 为扩展名,代替 AHDL设计时用的 tdf 扩展名。(

温馨提示

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

评论

0/150

提交评论