Gap 2 GUI Settings: runtime chirp timing, stream control gating, status readback (18/18 FPGA, 20/20 MCU)
Register map: 0x10-0x15 chirp timing overrides, 0xFF status readback, 0x03 CFAR threshold now wired to actual compare, 0x04 stream control gates USB write FSM. Status readback sends 7-word packet (0xBB header, 5 status words, 0x55 footer) via toggle CDC. radar_mode_controller: 6 cfg_* input ports replace hardcoded parameters. usb_data_interface: stream_control CDC, status_request toggle CDC, SEND_STATUS state (3'd7), stream gating in IDLE/HEADER/RANGE/DOPPLER. radar_system_top: 6 host registers + command decode for 0x10-0x15/0xFF. radar_receiver_final: 6 host_* timing passthrough ports. Testbench coverage: RMC 81 checks (+TG16 runtime reconfig), USB 77 checks (+TG15 stream gating, TG16 status readback, TG17 chirp opcodes). Fixed iverilog 13.0 forward-ref for status_req_toggle_100m.
This commit is contained in:
@@ -66,6 +66,14 @@ module fv_radar_mode_controller (
|
||||
(* anyseq *) wire stm32_new_azimuth;
|
||||
(* anyseq *) wire trigger;
|
||||
|
||||
// Gap 2: Formal cfg_* inputs — solver-driven for exhaustive coverage
|
||||
(* anyseq *) wire [15:0] cfg_long_chirp_cycles;
|
||||
(* anyseq *) wire [15:0] cfg_long_listen_cycles;
|
||||
(* anyseq *) wire [15:0] cfg_guard_cycles;
|
||||
(* anyseq *) wire [15:0] cfg_short_chirp_cycles;
|
||||
(* anyseq *) wire [15:0] cfg_short_listen_cycles;
|
||||
(* anyseq *) wire [5:0] cfg_chirps_per_elev;
|
||||
|
||||
// ================================================================
|
||||
// DUT outputs
|
||||
// ================================================================
|
||||
@@ -101,6 +109,13 @@ module fv_radar_mode_controller (
|
||||
.stm32_new_elevation(stm32_new_elevation),
|
||||
.stm32_new_azimuth (stm32_new_azimuth),
|
||||
.trigger (trigger),
|
||||
// Gap 2: Runtime-configurable timing inputs
|
||||
.cfg_long_chirp_cycles (cfg_long_chirp_cycles),
|
||||
.cfg_long_listen_cycles (cfg_long_listen_cycles),
|
||||
.cfg_guard_cycles (cfg_guard_cycles),
|
||||
.cfg_short_chirp_cycles (cfg_short_chirp_cycles),
|
||||
.cfg_short_listen_cycles(cfg_short_listen_cycles),
|
||||
.cfg_chirps_per_elev (cfg_chirps_per_elev),
|
||||
.use_long_chirp (use_long_chirp),
|
||||
.mc_new_chirp (mc_new_chirp),
|
||||
.mc_new_elevation (mc_new_elevation),
|
||||
|
||||
Reference in New Issue
Block a user