《计算机系统》-第五章_第1页
《计算机系统》-第五章_第2页
《计算机系统》-第五章_第3页
《计算机系统》-第五章_第4页
《计算机系统》-第五章_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

5.1 只读存储器(ROM)

本章主要介绍只读存储器(ROM)和可编程逻辑器件(PLD)。内容有只读存储器的功能、结构与应用,可编程逻辑器件的结构特点、工作原理和使用方法。下一页返回5.1 只读存储器(ROM)只读存储器(ReadOnlyMemory,ROM)因工作时其内容只能读出而得名,信息一旦写入就不能或不易再修改。按照数据写入方式的特点,只读存储器分成掩膜ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)和电可擦除可编程ROM(E2PROM)四种。掩膜ROM的内容是在掩膜版的控制下,由厂家在生产过程中写入的,出厂时已完全固定下来,使用时不能更改;可编程ROM简写为PROM,其内容可由用户编好后写入,但只能写一次,一经写入就不能再更改;可擦除可编程ROM简写为EPROM,用户使用专用设备将信息写入,写入后还可以用专门方法(如紫外线照射)将原来的内容擦除,再重新写入新内容,可反复使用;电可擦除可编程ROM又叫E2PROM,它与EPROM相似,只是擦除方法改为电方法,而不再使用紫外线,目前只读存储器都采用E2PROM,前三种都已被淘汰。上一页下一页返回5.1 只读存储器(ROM)5.1.1 ROM的结构图5-1所示是ROM的内部结构示意,输入n位地址(A0…An−2An−1),经地址译码器译码后,产生2n

个输出信号(W0···W2n-2

W2n-1)作为存储单元地址标记,每个单元都有一个相应的地址,例如0单元的地址就是W0,1单元的地址就是W1···2n-1,单元的地址就是W2n-1,Wi线又叫作字线。每个地址中存储的二进制数据D0…Db−2Db−1为单元的宽度。例如,若要把1单元存储的b位二进制数据读出来,则只需要令n位地址(An−1An−2…A2

A1A0

)=00…001即可,因这时地址译码器输出的地址是W1=1,选中1单元,输出1单元中的b位二进制数据。上一页下一页返回5.1 只读存储器(ROM)5.1.2 ROM的工作原理

图5-2给出了一个示意性的4×4ROM的电路结构和它的简化框图。图中A0、A1

为地址输入线,D0~D3

为一个字单元的4根位线。电路图上半部分由二极管“与”门阵列组成的2-4译码器作为ROM的地址译码器,译码器输出为字线W0~W3。ROM的存储矩阵由电路图下半部分的二极管“或”门阵列组成。A0、A1

在00~11中取值,W0~W3

中必有一根被选中为1且唯一一根被选中。此时,若位线与该字线交叉点上跨接有二极管,则该二极管导通,使相应的位线输出为1;若位线与该字线交叉点无二极管,则相应的位线输出为0。例如,当A1=1,A0=0时,W2

字线上译码器跨接的两个二极管都截止,使字线W2=1(此时其他字线W0、W1、W3

上译码器跨接的二极管都有导通情况,使W0=0,W1=0,W3=0),D2、D1

与W2

交叉点上跨接有二极管,D0、D3

与W2

交叉点上无二极管,输出的字单元内容D3D2D1D0=0110。上一页下一页返回5.1 只读存储器(ROM)从存储功能来看ROM的结构,它由地址译码器和只读的存储矩阵两部分组成。地址译码器根据输入地址码译出相应的字线,然后从位线读出对应字单元的内容。从逻辑关系来看ROM,它是由“与”门阵列和“或”门阵列构成的组合逻辑电路。上述ROM的地址译码器是一个由4个“与”门组成的2-4译码器,产生A0、A1

两个变量的4个最小项,存储矩阵中的4个“或”门将相应的最小项“或”起来产生4个给定的函数D0~D3。将上述4×4ROM的输入、输出关系用表5-1所示的真值表来表示,该表的行是每个地址码所对应的字单元内容,列则是4个输出的2变量函数的逻辑关系。为简化设计过程,将图5-2中的ROM电路表示成图5-3所示的简化图,图中略去了电源、电阻、二极管等,只在“与”阵列中和“或”阵列中跨接有二极管的交叉处,加小黑点表示有二极管;而无二极管的交叉处不加小黑点,这种与ROM电路的真值表有一一对应关系的简化图称为“ROM阵列逻辑图”。上一页返回下一页5.1 只读存储器(ROM)5.1.3ROM制造技术简介

