Я пытаюсь создать verilog для памяти с синхронным чтением с помощью следующего долота
val my_mem = Mem(Bits(width=64), 4096, seqRead=true)
val read_data = Reg(Bits(width=64))
when(io.re) {
read_data := my_mem(io.addr)
}
io.ret_data := read_data
Однако это генерирует verilog с этим
wire[63:0] T1;
reg [63:0] read_data;
assign T1 = my_mem[io_addr];
always @(posedge clk) begin
if(io_re) begin
read_data <= T1;
end
Что я делаю неправильно, чтобы заставить chisel генерировать verilog, который считывает память внутри блока always?