The von Neumann Corrector (VNC) is designed to balance the succession of '1' and '0' bits being output by the TRNG noise source.
The input bits to the VNC is tested for bit equality, meaning a sequence
of 32 consequtive bits with the same bit value will trigger event
VNC_ERR_INT in register RNG_ISR.
If no error event is triggered, the input bits will be balanced using the VNC as shown in the figure below, and the resulting output bits will be subjected to additional TRNG tests. The VNC produce output only if the noise source is active, see register NOISE_SOURCE.
The VNC statistically output one bit for each 4 input bits sampled, meaning
the average output rate of the TRNG is 1/(SAMPLE_CNT * 4)
bits per CPU clock cycle.