Files
PLFM_RADAR/9_Firmware/9_2_FPGA/long_chirp_lut.mem
T
Jason 49c9aa28ad Fix Bug #11 (platform SPI transmit-only), FPGA B2 (chirp BRAM migration), FPGA B3 (DSP48 pipelining)
Bug #11: platform_noos_stm32.c used HAL_SPI_Transmit instead of
HAL_SPI_TransmitReceive — reads returned garbage. Changed to in-place
full-duplex. Dead code (never called), fixed per audit recommendation.
Test added: test_bug11_platform_spi_transmit_only.c. Mock infrastructure
updated with SPI spy types. All 11 firmware tests pass.

FPGA B2: Migrated long_chirp_lut[0:3599] from ~700 lines of hardcoded
assignments to BRAM with (* ram_style = "block" *) attribute and
$readmemh("long_chirp_lut.mem"). Added sync-only read block for proper
BRAM inference. 1-cycle read latency introduced. short_chirp_lut left
as distributed RAM (60 entries, too small for BRAM).

FPGA B3: Added BREG (window_val_reg) and MREG (mult_i_raw/mult_q_raw)
pipeline stages to doppler_processor.v. Eliminates DPIP-1 and DPOP-2
DRC warnings. S_LOAD_FFT retimed: fft_input_valid starts at sub=2,
+1 cycle total latency. BREG primed in S_PRE_READ at no extra cost.
Both FPGA files compile clean with Icarus Verilog.
2026-03-19 10:31:16 +02:00

3601 lines
10 KiB
Plaintext

