trngpsv
Vitis Drivers API Documentation
xtrngpsv.c File Reference

Macros

#define XTRNGPSV_BURST_SIZE   16U
 QCNT of 4 * 4 bytes (reg width)= 16 bytes. More...
 
#define XTRNGPSV_NUM_INIT_REGS   12U
 No. More...
 
#define XTRNGPSV_BYTES_PER_REG   4U
 Number of bytes register (i.e. More...
 
#define XTRNGPSV_ENTROPY_SEED_LEN_BYTES   64U
 Entropy SEED length in terms of security strength. More...
 
#define XTRNGPSV_SEC_STRENGTH_SHIFT   5U
 Shift value in terms of security strength. More...
 
#define XTRNGPSV_MAX_QCNT_MASK   0x800U
 Mask value for maximum QCNT (i.e 4U << 9U) More...
 
#define XTRNGPSV_WORD_ALIGN_MASK   0x03U
 Mask to check whether the address is word aligned. More...
 
#define XTRNGPSV_RESEED_TIMEOUT   15000U
 Reseed timeout in micro-seconds. More...
 
#define XTRNGPSV_GENERATE_TIMEOUT   8000U
 Generate timeout in micro-seconds. More...
 
#define PRNGMODE_RESEED   0U
 PRNG in Reseed mode. More...
 
#define PRNGMODE_GEN   TRNG_CTRL_PRNGMODE_MASK
 PRNG in Generate mode. More...
 
#define XTRNGPSV_MIN_SEEDLIFE   1U
 Minimum seed life. More...
 
#define XTRNGPSV_MAX_SEEDLIFE   0x1000000000000U
 Maximum seed life 2^^48. More...
 
#define XTRNGPSV_MIN_DFLENMUL   2U
 Minimum DF Length Multiplier.This assumes additional multiplier of 1 for nonce. More...
 
#define XTRNGPSV_MAX_DFLENMUL   9U
 Maximum DF Length Multiplier. More...
 
#define ALL_A_PATTERN_32   0xAAAAAAAAU
 Pattern of 10101010... More...
 
#define ALL_5_PATTERN_32   0x55555555U
 Pattern of 01010101... More...
 
#define RESET_DELAY   10U
 Delay used in Reset operations. More...
 

Functions

s32 XTrngpsv_Instantiate (XTrngpsv *InstancePtr, const XTrngpsv_UsrCfg *ConfigurValues)
 This function further initializes i.e. More...
 
s32 XTrngpsv_Reseed (XTrngpsv *InstancePtr, const u8 *ExtSeedPtr, u32 DFLenMul)
 This function reseeds the TRNG in DRNG, HRNG modes. More...
 
s32 XTrngpsv_Generate (XTrngpsv *InstancePtr, u8 *RandBufPtr, u32 RandBufSize, u8 PredResistanceEn)
 This the function which actually generates and provides random bits to the caller. More...
 
s32 XTrngpsv_Uninstantiate (XTrngpsv *InstancePtr)
 This function is used to put the TRNG in reset state, and clear the instance data including configuration, status. More...