ROM存储“1”或“0”信息是靠字线、位线交叉点有无跨接二极管来实现。当有二极管跨接时,表示此交叉点存“1”;当无二极管跨接时,表示此交叉点存“0”。简单地说,ROM就是以通与断的状态来表示消息,通表“1”,断表“0”,二极管本身不能像触发器一样存“1”或“0”信息。交叉点除了跨接二极管外,还可跨接晶体三极管、MOS管等构成基本耦合单元。掩膜ROM中的信息已经在制造过程中通过掩膜工艺存入,出厂后用户不能再对其进行修改。掩膜ROM材料成本低廉,但掩膜制作成本较高,适用于大批量成熟产品的定制生产。下一页返回上一页5.1 只读存储器(ROM)为了使用户能够自己写入信息,人们研制出可编程ROM,即PROM产品。PROM在晶体管的发射极与列选通线之间用熔丝进行连接,从而可使用户编程写入信息。在未编程的情况下,各存储单元的内容都是“1”;用户使用专门设备,通过专用软件对交叉点编“1”或“0”,所有交叉点确定“1”或“0”后,进行烧制,即该交叉点存“1”则熔丝保留,若该交叉点存“0”则烧断此点的熔丝(对此点加高电压),因此其称为可编程ROM。由于熔丝烧断后不可恢复,所以PROM只能被用户编程一次,以后不能再修改。熔丝交叉点如图5-4所示。上一页下一页返回5.1 只读存储器(ROM)RROM只能写入一次信息,也不是很方便,因此人们后来又研制出了EPROM,即可擦除可编程ROM,用户可对其反复编程。EPROM的基本耦合单元采用浮栅雪崩注入MOS管,也称FAMOS管。FAMOS管的栅极完全被二氧化硅绝缘层包围,因无导线外引呈悬浮状态,故称为“浮栅”。图5-5所示为由N沟道FAMOS管构成的EPROM基本耦合单元。EPROM出厂时,所有FAMOS管的浮栅不带电荷,FAMOS管不导通,位线呈现“1”状态;若FAMOS管漏极D接高于正常工作电压的电压(+25V),则漏-源极间瞬间产生“雪崩”击穿,浮栅累聚正电荷,使FAMOS管导通,位线呈现“0”状态。待高电压撤销后,由于浮栅中的电荷无处泄漏,所存信息也不会丢失。这种EPROM芯片上有一个石英玻璃窗口,当紫外线照射这个窗口时,所有FAMOS浮栅中的电荷都会消失(照射10~20分钟),EPROM恢复到全“1”的初始状态,又可重新写入新的内容。写入内容的EPROM,必须用不透光的胶布将石英玻璃窗口封住,以免所存信息丢失。上一页下一页返回5.1 只读存储器(ROM)用紫外线擦除的EPROM虽具备可擦除重写的功能,但擦除操作复杂,擦除速度很慢。为克服这些缺点,人们又研制成了可以用电信号擦除的可编程ROM,这就是E2PROM(或EEPROM)。在E2PROM存储单元中采用一种浮栅隧道氧化层MOS管,简称Flotox管,结构如图5-6所示。Flotox管有两个栅极——控制栅和浮置栅。写“1”时对控制栅加+20V电压,位线接“0”电平,此时浮置栅充电,存储电荷,使Flotox管开启电压达到+7V,而正常工作电压为+3V,所以Flotox管不导通,表示该交叉点存“1”。写“0”时对控制栅加0V电压,位线加+20V电压,此时浮置栅放电,没有电荷,使Flotox管的开启电压接近0V,因正常工作电压为+3V,Flotox管导通,使得该交叉点处于接地状态,表示存“0”,控制栅加+20V或0V电压就是用电擦除方法,而正常读操作,控制栅为+3V工作电压。一个字节擦除后,所有的存储单元均为“1”状态。

上一页下一页返回5.1 只读存储器(ROM)E2PROM之后人们又研制出了快闪存储器(FlashMemory),它是当今用途广泛的只读存储器。它是在EPROM和E2PROM制造技术的基础上发展起来的一种新型的电可擦除可编程存储器元件。它的存储单元结构与E2PROM类似,主要差别是栅极氧化层厚度不同。快闪存储单元的氧化层较薄,这使其具有更好的电可擦性能。快闪存储器的擦除、重写的速度比E2PROM快,初期的快闪存储器只能进行全片的擦除,不能擦除一个字节。新型快闪存储器则可以擦除一块数据,因而更适于文件存储方面的应用。上一页下一页返回5.1 只读存储器(ROM)5.1.4只读存储器(ROM)的应用前面介绍的ROM中的地址译码器由“与”门阵列构成,存储矩阵由“或”门阵列构成。本节从另外一个角度重看ROM的构成,以便把ROM应用在组合逻辑电路设计中。ROM中地址译码器的每一根字线输出,实际上就是对应地址编码的一个最小项,地址(A0~An)被看成输入变量,而每一位位线输出则相当于由地址输入变量组成的最小项之和。因为任何组合逻辑电路都可以表示为最小项之和的形式,所以函数式可用ROM来实现,取代组合逻辑电路。例如对于前面的4×4ROM来说,由它的电路图和真值表可以列出各位位线输出与地址输入间的逻辑关系:上一页下一页返回5.1 只读存储器(ROM)由此可见,每一位Di均为输入A1、A0

