Skip to content

apps/fft hangs in AraXL RTL/Verilator simulation, while the same FFT run completes on Spike. #24

Description

@jh169

I am seeing a hang when running apps/fft on AraXL RTL/Verilator simulation. The same FFT binary/path completes on Spike, but in RTL simulation the scalar DIF/DIT parts finish and the program stops making progress after entering the vector FFT implementation.Configuration used:NR_LANES=4 NR_CLUSTERS=2.
Original behavior:
Radix 2 DIF FFT on 64 points
Initializing Twiddle Factors
Initializing Swap Table
Initializing Inputs for DIT
Initializing Inputs for DIF
The DIF execution took xxxx cycles.
The DIT execution took xxxx cycles.
After that, the program enters the vector FFT path and does not finish. The Spike run completes.
With minimal debug instrumentation, I can see that fft_r2dif_vec() is entered and vsetvl completes, but the first vector load never appears to return:[fft] calling vector DIF FFT
[fft_vec] n_fft=64 samples_re=0x800032b0 samples_im=0x800033b0 twiddles_re=0x80003eb0 twiddles_im=0x800041b0
[fft_vec] before vsetvl vl=32
[fft_vec] after vsetvl
[fft_vec] before load upper_re
The corresponding C code is approximately:upper_wing_re = __riscv_vle32_v_f32m1(samples_re, vl);

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions