用verilog模拟16X4的可随机读写的存储器,求交流,求指导,该怎么处理

用verilog模拟16X4的可随机读写的存储器,求交流,求指导
利用Verilog HDL设计一个16X4的可随机读写的存储器模块。其中16代表存储单元个数(寻址空间),4代表单个存储单元的位数为4 bit。
我看了老师给的原理图,输入有四个,addr[4:0],din[3:0],wr,rd,cs,其中addr管地址,din是输入的数据,cs是片选信号,低电平时有效,rd是读信号,低电平有效,wr是写入脉冲信号,上升沿有效,输出是dout[3:0]
我的想法是在程序中设定几个regsiter对存储器进行模拟代码如下
[code=Verilog]
module RAM(cout,din,adrr,cs,wr,rd,cin)
    output [3:0] cout; //
    input [3:0] din; //
    input [4,0] adrr; //
    input cs,wr,rd,cin;
    reg [3:0] mem[0:15];//用来模拟存储器
    integer int = arr[0] + arr[1] * 2 + arr[2] * 2 * 2 + arr[2] * 2 * 2 * 2;
    always @(negedge rd and posedge cs)
    begin
      assign cout = men[int];
    end
    always @(negedge wr and posedge cs)
    begin
      assign men[int] = cin;
    end
endmodule[/code]

求指导啊

------解决方案--------------------
帮顶
------解决方案--------------------
C/C++ code
    
begin
      assign cout = men[int];
end