的逻辑函数,ROM确实可用作组合逻辑的函数发生器。再举一个用ROM实现二进制码→格雷码转换电路的例子。表5-2给出了二进制码→格雷码转换对照表,将表中的二进制码B3~B0

作为ROM译码器的地址输入,译码器输出字线M0~M15相当于输入变量组合的最小项,格雷码中的每一位G3~G0(即ROM或矩阵的输出位线)相当于函数的输出变量。将每一个输出变量所对应的最小项之和在相应的字线、位线交叉处标以小黑点,便得到图5-7所示的二进制码→格雷码转换的ROM阵列逻辑图。最后,再根据ROM阵列逻辑图将信息“烧”入PROM或EPROM,就可以实现二进制码→格雷码转换电路。上一页下一页返回5.1 只读存储器(ROM)从上述例子可以看出,用ROM设计组合逻辑电路的过程不需要进行函数化简,对技巧性的要求大大降低。另外,ROM芯片的集成度远高于门电路芯片,用ROM实现逻辑电路可以大幅度减少所用的芯片数。再有,ROM具有多位输入地址线和多位字长的输出位线,对于多输入、多输出的逻辑电路来其优越性更大。上一页返回5.2 可编程逻辑器件5.2.1 可编程逻辑阵列(PLA)上节介绍的各种只读存储器,从结构上可以将它们看成由一个固定的“与”门阵列(地址译码器)和一个可编程的“或”门阵列(存储矩阵)组成的器件,可用以实现各种“与-或”逻辑函数。只读存储器ROM采用固定的“与”门阵列作为完全地址译码器,译码器的每一根输出线对应一个最小项,n个输入变量必须对应全部的2n

个最小项。ROM存储矩阵中的存储单元,根据函数真值表或表达式最小项的要求写入相应的内容。因此,一个地址码只能读出一个存储单元,反过来一个存储单元也只能被一个地址码选中,ROM的地址码与存储单元有一一对应的关系。这样,即使有多个存储单元的内容是相同的也必须重复存储,这对于芯片面积是一种浪费,通常用ROM实现函数要浪费50%以上的芯片面积。可编程逻辑阵列(PLA),其基本结构也是由“与”门阵列和“或”门阵列组成,但PLA的“与”门阵列和“或”门阵列均是可编程的。上一页下一页返回5.2 可编程逻辑器件ROM的“与”门阵列不管函数式中是否包含所需最小项,一律给出,而PLA通过编程只产生所需要的乘积项,此乘积项是对函数所包含的最小项进行化简得到的,这样就使“与”逻辑阵列和“或”逻辑阵列所需要的规模大为减小,从而有效地提高了芯片的利用率。用PLA进行组合逻辑电路设计时,只要将函数转换成最简“与或”式,再根据最简“与或”式画出逻辑阵列图就可以了。以5.1节的二进制码→格雷码转换电路为例,用PLA进行组合逻辑电路设计。根据表5-2给出的二进制码→格雷码转换对照表列出逻辑表达式,并用卡诺图化简法转换成最简“与或”式:上一页下一页返回5.2 可编程逻辑器件根据所得的最简“与或”式中出现的“与”项,列出PLA的“与”阵列,然后再根据表达式中的“或”关系,列出PLA的“或”阵列,由此便得到图5-8所示的PLA阵列逻辑图。

