Datasheet
56. True Random Number Generator (TRNG)
56.1 Description
The True Random Number Generator (TRNG) passes the American NIST Special Publication 800-22 (A Statistical
Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications) and the Diehard Suite
of Tests.
The TRNG may be used as an entropy source for seeding an NIST approved DRNG (Deterministic RNG) as required
by FIPS PUB 140-2 and 140-3.
56.2 Embedded Characteristics
• Passes NIST Special Publication 800-22 T
est Suite
• Passes Diehard Suite of Tests
• May be Used as Entropy Source for seeding a NIST-approved DRNG (Deterministic RNG) as required by FIPS
PUB 140-2 and 140-3
• Provides a 32-bit Random Number Every 84 Clock Cycles
56.3 Block Diagram
Figure 56-1. TRNG Block Diagram
User Interface
APB
Interrupt
Controller
PMC
Entropy Source
MCK
TRNG
Control Logic
56.4 Product Dependencies
56.4.1 Power Management
The TRNG interface may be clocked through the Power Management Controller (PMC), thus the programmer must
first configure the PMC to enable the TRNG user interface clock. The user interface clock is independent from any
clock that may be used in the entropy source logic circuitry
. The source of entropy can be enabled before enabling
the user interface clock.
56.4.2 Interrupt Sources
The TRNG interface has an interrupt line connected to the Interrupt Controller. In order to handle interrupts, the
Interrupt Controller must be programmed before configuring the TRNG.
56.5 Functional Description
As soon as the TRNG is enabled in the Control register (TRNG_CR), the generator provides one 32-bit random value
every 84 clock cycles.
The TRNG interrupt line can be enabled in the Interrupt Enable register (TRNG_IER), and disabled in the Interrupt
Disable register (TRNG_IDR). This interrupt is set when a new random value is available and is cleared when the
SAM E70/S70/V70/V71 Family
T
rue Random Number Generator (TRNG)
© 2019 Microchip T
echnology Inc.
Datasheet
DS60001527D-page 1777










