Verification of coarse-grained reconfigurable arrays through random test programs

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.

[1]  Monica S. Lam,et al.  RETROSPECTIVE : Software Pipelining : An Effective Scheduling Technique for VLIW Machines , 1998 .

[2]  B. Ramakrishna Rau,et al.  Iterative modulo scheduling: an algorithm for software pipelining loops , 1994, MICRO 27.

[3]  Rudy Lauwereins,et al.  DRESC: a retargetable compiler for coarse-grained reconfigurable architectures , 2002, 2002 IEEE International Conference on Field-Programmable Technology, 2002. (FPT). Proceedings..

[4]  Avi Ziv,et al.  Using a constraint satisfaction formulation and solution techniques for random test program generation , 2002, IBM Syst. J..

[5]  Giovanni Squillero,et al.  Fully automatic test program generation for microprocessor cores , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[6]  Allon Adir,et al.  Genesys-Pro: innovations in test program generation for functional processor verification , 2004, IEEE Design & Test of Computers.

[7]  Jos Huisken,et al.  A scalable implementation of a reconfigurable WCDMA RAKE receiver , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[8]  Nikil D. Dutt,et al.  Functional coverage driven test generation for validation of pipelined processors , 2005, Design, Automation and Test in Europe.

[9]  Yishay Mansour,et al.  Harnessing Machine Learning to Improve the Success Rate of Stimuli Generation , 2005, IEEE Transactions on Computers.

[10]  Julio A. de Oliveira Filho,et al.  Efficient Mapping and Functional Verification of Parallel Algorithms on a MultiüContext Reconfigurable Architecture , 2007 .

[11]  Bjorn De Sutter,et al.  Implementation of a Coarse-Grained Reconfigurable Media Processor for AVC Decoder , 2008, J. Signal Process. Syst..

[12]  Prabhat Mishra,et al.  Specification-based compaction of directed tests for functional validation of pipelined processors , 2008, CODES+ISSS '08.

[13]  Nikil D. Dutt,et al.  Specification-driven directed test generation for validation of pipelined processors , 2008, TODE.

[14]  Scott A. Mahlke,et al.  Edge-centric modulo scheduling for coarse-grained reconfigurable architectures , 2008, 2008 International Conference on Parallel Architectures and Compilation Techniques (PACT).

[15]  Nicola Nicolici,et al.  Automated Trace Signals Identification and State Restoration for Improving Observability in Post-Silicon Validation , 2008, 2008 Design, Automation and Test in Europe.

[16]  Julio A. de Oliveira Filho,et al.  CGADL: An Architecture Description Language for Coarse-Grained Reconfigurable Arrays , 2009, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[17]  Scott A. Mahlke,et al.  CGRA express: accelerating execution using dynamic operation fusion , 2009, CASES '09.

[18]  Qiang Xu,et al.  Trace signal selection for visibility enhancement in post-silicon validation , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[19]  Sandip Ray,et al.  Connecting pre-silicon and post-silicon verification , 2009, 2009 Formal Methods in Computer-Aided Design.

[20]  Scott A. Mahlke,et al.  Recurrence cycle aware modulo scheduling for coarse-grained reconfigurable architectures , 2009, LCTES '09.

[21]  Allon Adir,et al.  Reaching Coverage Closure in Post-silicon Validation , 2010, Haifa Verification Conference.

[22]  Alexander S. Kamkin,et al.  Reconfigurable Model-Based Test Program Generator for Microprocessors , 2011, 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops.

[23]  Mihalis Psarakis,et al.  Accelerating microprocessor silicon validation by exposing ISA diversity , 2011, 2011 44th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[24]  Allon Adir,et al.  A unified methodology for pre-silicon verification and post-silicon validation , 2011, 2011 Design, Automation & Test in Europe.

[25]  Giovanni Squillero,et al.  Automatic Generation of Software-based Functional Failing Test for Speed Debug and On-silicon Timing Verification , 2011, 2011 12th International Workshop on Microprocessor Test and Verification.

[26]  Miroslav N. Velev,et al.  Exploiting Abstraction for Efficient Formal Verification of DSPs with Arrays of Reconfigurable Functional Units , 2011, ICFEM.

[27]  Franco Fummi,et al.  Efficient Generation of Stimuli for Functional Verification by Backjumping Across Extended FSMs , 2011, J. Electron. Test..

[28]  J. Kim,et al.  Case Study: Verification Framework of Samsung Reconfigurable Processor , 2012, 2012 13th International Workshop on Microprocessor Test and Verification (MTV).

[29]  Mario Konijnenburg,et al.  ULP-SRP: Ultra low power Samsung Reconfigurable Processor for biomedical applications , 2012, 2012 International Conference on Field-Programmable Technology.

[30]  Soojung Ryu,et al.  Design space exploration and implementation of a high performance and low area Coarse Grained Reconfigurable Processor , 2012, 2012 International Conference on Field-Programmable Technology.

[31]  J. D. Lee,et al.  SGRT: a scalable mobile GPU architecture based on ray tracing , 2012, SIGGRAPH Talks.

[32]  Youngsam Shin,et al.  Real-time ray tracing on coarse-grained reconfigurable processor , 2013, 2013 International Conference on Field-Programmable Technology (FPT).

[33]  Prabhat Mishra,et al.  Scalable Test Generation by Interleaving Concrete and Symbolic Execution , 2014, 2014 27th International Conference on VLSI Design and 2014 13th International Conference on Embedded Systems.