Using static analysis for coverage extraction from emulation/prototyping platforms

Viraj Athavale, Sam Hertz, Darshan Jetly, Vijay Ganesan, Jim Krysl, Shobha Vasudevan

Research output: Chapter in Book/Report/Conference proceedingConference contribution

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.

Original languageEnglish (US)
Title of host publicationCODES+ISSS'12 - Proceedings of the 10th ACM International Conference on Hardware/Software-Codesign and System Synthesis, Co-located with ESWEEK
Pages207-214
Number of pages8
DOIs
StatePublished - 2012
Event10th ACM International Conference on Hardware/Software-Codesign and System Synthesis, CODES+ISSS 2012, Co-located with 8th Embedded Systems Week, ESWEEK 2012 - Tampere, Finland
Duration: Oct 7 2012Oct 12 2012

Other

Other10th ACM International Conference on Hardware/Software-Codesign and System Synthesis, CODES+ISSS 2012, Co-located with 8th Embedded Systems Week, ESWEEK 2012
CountryFinland
CityTampere
Period10/7/1210/12/12

Fingerprint

Static analysis
Hardware
Visibility
Statistics
Industry
Experiments

Keywords

  • Code coverage
  • Emulation
  • FPGA
  • Static analysis

ASJC Scopus subject areas

  • Hardware and Architecture
  • Software

Cite this

Athavale, V., Hertz, S., Jetly, D., Ganesan, V., Krysl, J., & Vasudevan, S. (2012). Using static analysis for coverage extraction from emulation/prototyping platforms. In CODES+ISSS'12 - Proceedings of the 10th ACM International Conference on Hardware/Software-Codesign and System Synthesis, Co-located with ESWEEK (pp. 207-214) https://doi.org/10.1145/2380445.2380481

Using static analysis for coverage extraction from emulation/prototyping platforms. / Athavale, Viraj; Hertz, Sam; Jetly, Darshan; Ganesan, Vijay; Krysl, Jim; Vasudevan, Shobha.

CODES+ISSS'12 - Proceedings of the 10th ACM International Conference on Hardware/Software-Codesign and System Synthesis, Co-located with ESWEEK. 2012. p. 207-214.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Athavale, V, Hertz, S, Jetly, D, Ganesan, V, Krysl, J & Vasudevan, S 2012, Using static analysis for coverage extraction from emulation/prototyping platforms. in CODES+ISSS'12 - Proceedings of the 10th ACM International Conference on Hardware/Software-Codesign and System Synthesis, Co-located with ESWEEK. pp. 207-214, 10th ACM International Conference on Hardware/Software-Codesign and System Synthesis, CODES+ISSS 2012, Co-located with 8th Embedded Systems Week, ESWEEK 2012, Tampere, Finland, 10/7/12. https://doi.org/10.1145/2380445.2380481
Athavale V, Hertz S, Jetly D, Ganesan V, Krysl J, Vasudevan S. Using static analysis for coverage extraction from emulation/prototyping platforms. In CODES+ISSS'12 - Proceedings of the 10th ACM International Conference on Hardware/Software-Codesign and System Synthesis, Co-located with ESWEEK. 2012. p. 207-214 https://doi.org/10.1145/2380445.2380481
Athavale, Viraj ; Hertz, Sam ; Jetly, Darshan ; Ganesan, Vijay ; Krysl, Jim ; Vasudevan, Shobha. / Using static analysis for coverage extraction from emulation/prototyping platforms. CODES+ISSS'12 - Proceedings of the 10th ACM International Conference on Hardware/Software-Codesign and System Synthesis, Co-located with ESWEEK. 2012. pp. 207-214
@inproceedings{0f02d5cee03542f1be8c0bf06c94f061,
title = "Using static analysis for coverage extraction from emulation/prototyping platforms",
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.",
keywords = "Code coverage, Emulation, FPGA, Static analysis",
author = "Viraj Athavale and Sam Hertz and Darshan Jetly and Vijay Ganesan and Jim Krysl and Shobha Vasudevan",
year = "2012",
doi = "10.1145/2380445.2380481",
language = "English (US)",
isbn = "9781450314268",
pages = "207--214",
booktitle = "CODES+ISSS'12 - Proceedings of the 10th ACM International Conference on Hardware/Software-Codesign and System Synthesis, Co-located with ESWEEK",

}

TY - GEN

T1 - Using static analysis for coverage extraction from emulation/prototyping platforms

AU - Athavale, Viraj

AU - Hertz, Sam

AU - Jetly, Darshan

AU - Ganesan, Vijay

AU - Krysl, Jim

AU - Vasudevan, Shobha

PY - 2012

Y1 - 2012

N2 - 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.

AB - 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.

KW - Code coverage

KW - Emulation

KW - FPGA

KW - Static analysis

UR - http://www.scopus.com/inward/record.url?scp=84869067233&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84869067233&partnerID=8YFLogxK

U2 - 10.1145/2380445.2380481

DO - 10.1145/2380445.2380481

M3 - Conference contribution

SN - 9781450314268

SP - 207

EP - 214

BT - CODES+ISSS'12 - Proceedings of the 10th ACM International Conference on Hardware/Software-Codesign and System Synthesis, Co-located with ESWEEK

ER -