skip to main content

Verification of coarse-grained reconfigurable arrays through random test programs

Published:19 June 2018Publication History
Skip Abstract Section

Abstract

We propose and evaluate a framework to test the functional correctness of coarse-grained reconfigurable array (CGRA) processors for pre-silicon verification and post-silicon validation. To reflect the reconfigurable nature of CGRAs, an architectural model of the system under test is built directly from the hardware description files. A guided place-and-routing algorithm is used to map operations and operands onto the heterogeneous processing elements (PE). Test coverage is maximized by favoring unexercised parts of the architecture. Requiring no explicit knowledge about the semantics of operations, the random test program generator (RTPG) framework seamlessly supports custom ISA extensions.

The proposed framework is applied to the Samsung Reconfigurable Processor, a modulo-scheduled CGRA integrated in smartphones, cameras, printers, and smart TVs. Experiments demonstrate that the RTPG is versatile, efficient, and quickly achieves a high coverage. In addition to detecting all randomly inserted faults, the generated test programs also exposed two yet unknown actual faults in the architecture.

References

  1. Allon Adir, Eli Almog, Laurent Fournier, Eitan Marcus, Michal Rimon, Michael Vinov, and Avi Ziv. 2004. Genesys-Pro: Innovations in Test Program Generation for Functional Processor Verification. IEEE Des. Test 21, 2 (March 2004), 84–93. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Allon Adir, Shady Copty, Shimon Landa, Amir Nahir, Gil Shurek, Avi Ziv, Charles Meissner, and John Schumann. 2011. A unified methodology for pre-silicon verification and post-silicon validation. In Proceedings of the Conference on Design, Automation and Test in Europe (DATE ’11). 1–6.Google ScholarGoogle ScholarCross RefCross Ref
  3. Allon Adir, Amir Nahir, Avi Ziv, Charles Meissner, and John Schumann. 2011. Reaching Coverage Closure in Post-silicon Validation. In Hardware and Software: Verification and Testing, Sharon Barner, Ian Harris, Daniel Kroening, and Orna Raz (Eds.). Lecture Notes in Computer Science, Vol. 6504. Springer Berlin Heidelberg, 60–75. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Eyal Bin, Roy Emek, Gil Shurek, and Avi Ziv. 2002. Using a constraint satisfaction formulation and solution techniques for random test program generation. IBM Systems Journal 41, 3 (July 2002), 386–402. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Youngchul Cho, Seonghun Jeong, J. Jeong, H. Shim, Yenjo Han, Soojung Ryu, and Jeongwook Kim. 2012. Case Study: Verification Framework of Samsung Reconfigurable Processor. In 13th International Workshop on Microprocessor Test and Verification (MTV), 2012. 19–23. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Edmund M. Clarke, Orna Grumberg, and Doron A. Peled. 1999. Model Checking. The MIT Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Fulvio Corno, Gianluca Cumani, Matteo Sonza Reorda, and Giovanni Squillero. 2003. Fully Automatic Test Program Generation for Microprocessor Cores. In Proceedings of the Conference on Design, Automation and Test in Europe (DATE ’03). IEEE Computer Society, Washington, DC, USA, 11006–. http://dl.acm.org/citation.cfm?id=789083.1022854 Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Julio Oliveira Filho, Stephan Masekowsky, Thomas Schweizer, and Wolfgang Rosenstiel. 2009. CGADL: An Architecture Description Language for Coarse-Grained Reconfigurable Arrays. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 17, 9 (2009), 1247–1259. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Shai Fine, A. Freund, I. Jaeger, Y. Mansour, Yehuda Naveh, and A. Ziv. 2006. Harnessing Machine Learning to Improve the Success Rate of Stimuli Generation. IEEE Trans. Comput. 55, 11 (2006), 1344–1355. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Nikos Foutris, Dimitris Gizopoulos, Mihalis Psarakis, Xavier Vera, and Antonio Gonzalez. 2011. Accelerating microprocessor silicon validation by exposing ISA diversity. In Proceedings of the 44th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO 44). 386–397. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Giuseppe Di Guglielmo, Luigi Di Guglielmo, Franco Fummi, and Graziano Pravadelli. 2011. Efficient Generation of Stimuli for Functional Verification by Backjumping Across Extended FSMs. J. Electron. Test. 27, 2 (April 2011), 137–162. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Alexander Kamkin, Eugene Kornykhin, and Dmitry Vorobyev. 2011. Reconfigurable Model-Based Test Program Generator for Microprocessors. In IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops (ICSTW), 2011. 47–54. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Changmoo Kim, Mookyoung Chung, Yeongon Cho, Mario Konijnenburg, Soojung Ryu, and Jeongwook Kim. 2012. ULP-SRP: Ultra low power Samsung Reconfigurable Processor for biomedical applications. In Field-Programmable Technology (FPT), 2012 International Conference on. IEEE, 329–334.Google ScholarGoogle ScholarCross RefCross Ref
  14. Ho Fai Ko and Nicola Nicolici. 2008. Automated Trace Signals Identification and State Restoration for Improving Observability in PostSilicon Validation. In Proceedings of the Conference on Design, Automation and Test in Europe (DATE ’08). 1298–1303. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Heon-Mo Koo and Prabhat Mishra. 2008. Specification-based compaction of directed tests for functional validation of pipelined processors. In Proceedings of the 6th IEEE/ACM/IFIP international conference on Hardware/Software codesign and system synthesis (CODES+ISSS ’08). 137–142. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Monica Lam. 1988. Software Pipelining: An Effective Scheduling Technique for VLIW Machines. In Proceedings of the ACM SIGPLAN 1988 Conference on Programming Language Design and Implementation (PLDI ’88). ACM, New York, NY, USA, 318–328. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Jaedon Lee, Youngsam Shin, Won-Jong Lee, Soojung Ryu, and Kim Jeongwook. 2013. Real-time ray tracing on coarse-grained reconfigurable processor. In International Conference on Field-Programmable Technology (FPT). 192–197.Google ScholarGoogle ScholarCross RefCross Ref
  18. Won-Jong Lee, Shi-Hwa Lee, Jae-Ho Nah, Jin-Woo Kim, Youngsam Shin, Jaedon Lee, and Seok-Yoon Jung. 2012. SGRT: a scalable mobile GPU architecture based on ray tracing. In ACM SIGGRAPH 2012 Posters. ACM, 44. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Xiao Liu and Qiang Xu. 2009. Trace signal selection for visibility enhancement in post-silicon validation. In Proceedings of the Conference on Design, Automation and Test in Europe (DATE ’09). European Design and Automation Association, Leuven, Belgium, 1338–1343. http://dl. acm.org/citation.cfm?id=1874620.1874942 Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. B. Mei, B. Sutter, T. Aa, M. Wouters, A. Kanstein, and S. Dupont. 2008. Implementation of a Coarse-Grained Reconfigurable Media Processor for AVC Decoder. Journal of Signal Processing Systems 51, 3 (2008), 225–243. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Bingfeng Mei, Serge Vernalde, Diederik Verkest, Hugo Man, and Rudy Lauwereins. 2003. Field Programmable Logic and Application: 13th International Conference, FPL 2003, Lisbon, Portugal, September 1-3, 2003 Proceedings. Springer Berlin Heidelberg, Berlin, Heidelberg, Chapter ADRES: An Architecture with Tightly Coupled VLIW Processor and Coarse-Grained Reconfigurable Matrix, 61–70.Google ScholarGoogle Scholar
  22. Bingfeng Mei, Serge Vernalde, Diedrik Verkest, Hugo De Man, and Rudy Lauwereins. 2002. DRESC: a retargetable compiler for coarsegrained reconfigurable architectures. In 2002 IEEE International Conference on Field-Programmable Technology, 2002. (FPT). Proceedings. 166–173.Google ScholarGoogle Scholar
  23. Prabhat Mishra and Nikil Dutt. 2005. Functional Coverage Driven Test Generation for Validation of Pipelined Processors. In Proceedings of the Conference on Design, Automation and Test in Europe (DATE ’05). IEEE Computer Society, Washington, DC, USA, 678–683. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Prabhat Mishra and Nikil Dutt. 2008. Specification-driven directed test generation for validation of pipelined processors. ACM Transactions on Design Automation of Electronic Systems 13, 3, Article 42 (July 2008), 36 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Taewook Oh, Bernhard Egger, Hyunchul Park, and Scott Mahlke. 2009. Recurrence Cycle Aware Modulo Scheduling for Coarse-grained Reconfigurable Architectures. In Proceedings of the 2009 ACM SIG-PLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES ’09). ACM, New York, NY, USA, 21–30. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Hyunchul Park, Kevin Fan, Scott A. Mahlke, Taewook Oh, Heeseok Kim, and Hong-seok Kim. 2008. Edge-centric modulo scheduling for coarse-grained reconfigurable architectures. In Proceedings of the 17th international conference on Parallel architectures and compilation techniques (PACT ’08). ACM, New York, NY, USA, 166–176. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Yongjun Park, Hyunchul Park, and Scott Mahlke. 2009. CGRA Express: Accelerating Execution Using Dynamic Operation Fusion. In Proceedings of the 2009 International Conference on Compilers, Architecture, and Synthesis for Embedded Systems (CASES ’09). ACM, New York, NY, USA, 271–280. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Xiaoke Qin and Prabhat Mishra. 2014. Scalable Test Generation by Interleaving Concrete and Symbolic Execution. In Proceedings of the 27th International Conference on VLSI Design (VLSID ’14). IEEE Computer Society, Washington, DC, USA, 104–109. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Marc Quax, Jos Huisken, and Jef van Meerbergen. 2004. A Scalable Implementation of a Reconfigurable WCDMA Rake Receiver. In Proceedings of the Conference on Design, Automation and Test in Europe (DATE ’04). IEEE Computer Society, Washington, DC, USA, 30230–. http://dl.acm.org/citation.cfm?id=968880.969243 Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. B. Ramakrishna Rau. 1994. Iterative Modulo Scheduling: An Algorithm for Software Pipelining Loops. In Proceedings of the 27th Annual International Symposium on Microarchitecture (MICRO 27). ACM, New York, NY, USA, 63–74. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Sandy Ray and Warren A. Hunt. 2009. Connecting pre-silicon and post-silicon verification. In Formal Methods in Computer-Aided Design (FMCAD). 160–163.Google ScholarGoogle Scholar
  32. Markus Rullmann, Sebastian Siegel, Renate Merker, Julio A. Oliveira Filho, Thomas Schweizer, Tobias Oppold, and Wolfgang; Rosenstiel. 2007. Efficient Mapping and Functional Verification of Parallel Algorithms on a MultiüContext Reconfigurable Architecture. In 20th International Conference on Architecture of Computing Systems (ARCS).Google ScholarGoogle Scholar
  33. Ernesto Sanchez, Giovanni Squillero, and Alberto Tonda. 2011. Automatic Generation of Software-based Functional Failing Test for Speed Debug and On-silicon Timing Verification. In 12th International Workshop on Microprocessor Test and Verification (MTV). Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Dongkwan Suh, Kiseok Kwon, Sukjin Kim, Soojung Ryu, and Jeongwook Kim. 2012. Design space exploration and implementation of a high performance and low area Coarse Grained Reconfigurable Processor. In International Conference on Field-Programmable Technology (FPT). 67–70.Google ScholarGoogle ScholarCross RefCross Ref
  35. Miroslav N. Velev and Ping Gao. 2011. Exploiting Abstraction for Efficient Formal Verification of DSPs with Arrays of Reconfigurable Functional Units. In Formal Methods and Software Engineering, Shengchao Qin and Zongyan Qiu (Eds.). Lecture Notes in Computer Science, Vol. 6991. Springer Berlin Heidelberg, 307–322. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Verification of coarse-grained reconfigurable arrays through random test programs

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!