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