AGARSoC: Automated test and coverage-model generation for verification of accelerator-rich SoCs

SoC design trends show increasing integration of special-purpose, third-party hardware blocks to accelerate diverse types of computation. These accelerator blocks interact with each other in unexpected ways when integrated into a complex, accelerator-rich SoC. In this work we propose a novel solution that guides verification engineers to the high-priority accelerator interaction scenarios during RTL verification. We observe that interaction scenarios frequently exercised by software for the SoC, which is typically developed alongside the RTL, should be the highest priority targets for verification. To this end we analyze the behavior of software executed on high-level simulation models to identify commonly occurring accelerator interaction scenarios. We encapsulate scenarios observed from diverse software executions into an abstract representation that can then be used to extract coverage models and generate test programs. Our experiments show that our solution is able to identify frequently exercised scenarios, extract coverage models, and generate compact, high-quality tests for two completely different SoC designs.

[1]  Greg Hamerly,et al.  SimPoint 3.0: Faster and More Flexible Program Analysis , 2005 .

[2]  Brian Bailey,et al.  ESL Models and their Application: Electronic System Level Design and Verification in Practice , 2009 .

[3]  Giovanni De Micheli,et al.  Readings in hardware / software co-design , 2001 .

[4]  Eman El Mandouh,et al.  Covgen: A framework for automatic extraction of functional coverage models , 2016, 2016 17th International Symposium on Quality Electronic Design (ISQED).

[5]  Masahiro Fujita,et al.  Verification Techniques for System-Level Design , 2007, The Morgan Kaufmann series in systems on silicon.

[6]  Kerstin Eder,et al.  Coverage-Directed Test Generation Automated by Machine Learning -- A Review , 2012, ACM Trans. Design Autom. Electr. Syst..

[7]  Lizy Kurian John,et al.  Automatic Generation of Miniaturized Synthetic Proxies for Target Applications to Efficiently Design Multicore Processors , 2014, IEEE Transactions on Computers.

[8]  Jason Cong,et al.  Accelerator-rich architectures: Opportunities and progresses , 2014, 2014 51st ACM/EDAC/IEEE Design Automation Conference (DAC).

[9]  Alain Greiner,et al.  An Efficient TLM/T Modeling and Simulation Environment Based on Conservative Parallel Discrete Event Principles , 2006, Proceedings of the Design Automation & Test in Europe Conference.

[10]  Brad Calder,et al.  SimPoint 3.0: Faster and More Flexible Program Phase Analysis , 2005, J. Instr. Level Parallelism.

[11]  Brian Bailey,et al.  ESL Design and Verification: A Prescription for Electronic System Level Methodology , 2007 .

[12]  Toshihiro Hattori,et al.  4.4 A 197mW 70ms-latency full-HD 12-channel video-processing SoC for car information systems , 2016, 2016 IEEE International Solid-State Circuits Conference (ISSCC).

[13]  Gu-Yeon Wei,et al.  Aladdin: A pre-RTL, power-performance accelerator simulator enabling large design space exploration of customized architectures , 2014, 2014 ACM/IEEE 41st International Symposium on Computer Architecture (ISCA).