Resource-Efficient FPGA Pseudorandom Number Generation
TimeThursday, 19 November 20208:30am - 5pm EDT
DescriptionProbability distributions play a critical role in diverse application domains. In simulations, probability distributions model phenomena such as physical properties of materials, of processes, or of behaviors. For instance, molecular dynamics codes often utilize the Maxwell-Boltzmann distribution for modeling temperature. Software-based random number generation usually employs rejection-based approaches. Thus, sample generation is not guaranteed at each iteration. Many applications can be parallelized in hardware for acceleration purposes, yet rejection-based software methods do not fit well into FPGA fabric due to the complexity of exception circuitry. We introduce a resource-efficient hardware pseudorandom number generator (RNG) and two optimizations: alias table partitioning and adaptive threshold resolution. The first technique separates a target distribution into multiple sub-ranges and facilitates local optimizations in each sub-range to improve overall resource utilization. The second technique adjusts bit size for representing threshold values to the precision of the underlying partition.