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

skip to main content
10.1145/2380445.2380481acmconferencesArticle/Chapter ViewAbstractPublication PagesesweekConference Proceedingsconference-collections
research-article

Using static analysis for coverage extraction fromemulation/prototyping platforms

Published: 07 October 2012 Publication History

Abstract

Full-system emulation and prototyping is now being used widely in the industry for System-on-Chip (SoC) verification. Emulation/ prototyping platforms run tests in a fraction of time compared to the traditional simulation based verification. However, unlike simulation, they do not provide visibility into the hardware design source code. As a result, they fail to provide any information about code coverage achieved, which is an important metric to measure the completeness of the verification process.
In this paper, we present a novel technique to extract code coverage from emulation/prototyping platforms. Through analysis of the source code for the hardware design, we relate the evaluation of branch conditions to other statements in the code. Evaluation of the branch conditions is recorded using additional logic during emulation, and mapped back to the code to obtain coverage information. We apply our technique to an industrial system, and show that it can efficiently provide code coverage statistics that are faithful to the coverage obtained from simulation. We also perform experiments on the publicly available OpenRISC processor and demonstrate similar results.

References

[1]
Adrian Evans et al. Functional verification of large ASICs. In Proc. DAC '98, pages 650--655.
[2]
James Gateley et al. UltraSPARC-I emulation. In Proc. DAC '95, pages 13--18, 1995.
[3]
Gopi Ganapathy et al. Hardware emulation for functional verification of K5. In Proc. DAC '96, pages 315--318.
[4]
M. Gschwind, V. Salapura, and D. Maurer. FPGA prototyping of a RISC processor core for embedded applications. IEEE Trans. Very Large Scale Integr. Syst., pages 241--250, April 2001.
[5]
Joydeep Ray and James C. Hoe. High-level modeling and FPGA prototyping of microprocessors. In Proc. FPGA'03, pages 100--107.
[6]
Serdar Tasiran and Kurt Keutzer. Coverage metrics for functional validation of hardware designs. IEEE Design and Test of Computers, pages 36--45, 2001.
[7]
Jing yang Jou and Chien nan Jimmy Liu. Coverage analysis techniques for HDL design validation. In Proc. APCHDL '99, pages 48--55.
[8]
Edmund M. Clarke et al. Program slicing for VHDL. Int. J. Softw. Tools Technol. Transf., 4(1):125--137, 2002.
[9]
Shobha Vasudevan, E. Allen Emerson, and Jacob A. Abraham. Improved verification of hardware designs through antecedent conditioned slicing. Int. J. Softw. Tools Technol. Transf., pages 89--101, February 2007.
[10]
Openrisc 1200. http://opencores.org/openrisc,or1200.
[11]
Xilinx FPGAs. http://www.xilinx.com/products/silicon-devices/fpga/index.htm.
[12]
Steven T. Hurlock, Stephen Kun, Robert A. Johnson, Jeremy S. Nichols, and Arthur J. Nilson. Code coverage testing in hardware emulation. U.S. Patent 7502728, March 2009.
[13]
VN-Cover emulator product overview. http://www.transeda.com/site/images/stories/vn-cover-emulator.pdf, 2005.
[14]
Nils Endric Schubert, John Mark Beardslee, Gernot Heinrich Koch, and Ewald John Detjens. Hardware-based HDL code coverage and design analysis. U.S. Patent 7222315, May 2007.
[15]
Marc Boule and Zeljko Zilic. Incorporating efficient assertion checkers into hardware emulation. In Proc. ICCD '05, pages 221--228.
[16]
Hong Zhu, Patrick A. V. Hall, and John H. R. May. Software unit test coverage and adequacy. ACM Comput. Surv., pages 366--427, December 1997.
[17]
Hiralal Agrawal. Dominators, super blocks, and program coverage. In Proc. POPL '94, pages 25--34.
[18]
Mustafa M. Tikir and Jeffrey K. Hollingsworth. Efficient instrumentation for code coverage testing. In Proc. ISSTA '02, pages 86--96.
[19]
Mehdi Karimibiuki, Kyle Balston, Alan J. Hu, and Andre Ivanov. Post-silicon code coverage evaluation with reduced area overhead for functional verification of soc. In Proc. HLDVT '11.
[20]
Flemming Nielson, Hanne R. Nielson, and Chris Hankin. Principles of Program Analysis. Springer, 2010.
[21]
S-T. Cheng and Robert K. Brayton. Compiling verilog into automata. Technical Report UCB/ERL M94/37, EECS Department, University of California, Berkeley, 1994.
[22]
Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman. Compilers: principles, techniques, and tools. Addison-Wesley, 1986.
[23]
Vijay V. Vazirani. Approximation Algorithms. Springer, March 2004.

Cited By

View all
  • (2017)Still a Fight to Get It Right: Verification in the Era of Machine Learning2017 IEEE International Conference on Rebooting Computing (ICRC)10.1109/ICRC.2017.8123645(1-8)Online publication date: Nov-2017
  • (2013)Mining Hardware Assertions With Guidance From Static AnalysisIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2013.224117632:6(952-965)Online publication date: 1-Jun-2013

Index Terms

  1. Using static analysis for coverage extraction fromemulation/prototyping platforms

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    CODES+ISSS '12: Proceedings of the eighth IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis
    October 2012
    596 pages
    ISBN:9781450314268
    DOI:10.1145/2380445
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 07 October 2012

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. code coverage
    2. emulation
    3. fpga
    4. static analysis

    Qualifiers

    • Research-article

    Conference

    ESWEEK'12
    ESWEEK'12: Eighth Embedded System Week
    October 7 - 12, 2012
    Tampere, Finland

    Acceptance Rates

    CODES+ISSS '12 Paper Acceptance Rate 48 of 163 submissions, 29%;
    Overall Acceptance Rate 280 of 864 submissions, 32%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)2
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 12 Nov 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2017)Still a Fight to Get It Right: Verification in the Era of Machine Learning2017 IEEE International Conference on Rebooting Computing (ICRC)10.1109/ICRC.2017.8123645(1-8)Online publication date: Nov-2017
    • (2013)Mining Hardware Assertions With Guidance From Static AnalysisIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2013.224117632:6(952-965)Online publication date: 1-Jun-2013

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media