3.6只读存储器(ROM)分类掩模ROM可编程ROM(PROM—ProgrammableROM)可擦除可编程ROM(EPROM—ErasablePROM)说明:掩模ROMPROM生产过程中在掩模板控制下写入,内容固定,不能更改内容可由用户编好后写入,一经写入不能更改紫外光擦除(约二十分钟)EPROM存储数据可以更改,但改写麻烦,工作时只读EEPROM或E2PROM电擦除(几十毫秒)1、固定ROM(掩膜ROM):用户专用ROM,用户将程序代码交给IC生产商,生产商在芯片制造过程中将用户程序代码固化在IC的ROM中,用户在使用过程只能读出不能写入。2、可编程ROM(PROM)PROM所存的数据,由用户自己根据要求写入。但是只能写一次,不允许第二次改写。适合于小批量试产使用,有保密位,可以加密。价格较高。适合于大批量生产使用,性价比高。3、可擦除,可编程ROM(EPROM)(程序调试期间使用)EPROM:用紫外光可以擦除ROM中全部信息。擦除时间几分钟,然后用专用编程器进行编程写入。EEPROM:电擦除ROM,直接在编程器上用电压信号进行擦除。重新写入和擦除同步进行。擦除时间为20ms。EAPROM:直接在系统中擦除和改写,可以擦除全部内容,也可以只擦除部分字节。正常使用只能读出不能写入。只读存储器ROM中的数据可以存储5~20年而不丢失。ROM结构译码驱动MXN矩阵字X位读出放大,选择电路A1A2AnW0W1WM-1B0B1BN-1字线位线由三部分组成:☆地址译码器☆存储矩阵☆读出放大,选择电路当地址译码器选中某一个字线后,该字线的若干位同时读出。212=4096字XN位(N=8、16、32)地址码输入☆12位地址读写控制一、静态随机存储器(SRAM)SRAM的静态存储单元2.DRAM(动态存储单元)的总体结构一、掩膜只读存储器采用MOS工艺制作通用大规模集成电路ROM,工艺简单,集成度高,大批量生产,故成本低,售价低。二、可编程只读存储器(PROM)3.6.1ROM的结构和工作原理1.基本结构一、ROM的结构示意图地址输入数据输出01~AAn—n位地址01~DDb—b位数据A0A1An-1D0D1Db-1D0D1Db-1A0A1An-12n×bROM……………………最高位最低位2.内部结构示意图存储单元数据输出字线位线地址译码器ROM存储容量=字线数位线数=2nb(位)地址输入0单元1单元i单元2n-1单元D0D1Db-1A0A1An-1W0W1WiW2n-13.逻辑结构示意图(1)中、大规模集成电路中逻辑图简化画法的约定连上且为硬连接,不能通过编程改变编程连接,可以通过编程将其断开断开DBAYABDCABDY&CBAYABCY≥1与门或门AY=AY=AAZ=AY=AAYA1A1YA1YZ缓冲器同相输出反相输出互补输出(2)逻辑结构示意图m0A0A1An-1m1mim2n-1译码器Z0(D0)……或门Z1(D1)……或门Zb-1(Db-1)……或门……2n个与门构成n位二进制译码器,输出2n个最小项。01210DmmmZni1101DmmmZi...112101b-ib-DmmmmZnn个输入变量b个输出函数或门阵列与门阵列W0(m0)W2(m2)D0=W0+W2=m0+m2二、ROM的基本工作原理1.电路组成二极管或门二极管与门W0(m0)+VCC1A0A1A111A01VccEND3END2END1END0D3D2D1D0W0(m0)W1(m1)W2(m2)W3(m3)与门阵列(译码器)或门阵列(编码器)位线字线输出缓冲EN2.工作原理输出信号的逻辑表达式0100AAmW0111AAmW0122AAmW0133AAmW0010120200AAAAAmmWWD013211AA103202AA0313AWWD1A111A01VccEND3END2END1END0D3D2D1D0W0(m0)W1(m1)W2(m2)W3(m3)与门阵列(译码器)或门阵列(编码器)位线输出缓冲EN字线字线:位线:11输出缓冲VCCA1A0D1D3D2D0地址译码器存储单元0W1W2W3W☆地址译码器(字线)和存储矩阵(位线)之间的关系。0101020AAAAWWD0101011231AAAAAA0101010232AAAAAA0101133AAAAWWDA1A0D3D2D1D000010101101010011111111001011010011111100011字线W和位线D的每个交叉点都是一个存储单元。交叉点接二极管时相当于存1,没有接二极管相当于存0。交叉点的数目就是存储单元数。存储容量=字数X位数=4X4交叉点还可以接三极管、MOS管等。只有W0为1其余为字线为00110输出信号的真值表000110110101A1A0D3D2D1D01010011111103.功能说明(1)存储器(2)函数发生器地址存储数据输入变量01AA输出函数0123DDDD(3)译码编码字线编码0W0101101001111110A1A000011011输入变量输出函数1W2W3W3.6.2ROM应用举例及容量扩展一、ROM应用举例用ROM实现以下逻辑函数[例3.6.2]Y1=m(2,3,4,5,8,9,14,15)Y2=m(6,7,10,11,14,15)Y3=m(0,3,6,9,12,15)Y4=m(7,11,13,14,15)A1B1C1D1m0m1m2m3m4m5m6m7m8m9m10m11m12m13m14m15Y2Y3Y4Y1译码器编码器二、ROM容量扩展1.存储容量存储器存储数据的能力,为存储器含存储单元的总位数。存储容量=字数位数字—word位—bit1k1:1024个字每个字1位存储容量1k1k4:1024个字每个字4位存储容量4k2568:256个字每个字8位存储容量2k64k16:64k个字每个字16位存储容量1024(1M)2.存储容量与地址位数的关系存储容量25648位地址256=284位数据输出存储容量8k88k=8210=21313位地址8位数据输出3.常用EPROM2764:27128:A0A128k8(64k)13位地址输入:8位数据输出:O0O7输出使能端OE1输出呈高阻0使能片选端CSROM工作(任意)ROM不工作输出呈高阻OE16k8(128k)16k=16210=21427256:32k8(256k)32k=32210=2152764VPPPGMA0A1A2A3A4A5A6A7A8A9A10A11A12CSOEO0O1O2O3O4O5O6O7VCCVIH(PGM)CSOE地址输出01其他常用的EPROM4.ROM容量的扩展地址总线8位数据总线16位数据总线D(7~0)D(15~8)8位→16位地址线合并(共用)输出使能端、片选端合并(共用)数据输出端分为高8位和低8位方法(1)字长的扩展(位扩展):27256A0A14O7O0CSOE27256A0A14O7O0CSOECSOE(2)字线的扩展(地址码的扩展—字扩展)两片4484:四片32k8432k8:15位地址输入140~AA增加两位地址1615AA经过2线-4线译码控制四个芯片的CSROM44位OECSA1A0D1D0D2D3ROM44位OECSA1A0D1D2D3D02A1增加一位地址A2(电路略)RAM的位、字同时扩展例:试用ROM产生如下的一组多输出逻辑函数1234YABCABCYABCDBCDABCDYABCDABCDYABCDABCD解:化为最小项之和的形式得到1234YABCDABCDABCDABCDYABCDABCDABCDABCDYABCDABCDYABCDABCDROM点阵图三、PROM应用举例1、代码转换例:用ROM实现4位二进制到格雷码的转换。ABCDWXYZ00000001001000110100010101100111100010011010101111001101111011110000000100110010011001110101010011001101111111101010101110011000①列状态转换真值表:②由真值表写出最小项之和表达式。W=∑m(8~15)X=∑m(4~11)Y=∑m(2~5、10~13)Z=∑m(1~2、5~6、9~10、13~14)③根据最小项画出与、或点阵图☆先画地址译码器,四变量,八输入,十六个最小项,8X16阵列。☆再画或阵列,只有四输出,每个输出按最小项加表示。共4X16阵列。WAXBYCZDABCD0123456789101112131415W=∑m(8~15)X=∑m(4~11)Z=∑m(1~2、5~6、9~10、13~14)全部最小项把需要的最小项相加★与阵列存储容量:16X8=128★或阵列存储容量:16X4=64★总存储容量=128+64=192点阵图相当于将真值表存入PROM。与阵列:不可编程,所有最小项都必须全部画出。或阵列:可编程,根据要求选用。PROM选用PROM实现:令:PROM地址码A3~A0=ABCD则PROMQ3~Q0=WXYZ3A2A1A0A3Q2Q1Q0QY=∑m(2~5、10~13)2、用ROM实现组合逻辑函数例:用ROM实现一位全加器全加器真值表:ABCiSCO0000010100111001011101110110100100010111最小项之和表达式S=∑m(1、2、4、7)C0=∑m(3、5、6、7)画点阵图:AABBiCiCSOC01234567AB0001111001AB0001111001AB0001111001例:用ROM实现多输出函数BCACBCAF1CBAACF2BCAF3解:写出最小项之和表达式111111111111mF),,,6430(1mF),,750(2mF),,,,76543(3ABCABC1F2F3F01234567分析图示电路1、74161组成模几计数器。2、写出W,X,Y,Z的函数表达式。3、在CP作用下,分析WXYZ端顺序输出8421BCD码的状态,并说明电路的功能。BACDABCDADCWABDCCBADBACDABCDADXDCBACBDDCAABDYDCAADDCBZWXYZ顺序输出3141592653589793的8421BCD码,电路为一个能产生十六位π的函数发生器。模16计数器11110123456789101112131415Q3Q2Q1Q0D3D2D1D0CO74161ABCDWXYZTCTPCTCRLD13、用ROM实现字符发生器常用的点阵字符规格有9X7、7X7、7X5三种。例:用7X5点阵说明如何实现显示一个字符R列真值表:地址码输出A2A1A0D4D3D2D1D00000000000111111010100010111000110011111101101001101001011110001写出最小项之和表达式D4=∑m(1~7)D3=∑m(1、4)D2=∑m(1、4、5)D1=∑m(1、4、6)D0=∑m(1~4、7)R字符占用存储单元:7X5=35如何实现多字符显示?输出为7条字线,每条字线同时输出5五位。ROM矩阵64X7X5字符控制特征地址输出缓冲显示屏A0~A2A3~A88位64位5位A0~A2:3位地址码是字符控制译码器的地址码。每个字符是7行x5列,也可以说每个字符是7个字X5位。A3~A8:6位地址是特征地址译码器的地址码。可寻址范围0~63。