Skip to main content
Log in

Testable Architecture Design for Programmable Cellular Automata on FPGA Using Run-Time Dynamically Reconfigurable Look-Up Tables

  • Published:
Journal of Electronic Testing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12

Similar content being viewed by others

References

  1. 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

  2. Sirakoulis GCH (2018) Cellular automata hardware implementation. In: Meyers RA (ed) Encyclopedia of complexity and systems science. Springer, Berlin, pp 1–29

  3. 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

  4. 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

    MathSciNet  Google Scholar 

  5. Petrica L (2018) FPGA optimized cellular automaton random number generator. J Parall Distrib Comput 111:251–259

    Article  Google Scholar 

  6. 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

  7. 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

  8. 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

    Article  Google Scholar 

  9. Chaudhuri PP, Chowdhury DR, Nandi S, Chattopadhyay S (1997) Additive cellular automata theory and its application. IEEE Computer Society Press

  10. Jeon J-C, Yoo K-Y (2008) Montgomery exponent architecture based on programmable cellular automata. Math Comput Simul 79(4):1189–1196

    Article  MathSciNet  Google Scholar 

  11. Kokolakis I, Andreadis I, Tsalides P (1999) Programmable cellular automata. J Circ Syst Comput 9(5&6):255–260

    Article  Google Scholar 

  12. 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

  13. 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

  14. 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

  15. Palchaudhuri A, Dhar AS (2017) Built-in fault localization circuitry for high performance FPGA based implementations. J Electron Test 33(4):529–537

    Article  Google Scholar 

  16. 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

    Article  Google Scholar 

  17. 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

  18. 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

  19. 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

  20. Lala PK, Burress AL (2003) Self-checking logic design for FPGA implementation. IEEE Trans Instrum Meas 52(5):1391– 1398

    Article  Google Scholar 

  21. 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

  22. 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

  23. 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

    Google Scholar 

  24. Wu C-F, Wu C-W (2000) Testing and diagnosing dynamic reconfigurable FPGA. VLSI Design 10(3):321–333

    Article  MathSciNet  Google Scholar 

  25. 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

    Article  MathSciNet  Google Scholar 

  26. 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

  27. 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

  28. 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

  29. 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

  30. Ehliar A (2010) Optimizing Xilinx designs through primitive instantiation. In: Proceedings of the 7th FPGA world conference, pp 20–27

  31. 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

  32. Bushnell ML, Agrawal VD (2000) Essentials of electronic testing for digital, memory and mixed-signal VLSI circuits. Kluwer Academic Publishers

  33. 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

  34. 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

  35. 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

  36. 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

    Article  Google Scholar 

  37. 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

  38. 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

    Article  Google Scholar 

  39. Navabi Z (2011) Digital system test and testable design using HDL models and architectures. Springer, US

    Book  Google Scholar 

  40. 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

  41. 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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ayan Palchaudhuri.

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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10836-020-05894-1

Keywords

Navigation