The RNG engine has a number of built-in hardware tests for making sure the collected entropy from the TRNG is of sufficient quality.
The TRNG collects random bits from the noise source according to the programmed sample counter value in register SAMPLE_CNT. The sampled bits are post-processed in a von Neumann corrector (VNC) before being subjected to a continuous random number generation test (CRNGT) and autocorrelation test.
192 bits of random data can be read from the entropy holding registers EHR_DATA[n] (n=0..5)
once interrupt EHR_VALID_INT in register RNG_ISR trigger.
If this interrupt is masked away in register RNG_IMR, the status register
TRNG_VALID contains field EHR_DATA which
can be polled when the random data is valid. Reading the most significant word from EHR_DATA registers
will reset register TRNG_VALID and a new 192 bits collection period will start.