\n

RNG

Peripheral Memory Blocks

address_offset : 0x0 Bytes (0x0)
size : 0x28 byte (0x0)
mem_usage : registers
protection :

Registers

CTRL

LONG_RUN_STAT

CFG

SRC_CFG

FRO_CFG

USER_SEED

LONG_RUN_CFG

STAT

DATA


CTRL

TRNG Controller Register
address_offset : 0x0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CTRL CTRL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 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 RUN

RUN : TRNG work enabled signal, valid at HIGH 0x0: disable RNG module 0x1: TRNG starts working to execute a operation of reading random number
bits : 0 - 0 (1 bit)
access : read-write


LONG_RUN_STAT

TRNG Long Run Status Register
address_offset : 0x10 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

LONG_RUN_STAT LONG_RUN_STAT read-only 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 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 LONG_RUN_FLAG LONG_RUN_COUNT

LONG_RUN_FLAG : Flag of TRNG long run test 0x0: Long run never occurred. 0x1: Long run was occurred in random number sequence After TRNG being disabled or reset, this register is cleared
bits : 0 - 0 (1 bit)
access : read-only

LONG_RUN_COUNT : Counts of TRNG long run test. This value is incremented by 1 for every long run detected by TRNG. After TRNG being disabled or reset, the register is cleared.
bits : 1 - 8 (8 bit)
access : read-only


CFG

TRNG Configuration Register
address_offset : 0x14 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CFG CFG read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 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 OUT_MODE LFSR_XOR_SEL P_MODE_CFG LFSR_MODE_CFG LFSR_SEED_CFG HW_INT_EN LFS_EN FRO_EN

OUT_MODE : Select TRNG Output mode. 0x4: Digital TRNG direct output, ring oscillator s0 0x6: LFSR and TRNG cyclic sampling and parity generation 0x7: LFSR and TRNG cyclic sampling 0x8: LFSR ⊕ TRNG 0x9: LFSR direct output Value is limited to 0x4, 0x6, 0x7, 0x8 or 0x9 in GR551x.
bits : 0 - 3 (4 bit)
access : read-write

LFSR_XOR_SEL : In Output mode 8, select TRNG with LFSR XOR 0x4: LFSR ⊕ Ring Oscillator s0 ( the ⊕ means XOR.) Value is limited to 0x4 in GR551x.
bits : 4 - 6 (3 bit)
access : read-write

P_MODE_CFG : TRNG post-process configuration. 0x0: No post process 0x1: bit skipping 0x2: bit counting 0x3: Von-Neumann
bits : 7 - 8 (2 bit)
access : read-write

LFSR_MODE_CFG : LFSR configuration mode- 0x0: 59 bit LFSR 0x1: 128 bit LFSR
bits : 9 - 9 (1 bit)
access : read-write

LFSR_SEED_CFG : LFSR seed configuration mode, select source of LFSR seed. 0x0: LFSR seed is from the switching current s0 0x1: LFSR seed is from the switching current s1 0x2: LFSR seed is from the switching current s2 0x3: LFSR seed is from the switching current s3 0x4: LFSR seed is from the oscillator s0 0x5: LFSR seed is from the Low Frequency Sampling s0 0x6: LFSR seed is configured by users 0x7: Random numbers do not use LFSR and completely use true random mode Value is limited to 0x4 or 0x6 in GR551x.
bits : 10 - 12 (3 bit)
access : read-write

HW_INT_EN : TRNG hardware interrupt enable.
bits : 13 - 13 (1 bit)
access : read-write

LFS_EN : Low frequency sampling TRNG enabled signal. 0x0: Disabled 0x1: Enabled Reserved in GR551x.
bits : 14 - 14 (1 bit)
access : read-write

FRO_EN : Ring oscillator TRNG enabled signal. 0x0: Disabled 0x1: Enabled
bits : 15 - 15 (1 bit)
access : read-write


SRC_CFG

TRNG Source Configuration Register
address_offset : 0x18 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

SRC_CFG SRC_CFG read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 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 WAIT_TIME FRO_CHAIN_SEL

WAIT_TIME : The waiting time that TRNG input reaches stable. Default value is 100 time cycles.
bits : 0 - 7 (8 bit)
access : read-write

FRO_CHAIN_SEL : Selection of Chain4- Chain7 for FRO- 0x0: select long ring 0x1: select short ring
bits : 11 - 14 (4 bit)
access : read-write


FRO_CFG

TRNG FRO Configuration Register
address_offset : 0x1C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

FRO_CFG FRO_CFG read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 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 CHAIN_EN TEST_IN

CHAIN_EN : Enable signal of each Chain in ring oscillator module It is valid when FROEN is HIGH.
bits : 0 - 7 (8 bit)
access : read-write

TEST_IN : Test input signal of each Chain for FRO The default value is 1.
bits : 8 - 15 (8 bit)
access : read-write


USER_SEED

TRNG User Seed Register
address_offset : 0x20 Bytes (0x0)
size : 32 bit
access : write-only
reset_value : 0x0
reset_Mask : 0x0

USER_SEED USER_SEED write-only 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 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 USER_SEED

USER_SEED : RNG seed configured by user. Write four times to user_seed[58:0] to configure a 59-bit random number.
bits : 0 - 15 (16 bit)
access : write-only


LONG_RUN_CFG

TRNG Long Run Configuration Register
address_offset : 0x24 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LONG_RUN_CFG LONG_RUN_CFG read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 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 THD_LR_TEST LONG_RUN_THD

THD_LR_TEST : Threshold configuration of RNG long run test. The run which is greater or equal to this value will be detected. Default value is 26 and the maximum value is 31.
bits : 0 - 0 (1 bit)
access : read-write

LONG_RUN_THD : Test input signal of each Chain for FRO The default value is 1.
bits : 1 - 5 (5 bit)
access : read-write


STAT

TRNG Status Register
address_offset : 0x4 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

STAT STAT read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 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 READY

READY : TRNG status flag bit, queried by CPU 0x0: TRNG output data is not valid. 0x1: TRNG output data is valid. This register is automatically cleared by hardware after READY is set HIGH. This register is automatically cleared by hardware after read DATA
bits : 0 - 0 (1 bit)
access : read-write


DATA

TRNG Data Register
address_offset : 0x8 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

DATA DATA read-only 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 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 DATA

DATA : TRNG data This register is automatically cleared by hardware after read
bits : 0 - 31 (32 bit)
access : read-only



Is something missing? Is something wrong? can you help correct it ? Please contact us at info@chipselect.org !

This website is sponsored by EmbeetleEmbeetle, an IDE designed from scratch for embedded software developers.