Abstract
In this paper, we have achieved run-time dynamic reconfiguration by employing a category of logic cells equipped to realize programmability in Cellular Automata (CA) architectures on Field Programmable Gate Arrays (FPGAs). This is essential for real time VLSI implementations of random number generators, whose functionality requires reconfiguration during run-time, and are called Programmable CA (PCA). The logic cells realizing the PCA are amongst a subset of Look-Up Tables (LUTs) offered by Xilinx FPGAs, known as CFGLUT5. Programmability involves scanning out the contents of the truth-table (TT) originally configuring these LUTs and reconfiguring it with a modified functionality. This feature additionally aids testability which allows to carry out an equality check of the scanned output with a golden copy of the TT contents originally configuring the LUTs during design deployment. Vacant inputs in the LUTs realizing the PCA have been used to establish different scan path arrangements through flip-flops for exercising testability and fault localization further. The entire design flow resulted in a no logic overhead scenario compared to where scan paths did not exist. Any physical FPGA slice coordinate housing a faulty logic element, can be suitably bypassed for future implementations on the same FPGA by applying appropriate placement constraints.
Similar content being viewed by others
References
Shackleford B, Tanaka M, Carter RJ, Snider G (2002) FPGA implementation of neighborhood-of-four cellular automata random number generators. In: Proceedings ACM/SIGDA international symposium on field programmable gate arrays (FPGA), pp 106–112
Sirakoulis GCH (2018) Cellular automata hardware implementation. In: Meyers RA (ed) Encyclopedia of complexity and systems science. Springer, Berlin, pp 1–29
Palchaudhuri A, Chakraborty RS, Salman M, Kardas S, Mukhopadhyay D (2014) Highly compact automated implementation of linear CA on FPGAs. In: Proceedings international conference on cellular automata for research and industry (ACRI), pp 388–397
Palchaudhuri A, Amresh AA, Dhar AS (2017) Efficient automated implementation of testable cellular automata based pseudorandom generator circuits on FPGAs. J Cell Autom 12(3-4):217– 247
Petrica L (2018) FPGA optimized cellular automaton random number generator. J Parall Distrib Comput 111:251–259
Halbach M, Hoffmann R, Röder P (2004) FPGA implementation of cellular automata compared to software implementation. In: Proceedings Architektur von Rechensystemen (ARCS) workshops, pp 309–317
Modi H, Athanas P (2015) In-system testing of xilinx 7-series FPGAs: part 1-logic. In: Proceedings Ieee international conference for military communications (MILCOM), pp 477–482
Palchaudhuri A, Dhar AS (2019) Fault localization and testability approaches for FPGA fabric aware canonic signed digit recoding implementations. J Electron Test 35(6):779–796
Chaudhuri PP, Chowdhury DR, Nandi S, Chattopadhyay S (1997) Additive cellular automata theory and its application. IEEE Computer Society Press
Jeon J-C, Yoo K-Y (2008) Montgomery exponent architecture based on programmable cellular automata. Math Comput Simul 79(4):1189–1196
Kokolakis I, Andreadis I, Tsalides P (1999) Programmable cellular automata. J Circ Syst Comput 9(5&6):255–260
Kumm M, Möller K, Zipf P (2013) Reconfigurable FIR filter using distributed arithmetic on FPGAs. In: Proceedings ieee international symposium on circuits and systems (ISCAS), pp 2058–2061
Sasdrich P, Moradi A, Mischke O, Güneysu T (2015) Achieving side-channel protection with dynamic logic reconfiguration on modern FPGAs. In: Proceedings ieee international symposium on hardware oriented security and trust (HOST), pp 130– 136
Nazar GL, Carro L (2012) Fast error detection through efficient use of hardwired resources in FPGAs. In: Proceedings 17th ieee european test symposium (ETS), pp 1–6
Palchaudhuri A, Dhar AS (2017) Built-in fault localization circuitry for high performance FPGA based implementations. J Electron Test 33(4):529–537
Ullah A, Sterpone L (2014) Recovery time and fault tolerance improvement for circuits mapped on SRAM-based FPGAs. J Electron Test 30(4):425–442
Palchaudhuri A, Dhar AS (2018) High speed fpga fabric aware CSD recoding with run-time support for fault localization. In: Proceedings 31st international conference on VLSI design (VLSID), pp 186–191
Naouss M, Marc F (2016) Modelling delay degradation due to NBTI in FPGA look-up tables. In: Proceedings 26th international conference on field programmable logic and applications (FPL), pp 1–4
Rao PMB, Amouri A, Kiamehr S, Tahoori MB (2013) Altering LUT configuration for wear-out mitigation of FPGA-mapped designs. In: Proceedings 23rd international conference on field programmable logic and applications (FPL), pp 1–8
Lala PK, Burress AL (2003) Self-checking logic design for FPGA implementation. IEEE Trans Instrum Meas 52(5):1391– 1398
Tiwari A, Tomk KA (2003) Scan-chain based watch-points for efficient run-time debugging and verification of FPGA designs. In: Proceedings Asia and South Pacific design automation conference (ASP-DAC), pp 705–711
Palchaudhuri A, Dhar AS (2016) Efficient implementation of scan register insertion on integer arithmetic cores for FPGAs. In: Proceedings 29th international conference on VLSI design (VLSID), pp 433–438
Gupte A, Vyas S, Jones PH (2015) A fault-aware toolchain approach for FPGA fault tolerance. ACM Trans Design Autom Elect Syst 20(2):32:1-32:22
Wu C-F, Wu C-W (2000) Testing and diagnosing dynamic reconfigurable FPGA. VLSI Design 10(3):321–333
Bauer L, Braun C, Imhof ME, Kochte MA, Schneider E, Zhang H, Henkel J, Wunderlich H-J (2013) Test strategies for reliable runtime reconfigurable architectures. IEEE Trans Comput 62 (8):1494–1507
Devlin BS, Camarota RC, Xilinx Inc (2017) United States patent application publication, circuit for and method of implementing a scan chain in programmable resources of an integrated circuit
Wheeler T, Graham P, Nelson B, Hutchings B (2001) Using design-level scan to improve FPGA design observability and controllability for functional verification. In: Proceedings field programmable logic and applications (FPL), pp 483–492
Xilinx Inc 7 Series FPGAs Configurable Logic Block, User Guide, UG474 (v1.7). https://www.xilinx.com/support/documentation/user_guides/ug474_7Series_CLB.pdf. Accessed 14 January 2020
Xilinx Inc Xilinx 7 Series FPGA Libraries Guide for HDL Designs UG768 (v13.3). https://www.xilinx.com/support/documentation/sw_manuals/xilinx14_1/7series_hdl.pdf. Accessed 12 May 2020
Ehliar A (2010) Optimizing Xilinx designs through primitive instantiation. In: Proceedings of the 7th FPGA world conference, pp 20–27
Jabbari H, Muzio JC, Sun L (2007) A new class of cellular automata. In: Proceedings 10th Euromicro conference on digital system design architectures, methods and tools (DSD), pp 331–338
Bushnell ML, Agrawal VD (2000) Essentials of electronic testing for digital, memory and mixed-signal VLSI circuits. Kluwer Academic Publishers
Reorda MS, Sterpone L, Ullah A (2013) An error-detection and self-repairing method for dynamically and partially reconfigurable systems. In: Proceedings 18th ieee european test symposium (ETS), pp 1–7
Palchaudhuri A, Dhar AS (2017) Redundant arithmetic based high speed carry free hybrid adders with built-in scan chain on FPGAs. In: Proceedings 24th ieee international conference on high performance computing (HiPC), pp 104–113
Palchaudhuri A, Dhar AS (2019) FPGA fabric conscious design and implementation of speed-area efficient signed digit add-subtract logic through primitive instantiation. In: Proceedings 53rd asilomar conference on signals, systems, and computers, pp 1555–1559
Palchaudhuri A, Dhar AS (2019) Design and automation of VLSI architectures for bidirectional scan based fault localization approach in FPGA fabric aware cellular automata topologies. J Parall Distrib Comput 130:110–125
Palchaudhuri A, Dhar AS (2018) Fast carry chain based architectures for two’s complement to CSD recoding on FPGAs. In: Proceedings 14th international symposium on applied reconfigurable computing (ARC), pp 537–550
Sengar G, Mukhopadhyay D, Chowdhury DR (2007) Secured flipped Scan-Chain model for crypto- architecture. IEEE Trans Comput Aided Design Integ Circ Syst 26(11):2080–2084
Navabi Z (2011) Digital system test and testable design using HDL models and architectures. Springer, US
Palchaudhuri A, Dhar AS (2018) Redundant binary to two’s complement converter on FPGAs through fabric aware scan based encoding approach for fault localization support. In: Proceedings IEEE international parallel and distributed processing symposium (IPDPS) workshops, pp 218–221
Xilinx Inc Vivado Design Suite User Guide Dynamic Function eXchange. https://www.xilinx.com/support/documentation/sw_manuals/xilinx2019_2/ug909-vivado-partial-reconfiguration.pdf . Accessed 12 May 2020
Author information
Authors and Affiliations
Corresponding author
Additional information
Responsible Editor: C.-W. Wu
Publisher’s Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Palchaudhuri, A., Dhar, A.S. Testable Architecture Design for Programmable Cellular Automata on FPGA Using Run-Time Dynamically Reconfigurable Look-Up Tables. J Electron Test 36, 519–536 (2020). https://doi.org/10.1007/s10836-020-05894-1
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10836-020-05894-1