How to check firmware code coverage in RTL simulation phase?

This might sound basic, but I need to know for RTL simulation flow and phase:

How and with what tools or features from simulators to check ROM firmware code coverage (specifically for M0/M0+)?

Is there an ARM support component with this provided ?

  • Hello,

    In RTL (Register Transfer Level) simulation, you typically use a hardware description language (HDL) simulator to simulate the behavior of your digital design at the RTL level. To check the code coverage of your ROM firmware specifically for the ARM Cortex-M0/M0+ processors, you can follow these general steps:

    Enable Code Coverage: First, ensure that your HDL simulator supports code coverage analysis. Most modern simulators provide code coverage features. Enable the code coverage option in your simulator settings or command-line options.

    Instrumentation: In order to collect code coverage information, you need to instrument your ROM firmware code. This involves adding additional logic to the design that tracks the execution of instructions. The exact method for instrumentation depends on the specific tools and features provided by your HDL simulator.

    Run Simulation: Once your ROM firmware is instrumented, run the RTL simulation with a representative set of test cases. Make sure the code coverage feature is enabled during simulation.

    Analyze Code Coverage Report: After the simulation completes, the HDL simulator will generate a code coverage report. This report provides information about which portions of your ROM firmware code have been executed during simulation. It may include metrics such as line coverage, branch coverage, or statement coverage.

    Regarding ARM support components, ARM provides a set of development tools called the ARM Development Studio (DS) that includes features for code coverage analysis. The ARM DS tools are specifically designed for software development and debugging on ARM-based platforms. They integrate with ARM processors and provide advanced features for code coverage analysis, profiling, and optimization.

    I hope this information you like it.