FF
ED
BF
7F
40
11
01
12
41
81
C1
EF
FE
EC
BC
7B
3C
0F
01
15
47
88
C7
F2
FE
E7
B4
72
34
0B
02
1B
51
94
D1
F7
FC
DF
A7
64
28
05
05
26
61
A4
DD
FC
F7
D1
94
51
1B
01
0C
37
77
B9
EB
FE
ED
BD
7B
3A
0D
01
19
4F
92
D1
F7
FC
DC
A2
5D
23
03
08
2F
6E
B2
E7
FE
F0
C1
7F
3D
0E
01
19
4F
93
D2
F8
FB
D9
9D
57
1E
02
0B
37
78
BC
EE
FE
E9
B4
70
30
08
04
25
62
A7
E1
FD
F3
C6
84
40
0F
01
19
50
96
D5
FA
F9
D3
94
4E
17
01
11
44
89
CB
F6
FC
DC
9F
58
1E
02
0D
3C
80
C4
F3
FD
E1
A6
5E
22
02
0A
37
7B
C0
F1
FE
E3
A8
60
23
03
0A
37
7B
C1
F1
FE
E2
A6
5E
21
02
0C
3A
80
C5
F4
FD
DE
A0
58
1C
01
0F
42
88
CC
F7
FB
D6
95
4D
15
01
15
4D
96
D7
FB
F7
CB
86
3F
0D
02
20
5E
A7
E3
FE
EF
BA
72
2E
06
06
2F
73
BB
F0
FE
E2
A4
5A
1D
01
10
45
8D
D1
FA
F8
CE
88
40
0D
02
21
61
AB
E7
FE
EB
B2
68
26
03
0B
3C
84
CA
F7
FA
D3
8E
45
0F
01
1F
5F
AA
E6
FE
EA
B0
65
23
02
0D
40
8A
D0
FA
F8
CB
84
3B
0A
03
29
6D
B8
EF
FE
E0
9F
53
17
01
18
54
A1
E1
FE
ED
B5
69
26
02
0D
41
8B
D2
FB
F6
C7
7D
34
07
06
32
7A
C4
F5
FB
D3
8D
41
0D
03
27
6C
B8
F0
FD
DC
99
4C
12
01
1F
62
AF
EB
FE
E2
A1
53
16
01
1B
5B
A9
E8
FE
E5
A6
57
18
01
19
58
A7
E6
FF
E6
A7
58
19
01
19
59
A8
E7
FE
E5
A4
55
17
01
1C
5D
AC
EA
FE
E1
9E
4F
13
01
21
65
B4
EF
FD
DB
94
46
0E
03
29
71
BF
F4
FB
D1
87
3A
08
06
34
80
CC
FA
F6
C3
75
2B
03
0D
44
94
DB
FE
ED
B1
61
1D
01
18
59
AA
E9
FE
E0
9A
49
0F
02
29
73
C2
F6
FA
CB
7E
31
05
0A
40
90
D9
FD
ED
B0
5F
1B
01
1B
5F
B1
EE
FD
D8
8E
3E
09
06
35
84
D1
FB
F2
B9
68
20
01
17
59
AB
EB
FE
DB
91
40
0A
05
35
84
D1
FC
F1
B6
64
1D
01
1A
60
B2
F0
FD
D4
87
37
06
09
40
92
DC
FE
E9
A7
53
13
02
27
73
C5
F8
F7
C1
6F
24
01
15
58
AC
ED
FD
D6
89
38
06
0A
42
95
DF
FE
E6
A0
4C
0E
03
30
7F
CF
FC
F1
B3
5E
18
01
22
6D
C1
F7
F7
C2
6F
23
01
18
5E
B3
F1
FB
CE
7C
2D
02
11
52
A8
EB
FD
D6
87
35
04
0D
49
9F
E6
FE
DC
8F
3B
06
0A
44
99
E3
FE
DF
94
3F
08
08
41
96
E1
FE
E1
96
40
08
08
40
96
E1
FE
E0
94
3F
08
09
42
99
E3
FE
DE
90
3B
06
0B
47
9E
E7
FE
D9
89
35
04
0E
4F
A7
EC
FD
D2
7F
2D
02
14
5A
B2
F2
FA
C8
72
23
01
1C
68
BF
F7
F6
BA
62
18
01
27
79
CE
FC
ED
A9
50
0E
04
37
8D
DD
FE
E1
94
3C
06
0C
4B
A4
EB
FD
D0
7B
28
01
19
64
BD
F7
F6
B9
60
16
02
2C
81
D5
FE
E7
9D
43
08
09
47
A0
EA
FD
D1
7B
28
01
1A
67
C1
F9
F3
B2
58
11
03
35
8D
DE
FF
DE
8D
35
03
12
59
B4
F4
F8
BD
63
17
02
2D
84
D8
FE
E3
93
3A
04
0F
55
B1
F3
F9
BF
64
17
02
2E
85
D9
FE
E0
8F
36
03
12
5B
B7
F6
F6
B7
5B
12
03
37
91
E2
FE
D7
81
2A
01
1C
6C
C7
FB
ED
A5
48
09
0A
4A
A7
EF
FA
C3
68
19
02
2F
88
DC
FE
DC
87
2E
01
1A
6A
C5
FB
ED
A3
46
08
0B
4F
AD
F2
F8
BC
5E
13
03
39
95
E5
FE
D0
76
21
01
27
7E
D6
FE
E0
8B
30
02
19
6A
C7
FC
EB
9E
40
05
0F
58
B7
F7
F3
AE
4F
0B
09
4A
A9
F1
F9
BB
5C
11
05
3E
9D
EB
FC
C6
68
17
02
35
92
E5
FD
CE
71
1D
01
2E
8A
E0
FE
D3
78
21
01
2A
84
DC
FE
D7
7D
24
01
27
81
DA
FE
D9
7F
26
01
26
7F
D9
FE
D9
7F
25
01
26
81
DA
FE
D8
7D
24
01
29
84
DD
FE
D4
78
20
01
2D
8A
E1
FE
CF
71
1B
02
33
92
E6
FD
C8
68
16
03
3C
9D
EC
FA
BE
5C
0F
06
47
A9
F3
F6
B2
4F
09
0C
54
B7
F8
F0
A2
40
04
14
65
C7
FD
E6
90
30
01
1F
79
D6
FE
D8
7B
21
01
2F
8F
E5
FD
C6
64
13
05
43
A7
F2
F6
B0
4C
08
0E
5C
BF
FB
EA
95
34
01
1E
78
D7
FE
D6
77
1E
02
35
97
EB
FA
BC
58
0C
0A
52
B7
F9
ED
9C
38
02
1C
75
D5
FE
D7
77
1D
02
37
9B
ED
F9
B7
51
09
0D
5B
C0
FC
E7
8F
2E
01
26
85
E1
FD
C8
64
11
06
4A
B1
F7
F0
9F
3A
02
1C
78
D8
FE
D2
6F
17
04
42
A8
F4
F3
A6
40
03
19
72
D4
FF
D4
72
19
03
40
A7
F4
F3
A5
3E
03
1A
75
D7
FE
D1
6D
15
05
47
AE
F7
EF
9D
36
01
21
81
DF
FD
C7
60
0E
09
54
BD
FB
E6
8B
28
01
2F
94
EB
F9
B4
4B
06
14
6B
D1
FE
D5
72
17
04
46
AF
F8
ED
98
31
01
27
8B
E7
FB
BA
51
08
12
68
CE
FE
D6
72
17
05
48
B2
F9
EB
92
2D
01
2D
94
EC
F8
B0
46
04
19
76
DA
FE
C9
61
0E
0B
5A
C4
FD
DE
7B
1C
03
42
AD
F7
ED
94
2D
01
2E
96
EE
F7
AB
40
02
1E
80
E1
FC
BE
53
08
12
6B
D3
FE
CF
66
0F
0A
59
C4
FE
DC
77
19
04
49
B6
FB
E6
87
23
02
3C
A8
F6
EE
95
2D
01
31
9B
F1
F4
A1
36
01
29
90
EC
F7
AB
3E
02
22
87
E7
FA
B3
46
03
1D
7F
E2
FC
B9
4C
05
19
7A
DF
FD
BD
50
06
17
76
DC
FD
C0
53
07
15
74
DB
FD
C1
54
07
15
73
DB
FD
C1
53
07
16
75
DC
FD
BF
51
06
17
78
DE
FD
BB
4D
05
1A
7D
E2
FB
B6
47
03
1F
84
E6
FA
AF
40
02
24
8D
EB
F7
A6
38
01
2C
97
F1
F2
9B
2E
01
35
A3
F6
EC
8E
25
02
41
B1
FA
E4
7F
1B
05
4F
BF
FD
D9
6F
11
0A
60
CE
FE
CB
5C
09
13
73
DC
FD
BA
49
03
1F
88
E9
F7
A6
36
01
30
9E
F4
ED
8F
24
02
44
B6
FC
DF
75
14
09
5D
CC
FE
CB
5B
08
15
78
E1
FB
B2
40
01
29
96
F1
F1
94
27
02
42
B4
FC
DE
74
13
0A
61
D1
FE
C5
53
05
1C
84
E8
F7
A4
33
01
36
A8
F9
E6
7F
19
07
58
CA
FF
CA
58
07
19
80
E7
F8
A6
34
01
37
A9
F9
E4
7B
16
08
5E
CF
FE
C3
50
04
1F
8B
ED
F3
99
29
02
44
B8
FD
D8
69
0D
11
72
DF
FB
AF
3B
01
32
A4
F8
E6
7D
16
09
60
D2
FE
BE
49
02
26
96
F3
ED
8B
1E
05
54
C9
FE
C8
53
04
1F
8D
EF
F1
92
23
03
4F
C4
FE
CB
57
05
1D
8A
EE
F2
93
23
03
4F
C5
FE
CA
55
05
1F
8E
F0
F0
8E
20
05
55
CA
FE
C3
4D
03
26
97
F4
EB
83
18
08
61
D5
FD
B7
40
01
31
A7
FA
E0
72
0F
10
74
E2
F9
A4
2F
01
44
BB
FE
D0
5A
06
1E
8D
F0
EF
8A
1C
07
5E
D3
FD
B7
3F
01
34
AB
FB
DC
69
0B
15
80
EA
F4
95
23
04
55
CC
FE
BD
45
01
30
A7
FA
DE
6B
0B
15
7F
EA
F3
93
21
05
59
D0
FE
B8
3E
01
37
B0
FC
D6
60
07
1C
8D
F1
ED
84
17
0A
6A
DD
FA
A6
2E
02
4A
C4
FE
C3
49
02
2F
A7
FB
DC
67
09
19
89
F0
EE
85
17
0B
6B
DF
F9
A2
2A
03
50
CA
FE
BB
40
01
39
B3
FD
D1
58
04
25
9B
F7
E2
70
0C
16
84
EE
EF
87
17
0B
6D
E1
F8
9D
25
04
58
D2
FD
B0
35
01
46
C2
FE
C1
45
01
36
B2
FD
D0
55
03
29
A2
FA
DC
65
08
1E
92
F5
E6
74
0D
15
84
EF
ED
82
14
0E
77
E8
F3
8E
1B
09
6B
E1
F7
99
22
06
61
DA
FA
A2
28
04
58
D4
FC
AB
2E
02
51
CE
FD
B1
34
01
4B
C9
FE
B6
38
01
47
C5
FE
BA
3C
01
43
C2
FE
BD
3E
01
41
C0
FE
BF
40
01
40
BF
FF
BF
40
01
40
BF
FE
BE
3F
01
42
C1
FE
BC
3D
01
44
C4
FE
B9
3A
01
48
C7
FE
B5
36
01
4D
CC
FD
AF
30
02
53
D1
FC
A8
2A
04
5B
D8
FA
9F
24
06
64
DE
F7
96
1D
09
6F
E5
F3
8A
16
0E
7B
EC
ED
7D
0F
15
89
F3
E6
6F
09
1E
97
F8
DC
60
04
29
A7
FC
D0
50
01
36
B7
FE
C1
40
01
46
C7
FE
B0
30
03
58
D7
FA
9D
21
08
6D
E5
F3
87
13
12
84
F1
E7
70
09
1F
9B
FA
D7
58
02
32
B3
FE
C3
40
01
48
CA
FD
AB
2A
04
62
DF
F6
8F
17
0F
7F
F0
E9
71
09
20
9D
FB
D4
53
02
37
BA
FE
BA
37
02
54
D5
FA
9B
1E
0A
75
EB
ED
78
0B
1C
99
FA
D6
55
02
37
BB
FE
B8
34
02
59
DA
F8
93
19
0E
7F
F1
E6
6B
07
26
A7
FD
C9
45
01
48
CC
FC
A3
23
08
71
EA
ED
78
0B
1E
9D
FB
D1
4D
01
41
C7
FD
A9
26
07
6D
E8
EF
7A
0B
1E
9D
FB
D0
4B
01
44
C9
FD
A4
23
09
74
EC
EB
72
08
24
A7
FD
C7
40
01
50
D5
F9
95
18
10
85
F4
E0
5F
03
34
BA
FE
B3
2D
05
67
E5
F0
7B
0B
1F
A1
FC
CA
43
01
4F
D4
F9
93
17
12
8A
F6
DB
57
01
3C
C4
FD
A6
23
09
78
EF
E6
68
04
2F
B6
FE
B5
2E
05
6A
E8
ED
74
08
26
AB
FE
BE
36
03
60
E2
F2
7D
0B
21
A4
FD
C4
3B
02
5B
DF
F3
81
0D
1F
A2
FD
C6
3C
02
5A
DF
F3
80
0C
1F
A3
FD
C3
3A
02
5E
E1
F2
7B
0A
23
A9
FE
BD
34
04
66
E7
ED
72
07
2B
B3
FF
B3
2A
07
73
EE
E6
64
03
36
C1
FE
A4
1F
0D
84
F5
DA
53
01
47
D1
FA
90
13
18
99
FC
C9
3E
02
5D
E2
F1
77
08
29
B2
FE
B2
28
08
78
F1
E1
5B
01
41
CC
FB
94
14
17
99
FC
C8
3C
02
61
E5
ED
70
05
30
BB
FE
A6
1F
0E
88
F7
D4
49
01
53
DC
F3
7C
09
27
B2
FE
AF
25
0A
80
F5
D9
4F
01
4F
D9
F5
7F
0A
26
B1
FE
AF
25
0B
82
F6
D7
4C
01
53
DD
F2
79
08
2C
B8
FE
A6
1E
10
8D
FA
CE
40
02
61
E6
EB
69
03
39
C7
FB
94
13
1A
A1
FE
BB
2E
07
78
F3
DC
51
01
51
DC
F2
77
07
2F
BD
FD
9E
18
15
99
FD
C1
32
05
74
F1
DE
53
01
50
DC
F2
76
06
31
C1
FD
99
14
19
A1
FE
B9
2A
09
7F
F6
D4
46
01
5F
E7
EA
64
02
42
D1
F7
83
0A
29
B7
FE
A1
19
15
9B
FD
BC
2D
08
7F
F6
D4
44
02
63
E9
E6
5D
01
49
D8
F3
77
06
33
C4
FC
91
0F
21
AE
FE
A9
1D
12
97
FD
BE
2E
08
80
F7
D1
40
02
6A
EE
E1
54
01
55
E2
ED
68
02
42
D4
F6
7B
07
32
C4
FB
8E
0E
24
B4
FE
A0
17
19
A4
FE
B0
21
10
94
FC
BF
2D
09
84
F9
CB
38
05
75
F4
D6
45
02
68
ED
E0
51
01
5B
E7
E7
5C
01
50
DF
ED
67
02
46
D8
F2
72
04
3D
D1
F6
7B
06
36
C9
F9
84
09
2F
C3
FB
8B
0B
2A
BD
FC
92
0E
25
B7
FD
98
11
21
B2
FE
9D
13
1E
AE
FE
A0
15
1C
AB
FE
A3
17
1A
A9
FE
A5
18
19
A7
FE
A6
19
19
A7
FF
A7
19
19
A7
FE
A6
18
19
A8
FE
A5
17
1B
AA
FE
A2
16
1C
AD
FE
9F
14
1F
B1
FE
9B
11
22
B5
FD
96
0F
26
BA
FC
8F
0C
2B
C0
FB
88
09
30
C7
F9
80
06
37
CE
F6
77
04
3F
D5
F2
6E
02
48
DC
ED
63
01
52
E4
E7
58
01
5E
EB
E0
4C
02
6A
F1
D6
40
04
78
F7
CB
34
08
87
FB
BF
28
0E
97
FE
B0
1D
17
A7
FE
A0
13
22
B7
FD
8E
0B
2F
C7
F8
7B
04
3F
D6
F1
68
01
51
E4
E6
54
01
65
F0
D8
40
04
7B
F8
C6
2E
0C
92
FD
B2
1D
17
A9
FE
9B
0F
27
C0
FA
82
06
3C
D5
F1
68
01
53
E6
E3
4E
02
6E
F4
CF
36
08
8A
FC
B7
20
15
A7
FE
9B
0F
29
C2
F9
7D
04
42
DA
ED
5E
01
5F
EE
D9
40
05
7F
FA
BF
26
12
A1
FE
9F
11
27
C1
FA
7D
04
43
DC
EB
5A
01
65
F1
D3
38
08
8A
FD
B4
1D
19
AF
FD
8F
09
35
D1
F2
68
01
58
EB
DC
42
05
80
FB
BB
22
15
A9
FE
94
0B
32
CE
F3
69
01
58
EB
DB
40
05
84
FC
B7
1E
19
B0
FD
8B
08
3A
D6
EE
5D
01
65
F2
D0
33
0B
95
FE
A6
13
26
C2
F8
75
02
4F
E6
E0
46
04
80
FB
B8
1E
1A
B2
FD
87
06
40
DC
E9
53
02
72
F7
C3
26
13
A7
FE
91
09
39
D6
ED
5A
01
6C
F5
C8
2A
11
A4
FE
94
0A
37
D5
EE
5B
01
6D
F6
C7
28
12
A7
FE
8F
08
3C
D9
EB
54
02
74
F9
BF
22
18
B1
FC
84
04
47
E2
E3
47
04
84
FC
B0
17
23
C1
F8
71
01
59
EE
D4
35
0C
9A
FF
9A
0B
35
D5
ED
58
01
73
F9
BD
20
1A
B6
FB
7B
02
51
EA
D9
3A
09
96
FE
9D
0C
34
D5
ED
56
02
77
FA
B9
1C
1F
BD
F9
72
01
5B
F0
D0
2F
10
A4
FE
8C
06
44
E2
E1
43
06
8D
FE
A2
0E
31
D3
ED
56
02
79
FB
B5
18
23
C4
F6
68
01
68
F6
C3
23
19
B6
FA
77
01
5A
F0
CF
2D
12
AA
FD
83
03
4F
EA
D7
35
0D
A1
FE
8C
05
47
E5
DC
3B
0A
9A
FE
92
07
42
E2
E0
3F
09
96
FE
95
08
40
E1
E1
40
08
96
FE
95
08
41
E1
E0
3F
09
98
FE
92
07
44
E4
DD
3B
0B
9D
FE
8D
05
49
E8
D8
35
0E
A5
FD
84
03
52
ED
D1
2D
13
AF
FB
78
01
5E
F3
C6
23
1B
BC
F7
69
01
6D
F9
B8
18
26
CA
F1
58
02
7F
FD
A7
0E
35
DA
E6
45
07
95
FE
91
06
49
E8
D6
31
11
AC
FC
78
01
61
F5
C1
1E
21
C5
F3
5C
02
7D
FD
A7
0E
37
DC
E3
40
09
9D
FE
87
03
54
F0
CB
25
1A
BD
F6
64
01
78
FC
AB
0F
35
DB
E4
40
0A
9E
FE
84
02
59
F2
C6
20
1F
C5
F2
5A
02
84
FE
9D
09
42
E5
D8
31
12
B1
FA
6F
01
6F
FA
B0
12
32
D9
E4
40
0A
A1
FD
7E
01
61
F6
BC
19
29
D1
EB
49
07
97
FE
87
03
59
F3
C3
1D
24
CC
ED
4E
05
94
FE
8A
03
57
F2
C3
1D
24
CC
ED
4D
06
96
FE
87
02
5B
F4
BF
1A
29
D1
E9
46
09
9E
FD
7D
01
65
F8
B5
13
32
DB
E1
3A
0E
AC
FB
6E
01
76
FC
A4
0B
42
E7
D4
2A
19
BF
F3
58
03
8D
FF
8D
03
58
F4
BF
18
2B
D5
E5
3E
0C
A9
FB
6F
01
77
FD
A1
09
47
EB
CE
24
1F
C9
EE
4C
07
9C
FD
7B
01
6C
FB
AB
0D
3F
E6
D3
28
1B
C4
F0
50
06
99
FE
7D
01
6B
FB
AA
0C
41
E8
D1
26
1E
C8
ED
4A
08
A1
FD
74
01
75
FD
9F
08
4C
EF
C6
1C
29
D5
E4
3B
0F
B2
F8
61
02
8A
FE
89
02
62
F8
B0
0E
3D
E6
D2
25
1F
CB
EB
45
0B
A9
FA
69
01
84
FE
8E
03
5F
F7
B2
0F
3D
E7
D1
24
21
CE
E9
40
0D
AF
F8
60
03
8D
FE
83
01
6B
FB
A4
09
4B
F0
C3
18
2F
DC
DC
2E
19
C4
EF
49
09
A7
FA
67
02
88
FE
86
01
6A
FB
A4
08
4D
F1
BF
15
34
E1
D6
28
1F
CC
E9
3E
0F
B4
F6
58
05
9A
FD
72
01
7F
FE
8D
02
65
FA
A6
09
4D
F1
BD
14
37
E4
D2
23
24
D4
E3
35
15
C0
F0
49
0A
AB
F9
5E
04
96
FD
74
01
80
FE
8A
02
6A
FC
9F
06
56
F6
B2
0D
44
ED
C4
17
33
E2
D3
23
25
D5
E0
31
19
C7
EB
40
0F
B7
F3
50
08
A7
F9
60
04
97
FD
70
01
88
FE
7F
01
78
FE
8E
02
6A
FC
9D
05
5C
F8
AA
09
4F
F4
B6
0E
43
EE
C1
14
39
E7
CB
1B
2F
E0
D4
23
27
D8
DC
2B
1F
D1
E3
32
19
C9
E9
3A
14
C1
ED
42
0F
B9
F2
49
0C
B2
F5
51
09
AB
F7
57
06
A4
F9
5E
05
9E
FB
64
03
99
FC
69
02
94
FD
6E
02
8F
FE
72
01
8B
FE
76
01
88
FE
79
01
85
FE
7B
01
83
FE
7D
01
81
FE
7F
01
80
FE
7F
01
80