Który kod jest lepszy w pisaniu RAM?Lepszy sposób kodowania pamięci RAM w Verilogu
always
przypisywaniedata_out
wewnątrz bloku:module memory( output reg [7:0] data_out, input [7:0] address, input [7:0] data_in, input write_enable, input clk ); reg [7:0] memory [0:255]; always @(posedge clk) begin if (write_enable) begin memory[address] <= data_in; end data_out <= memory[address]; end endmodule
przypisywania
data_out
użyciuassign
oświadczenie:module memory( output [7:0] data_out, input [7:0] address, input [7:0] data_in, input write_enable, input clk ); reg [7:0] memory [0:255]; always @(posedge clk) begin if (write_enable) begin memory[address] <= data_in; end end assign data_out = memory[address]; endmodule
jakieś zalecenia?
Nie potrzebujesz 16 bitów adresu, aby uzyskać dostęp do 256 lokalizacji pamięci. Powinieneś użyć 'input [7: 0] address;'. – toolic