存储器设计范例.pdf
文本预览下载声明
第 8 章 存储器设计范例
在数字电路中,存储器是一种能够存储大量二进制信息的逻辑电路,通常用于数字系
统中大量数据的存储。存储器的工作原理是,存储器为每一个存储单元编写一个地址,因此
只有地址指定的那些存储单元才能够与公共的I/O 相连,然后进行存储数据的读/写操作。
通常按存取方式把存储器分为只读存储器(ROM )、随机存储器(RAM )、顺序存储器
和直接存取存储器 4 类。本章将介绍其中的只读存储器(ROM )、随机存储器(RAM )、堆
栈和FIFO 的设计方法。
8.1 只读存储器 (ROM)
ROM 是一种重要的时序逻辑存储电路,它的逻辑功能是在地址信号的选择下,从指定
存储单元中读取相应的数据。ROM 只能进行数据的读取,而不能修改或写入新的数据。本
节将以16×8 的ROM 为例,介绍ROM 的设计方法。
1.电路符号
ROM 的电路符号如图8-1-1 所示。输入信号:地址选择信号 addr[3..0] ;使能端en 。输
rom 出信号:数据输出端data[7..0] 。
addr[3..0]addr[3..0] data[7..0]data[7..0] 2 .设计方法
enen
采用文本编辑法,利用 Verilog HDL 语言描述 ROM ,
inst 代码如下。
图 8-1-1 ROM 的电路符号 (1)代码一:使用 function 说明语句。
module rom(addr,data,en);
input[3:0] addr; //地址选择信号
output[7:0] data; //数据输出端
input en; //使能端
reg[7:0] data;
function[7:0] romout;
input[3:0] addr;
case(addr)
3h0 : romout = 8 //数据
3h1 : romout = 8
3h2 : romout = 8
3h3 : romout = 8
3h4 : romout = 8
3h5 : romout = 8
3h6 : romout = 8
3h7 : romout = 8
3h8 : romout = 8
第 8 章 存储器设计范例 255
3h9 : romout = 8
3h10 : romout = 8
3h11 : romout = 8
3h12 : romout = 8
3h13 : romout = 8
3h14 : romout = 8
3h15 : romout = 8
default : romout = 8bx;
endcase
endfunction
always @(*)
begin
if(en)
begin data=romout(addr); end
显示全部