An Efficient FPGA-Based Gaussian Random Number Generator Using an Accurate Segmented Box–Muller Method (original) (raw)

In this paper, we introduce an accurate, efficient, and optimized design and implementation of a Gaussian pseudo random number generator (PRNG) on a field-programmable gate array (FPGA) platform. A second-order segmented Box-Muller (S 2 BM) transformation is proposed as an alternative approach to our previously presented segmented Box-Muller (S-BM) transformation. S 2 BM transformation targets two goals simultaneously: enhancing accuracy and improving efficiency by introducing two new upgrades to the S-BM transformation. The first upgrade was performed by splitting each segment into two parts, the body and tail, using two different Box-Muller (BM) transformation steps. The second upgrade was made by producing two uncorrelated samples per clock cycle with small additional FPGA logic. The achieved FPGA implementation scores prove that the designed 19-bit S 2 BM Gaussian PRNG generator offers an improvement of 21% and 29% in efficiency over the S-BM within the ranges of ±7.81σ and ±9.561σ respectively, when implemented on the cost-optimized Xilinx Spartan-6 devices (XC6SLX75T). An improvement of 86% and 149% in efficiency are obtained respectively, over the Central Limit Theorem (CTL) Hadamard transformation and the Multihat transformation. Furthermore, the obtained results and performance confirmed the superiority of the S 2 BM transformation in terms of accuracy and efficiency compared with the existing GRN generator architectures. INDEX TERMS Box-Muller transformation, field-programmable gate array (FPGA), Gaussian distribution, random number generation. I. INTRODUCTION Gaussian Random Number Generator (GRNG) algorithms and architectures are widely used in a large array of advanced computing techniques such as artificial intelligence (AI), cryptography, Monte Carlo algorithms for channel decoding and modeling, radio-frequency identification (RFID), and financial modeling. The common use of Gaussian random numbers in these processes requires specific GRNG The associate editor coordinating the review of this manuscript and approving it for publication was Ilaria De Munari. properties. Several solutions have been implemented in recent decades. These implementation features differ significantly in terms of the computational complexity, logic utilization, frequency, and accuracy. GRNG can be classified into two main sets, the pseudo random number generator PRNG and the true random number generator TRNG as in [1], [2], and [3]. Furthermore, PRNG can be separated as non-chaotic or chaotic type as in [4], [5], and [6]. Therefore, no unique or ideal approach exists. Each associated algorithm presents benefits, characteristics, and applications. Most PRNG approaches require the creation of a uniform random