e9705e40b7
Complete cross-layer upgrade from 1024-pt/64-bin to 2048-pt/512-bin FFT: FPGA RTL (14+ modules): - radar_params.vh: FFT_SIZE=2048, RANGE_BINS=512, 9-bit range, 6-bit stream - fft_engine.v: 2048-pt FFT with XPM BRAM - chirp_memory_loader_param.v: 2 segments x 2048 (was 4 x 1024) - matched_filter_multi_segment.v: BRAM inference for overlap_cache, explicit ov_waddr - mti_canceller.v: BRAM inference for prev_i/q arrays (was fabric FFs) - doppler_processor.v: 16384-deep memory, 14-bit addressing - cfar_ca.v: 512 rows, indentation fix - radar_receiver_final.v: rising-edge detector for frame_complete, 11-bit sample_addr - range_bin_decimator.v: 512 output bins - usb_data_interface_ft2232h.v: bulk per-frame with Manhattan magnitude - radar_mode_controller.v: XOR edge detector for toggle signals - rx_gain_control.v: updated for new bin count Python GUI + Protocol (8 files): - radar_protocol.py: 512-bin bulk frame parser, LSB-first bitmap - GUI_V65_Tk.py, v7/*.py: updated for 512 bins, 6m range resolution Golden data + tests: - All .hex/.csv/.npy golden references regenerated for 2048/512 - fft_twiddle_2048.mem added - Deleted stale seg2/seg3 chirp mem files - 9 new bulk frame cross-layer tests, deleted 6 stale per-sample tests - Deleted stale tb_cross_layer_ft2232h.v and dead contract_parser functions - Updated validate_mem_files.py for 2048/2-segment config MCU: RadarSettings.cpp max_distance/map_size 1536->3072 All 4 CI jobs pass: 285 tests, 0 failures, 0 skips
516 lines
2.6 KiB
Plaintext
516 lines
2.6 KiB
Plaintext
// Quarter-wave cosine ROM for 2048-point FFT
|
|
// 512 entries, 16-bit signed Q15 ($readmemh format)
|
|
// cos(2*pi*k/2048) for k = 0..511
|
|
7FFF
|
|
7FFF
|
|
7FFE
|
|
7FFE
|
|
7FFD
|
|
7FFB
|
|
7FF9
|
|
7FF7
|
|
7FF5
|
|
7FF3
|
|
7FF0
|
|
7FEC
|
|
7FE9
|
|
7FE5
|
|
7FE1
|
|
7FDC
|
|
7FD8
|
|
7FD2
|
|
7FCD
|
|
7FC7
|
|
7FC1
|
|
7FBB
|
|
7FB4
|
|
7FAD
|
|
7FA6
|
|
7F9F
|
|
7F97
|
|
7F8F
|
|
7F86
|
|
7F7D
|
|
7F74
|
|
7F6B
|
|
7F61
|
|
7F57
|
|
7F4D
|
|
7F42
|
|
7F37
|
|
7F2C
|
|
7F21
|
|
7F15
|
|
7F09
|
|
7EFC
|
|
7EEF
|
|
7EE2
|
|
7ED5
|
|
7EC7
|
|
7EB9
|
|
7EAB
|
|
7E9C
|
|
7E8D
|
|
7E7E
|
|
7E6F
|
|
7E5F
|
|
7E4F
|
|
7E3E
|
|
7E2E
|
|
7E1D
|
|
7E0B
|
|
7DFA
|
|
7DE8
|
|
7DD5
|
|
7DC3
|
|
7DB0
|
|
7D9D
|
|
7D89
|
|
7D76
|
|
7D62
|
|
7D4D
|
|
7D39
|
|
7D24
|
|
7D0E
|
|
7CF9
|
|
7CE3
|
|
7CCD
|
|
7CB6
|
|
7C9F
|
|
7C88
|
|
7C71
|
|
7C59
|
|
7C41
|
|
7C29
|
|
7C10
|
|
7BF8
|
|
7BDE
|
|
7BC5
|
|
7BAB
|
|
7B91
|
|
7B77
|
|
7B5C
|
|
7B41
|
|
7B26
|
|
7B0A
|
|
7AEE
|
|
7AD2
|
|
7AB6
|
|
7A99
|
|
7A7C
|
|
7A5F
|
|
7A41
|
|
7A23
|
|
7A05
|
|
79E6
|
|
79C8
|
|
79A9
|
|
7989
|
|
796A
|
|
794A
|
|
7929
|
|
7909
|
|
78E8
|
|
78C7
|
|
78A5
|
|
7884
|
|
7862
|
|
783F
|
|
781D
|
|
77FA
|
|
77D7
|
|
77B3
|
|
778F
|
|
776B
|
|
7747
|
|
7722
|
|
76FE
|
|
76D8
|
|
76B3
|
|
768D
|
|
7667
|
|
7641
|
|
761A
|
|
75F3
|
|
75CC
|
|
75A5
|
|
757D
|
|
7555
|
|
752D
|
|
7504
|
|
74DB
|
|
74B2
|
|
7488
|
|
745F
|
|
7435
|
|
740A
|
|
73E0
|
|
73B5
|
|
738A
|
|
735E
|
|
7333
|
|
7307
|
|
72DB
|
|
72AE
|
|
7281
|
|
7254
|
|
7227
|
|
71F9
|
|
71CB
|
|
719D
|
|
716F
|
|
7140
|
|
7111
|
|
70E2
|
|
70B2
|
|
7083
|
|
7053
|
|
7022
|
|
6FF2
|
|
6FC1
|
|
6F90
|
|
6F5E
|
|
6F2C
|
|
6EFB
|
|
6EC8
|
|
6E96
|
|
6E63
|
|
6E30
|
|
6DFD
|
|
6DC9
|
|
6D95
|
|
6D61
|
|
6D2D
|
|
6CF8
|
|
6CC3
|
|
6C8E
|
|
6C59
|
|
6C23
|
|
6BED
|
|
6BB7
|
|
6B81
|
|
6B4A
|
|
6B13
|
|
6ADC
|
|
6AA4
|
|
6A6D
|
|
6A35
|
|
69FD
|
|
69C4
|
|
698B
|
|
6952
|
|
6919
|
|
68E0
|
|
68A6
|
|
686C
|
|
6832
|
|
67F7
|
|
67BC
|
|
6781
|
|
6746
|
|
670A
|
|
66CF
|
|
6693
|
|
6656
|
|
661A
|
|
65DD
|
|
65A0
|
|
6563
|
|
6525
|
|
64E8
|
|
64AA
|
|
646C
|
|
642D
|
|
63EE
|
|
63AF
|
|
6370
|
|
6331
|
|
62F1
|
|
62B1
|
|
6271
|
|
6231
|
|
61F0
|
|
61AF
|
|
616E
|
|
612D
|
|
60EB
|
|
60AA
|
|
6068
|
|
6025
|
|
5FE3
|
|
5FA0
|
|
5F5D
|
|
5F1A
|
|
5ED7
|
|
5E93
|
|
5E4F
|
|
5E0B
|
|
5DC7
|
|
5D82
|
|
5D3E
|
|
5CF9
|
|
5CB3
|
|
5C6E
|
|
5C28
|
|
5BE2
|
|
5B9C
|
|
5B56
|
|
5B0F
|
|
5AC9
|
|
5A82
|
|
5A3B
|
|
59F3
|
|
59AC
|
|
5964
|
|
591C
|
|
58D3
|
|
588B
|
|
5842
|
|
57F9
|
|
57B0
|
|
5767
|
|
571D
|
|
56D3
|
|
568A
|
|
563F
|
|
55F5
|
|
55AA
|
|
5560
|
|
5515
|
|
54C9
|
|
547E
|
|
5432
|
|
53E7
|
|
539B
|
|
534E
|
|
5302
|
|
52B5
|
|
5268
|
|
521B
|
|
51CE
|
|
5181
|
|
5133
|
|
50E5
|
|
5097
|
|
5049
|
|
4FFB
|
|
4FAC
|
|
4F5D
|
|
4F0E
|
|
4EBF
|
|
4E70
|
|
4E20
|
|
4DD1
|
|
4D81
|
|
4D31
|
|
4CE0
|
|
4C90
|
|
4C3F
|
|
4BEE
|
|
4B9D
|
|
4B4C
|
|
4AFB
|
|
4AA9
|
|
4A58
|
|
4A06
|
|
49B4
|
|
4961
|
|
490F
|
|
48BC
|
|
4869
|
|
4816
|
|
47C3
|
|
4770
|
|
471C
|
|
46C9
|
|
4675
|
|
4621
|
|
45CD
|
|
4578
|
|
4524
|
|
44CF
|
|
447A
|
|
4425
|
|
43D0
|
|
437B
|
|
4325
|
|
42D0
|
|
427A
|
|
4224
|
|
41CE
|
|
4177
|
|
4121
|
|
40CA
|
|
4073
|
|
401D
|
|
3FC5
|
|
3F6E
|
|
3F17
|
|
3EBF
|
|
3E68
|
|
3E10
|
|
3DB8
|
|
3D60
|
|
3D07
|
|
3CAF
|
|
3C56
|
|
3BFE
|
|
3BA5
|
|
3B4C
|
|
3AF2
|
|
3A99
|
|
3A40
|
|
39E6
|
|
398C
|
|
3933
|
|
38D9
|
|
387E
|
|
3824
|
|
37CA
|
|
376F
|
|
3715
|
|
36BA
|
|
365F
|
|
3604
|
|
35A8
|
|
354D
|
|
34F2
|
|
3496
|
|
343A
|
|
33DF
|
|
3383
|
|
3326
|
|
32CA
|
|
326E
|
|
3211
|
|
31B5
|
|
3158
|
|
30FB
|
|
309E
|
|
3041
|
|
2FE4
|
|
2F87
|
|
2F2A
|
|
2ECC
|
|
2E6E
|
|
2E11
|
|
2DB3
|
|
2D55
|
|
2CF7
|
|
2C99
|
|
2C3A
|
|
2BDC
|
|
2B7D
|
|
2B1F
|
|
2AC0
|
|
2A61
|
|
2A02
|
|
29A3
|
|
2944
|
|
28E5
|
|
2886
|
|
2826
|
|
27C7
|
|
2767
|
|
2708
|
|
26A8
|
|
2648
|
|
25E8
|
|
2588
|
|
2528
|
|
24C8
|
|
2467
|
|
2407
|
|
23A6
|
|
2346
|
|
22E5
|
|
2284
|
|
2223
|
|
21C2
|
|
2161
|
|
2100
|
|
209F
|
|
203E
|
|
1FDD
|
|
1F7B
|
|
1F1A
|
|
1EB8
|
|
1E57
|
|
1DF5
|
|
1D93
|
|
1D31
|
|
1CCF
|
|
1C6D
|
|
1C0B
|
|
1BA9
|
|
1B47
|
|
1AE5
|
|
1A82
|
|
1A20
|
|
19BE
|
|
195B
|
|
18F9
|
|
1896
|
|
1833
|
|
17D0
|
|
176E
|
|
170B
|
|
16A8
|
|
1645
|
|
15E2
|
|
157F
|
|
151C
|
|
14B9
|
|
1455
|
|
13F2
|
|
138F
|
|
132B
|
|
12C8
|
|
1264
|
|
1201
|
|
119D
|
|
113A
|
|
10D6
|
|
1072
|
|
100F
|
|
0FAB
|
|
0F47
|
|
0EE3
|
|
0E80
|
|
0E1C
|
|
0DB8
|
|
0D54
|
|
0CF0
|
|
0C8C
|
|
0C28
|
|
0BC4
|
|
0B5F
|
|
0AFB
|
|
0A97
|
|
0A33
|
|
09CF
|
|
096A
|
|
0906
|
|
08A2
|
|
083E
|
|
07D9
|
|
0775
|
|
0711
|
|
06AC
|
|
0648
|
|
05E3
|
|
057F
|
|
051B
|
|
04B6
|
|
0452
|
|
03ED
|
|
0389
|
|
0324
|
|
02C0
|
|
025B
|
|
01F7
|
|
0192
|
|
012E
|
|
00C9
|
|
0065
|