E2E integration test + RTL fixes: mixer sequencing, USB data-pending flags, receiver toggle wiring (19/19 FPGA)
RTL fixes discovered via new end-to-end testbench: - plfm_chirp_controller: TX/RX mixer enables now mutually exclusive by FSM state (Fix #4), preventing simultaneous TX+RX activation - usb_data_interface: stream control reset default 3'b001 (range-only), added doppler/cfar data_pending sticky flags, write FSM triggers on range_valid only — eliminates startup deadlock (Fix #5) - radar_receiver_final: STM32 toggle signals wired through for mode-00 pass-through, dynamic frame detection via host_chirps_per_elev - radar_system_top: STM32 toggle signal wiring to receiver instance - chirp_memory_loader_param: explicit readmemh range for short chirp Test infrastructure: - New tb_system_e2e.v: 46 checks across 12 groups (reset, TX, safety, RX, USB R/W, CDC, beam scanning, reset recovery, stream control, latency budgets, watchdog) - tb_usb_data_interface: Tests 21/22/56 updated for data_pending architecture (preload flags, verify consumption instead of state) - tb_chirp_controller: mixer tests T7.1/T7.2 updated for Fix #4 - run_regression.sh: PASS/FAIL regex fixed to match only [PASS]/[FAIL] markers, added E2E test entry - Updated rx_final_doppler_out.csv golden data
This commit is contained in:
@@ -80,9 +80,13 @@ assign elevation__toggling = new_elevation;
|
||||
assign azimuth__toggling = new_azimuth;
|
||||
assign new_chirp_frame = (current_state == IDLE && next_state == LONG_CHIRP);
|
||||
|
||||
// Mixers Enabling
|
||||
assign rx_mixer_en = mixers_enable;
|
||||
assign tx_mixer_en = mixers_enable;
|
||||
// Mixer TX/RX sequencing — mutually exclusive based on chirp FSM state.
|
||||
// TX mixer active during chirp transmission, RX mixer during listen.
|
||||
// Both require mixers_enable (STM32 master enable) to be high.
|
||||
assign tx_mixer_en = mixers_enable && (current_state == LONG_CHIRP ||
|
||||
current_state == SHORT_CHIRP);
|
||||
assign rx_mixer_en = mixers_enable && (current_state == LONG_LISTEN ||
|
||||
current_state == SHORT_LISTEN);
|
||||
|
||||
// ADTR1000 pull to ground tx and rx load pins if not used
|
||||
assign adar_tx_load_1 = 1'b0;
|
||||
|
||||
Reference in New Issue
Block a user