哪个代码在写入RAM时更好?在Verilog中编码RAM的更好方法
内
always
块分配data_out
: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
任何建议:
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
使用assign
语句中给data_out
?
你不需要16个地址位来访问256个存储单元。你应该使用'输入[7:0]地址;'。 – toolic