第7章存储器和复杂可编程逻辑器件7.1只读存储器7.2随机存取存储器7.3复杂可编程逻辑器件*7.4现场可编程门阵列*7.5用EDA技术和可编程器件的设计例题教学基本要求:1、掌握半导体存储器字、位、存储容量、地址等基本概念;2、掌握RAM、ROM的工作原理及典型应用;3、了解存储器的存储单元的组成及工作原理;4、了解CPLD、FPGA的结构及实现逻辑功能的编程原理。概述半导体存储器能存放大量二值信息的半导体器件。存储器的主要性能指标:存取时间多长——存储速度存储数据量多大——存储容量可编程逻辑器件是一种通用器件,其逻辑功能是由用户通过对器件的编程来设定的。它具有集成度高、结构灵活、处理速度快、可靠性高等优点。7.1只读存储器7.1.1ROM的定义与基本结构7.1.2二维译码7.1.3可编程ROM7.1.4集成电路ROM7.1.5ROM的读操作与定时图7.1.6ROM应用举例存储器RAM(Random-AccessMemory)ROM(Read-OnlyMemory)RAM(随机存取存储器):在运行状态可以随时进行读或写操作。存储的数据必须有电源供应才能保存,一旦掉电,数据全部丢失。ROM(只读存储器):在正常工作状态只能读出信息。断电后信息不会丢失,常用于存放固定信息(如程序、常数等)。固定ROM可编程ROMPROMEPROME2PROMSRAM(StaticRAM):静态RAMDRAM(DynamicRAM):动态RAM1.存储器的分类2.几个基本概念存储容量:存储二值信息的总量。字数:字的总量。字长(位数):表示一个信息二进制码的位数称为一个字,字的位数称为字长。存储容量M=字数×位数地址:每个字的编号。字数=2n(n为存储器外部地址线的线数)Y0Y1Y7A4X1X31X0···············列地址译码器行地址译码器A5A3A2A1A0A6A7只读存储器,工作时内容只能读出,不能随时写入,所以称为只读存储器(Read-OnlyMemory)。ROM的分类:按写入情况划分固定ROM可编程ROMPROMEPROME2PROM按存贮单元中器件划分二极管ROM三极管ROMMOS管ROM7.1.1ROM的定义与基本结构存储矩阵7.1.1ROM的定义与基本结构数据输出控制信号输入输出控制电路地址译码器地址输入地址译码器存储矩阵输出控制电路1)ROM(二极管PROM)结构示意图D3D2D1D0+5VRRRROEA0A1A1A0Y0Y1Y2Y32线-4线译码器存储矩阵位线字线输出控制电路M=44地址译码器D3D2D1D0+5VRRRROEA0A1A1A0Y0Y1Y2Y32线-4线译码器字线与位线的每个交点都是一个存储单元。交点处有二极管相当存1,无二极管相当存0。当OE=1时:输出为高阻状态。000101111101111010001101地址A1A0D3D2D1D0内容当OE=0时:A6A7A4A5D0+VDDRRRRY0Y1Y14Y154线|16线译码器16线-1线数据选择器A2A3A0A1A2A3A0A1S2S3S0S1I0I1I14I15Y字线存储矩阵位线•字线与位线的每个交点都是一个存储单元。•交点处有MOS管相当存0,无MOS管相当存1。7.1.2二维译码思考题:该存储器的容量是多少?7.1.3可编程ROM256个存储单元排成1616的矩阵:行译码器从16行中选出要读的一行;列译码器再从选中的一行存储单元中选出要读的一列的一个存储单元。如选中的存储单元的MOS管的浮栅注入了电荷,该管截止,读得1;相反读得0。(2561位EPROM)7.1.4集成电路ROMD7~D0PGM输出缓冲器Y选通存储阵列CEOE控制逻辑Y译码X译码A16~A0VPPGNDVCCAT27C010128K×8位ROM编程选通信号输出使能控制片选信号工作模式A16~A0VPPD7~D0读00XAiX数据输出输出无效X1XXX高阻等待1XXAiX高阻快速编程010AiVPP数据输入编程校验001AiVPP数据输出CEOEPGM7.1.5ROM的读操作和定时图(2)加入有效的片选信号CEOE(3)使输出使能信号有效,经过一定延时后,有效数据出现在数据线上;CEOE(4)让片选信号或输出使能信号无效,经过一定延时后数据线呈高阻态,本次读出结束。(1)欲读取单元的地址加到存储器的地址输入端;tCEtAA读出单元的地址有效CEtOEOED7~D0数据输出有效tOZtOHA16~A0(1)用于存储固定的专用程序(2)利用ROM可实现查表或码制变换等功能查表功能——查某个角度的三角函数。把变量值(角度)作为地址码,其对应的函数值作为存放在该地址内的数据,这称为“造表”。使用时,根据输入的地址(角度),就可在输出端得到所需的函数值,这就称为“查表”。码制变换——把欲变换的编码作为地址,把最终的目的编码作为相应存储单元中的内容即可。7.1.6ROM应用举例CI3I2I1I0二进制码O3O2O1O0格雷码CI3I2I1I0格雷码O3O2O1O0二进制码000000000100000000000010001100010001000100011100100011000110010100110010001000110101000111001010111101010110001100101101100100001110100101110101010001100110001111010011101110011110010101111110101100010111110110111101011001010111001000011011011111011001011101001111101011011111000111111010用ROM实现二进制码与格雷码相互转换的电路C(A4)I3I2I1I0(A3A2A1A0)二进制码O3O2O1O0(D3D2D1D0)格雷码C(A4)I3I2I1I0(A3A2A1A0)格雷码O3O2O1O0(D3D2D1D0)二进制码000000000100000000000010001100010001000100011100100011000110010100110010001000110101000111001010111101010110001100101101100100001110100101110101010001100110001111010011101110011110010101111110101100010111110110111101011001010111001000011011011111011001011101001111101011011111000111111010C=A4I3I2I1I0=A3A2A1A0O3O2O1O0=D3D2D1D0A4A3A2A1CI3I2I1ROMD1D2D3D4CEOEA0I0O3O2O1O0用ROM实现二进制码与格雷码相互转换的电路存储器的字长与数据结构课程所讲的字长完全一样吗?讨论:7.1.1(2)7.1.2(1)作业:7.2随机存取存储器7.2.1静态随机存取存储器7.2.2同步静态随机存取存储器7.2.4存储器容量的扩展7.2.3动态随机存取存储器I/O电路I/O0OEAn-1WEI/Om-1CEA0AiAi+1存储阵列行译码列译码7.2.1静态随机存取存储器(SRAM)1.SRAM的基本结构CEOEWE=1XX高阻CEOEWE=00X输入CEOEWE=010输出CEOEWE=011高阻SRAM的工作模式工作模式CEWEOEI/O0~I/Om-1保持(微功耗)1XX高阻读010数据输出写00X数据输入输出无效011高阻T8T7VDDVGGT6T1T4T2T5T3Yj(列选择线)Xi(行选择线)数据线数据线DD位线B位线B存储单元2.SRAM存储单元•静态SRAM(StaticRAM)双稳态存储单元电路列存储单元公用的门控制管,与读写控制电路相接Yj=1时导通本单元门控制管:控制触发器与位线的接通。Xi=1时导通来自列地址译码器的输出来自行地址译码器的输出T8T7VDDVGGT6T1T4T2T5T3Yj(列选择线)Xi(行选择线)数据线数据线DD位线B位线B存储单元•T5、T6导通•T7、T8均导通Xi=1Yj=1•触发器的输出与数据线接通,该单元通过数据线读取数据。触发器与位线接通tAA读出单元的地址有效tRCtOHA地址输出数据上一个有效数据数据输出有效tLZOECEOE数据输出数据输出有效tHZCEtHZOEtDOEtLZCEtACEtRC高阻(a)(b)3.SRAM的读写操作及时序图读操作时序图3.SRAM的读写操作及时序图写操作时序图tHDtSD地址有效tWC地址CE数据输入数据有效tAWtSAtSCEtHAWEtSAtHDtSD地址有效tWC地址CE数据输入数据有效tAWtHAWEA1A0输入寄存器I/OOEWECE地址寄存器丛发控制逻辑D1D0Q1Q0读写控制逻辑ACPADV存储阵列地址译码输入驱动输出放大A1A0写地址寄存器数据选择器7.2.2同步静态随机存取存储器(SSRAM)SSRAM是一种高速RAM。与SRAM不同,SSRAM的读写操作是在时钟脉冲节拍控制下完成的。A1A0输入寄存器I/OOEWECE地址寄存器丛发控制逻辑D1D0Q1Q0读写控制逻辑ACPADV存储阵列地址译码输入驱动输出放大A1A0写地址寄存器数据选择器寄存地址线上的地址寄存要写入的数据ADV=0:普通模式读写ADV=1:丛发模式读写WE=0:写操作=1:读操作WE寄存各种使能控制信号,生成最终的内部读写控制信号;2位二进制计数器,处理A1A0ADV=0:普通模式读写CPA1A2A3A4A5A6A7A8A9WEADVCEA1234567891011O(A1)O(A4)O(A7)I(A8)O(A2)O(A3)I(A5)I(A6)I/O片选无效=0:写操作WE=1:读操作WE普通模式读写模式:在每个时钟有效沿锁存输入信号,在一个时钟周期内,由内部电路完成数据的读(写)操作。读A1地址单元数据I/O输出A1数据;开始读A2数据I/O输出A2数据;开始读A3数据I/O输出A6数据;开始读A7数据开始读A4地址单元数据I/O输入A5数据;开始写A6数据I/O输出A4数据;开始写A5数据,CPA1A2A3WEADVCEA1234567891011O(A1)O(A2+1)O(A2)I(A3)O(A1+1)O(A1+2)O(A2+2)O(A2+3)O(A2)I(A3+1)I/O读A2地址单元数据丛发模式读A2+1中的数据丛发模式读A2+2中的数据丛发模式读A2+3中的数据丛发模式重新读A2中的数据ADV=1:丛发模式读写丛发模式读写模式:在有新地址输入后,自动产生后续地址进行读写操作,地址总线让出。读A1地址单元数据丛发模式读A1+1中的数据丛发模式读A1+2中的数据在由SSRAM构成的计算机系统中,由于在时钟有效沿到来时,地址、数据、控制等信号被锁存到SSRAM内部的寄存器中,因此读写过程的延时等待均在时钟作用下,由SSRAM内部控制完成。此时,系统中的微处理器在读写SSRAM的同时,可以处理其他任务,从而提高了整个系统的工作速度。SSRAM的使用特点:1、动态存储单元及基本操作原理T存储单元写操作:X=1=0WET导通,电容器C与位线B连通输入缓冲器被选通,数据DI经缓冲器和位线写入存储单元如果DI为1,则向电容器充电,C存1;反之电容器放电,C存0。刷新R行选线XOD读/写WEID输出缓冲器/灵敏放大器刷新缓冲器输入缓冲器位线B7.2.3动态随机存取存储器C读操作:X=1=1WET导通,电容器C与位线B连通输出缓冲器/灵敏放大器被选通,C中存储的数据通过位线和缓冲器输出。T刷新R行选线XODWEID输出缓冲器/灵敏放大器刷新缓冲器输入缓冲器位线B每次读出后,必须及时对读出单元刷新,即此时刷新控制R也为高电平,则读出的数据又经刷新缓冲器和位线对电容