Strange behavior in fixed-point FFT

This is a problem I encountered some time ago while doing my thesis, which still now, I am not sure to understand.

By then, I was implementing the circular correlation in an FPGA using this Xilinx FFT IP core as the acquisition block for a GNSS receiver. Aiming at reducing the required FPGA resources, I studied the impact of some of the IP configurations (scaling and truncation), and of different input signal amplitudes (but with a fixed data width of 8 bits) on the correlation in terms of distortion and SNR reduction.

I computed the FFT of a clean GPS C/A code using the Xilinx IP core, and then I computed its auto-correlation (ACF) with Matlab (i.e. $$ACF=|IFFT_{Matlab}\left(FFT_{Xilinx} \cdot FFT_{Xilinx}^* \right)|$$). Similarly, I computed the FFT of a different GPS C/A code using the Xilinx IP core, and then I computed the cross-correlation (XCF) with the previous code, also using Matlab .

The impact on the auto-correlation (Fig. 8.12) was what I expected, an increase of the "noise floor" caused (I believe) by the accumulated quantization noise generated after each butterfly stage of the FFT. However, for two IP configurations, the cross-correlation also showed a peak (Figs. 8.12c and 8.12d). Although it's true that these cross-correlation peaks are very small (probably well below the thermal noise of a real signal), a non present GPS satellite could be flag as present if the SNR is large enough, or if a lot incoherent averaging is performed.

So my question is, can the truncation/rounding in a fixed-point FFT cause a deterministic signal that is common in signals with similar statistics (as the C/A codes are)? If this is not the cause, what do you think it is?