True random number generator (RNG)
22.3.4
RNG initialization
The RNG simplified state machine is pictured on
After enabling the RNG (RNGEN = 1 in RNG_CR) the following chain of events occurs:
1.
The analog noise source is enabled, and by default the RNG waits 16 cycles of RNG
clock cycles (before divider) before starting to sample analog output and filling 128-bit
conditioning shift register.
2.
The conditioning hardware initializes, automatically triggering start-up behavior test on
the raw data samples and known-answer tests.
3.
When start-up health tests are completed. During this time three 128-bit noise source
samples are used.
4.
The conditioning stage internal input data buffer is filled again with 128-bit and a
number of conditioning rounds defined by the RNG configuration (NIST or non-NIST) is
performed. The output buffer is then filled with the post processing result.
5.
The output buffer is refilled automatically according to the RNG usage.
The associated initialization time can be found in
Software reset
638/1454
Figure 100. RNG initialization overview
1
Wait for noise
source
2
Start-up heath tests
3
Conditioning keys
init
4
Generate samples
RM0453 Rev 2
Figure 100
Section 22.5: RNG processing
Software reset
start-up test(s)
not OK
continuous test(s)
not OK
5
RM0453
time.
Error state
MSv44204V2
Need help?
Do you have a question about the STM32WL55JC and is the answer not in the manual?