module ram(clk,data_out,data_in,addr,wr,rd,cs);
output[7:0]dat_aout; //数据输出端
input[4:0]addr; //地址选择信号
input[7:0]data_in; //数据写入端
input clk,wr,rd,cs; //时钟信号,写信号、读信号、片选信号
reg[7:0]data1[31:0]; //定义存储空间
reg[7:0]data_out;
//写操作
always@(posedge clk)
begin
if(cs==0)
begin if(wr)
begin data1[addr]=data_in;end
else
begin data_out='bz;end
end
end
//读操作
always@(posedge clk)
begin
if(cs==0)
begin
if(rd)
begin data_out=data1[addr];end
else
begin data_out='bz;end
end
end
endmodule
此帖出自
小平头技术问答
一周热门 更多>