Files
NawfalMotii79-PLFM_RADAR/9_Firmware/9_2_FPGA
Jason 4c9032187a test(fpga): PR-AD AD.3 — FT601 system-opcode TB + SUPPORT_LONG_RANGE compile guard
Guards against future drift between the two USB driver command paths
(USB_MODE=0 vs USB_MODE=1) and against 200T+long-range build breakage
in usb_data_interface.v.

tb/tb_system_opcodes_ft601.v — new (~397 LOC):
  - Sibling of tb_system_opcodes.v with radar_system_top
    #(.USB_MODE(0))
  - FT601 RX BFM: 32-bit single-word read with 5-cycle word holds
    (IDLE -> OE_ASSERT -> READING -> DEASSERT -> PROCESS)
  - 28/0 PASS, same opcode coverage as the FT2232H sibling

run_regression.sh — adds 2 entries:
  - "FT601 Driver Long-Range Compile (PR-AD AD.3)" in Phase 1:
    inline iverilog -DSUPPORT_LONG_RANGE on usb_data_interface.v;
    suppresses informational warnings (timescale / dangling / @*
    sensitive) and fails on real warnings. Catches macro creep
    that would break the 200T 20-km build before Vivado synthesis.
  - "System Opcodes FT601 (tb_system_opcodes_ft601)" in Phase 2
    (non-quick block).

radar_system_top.v — header doc block documenting the
USB_MODE x SUPPORT_LONG_RANGE 4-cell build matrix and clarifying
that the flags are orthogonal (200T+FT601 with 3-km-only DSP is a
valid bring-up baseline; 50T+FT2232H+LR is rare but must still
compile). Notes that both drivers emit the identical v2 bulk frame
and that byte-equality is enforced by tb_usb_drivers_parity.v.

Regression: 46/0/0 (44 + 1 system TB + 1 LR compile guard).
Lint: 0 errors, 2 advisory (pre-existing, unrelated).
2026-05-18 13:29:11 +05:45
..