网站有限公司,网站哪家公司做的,网站的营销,建设学院实验网站的作用典型电路设计之片内存储器的设计之RAM的Verilog HDL描述一
RAM是随机存储器#xff0c;存储单元的内容可按需随意取出或存入。这种存储器在断电后将丢失所有数据#xff0c;一般用来存储一些短时间内使用的程序和数据。 其内部结构如下图所示#xff1a; 例#xff1a;用…典型电路设计之片内存储器的设计之RAM的Verilog HDL描述一
RAM是随机存储器存储单元的内容可按需随意取出或存入。这种存储器在断电后将丢失所有数据一般用来存储一些短时间内使用的程序和数据。 其内部结构如下图所示 例用Verilog HDL 设计深度为8位宽为8的单端口RAM。 单口RAM只有一套地址总线读和写操作是分开的。 下面是verilog代码
module ram_single( clk, addm, cs_n, we_n, din, dout);
input clk;
input [2:0]addm;
input cs_n;
input we_n;
input [7:0] din;
output[7:0] dout;
reg [7:0] dout;
reg [7:0] raml [7:0];
always(posedge clk)
begin
if(cs_n)
dout8bzzzz_ZZZZ;
else
if(we_n)
doutraml[addm];
else
raml[addm]din;
end
endmodule下面是testbench
module ram_single_tb;
reg clk, we_n, cs_n;
reg [2:0]addm;
reg [7:0]din;
wire [7:0]dout;
ram_single U1(.clk(clk),.addm(addm),.cs_n(cs_n),.we_n(we_n),.din(din),.dout(dout));
initial begin
clk0;
addm0;cs_n1;
we_n0;din0;
#5 cs_n0;
#315 we_n1;
end
always
#10 clk~clk;
initial
begin
repeat(7) begin
#40 addmaddm1;
dindin1;
end
#40 repeat(7)
#40 addmaddm-1;
end
endmodule