Files
overwatch/9_Firmware/9_2_FPGA/tb/fir_impulse_output.csv
Jason baa24fd01e Add Phase 0.5 DDC co-simulation suite: bit-accurate Python model, scene generator, and 5/5 scenario validation
Bit-accurate Python model (fpga_model.py) mirrors full DDC RTL chain:
NCO -> mixer -> CIC -> FIR with exact fixed-point arithmetic matching
RTL DSP48E1 pipeline behavior including CREG=1 delay on CIC int_0.

Synthetic radar scene generator (radar_scene.py) produces ADC test
vectors for 5 scenarios: DC, single target (500m), multi-target (5),
noise-only, and 1 MHz sine wave.

DDC co-sim testbench (tb_ddc_cosim.v) feeds hex vectors through RTL
DDC and exports baseband I/Q to CSV. All 5 scenarios compile and run
with Icarus Verilog (iverilog -g2001 -DSIMULATION).

Comparison framework (compare.py) validates Python vs RTL using
statistical metrics (RMS ratio, DC offset, peak ratio) rather than
exact sample match due to RTL LFSR phase dithering. Results: 5/5 PASS.
2026-03-16 16:01:40 +02:00

228 B

1sampledata_out
201
311
42-5
535
641
75-15
8620
97-5
108-30
11956
1210-35
1311-47
1412141
1513-150
1614-58
1715999
1816999
1917-58
2018-150
2119141
2220-47
2321-35
242256
2523-30
2624-5
272520
2826-15
29271
30285
3129-5
32301
33311
34320
35330
36340
37350