TY - GEN
T1 - Ziggurat-based hardware gaussian random number generator
AU - Zhang, Guanglie
AU - Leong, Philip H. W.
AU - Lee, Dong-U.
AU - Villasenor, John D.
AU - Cheung, Ray C. C.
AU - Luk, Wayne
PY - 2005
Y1 - 2005
N2 - An architecture and implementation of a high performance Gaussian random number generator (GRNG) is described. The GRNG uses the Ziggurat algorithm which divides the area under the probability density function into three regions (rectangular, wedge and tail). The rejection method is then used and this amounts to determining whether a random point falls into one of the three regions. The vast majority of points lie in the rectangular region and are accepted to directly produce a random variate. For the non-rectangular regions, which occur 1.5% of the time, the exponential or logarithm functions must be computed and an iterative fixed point operation unit is used. Computation of the rectangular region is heavily pipelined and a buffering scheme is used to allow the processing of rectangular regions to continue to operate in parallel with evaluation of the wedge and tail computation. The resulting system can generate 169 million normally distributed random numbers per second on a Xilinx XC2VP30-6 device. © 2005 IEEE.
AB - An architecture and implementation of a high performance Gaussian random number generator (GRNG) is described. The GRNG uses the Ziggurat algorithm which divides the area under the probability density function into three regions (rectangular, wedge and tail). The rejection method is then used and this amounts to determining whether a random point falls into one of the three regions. The vast majority of points lie in the rectangular region and are accepted to directly produce a random variate. For the non-rectangular regions, which occur 1.5% of the time, the exponential or logarithm functions must be computed and an iterative fixed point operation unit is used. Computation of the rectangular region is heavily pipelined and a buffering scheme is used to allow the processing of rectangular regions to continue to operate in parallel with evaluation of the wedge and tail computation. The resulting system can generate 169 million normally distributed random numbers per second on a Xilinx XC2VP30-6 device. © 2005 IEEE.
UR - http://www.scopus.com/inward/record.url?scp=33646473625&partnerID=8YFLogxK
UR - https://www.scopus.com/record/pubmetrics.uri?eid=2-s2.0-33646473625&origin=recordpage
U2 - 10.1109/FPL.2005.1515734
DO - 10.1109/FPL.2005.1515734
M3 - RGC 32 - Refereed conference paper (with host publication)
SN - 0780393627
SN - 9780780393622
SP - 275
EP - 280
BT - Proceedings - 2005 International Conference on Field Programmable Logic and Applications (FPL)
PB - IEEE
T2 - 2005 International Conference on Field Programmable Logic and Applications (FPL 2005)
Y2 - 24 August 2005 through 26 August 2005
ER -