Generating HDL from a Random Number Generator

7 views (last 30 days)
How do I model Random Number Generator suitable for HDL Coder?

Accepted Answer

Kiran Kintali
Kiran Kintali on 6 Nov 2021
The mask on the uniform generator has sample time and seed parameters.
  1. The uniform generator produces uint32 values.
  2. There is a different algorithm for 128bit numbers. http://www.math.sci.hiroshima-u.ac.jp/m-mat/MT/ARTICLES/sfmt.pdf
  3. One can try concatenate 4 of these with different seeds but the quality is not guaranteed.
  4. The normal generator produces N~(0,1) distribution using Box-Mueller. Due to log and multiplication with 2*pi, some precision loss occurs that may not be significant.
load_system('hdl_rng.slx');
% generate 10000 random integers
sim('hdl_rng.slx',10000);
% plot the histogram
subplot(1,2,1);
histogram(uniform_random_numbers,linspace(0,2^32,21));
title('Histogram of uniform random numbers');
subplot(1,2,2);
histogram(normal_random_numbers,linspace(-4,4,21));
title('Histogram of normal random numbers');

More Answers (0)

Categories

Find more on Optimization in Help Center and File Exchange

Products


Release

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!