fix: request/done protocol

This commit is contained in:
Zer0Nu11
2026-06-19 08:05:03 +03:00
parent 035d02234c
commit d71aaf1650

View File

@ -12,11 +12,11 @@ module sampler
input [DATA_WIDTH-1:0] data_in, input [DATA_WIDTH-1:0] data_in,
input out_of_range, input out_of_range,
input [31:0] smp_num, input [31:0] smp_num,
input done, input request,
output logic [DATA_WIDTH*PACK_FACTOR-1:0] m_axis_tdata, output logic [DATA_WIDTH*PACK_FACTOR-1:0] m_axis_tdata,
output logic m_axis_tvalid, output logic m_axis_tvalid,
output logic request output logic done
); );
logic [DATA_WIDTH-1:0] data_converted; logic [DATA_WIDTH-1:0] data_converted;
logic out_of_range_reg; logic out_of_range_reg;
@ -66,18 +66,18 @@ module sampler
cnt_smp_num <= '0; cnt_smp_num <= '0;
smp_num_reg <= '0; smp_num_reg <= '0;
enable <= 0; enable <= 0;
request <= 0; done <= 0;
end end
else begin else begin
buffer_ready <= 0; buffer_ready <= 0;
if (!enable) begin if (!enable) begin
if (request && done) begin if (done && request) begin
enable <= 1; enable <= 1;
request <= 0; done <= 0;
cnt_smp_num <= 0; cnt_smp_num <= 0;
smp_num_reg <= smp_num; smp_num_reg <= smp_num;
end else begin end else begin
request <= 1; done <= 1;
end end
end else begin end else begin
if (cnt_smp_num != smp_num_reg) begin if (cnt_smp_num != smp_num_reg) begin
@ -104,17 +104,17 @@ module sampler
cnt_smp_num <= '0; cnt_smp_num <= '0;
smp_num_reg <= '0; smp_num_reg <= '0;
enable <= 0; enable <= 0;
request <= 0; done <= 0;
end else begin end else begin
buffer_ready <= 0; buffer_ready <= 0;
if (!enable) begin if (!enable) begin
if (request && done) begin if (done && request) begin
enable <= 1; enable <= 1;
request <= 0; done <= 0;
cnt_smp_num <= 0; cnt_smp_num <= 0;
smp_num_reg <= smp_num; smp_num_reg <= smp_num;
end else begin end else begin
request <= 1; done <= 1;
end end
end else begin end else begin
if (cnt_smp_num != smp_num_reg) begin if (cnt_smp_num != smp_num_reg) begin