In this work we present a very accurate floating point FPGA implementation of a Gaussian random number generator (GRNG) based on the inversion method. The inverse Gaussian cumulative distribution function (GCDF{sup}(-1)) is approximated using a quintic degree segment interpolation with Hermite coefficients and an accuracy-adaptative segmentation which divides the GCDF{sup}(-1) into several non-uniform segments. Our architecture generates simple floating point samples of 32 bits with an accuracy of 20 bits of mantissa, achieving a 185 MHz speed and a throughput of one sample per cycle on a Xilinx Virtex-II FPGA.
展开▼