CIC Filter implementation for Normalized Correlation
So, assuming you already know that the two streams you're multiplying point-wise are aligned, and you want the output of your system to be the correlation coefficient of zero shift for the length of the CIC-built averager, this is the way to go.

So, the output of your CIC will be the sum of all point-wise products of the last N samples flying through.

Now, if either input stream becomes overly "strong", that product might become very large, regardless of whether the correlation is actually strong or not.

To avoid that, you'd usually just divide by the square root of the product of energies of both sequences. Assuming the signals are stochastic stationary signals, that would be the product of the square roots of N times the variance, which is simply N times the product of the standard deviations. If you have knowledge of these, a simple multiplication of an input or the output by 1/(N·std1·std2) would do.

Assuming you have no knowledge, you can measure: Just use the same CIC structure on the two squared inputs (instead of their product) to get the instantaneous energy, and divide the result of your CIC correlator by the square root of that.