The output entropy is split into 32-bit words and stored in the output FIFO. The FIFO size in 32-bit words can be read from the FIFODEPTH register. The FIFO operates as a single word stream - the first available word is returned regardless of which FIFO entry is accessed. When a word is read from the FIFO, the FIFOLEVEL register automatically decreases to reflect the number of remaining 32-bit random numbers. The FIFOTHRESHOLD register determines when the RNG state machine starts refilling the FIFO.
Depending on the configuration of the conditioning function, either raw noise samples or conditioned samples are written to the FIFO when the ENABLE bit is set. For details on the state machine that manages the filling of the FIFO, see Control FSM state diagram . If the CONTROL.FIFOWRITESTARTUP bit is set, the statemachine will start filling the FIFO immediately after the FIFO is enabled, ignoring startup failures. If the CONTROL.IGNOREHEALTHTESTSFAILFORFSM bit is set the state machine ignores all the health test failures and allows data to be written to the FIFO even if health tests fail. It is not recommended to set either of these bits, as it may lead to the FIFO being filled with data of poor quality.
When deviating from recommended hardware settings, it is the user's responsibility to verify the validity of the data in the FIFO.