Лучший способ кодирования оперативной памяти в Verilog

Какой код лучше при записи оперативной памяти?

  1. присвоение data_out внутри always блока:

    module memory(
     вывод reg [7:0] data_out,
     вход [7:0] адрес,
     вход [7:0] data_in, 
     вход write_enable,
     входной клок
    );
     reg [7:0] память [0:255];
    
     always @(posedge clk) begin
     if (write_enable) begin
     memory[address] <= data_in;
     end
     data_out <= memory[address];
     end
    
    endmodule
    
  2. присвоение data_out с помощью оператора assign:

    модуль memory(
     выход [7:0] data_out,
     вход [7:0] адрес,
     вход [7:0] data_in, 
     вход write_enable,
     вход clk
    );
     reg [7:0] память [0:255];
    
     always @(posedge clk) begin
     if (write_enable) begin
     memory[address] <= data_in;
     end
     конец
    
     присвоить data_out = memory[address];
    
    endmodule
    

Любые рекомендации?

17
задан e19293001 6 July 2015 в 02:56
поделиться