Files
PLFM_RADAR/9_Firmware/9_2_FPGA/fft_twiddle_1024.mem
T
Jason 692b6a3bfa Replace FFT stubs with synthesizable radix-2 DIT engine, fix BRAM inference
Implement iterative single-butterfly FFT engine (fft_engine.v) supporting
1024-pt and 32-pt transforms with quarter-wave twiddle ROM, XPM_MEMORY_TDPRAM
for guaranteed BRAM mapping in Vivado, and behavioral model for simulation.

Add xfft_32.v AXI-Stream wrapper for doppler_processor integration and
dual-branch matched_filter_processing_chain.v (behavioral + synthesis paths).

Fix placement failure caused by 68K+ registers from dissolved memory arrays:
- doppler_processor.v: extract mem writes to sync-only always block for BRAM
- xfft_32.v: extract buffer writes to sync-only always block for LUTRAM

Post-implementation: 37K regs (29%), 23K LUTs (37%), 10 BRAM (7%), fully routed.
All testbenches pass: fft_engine 12/12, xfft_32 10/10, mf_chain 27/27.
2026-03-16 10:25:07 +02:00

260 lines
1.4 KiB
Plaintext

// Quarter-wave cosine ROM for 1024-point FFT
// 256 entries, 16-bit signed Q15 ($readmemh format)
// cos(2*pi*k/1024) for k = 0..255
7FFF
7FFE
7FFD
7FF9
7FF5
7FF0
7FE9
7FE1
7FD8
7FCD
7FC1
7FB4
7FA6
7F97
7F86
7F74
7F61
7F4D
7F37
7F21
7F09
7EEF
7ED5
7EB9
7E9C
7E7E
7E5F
7E3E
7E1D
7DFA
7DD5
7DB0
7D89
7D62
7D39
7D0E
7CE3
7CB6
7C88
7C59
7C29
7BF8
7BC5
7B91
7B5C
7B26
7AEE
7AB6
7A7C
7A41
7A05
79C8
7989
794A
7909
78C7
7884
783F
77FA
77B3
776B
7722
76D8
768D
7641
75F3
75A5
7555
7504
74B2
745F
740A
73B5
735E
7307
72AE
7254
71F9
719D
7140
70E2
7083
7022
6FC1
6F5E
6EFB
6E96
6E30
6DC9
6D61
6CF8
6C8E
6C23
6BB7
6B4A
6ADC
6A6D
69FD
698B
6919
68A6
6832
67BC
6746
66CF
6656
65DD
6563
64E8
646C
63EE
6370
62F1
6271
61F0
616E
60EB
6068
5FE3
5F5D
5ED7
5E4F
5DC7
5D3E
5CB3
5C28
5B9C
5B0F
5A82
59F3
5964
58D3
5842
57B0
571D
568A
55F5
5560
54C9
5432
539B
5302
5268
51CE
5133
5097
4FFB
4F5D
4EBF
4E20
4D81
4CE0
4C3F
4B9D
4AFB
4A58
49B4
490F
4869
47C3
471C
4675
45CD
4524
447A
43D0
4325
427A
41CE
4121
4073
3FC5
3F17
3E68
3DB8
3D07
3C56
3BA5
3AF2
3A40
398C
38D9
3824
376F
36BA
3604
354D
3496
33DF
3326
326E
31B5
30FB
3041
2F87
2ECC
2E11
2D55
2C99
2BDC
2B1F
2A61
29A3
28E5
2826
2767
26A8
25E8
2528
2467
23A6
22E5
2223
2161
209F
1FDD
1F1A
1E57
1D93
1CCF
1C0B
1B47
1A82
19BE
18F9
1833
176E
16A8
15E2
151C
1455
138F
12C8
1201
113A
1072
0FAB
0EE3
0E1C
0D54
0C8C
0BC4
0AFB
0A33
096A
08A2
07D9
0711
0648
057F
04B6
03ED
0324
025B
0192
00C9