cancel
Showing results for 
Search instead for 
Did you mean: 

Smart Bluetooth

Anonymous
Not applicable

Is there a document or specification of HW random number generator of BCM20737?

I found functions ulp_initRandomSeed(), ulp_nextRand(), ulp_getRand() and ulp_rand() in patch.lst but can't find header file or documents.

Can you provide me the following informations?

* function prototype

* Is it a true random generator or pseudo random number generator?


1 Solution
MichaelF_56
Moderator
Moderator

Confirming that with SDK 2.0 or later you should use:

/// Provides any number of random bit from the HW random bit generator.

/// \param buffer pointer to a buffer that can hold the random bits.

/// \param length Number of 32-bit numbers to generate.

extern void ulp_rand(UINT32* buffer, UINT32 length);

UINT32 rand_num;

ulp_rand(&rand_num, 1);

Unfortunately, this is not available within SDK 1.1.0.

Also, while this is mentioned in blecen.h, I'm not aware of any formal documentation for this feature.

victorz arvinds

View solution in original post

0 Likes
2 Replies
MichaelF_56
Moderator
Moderator

Confirming that with SDK 2.0 or later you should use:

/// Provides any number of random bit from the HW random bit generator.

/// \param buffer pointer to a buffer that can hold the random bits.

/// \param length Number of 32-bit numbers to generate.

extern void ulp_rand(UINT32* buffer, UINT32 length);

UINT32 rand_num;

ulp_rand(&rand_num, 1);

Unfortunately, this is not available within SDK 1.1.0.

Also, while this is mentioned in blecen.h, I'm not aware of any formal documentation for this feature.

victorz arvinds

View solution in original post

0 Likes
ArvindS_76
Employee

ulp_rand() is a true random number generator (uses a HW RNG). ulp_getRand() is a pseudorandom number generator (uses a SW mechanism).