Verification of Coarse-Grained Reconfigurable Arrays through Random Test Programs

Published in Proceedings of the ACM SIGPLAN/SIGBED Conference on Language, Compilers, and Tools for Embedded Systesm (LCTES), 2018

Recommended citation: Bernhard Egger, Eunjin Song, Hochan Lee, and Daeyong Shin. (2018). "Verification of Coarse-Grained Reconfigurable Arrays through Random Test Programs." Proceedings of the 2018 ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES), June 2018.

Download paper here

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.