fix: revert synchronizer changes (false changes) and sampler

This commit is contained in:
2026-07-14 13:02:55 +03:00
parent 493d6844c0
commit d80f5ff31f
7 changed files with 706 additions and 244 deletions

View File

@ -152,8 +152,8 @@ module reflectometer_tb;
// AXI-S таски
task automatic axis_send_packet(
virtual axis_if.tb vif,
const ref logic [7:0] payload[]
virtual axis_if.tb vif,
logic [7:0] payload[]
);
int packet_size = payload.size();
@ -163,17 +163,18 @@ module reflectometer_tb;
end
foreach (payload[i]) begin
vif.drv_cb.tdata <= payload[i];
vif.drv_cb.tvalid <= 1'b1;
vif.drv_cb.tlast <= (i == packet_size - 1); // tlast активен только на последнем байте
$display("%1", payload[i]);
// vif.drv_cb.tdata <= payload[i];
// vif.drv_cb.tvalid <= 1'b1;
// vif.drv_cb.tlast <= (i == packet_size - 1); // tlast активен только на последнем байте
// Шагаем на следующий фронт клока, чтобы симулятор применил выходы
@(vif.drv_cb);
// // Шагаем на следующий фронт клока, чтобы симулятор применил выходы
// @(vif.drv_cb);
// Ждем на последующих фронтах, пока tready не станет равен 1.
while (vif.drv_cb.tready !== 1'b1) begin
@(vif.drv_cb);
end
// // Ждем на последующих фронтах, пока tready не станет равен 1.
// while (vif.drv_cb.tready !== 1'b1) begin
// @(vif.drv_cb);
// end
end
// Снимаем валидность на следующем дельта-цикле
@ -206,7 +207,7 @@ module reflectometer_tb;
input logic [31:0] pulse_period_adc
);
// Выделяем 17 байт: 1 байт команды + 16 байт регистров
logic [7:0] full_packet[] = new[17];
logic [7:0] full_packet[17];
// 1. Сначала пишем команду в нулевой байт пакета
full_packet[0] = 8'b10001000; // Твоя команда set_data
@ -253,11 +254,13 @@ module reflectometer_tb;
$display("[TB] Tests start");
// Инициализация
rst_n = 0;
#100;
rst_n = 1;
wait(mmcm_locked === 1'b1);
#10;
// dut_soft_reset();
dut_soft_reset();
// dut_send_system_config(
// .pulse_width(32'd350),
// .pulse_period(32'd1250),