Code coverage is a fundamental DV metric, and it measures how well the RTL code is covered by test bench. Code coverage includes the following aspects:

  1. Statement / line coverage
  2. Condition / branch coverage
  3. Toggle coverage
  4. FSM coverage

We recommend readers to refer to this post for more details.

Code coverage is generated by simulation tool. For example, during DV regressions, code coverages of each individual test are merged by VCS

Then designers and DV engineer shall work together to figure out why certain RTL is not exercised. Unexercised RTL implies either unreachable / redundant RTL code, or direct test needs to be created to achieve higher coverage. Designers should consider remove the redundant RTL code.

Note, in coverage-driven verification methodology, code coverage review is critical.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.