He implementado el módulo ram Verilog. Hice una instanciación y leí los datos de alguna dirección. Después de eso, quiero escribir los datos en otra dirección. miradas que no necesito hacer dos veces la creación de instancias del ram, ya que cada ram define una matriz de registros diferente. La pregunta es cómo (¿debería yo?) reutilizar la misma instancia del ram?
module ram(we,addr,data);
input we;
input[DATA_WIDTH - 1:0] addr,
inout[DATA_WIDTH - 1:0] data;
reg [DATA_WIDTH - 1:0] mem[0:ADDR_DEPTH - 1];
always @ ( posedge clk )
begin
if(we)
mem[addr] <= data;
else
data <= mem[addr];
end
endmodule
module top (add1,add2);
wire [DATA_WIDTH - 1:0] w_data;
ram i_ram1(1b'0,add1,w_data);
ram i_ram2(1b'1,add2,w_data);//<- other mem array is used in this instance