Это моя синтезируемая модель памяти в Verilog.
module memory(
output reg [31:0] data_out,
input [31:0] address,
input [31:0] data_in,
input write_enable,
input clk
);
reg [31:0] memory [0:255];
always @(posedge clk) begin
if (write_enable) begin
memory[address] <= data_in;
end
data_out <= memory[address];
end
endmodule
Например:
memory[32'h10]
содержит 0xAAAAAAAA
Я просто хочу записать один байт данных 0xFF
в память address 0x10
, чтобы
memory[32'h10]
содержит 0xFFAAAAAA
Можете ли вы порекомендовать хороший способ изменить мой код, чтобы я мог получить доступ только к одному биту, полубайту, байту, полуслову или слову в моем модуле памяти?