True random number generator (RNG) RM0440
832/2126 RM0440 Rev 4
26.3.3 Random number generation
The true random number generator (RNG) delivers truly random data through its AHB
interface at deterministic intervals. Within its boundary the RNG implements the entropy
source model pictured on Figure 180.
It includes an analog noise source, a digitization stage with post-processing, a conditioning
algorithm, a health monitoring block and two interfaces that are used to interact with the
entropy source: GetEntropy and HealthTest.
Figure 180. Entropy source model
The components pictured above are detailed hereafter:
Noise source
The noise source is the component that contains the non-deterministic, entropy-providing
activity that is ultimately responsible for the uncertainty associated with the bitstring output
by the entropy source. It is composed of:
• Two analog noise sources, each based on three XORed free-running ring oscillator
outputs. It is possible to disable those analog oscillators to save power, as described in
Section 26.3.8: RNG low-power usage.
• A sampling stage of these outputs clocked by a dedicated clock input (rng_clk),
delivering a 2-bit raw data output.
This noise source sampling is independent to the AHB interface clock frequency (rng_hclk).
Note: In Section 26.6: RNG entropy source validation recommended RNG clock frequencies are
given.
MSv42099V2
Entropy source
Noise Source
Digitization
Post-processing
Raw data
Conditioning
Heath
tests
Output
(GetEntropy)
Error
message
(HealthTest)