We demonstrate a new approach to implementing automated coverage metrics including line, toggle, and finite state machine coverage. Each metric is implemented through a compiler pass with a report generator. They are decoupled from the backend simulation, emulation, or formal verification tool through a simple API designed around a single new cover primitive. Our prototype for the Chisel hardware construction language demonstrates support across three software simulators, the FPGA-accelerated FireSim simulator and a formal tool. We demonstrate collecting line coverage while booting Linux with FireSim at a target frequency of 65MHz. By construction, coverage can be trivially merged across backends.
CITATION STYLE
Laeufer, K., Iyer, V., Biancolin, D., Bachrach, J., Nikolić, B., & Sen, K. (2023). Simulator Independent Coverage for RTL Hardware Languages. In International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS (Vol. 3, pp. 606–615). Association for Computing Machinery. https://doi.org/10.1145/3582016.3582019
Mendeley helps you to discover research relevant for your work.