FPGA optimized cellular automaton random number generator

被引:20
作者
Petrica, Lucian [1 ,2 ]
机构
[1] Univ Politehn Bucuresti, 313 Splaiul Independentei St, Bucharest 060042, Romania
[2] Natl Inst Res & Dev Microtechnol, 126A Erou Iancu Nicolae St, Bucharest 077190, Romania
关键词
FPGA; Cellular automaton; Random number generator;
D O I
10.1016/j.jpdc.2017.05.022
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Pseudo-random number generators (PRNGs) are important to applications ranging from cryptography to Monte-Carlo methods. Consequently, many PRNG architectures have been proposed, including some optimized for FPGA, e.g the LUT-SR family of PRNGs which utilize embedded FPGA shift registers, and self-programmable cellular automaton (SPCA) PRNGs. However, LUT-SR and other PRNGs do not utilize key features of modern Xilinx FPGAs: embedded carry chains and splittable Look-Up Tables (LUTs), i.e., 6-input LUTs which can operate as two 5-input LUTs which share inputs. In this paper we explore the SPCA structure and derive a set of parameter constraints which allow a SPCA PRNG to produce 2 random bits per LUT in every clock cycle on modern Xilinx FPGAs. We determine this to be the maximum logic density achievable for SPCA, and propose an architectural improvement of SPCA to enable further density increase by making use of FPGA embedded carry chains as a method to compute an additional random bit per LUT in each clock cycle. The resulting Split-LUT-Carry SPCA (SLC-SPCA) PRNG achieves 6x improvement in logic density compared to LUT-SR, and a 1.5x density increase compared to SPCA. We evaluate the randomness of SLC-SPCA utilizing the NIST Statistical Test Suite, and we provide a power and energy comparison of LUT-SR and SLC-SPCA on a Xilinx Zynq 7020 FPGA device. Our results indicate that SLC-SPCA generates 3x more bits per clock at approximately the same power dissipation as LUT-SR, and consequently 3x less energy to generate 1 gigabit of random data. SLC-SPCA is also 1.5x more energy-efficient than a SPCA PRNG. (C) 2017 Elsevier Inc. All rights reserved.
引用
收藏
页码:251 / 259
页数:9
相关论文
共 20 条
  • [1] A SIMPLE UNPREDICTABLE PSEUDORANDOM NUMBER GENERATOR
    BLUM, L
    BLUM, M
    SHUB, M
    [J]. SIAM JOURNAL ON COMPUTING, 1986, 15 (02) : 364 - 383
  • [2] Gheolbanoiu A., 2016, REV TEC FAC ING UNIV, V39, P1
  • [3] Pseudorandom number generation with self-programmable cellular automata
    Guan, SU
    Tan, SM
    [J]. IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 2004, 23 (07) : 1095 - 1101
  • [4] Hoe D. H., 2012, INT J RECONFIGURABLE, V2012, P4
  • [5] PARALLEL RANDOM NUMBER GENERATION FOR VLSI SYSTEMS USING CELLULAR AUTOMATA
    HORTENSIUS, PD
    MCLEOD, RD
    CARD, HC
    [J]. IEEE TRANSACTIONS ON COMPUTERS, 1989, 38 (10) : 1466 - 1472
  • [6] Jin QW, 2009, I C FIELD PROG LOGIC, P73, DOI 10.1109/FPL.2009.5272549
  • [7] Design and evaluation of hardware pseudo-random number generator MT19937
    Konuma, S
    Ichikawa, S
    [J]. IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, 2005, E88D (12): : 2876 - 2879
  • [8] Marsaglia G., 1998, DIEHARD Test suite
  • [9] Rukhin A., 2010, SPECIAL PUBLICATION
  • [10] Sang-Ho Shin, 2009, 2009 International Conference on Computational Science and Engineering (CSE), P399, DOI 10.1109/CSE.2009.299