Second characterization iteration
You must run a second set of characterization tests to determine the TRNG configuration parameters.
Run four characterization tests for each of the corners that Arm identifies as result of the first iteration.
Call CC_TST_TRNG with each of the four ring oscillator lengths (each with its corresponding sample count).
Depending on the intended TRNG driver, each call to CC_TST_TRNG must be as follows:
- FE TRNG driver: Call CC_TST_TRNG with TRNGMode=1 and collect 100Mbit (12.5MB).
- 800-90B TRNG driver: CC_TST_TRNG with TRNGMode=2 and collect 10Mbit (1.25MB).
The same output file naming rules apply for both drivers. For more information, see Output-file names.
As with the first-iteration tests, it is critical that:
- All output bits are collected using a single contiguous execution of the test.
- All resulting bits are saved in the output file without any gaps.
If any bits are dropped and not captured in the output file. Then, rerun the test as the statistical analysis of the output is meaningless.
If the system does not have sufficient memory to collect all required bits in a single run, you can split each test into multiple runs. For example 100 consecutive runs, each collecting 1Mbits.
Process the resulting output files as follows:
Results: In either case, the returned results confirm or refute the TRNG configuration that is used for mass production. After the Restart tests iteration, these configuration values must be updated in the relevant files of the TRNG driver.
- If you ran the characterization in AIS-31 mode, then you must send the resulting output files to Arm for statistical analysis.
- If you ran the characterization in 800-90 mode, then you needs to proceed and analyze the results using NIST tools, as published in the NIST site.
NoteIf there are errors, you must repeat this iteration, or parts of it (some of the ring oscillator lengths) until a full set is obtained.