¿Existe una forma mejor / alternativa de modelar la memoria RAM en Verilog que no sea declararla como una matriz de registros? La mayoría de las fuentes a las que me referí tienen memorias codificadas de la siguiente manera.
output reg [WIDTH-1:0] word_out;
input [WIDTH-1:0] word_in, cpu_addr;
input reset, we, clk;
reg [WIDTH-1:0] chip [0:DEPTH-1];
always @ (posedge clk)
begin
if (!reset)
begin
if (we)
begin
chip[word_addr] <= word_in;
word_out <= word_in;
end
else
word_out <= chip[word_addr];
end
end
¿Hay una alternativa a esto, probablemente usando flipflops o algo así?