Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3240765.3240852guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
research-article

Steep Coverage-Ascent Directed Test Generation for Shared-Memory Verification of Multicore Chips

Published: 05 November 2018 Publication History

Abstract

This paper proposes a framework for functional verification of shared memory that relies on reusable coverage-driven directed test generation. It reveals a new mechanism to improve the quality of non-deterministic tests. The generator exploits general properties of coherence protocols and cache memories for better control on transition coverage, which serves as a proxy for increasing the actual coverage metric adopted in a given verification environment. Being independent of coverage metric, coherence protocol, and cache parameters, the proposed generator is reusable across quite different designs and verification environments. We report the coverage for 8, 16, and 32-core designs and the effort required for exposing nine different types of errors. The proposed technique was always able to reach similar coverage as a state-of-the-art generator, and it always did it faster above a certain threshold. For instance, when executing tests with 1K operations for verifying 32-core designs, the former reached 65% coverage around 5 times faster than the latter. Besides, we identified challenging errors that could hardly be found by the latter within one hour, but were exposed by our technique in 5 to 30 minutes.

References

[1]
A. Adir, E. Almog, L. Fournier, E. Marcus, M. Rimon, M. Vinov, and A. Ziv. 2004. Genesys-Pro: innovations in test program generation for functional processor verification. IEEE Design Test of Computers 21, 2 (Mar 2004), 84–93.
[2]
Nathan Binkert et al. 2011. The Gem5 Simulator. SIGARCH Comput. Archit. News 39, 2 (Aug 2011), 1–7.
[3]
Srinivas Devadas. 2013. Toward a Coherent Multicore Memory Model. Computer 10 (2013), 30–31.
[4]
Marco Elver. 2016. McVerSi Framework. https://github.com/melver/mc2lib. (2016).
[5]
M. Elver and V. Nagarajan. 2016. McVerSi: A test generation framework for fast memory consistency verification in simulation. In IEEE Int. Symp. on High Performance Computer Architecture (HPCA). 618–630.
[6]
Shai Fine and Avi Ziv. 2003. Coverage Directed Test Generation for Functional Verification Using Bayesian Networks. In Proceedings of the 40th Annual Design Automation Conference (DAC '03). ACM, New York, NY, USA, 286–291.
[7]
Leandro S. Freitas, Eberle A. Rambo, and Luiz C.V. dos Santos. 2013. On-the-fly Verification of Memory Consistency with Concurrent Relaxed Scoreboards. In Design, Automation, and Test in Europe (DATE). 631–636.
[8]
Kourosh Gharachorlpp. 1995. Memory consistency models for shared-memory multiprocessors. Ph.D. Dissertation. Stanford University.
[9]
Chaiyasit Manovit and Sudheendra Hangal. 2006. Completely verifying memory consistency of test program executions. In IEEE Int. Symposium on High-Performance Computer Architecture (HPCA). 166–175.
[10]
Milo MK Martin, Mark D Hill, and Daniel J Sorin. 2012. Why on-chip cache coherence is here to stay. Commun. ACM 55, 7 (June 2012), 78–89.
[11]
X. Qin and P. Mishra. 2012. Automated generation of directed tests for transition coverage in cache coherence protocols. In Design, Automation, and Test in Europe (DATE). 3–8.
[12]
Ofer Shacham, Megan Wachs, Alex Solomatnikov, Amin Firoozshahian, Stephen Richardson, and Mark Horowitz. 2008. Verification of Chip Multiprocessor Memory Systems Using a Relaxed Scoreboard. In IEEE/ACM International Symposium on Microarchitecture (MICRO 41). 294–305.
[13]
Ilya Wagner and Valeria Bertacco. 2008. MCjammer: Adaptive Verification for Multi-core Designs. In Design, Automation, and Test in Europe (DATE). 670–675.
[14]
M. Zhang, J.D. Bingham, J. Erickson, and D.J. Sorin. 2015. PVCoherence: Designing Flat Coherence Protocols for Scalable Verification. IEEE Micro 35, 3 (May 2015), 84–91.

Cited By

View all
  • (2024)Advanced Verification Strategies for Memory Block Integration in Processor Design2024 8th International Conference on Computational System and Information Technology for Sustainable Solutions (CSITSS)10.1109/CSITSS64042.2024.10817023(1-5)Online publication date: 7-Nov-2024
  • (2023)EveCheck: An Event-Driven, Scalable Algorithm for Coherent Shared Memory VerificationIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2022.317805142:2(683-696)Online publication date: Feb-2023
  • (2020)A Directed Test Generator for Shared-Memory Verification of Multicore Chip DesignsIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2020.2974343(1-1)Online publication date: 2020

Index Terms

  1. Steep Coverage-Ascent Directed Test Generation for Shared-Memory Verification of Multicore Chips
                Index terms have been assigned to the content through auto-classification.

                Recommendations

                Comments

                Please enable JavaScript to view thecomments powered by Disqus.

                Information & Contributors

                Information

                Published In

                cover image Guide Proceedings
                2018 IEEE/ACM International Conference on Computer-Aided Design (ICCAD)
                Nov 2018
                939 pages

                Publisher

                IEEE Press

                Publication History

                Published: 05 November 2018

                Permissions

                Request permissions for this article.

                Qualifiers

                • Research-article

                Contributors

                Other Metrics

                Bibliometrics & Citations

                Bibliometrics

                Article Metrics

                • Downloads (Last 12 months)0
                • Downloads (Last 6 weeks)0
                Reflects downloads up to 05 Mar 2025

                Other Metrics

                Citations

                Cited By

                View all
                • (2024)Advanced Verification Strategies for Memory Block Integration in Processor Design2024 8th International Conference on Computational System and Information Technology for Sustainable Solutions (CSITSS)10.1109/CSITSS64042.2024.10817023(1-5)Online publication date: 7-Nov-2024
                • (2023)EveCheck: An Event-Driven, Scalable Algorithm for Coherent Shared Memory VerificationIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2022.317805142:2(683-696)Online publication date: Feb-2023
                • (2020)A Directed Test Generator for Shared-Memory Verification of Multicore Chip DesignsIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2020.2974343(1-1)Online publication date: 2020

                View Options

                View options

                Figures

                Tables

                Media

                Share

                Share

                Share this Publication link

                Share on social media