module data_mem(clka, dina, addra, wea, douta); input clka; input [15:0] dina; input [15:0] addra; input wea; output [15:0] douta; reg [15:0] d [65535:0]; assign douta = d[addra]; always @(negedge clka) begin if(wea) d[addra] <= dina; end endmodule