The Split-Lut-Carry Cellular Automaton PRNG is a self-programmable cellular automaton (SPCA) based pseudo-random number generator (PRNG) which utilizes the architectural capabilities of modern Xilinx FPGA fabrics to achieve the highest possible density, at 3 random bits per utilized Look-Up Table in 7-Series Xilinx devices. As with any SPCA, the output of the PRNG is utilized to modify the rules of the underlying CA. In the case of the SLC-SPCA, the output is propagated to the CA cells through the FPGA slice internal carry chain.

Quality and Efficiency Evaluation

The SLC-SPCA concept has been evaluated utilizing the NIST statistical test suite. We found the SLC-SPCA performs on par with comparable FPGA-implemented PRNGs, while achieving 2.6x less power for the same number of output bits or generates 3x more bits for the same power dissipation.


The SLC-SPCA has been described in the following journal paper (full publication in progress, pre-print full text here):

  • Lucian Petrica, FPGA optimized cellular automaton random number generator, Journal of Parallel and Distributed Computing, 2017, ISSN 0743-7315, DOI: 10.1016/j.jpdc.2017.05.022.¬†BibTex Citation:
        title = "FPGA optimized cellular automaton random number generator",
        journal = "Journal of Parallel and Distributed Computing",
        volume = "",
        number = "",
        pages = "",
        year = "2017",
        note = "",
        issn = "0743-7315",
        doi = "",
        url = "",
        author = "Lucian Petrica"