STMicroelectronics /STM32U083 /RNG /RNG_CR

Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text

Interpret as RNG_CR

31 2827 2423 2019 1615 1211 87 43 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (B_0x0)RNGEN 0 (B_0x0)IE 0 (B_0x0)CED 0 (B_0x0)ARDIS 0RNG_CONFIG3 0 (B_0x0)NISTC 0RNG_CONFIG2 0 (B_0x0)CLKDIV0RNG_CONFIG10 (CONDRST)CONDRST 0 (B_0x0)CONFIGLOCK

IE=B_0x0, RNGEN=B_0x0, CED=B_0x0, ARDIS=B_0x0, NISTC=B_0x0, CONFIGLOCK=B_0x0, CLKDIV=B_0x0

Description

RNG control register

Fields

RNGEN

True random number generator enable

0 (B_0x0): True random number generator is disabled. Analog noise sources are powered off and logic clocked by the RNG clock is gated.

1 (B_0x1): True random number generator is enabled.

IE

Interrupt enable

0 (B_0x0): RNG interrupt is disabled

1 (B_0x1): RNG interrupt is enabled. An interrupt is pending as soon as DRDY1=11, SEIS1=11 or CEIS1=11 in the RNG_SR register.

CED

Clock error detection The clock error detection cannot be enabled nor disabled on-the-fly when the RNG is enabled, that is to enable or disable CED, the RNG must be disabled. Writing this bit is taken into account only if the CONDRST bit is set to 1 in the same access, while CONFIGLOCK remains at 0. Writing to this bit is ignored if CONFIGLOCK1=11.

0 (B_0x0): Clock error detection enabled

1 (B_0x1): Clock error detection is disabled

ARDIS

Auto reset disable When auto-reset is enabled the application still need to clear the SEIS bit after a noise source error. Writing this bit is taken into account only if CONDRST bit is set to 1 in the same access, while CONFIGLOCK remains at 0. Writing to this bit is ignored if CONFIGLOCK1=11.

0 (B_0x0): When a noise source error occurs RNG performs an automatic reset to clear the SECS bit.

1 (B_0x1): When a noise source error occurs the application must reset RNG by writing CONDRST to 1 then to 0, in order to restart random number generation.

RNG_CONFIG3

RNG configuration 3 Reserved to the RNG configuration (bitfield 3). Refer to RNG_CONFIG1 bitfield for details. If the NISTC bit is cleared in this register RNG_CONFIG3 bitfield values are ignored by RNG.

NISTC

NIST custom two conditioning loops are performed and 256 bits of noise source are used. Writing this bit is taken into account only if CONDRST bit is set to 1 in the same access, while CONFIGLOCK remains at 0. Writing to this bit is ignored if CONFIGLOCK1=11.

0 (B_0x0): Hardware default values for NIST compliant RNG. In this configuration per 128-bit output

1 (B_0x1): Custom values for NIST compliant RNG. See Section120.6: RNG entropy source validation for proposed configuration.

RNG_CONFIG2

RNG configuration 2 Reserved to the RNG configuration (bitfield 2). Bit 13 can be set when RNG power consumption is critical. See Section120.3.8: RNG low-power use. Refer to the RNG_CONFIG1 bitfield for details.

CLKDIV

Clock divider factor This value used to configure an internal programmable divider (from 1 to 16) acting on the incoming RNG clock. These bits can be written only when the core is disabled (RNGEN1=10). … Writing these bits is taken into account only if the CONDRST bit is set to 1 in the same access, while CONFIGLOCK remains at 0. Writing to this bit is ignored if CONFIGLOCK1=11.

0 (B_0x0): internal RNG clock after divider is similar to incoming RNG clock.

1 (B_0x1): two RNG clock cycles per internal RNG clock.

2 (B_0x2): 22 (= 4) RNG clock cycles per internal RNG clock.

15 (B_0xF): 215 RNG clock cycles per internal clock (for example. an incoming 481MHz RNG clock becomes a 1.51kHz internal RNG clock)

RNG_CONFIG1

RNG configuration 1 Reserved to the RNG configuration (bitfield 1). Must be initialized using the recommended value documented in Section120.6: RNG entropy source validation. Writing any bit of RNG_CONFIG1 is taken into account only if the CONDRST bit is set to 1 in the same access, while CONFIGLOCK remains at 0. Writing to this bit is ignored if CONFIGLOCK1=11.

CONDRST

Conditioning soft reset Write 1 and then write 0 to reset the conditioning logic, clear all the FIFOs and start a new RNG initialization process, with RNG_SR cleared. Registers RNG_CR and RNG_HTCR are not changed by CONDRST. This bit must be set to 1 in the same access that set any configuration bits [29:4]. In other words, when CONDRST bit is set to 1 correct configuration in bits [29:4] must also be written. When CONDRST is set to 0 by the software, its value goes to 0 when the reset process is done. It takes about 2 AHB clock cycles + 2 RNG clock cycles.

CONFIGLOCK

RNG Config lock This bitfield is set once: if this bit is set it can only be reset to 0 if RNG is reset.

0 (B_0x0): Writes to the RNG_HTCR and RNG_CR configuration bits [29:4] are allowed.

1 (B_0x1): Writes to the RNG_HTCR and RNG_CR configuration bits [29:4] are ignored until the next RNG reset.

Links

()