\n

RNG

Peripheral Memory Blocks

address_offset : 0x0 Bytes (0x0)
size : 0x1000 byte (0x0)
mem_usage : registers
protection : not protected

Registers

RANDOM_NUMBER

ONLINE_TEST_CFG

ONLINE_TEST_VAL

ENTROPY_INJECT

MISC_CFG

ENCRYPTED_NUMBER

COUNTER_VAL

COUNTER_CFG

POWERDOWN

MODULEID


RANDOM_NUMBER

This register contains a random 32 bit number which is computed on demand, at each time it is read
address_offset : 0x0 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

RANDOM_NUMBER RANDOM_NUMBER 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 RANDOM_NUMBER

RANDOM_NUMBER : This register contains a random 32 bit number which is computed on demand, at each time it is read.
bits : 0 - 31 (32 bit)
access : read-only


ONLINE_TEST_CFG

no description available
address_offset : 0x10 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

ONLINE_TEST_CFG ONLINE_TEST_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 ACTIVATE DATA_SEL

ACTIVATE : 0: disabled 1: activated Update rythm for VAL depends on COUNTER_CFG if data_sel is set to COUNTER.
bits : 0 - 0 (1 bit)
access : read-write

DATA_SEL : Selects source on which to apply online test: 00: LSB of COUNTER: raw data from one or all sources of entropy 01: MSB of COUNTER: raw data from one or all sources of entropy 10: RANDOM_NUMBER 11: ENCRYPTED_NUMBER 'activate' should be set to 'disabled' before changing this field.
bits : 1 - 2 (2 bit)
access : read-write


ONLINE_TEST_VAL

no description available
address_offset : 0x14 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

ONLINE_TEST_VAL ONLINE_TEST_VAL 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 LIVE_CHI_SQUARED MIN_CHI_SQUARED MAX_CHI_SQUARED

LIVE_CHI_SQUARED : This value is updated as described in field 'activate'.
bits : 0 - 3 (4 bit)
access : read-only

MIN_CHI_SQUARED : This field is reset when 'activate'==0.
bits : 4 - 7 (4 bit)
access : read-only

MAX_CHI_SQUARED : This field is reset when 'activate'==0.
bits : 8 - 11 (4 bit)
access : read-only


ENTROPY_INJECT

no description available
address_offset : 0x18 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

ENTROPY_INJECT ENTROPY_INJECT 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 ENTROPY

ENTROPY : Use this register to inject or restore entropy 32 bits at a time. Writing is blocking thus see to it to have analog clocks activated. Injection can be usefull to add contribution from an external source of entropy, like for example LSBs of an ADC or of a temperature sensor. Restore can be usefull to store N random numbers in central memory before going powerdown then restore this entropy to RNG IP after power-up. It is useless to inject or restore more than 1*(number of RNGs) 32b words consecutively. Recommendation is to inject 1*(number of RNGs) words, and possibly later (2*32 clock cycles of slowest analog clock) inject again 1*(number of RNGs) words. Then maximum capacity of restoration is reached: about 44 bits per RNG (not to be mistaken with maximum capacity of entropy accumulation which is about 100 bits per RNG). You can inject less than 32 bits words (let unused bits to 0). Injection cannot degrade overall performance due to the fact that some internal PRNGs are excluded on purpose from this external action.
bits : 0 - 31 (32 bit)
access : read-write


MISC_CFG

no description available
address_offset : 0x1C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

MISC_CFG MISC_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 AES_RESEED AES_DT_CFG

AES_RESEED : If set, ENCRYPTED_NUMBER generation becomes predictable, provided all secrets and current internal state are known: independant from entropy source.
bits : 0 - 0 (1 bit)
access : read-write

AES_DT_CFG : Set this bit to re-seed AES.
bits : 1 - 1 (1 bit)
access : read-write


ENCRYPTED_NUMBER

This register contains a random 32 bit number which is pre-computed
address_offset : 0x4 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

ENCRYPTED_NUMBER ENCRYPTED_NUMBER 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 ENCRYPTED_NUMBER

ENCRYPTED_NUMBER : This register contains a random 32 bit number which is pre-computed.
bits : 0 - 31 (32 bit)
access : read-write


COUNTER_VAL

no description available
address_offset : 0x8 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

COUNTER_VAL COUNTER_VAL 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 CLK_RATIO REFRESH_CNT

CLK_RATIO : Gives the ratio between the internal clocks frequencies and the register clock frequency for evaluation and certification purposes.
bits : 0 - 7 (8 bit)
access : read-only

REFRESH_CNT : Incremented (till max possible value) each time COUNTER was updated since last reading to any *_NUMBER.
bits : 8 - 21 (14 bit)
access : read-only


COUNTER_CFG

no description available
address_offset : 0xC Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

COUNTER_CFG COUNTER_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 MODE CLOCK_SEL SHIFT4X

MODE : 00: disabled 01: update once.
bits : 0 - 1 (2 bit)
access : read-write

CLOCK_SEL : Selects the internal clock on which to compute statistics.
bits : 2 - 4 (3 bit)
access : read-write

SHIFT4X : To be used to add precision to clock_ratio and determine 'entropy refill'.
bits : 5 - 7 (3 bit)
access : read-write


POWERDOWN

Powerdown mode (standard but certainly useless here)
address_offset : 0xFF4 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

POWERDOWN POWERDOWN 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 SOFT_RESET FORCE_SOFT_RESET POWERDOWN

SOFT_RESET : Request softreset that will go low automaticaly after acknowledge from CORE.
bits : 0 - 0 (1 bit)
access : read-write

FORCE_SOFT_RESET : When used with softreset it forces CORE_RESETN to low on acknowledge from CORE.
bits : 1 - 1 (1 bit)
access : read-write

POWERDOWN : When set all accesses to standard registers are blocked.
bits : 31 - 31 (1 bit)
access : read-write


MODULEID

IP identifier
address_offset : 0xFFC Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

MODULEID MODULEID 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 APERTURE MIN_REV MAJ_REV ID

APERTURE : Aperture i.
bits : 0 - 7 (8 bit)
access : read-only

MIN_REV : Minor revision i.
bits : 8 - 11 (4 bit)
access : read-only

MAJ_REV : Major revision i.
bits : 12 - 15 (4 bit)
access : read-only

ID : Identifier.
bits : 16 - 31 (16 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.