上一页下一页返回5.2 可编程逻辑器件从图5-8中可以看出,由于最简“与或”式中共出现了7个“与”项,所以PLA的“与”阵列中只要7根字线(每根字线对应一个“与”项);共有G0~G34个表达式,每个表达式都是“与或”形式,这样“或”阵列需要4根位线分别代表G0~G3。如此设计的PLA中,“与”阵列只需7×8=56个交叉点,“或”阵列需7×4=28个交叉点,共计56+28=84个交叉点,而用ROM需要16×8+16×4=192个交叉点,芯片面积可省50%以上。上述PLA只能用来实现组合逻辑电路,故称为组合PLA。若在PLA中加入触发器阵列,就可用它实现时序逻辑电路,这种PLA称为时序PLA。图5-9所示为用PLA和D触发器组成的十进制同步计数器,其中,设置了4个D触发器。4个触发器的驱动方程如下(A为最低位):上一页下一页返回5.2 可编程逻辑器件上一页下一页返回5.2 可编程逻辑器件D端的逻辑表达式为:DA=P0DB=P1+P2DC=P3+P4+P5DD=P6+P7由于PLA出现较早,当时缺少成熟的编程工具和高质量的配套软件,且其速度慢、价格高,故被后来的PAL、GAL取代。5.2.2 可编程阵列逻辑(PAL)简介20世纪70年代末推出的可编程阵列逻辑(PAL),在阵列控制方式上作了较大的改进。PAL由可编程的“与”门阵列和固定的“或”门阵列构成,“或”门阵列中每个“或”门的输入与固定个数的“与”门输出(即地址输入变量的某些“与”项)相连,每个“或”门的输出是若干个“与”项之和。由于“与”门阵列是可编程的,也即“与”项的内容可由用户自行编排,所以PAL可用来实现各种逻辑关系。上一页下一页返回5.2 可编程逻辑器件根据输出结构类型的不同,PAL有多种不同的型号,但它们的“与”门阵列都是类似的。组合输出型PAL适用于构成组合逻辑电路,常见的有“或”门输出、“或非”门输出和带互补输出端的“或”门等。“或”门的输入端一般为2~8个,有些输出端还可兼作输入端。寄存器输出型PAL适用于构成时序逻辑电路。PAL配有专用的编程工具和相应的汇编语言级开发软件,与早期PLA的手工开发方法相比有了较大的改进。上一页下一页返回5.2 可编程逻辑器件5.2.3 通用阵列逻辑(GAL)简介虽然PAL给逻辑设计提供了较大的灵活性,但由于它采用的是熔丝工艺,一旦编程完成后,就不能再作修改。另外,PAL的输出级采用固定的输出结构,对不同输出结构的需求只能通过选用不同型号的PAL来实现。这些都给用户带来不便。通用逻辑阵列(GAL)是20世纪80年代推出的新型可编程逻辑器件,它的基本结构与PAL类似。不同之处是,GAL采用了电可擦除(E2CMOS)的工艺,并且它的输出结构是可编程的。GAL按门阵列的可编程程度,可以分为两大类。一类是与PAL基本结构类似的普通型GAL器件,它的“与”门阵列是可编程的,“或”门阵列是固定连接的,如GAL16V8就是这一类器件;另一类是新一代GAL器件,它的“与”门阵列和“或”门阵列都是可编程的,如GAL39V18。上一页下一页返回5.2 可编程逻辑器件GAL采用的高速E2CMOS工艺,使用户可以用电气的方法在数秒内完成芯片的擦除和编程操作。另外,GAL的输出结构采用的输出逻辑宏单元(OLMC)是可编程的,用户可以自行定义所需的输出结构和功能。因此,一片GAL芯片可以反复编程使用数百次,并且一种型号的GAL器件可以兼容数十种PAL器件,这给开发工作带来了极大的灵活性和方便。另外,GAL配有丰富的计算机辅助设计软件,这使它的应用得到了更广泛的普及。

