Files
NawfalMotii79-PLFM_RADAR/.gitignore
Jason 0728d931c4 chore(repo): PR-H — G-series close-out (regression infra + lint sweep)
Closeout pass for the G-series 3-ladder chirp + adaptive-escalation work.
Cleanup, watchdog/fallback, lint, full regression — final sign-off.

Cleanup + watchdog/fallback: already wired during earlier audit waves
(track watchdog in chirp_scheduler RP_DEF_TRACK_WATCHDOG_FRAMES, RESERVED
fallback in plfm_chirp_controller_v2, range-decim watchdog in
radar_system_top with gpio_dig7 surfacing, F-3.* MCU error path).
Verified — no residual TODO/FIXME in production RTL or MCU.

Regression infra: tb/cosim/compare_independent.py SKIP-detection bug —
importlib.util.find_spec("scipy.signal") raises ModuleNotFoundError when
the parent scipy package is itself absent (instead of returning None as
the surrounding logic assumed). Wrap in try/except so the regression
runner gets the intended rc=2 SKIP marker rather than a crash that masks
the rest of the script.

Lint sweep: ruff full-repo → 0 errors. Two changes:
  - pyproject.toml broadens 5_Simulations/Antenna/**.py exemption from
    just T20+ERA to the full set of script-ergonomics rules
    (RUF001/002/003 Greek µ/λ/π/θ in physical-units strings, E501 long
    matplotlib/numpy lines, RUF005/015/046, E70x one-line setup, B007
    tuple-unpack loop vars, B905, BLE001 diag try/except, C401, RET504,
    SIM118, PERF40x, ARG001, E402). These are sim/analysis scripts, not
    production code — keep substantive bug rules (F unused, B core
    bugbears) but drop stylistic noise.
  - Auto-fix sweep: 31x F541 (f-string-no-placeholder), 3x F401 (unused
    sys import), 2x F841 (dead leftover ref_pat / phases_quant in
    array_factor_adar1000_aeris10.py).

.gitignore: cover 9_Firmware/9_2_FPGA/tb/cosim/mf_chain_autocorr.csv
(matched_filter cosim writes here now; was already covered for tb/ but
not tb/cosim/).

Regression baseline (radar_venv):
  FPGA  : 42/43 — 1 pre-existing T-6 drift cosim fail surfaced by the
          SKIP fix above. Three sub-checks now red because PR-O moved
          xFFT/MF chain to LogiCORE v9.1 *Scaled* mode (1/2 per stage,
          1/2^11 total for N=2048) but compare_independent.py's invariants
          (FFT-impulse uniform-spectrum, MF peak-at-injected-delay, MF
          peak/median ≥ 5) were written assuming UNSCALED FFT. Not
          introduced by this PR — was hidden by the SKIP-detection crash.
          Defer to PR-M.4: redesign T-6 invariants (or input amplitudes)
          to match scaled-mode arithmetic.
  MCU   : 34/34 binary suites pass.
  GUI   : test_v7 150/150 pass.

uv.lock: scipy resolution catch-up (declared in pyproject dev group all
along; lock just hadn't been refreshed after pyproject edits landed).

Bench-side checks: none — this PR is repo hygiene, no firmware/RTL
behaviour change.
2026-05-05 10:39:57 +05:45

61 lines
1.7 KiB
Plaintext

# Verilog simulation artifacts
*.vvp
*.vcd
# Debug / scratch RTL (not part of the design)
9_Firmware/9_2_FPGA/debug_*.v
9_Firmware/9_2_FPGA/tb/tb_fft_debug*.v
9_Firmware/9_2_FPGA/tb/tb_fft_mini*.v
9_Firmware/9_2_FPGA/tb/tb_bram_debug.v
# Local simulation artifacts and CSV outputs
9_Firmware/9_2_FPGA/cic_*.csv
9_Firmware/9_2_FPGA/fir_*.csv
9_Firmware/9_2_FPGA/nco_*.csv
9_Firmware/9_2_FPGA/ddc_*.csv
9_Firmware/9_2_FPGA/mf_pipeline_output.csv
9_Firmware/9_2_FPGA/mf_chain_autocorr.csv
9_Firmware/9_2_FPGA/rbd_mode00_ramp.csv
9_Firmware/9_2_FPGA/rbd_mode01_peak.csv
9_Firmware/9_2_FPGA/rbd_mode10_avg.csv
9_Firmware/9_2_FPGA/rbd_mode10_ramp.csv
9_Firmware/9_2_FPGA/rmc_autoscan.csv
9_Firmware/9_2_FPGA/tb/mf_chain_autocorr.csv
9_Firmware/9_2_FPGA/tb/rbd_mode00_ramp.csv
9_Firmware/9_2_FPGA/tb/rbd_mode01_peak.csv
9_Firmware/9_2_FPGA/tb/rbd_mode10_avg.csv
9_Firmware/9_2_FPGA/tb/rbd_mode10_ramp.csv
9_Firmware/9_2_FPGA/tb/rmc_autoscan.csv
9_Firmware/9_2_FPGA/tb_usb_data_interface.csv
# Co-sim intermediate CSVs (regenerated by scripts)
9_Firmware/9_2_FPGA/tb/cosim/rtl_doppler_*.csv
9_Firmware/9_2_FPGA/tb/cosim/mf_chain_autocorr.csv
9_Firmware/9_2_FPGA/tb/cosim/compare_doppler_*.csv
9_Firmware/9_2_FPGA/tb/cosim/rtl_multiseg_*.csv
# macOS
.DS_Store
# Python
__pycache__/
*.pyc
# Local organization/archival folders (not part of repo source)
10_docs/
# Local simulation workspaces and generated outputs
5_Simulations/generated/
5_Simulations/aeris10_antenna_sim.py
5_Simulations/aeris10_radar_sim.py
# Local FPGA report dumps and scratch constraints
9_Firmware/9_2_FPGA/reports/
9_Firmware/9_2_FPGA/synth_only.xdc
# Local timing closure report snapshots
build*_reports/
# UART capture logs (generated by tools/uart_capture.py)
logs/