5.2.4 实例介绍MACH1和MACH2系列器件是VANTIS公司(AMD的可编程逻辑器件公司)的第一代高密度、电可擦除、CMOS宏阵列可编程逻辑器件,它是在PAL、PALCE(相当于GAL)结构的基础上发展起来的复杂可编程逻辑器件(CPLD),由多个PAL块和可编程开关矩阵互联而成。它采用0.8μmE2CMOS工艺制造。上一页下一页返回5.2 可编程逻辑器件1.MACH1、2系列器件的命名MACH1、2系列器件分为商用产品和工业用产品,其命名一般由六部分组成。现以MACH111SP-5JC为例介绍各部分的意义,如图5-10所示。(1)系列类型“MACH”表示CMOS高速宏阵列系列器件。(2)器件型号该系列器件有111、131、211、221、231五种型号,各种器件内含的宏单元数目不同。(3)产品标识“SP”表示在系统可编程器件,若此项空白,则表示标准器件,即无在系统可编程功能。(4)速度“−5”表示器件的tPD=5ns;商用器件的tPD有5ns、6ns、7ns、10ns、12ns和15ns共6种;工业器件有7ns、10ns、12ns、14ns和18ns共5种。上一页下一页返回5.2 可编程逻辑器件(5)封装形式“J”表示PLCC封装,“V”表示TQFP封装,“Y”表示PQFP封装。其对应引脚数不同,具体请参看有关资料。(6)工作条件“C”表示商用器件(0℃~+70℃),“I”表示工业用器件(−40℃~+85℃)。2.MACH1、2系列器件的结构MACH1、2系列所有器件的基本结构均相同,区别仅为容量差别。这种结构极大地方便了设计者对设计的移植。MACH1、2系列器件的基本结构如图5-11所示,它们由多个PAL块和一个可编程开关矩阵组成。每个PAL块内又含有多个宏单元,MACH1系列器件仅含有输出宏单元,而MACH2系列既含有输出宏单元,又含有隐埋宏单元。除此之外,这两个系列的基本结构与特性相同。上一页下一页返回5.2 可编程逻辑器件3.MACH1、2开关矩阵开关矩阵在各PAL块之间以及PAL块和输入之间提供互联网络。开关矩阵接收来自所有专用输入和输入给开关矩阵的信号,并将其连接到所要求的PAL块,返回到同一个PAL块本身的反馈信号也必须经过开关矩阵。正是这种互联机制保证了MACH器件中各PAL块之间的相互通信都具有一致的、可预测的延时。开关矩阵将芯片上的几个独立的PAL器件组合成为一个MACH器件。设计者在设计时,无须关心其内部结构,完全由设计软件对开关矩阵自动配置,并将设计自动分配到各个PAL块。上一页下一页返回5.2 可编程逻辑器件4.MACH中的PAL块PAL块可以视为芯片内独立的PAL器件。只有通过开关矩阵,各PAL块之间才能通信。每个PAL块由乘积项阵列、逻辑分配器、宏单元和I/O单元组成。MACH1、2系列器件的PAL块的基本结构相同,区别仅在于宏单元数、I/O数等。本书以MACH111为例介绍PAL块的结构和功能。MACH111器件的PAL块内部结构如图5-12所示。它包括一个有64个乘积项的逻辑阵列、一个逻辑分配器、16个宏单元和16个I/O单元。开关矩阵使每个PAL块与26个输入相连。每个PAL块有4个附加的输出使能乘积项,且两个为一组。为了输出使能,将16个I/O单元分成两组,每组对应8个宏单元,每组分配有两个输出使能乘积项。每个PAL块内还有两个乘积项,由16个宏单元共用,它们分别用于异步复位和异步置位,以对宏单元中的触发器进行初始化。同一个PAL块内的所有触发器的初始化同时进行。

上一页下一页返回5.2 可编程逻辑器件(1)乘积项阵列MACH111的乘积项阵列由64个乘积项和6个专用乘积项组成。其中4个专用乘积项为可编程输出使能信号,另外两个专用乘积项则分别为异步复位和异步置位。MACH111中PAL块的输入数为26个,它们来自开关矩阵。(2)逻辑分配器图5-13是逻辑分配器的原理框图,每4个输入乘积项组成一个乘积项簇(ProductTermCluster)。逻辑分配器将它们分配给适当的宏单元,以使乘积项有较高的利用率。MACH111的逻辑分配器将64个乘积项按照需要分配到16个宏单元中。驱动每个宏单元的乘积项最多可达12个。

表5-3列出了MACH111的PAL块中每个宏单元可用的乘积项簇。乘积项簇的利用和分配由软件自动进行。上一页下一页返回5.2 可编程逻辑器件(3)宏单元MACH1、2系列器件有两种宏单元,即输出宏单元和隐埋宏单元。隐埋宏单元仅用于MACH2系列。输出宏单元的结构如图5-14所示。它可配置为组合型和寄存器型输出,宏单元的输出送至I/O单元,并可经内部反馈送回到开关矩阵。隐埋宏单元的结构如图5-15所示,其输出并不送至I/O单元,而只作为内部反馈送回开关矩阵,这样就将组合型或寄存器型功能“隐埋”。利用这种隐埋,可以在不增加引脚数的情况下,将有效使用的宏单元数目增加一倍。上一页下一页返回5.2 可编程逻辑器件(4)I/O单元I/O单元由三态输出缓冲器组成,如图5-16所示。该三态缓冲器可通过四选一多路选择器配置为三种方式:永久地允许该缓冲器作为输出缓冲器;永久地禁止输出缓冲器,使该引脚作为输入引脚;用两个乘积项之一控制缓冲器,实现双向端口和总线连接。每个PAL块中的16个I/O单元分成两组,专用的两个乘积项在每个组内公用。两个乘积项用于控制第一组的8个三态输出

温馨提示

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

评论

0/150

提交评论