Interviews Question On Coverage in System Verilog - Hardware Design and Verification
Interviews Question On Coverage in System Verilog - Hardware Design and Verification
Home (http://www.testbench4u.com) » Companies Related Questions (http://www.testbench4u.com/category/companies-related-questions/) » Interviews question on coverage in system verilog ??
Download PDF
Printable PDF (Free)
To View PDF
mypdf.online
OPEN
What is coverage ?
Coverage is defined as the percentage of verification objectives that have been met. It is used as a metric for evaluating the progress
of a verification project. Coverage metric forms an important part of measuring progress in constrained random testbenches and also
provides good feedback to the quality and e ectiveness of constrained random testbenches. Broadly there are two types of coverage
metrics – Code Coverage and Functional Coverage. While code coverage is generated automatically by simulators, Functional
coverage is user defined and normally implemented using constructs supported by SystemVerilog language. This section has
questions related to the coverage concepts as well as the SystemVerilog language constructs used for implementing functional
coverage model.
There are two types of coverage metrics commonly used in Functional Verification to measure the completeness and e iciency of
verification process.
1) Code Coverage: Code coverage is a metric used to measure the degree to which the design code (HDL model) is tested by a given
test suite. Code coverage is automatically extracted by the simulator when enabled.
2) Functional Coverage: Functional coverage is a user-defined metric that
measures how much of the design specification, as enumerated by features in the test plan, has been exercised. It can be used to
measure whether interesting scenarios, corner cases, specification invariants, or other applicable design conditions — captured as
features of the test plan — have been observed, validated, and tested. It is user-defined and not automatically inferred. It is also not
dependent on the design code as it is implemented based on design specification.
www.testbench4u.com/2018/09/08/interviews-question-coverage-system-verilog/ 1/5
1/25/2020 Interviews question on coverage in system verilog ?? - Hardware Design and Verification
Code coverage is a metric that measures how well the HDL code has been exercised by the test suite. Based on the di erent program
constructs, code coverage are of following types:
1) Statement/Line coverage: This measures how many statements (lines) are covered during simulation of tests. This is generally
considered important and is targeted to be 100% covered for verification closure. In the following example code, you can see there are
4 lines or statements which will be measure in statement/line coverage.
//Line 1 Result = A – B;
//Line 3 Result = A + B;
end
3) Branch/Decision coverage: Branch/Decision coverage evaluates conditions like if-else, case statements and the ternary operator (?:
) statements in the HDL code and measures if both true and false cases are covered.
4) Conditional Coverage and Expression coverage: Conditional coverage looks at all Boolean expressions in the HDL and counts the
number of times the expression was true or false. Expression coverage looks at the right-hand side of an assignment, evaluates all the
possible cases as a truth table and measures how well those cases are covered. Following is an expression of 3 boolean variables that
can cause the Result variable to be true of false Result = (A && B) || (C) You can create a truth table as follows for all possible cases of A,
B and C that can cause result to be true or false. The expression coverage gives a measure of if all the rows of this truth table are
covered.
5) Toggle coverage: Toggle coverage measures how well the signals and ports in the design are toggled during the simulation run. It
will also help in identifying any unused signals that does not change value.
6) FSM coverage: FSM coverage measures whether all of the states and all possible transitions or arcs in a given state machine are
covered during a simulation
Search for:
Search …
SEARCH
www.testbench4u.com/2018/09/08/interviews-question-coverage-system-verilog/ 2/5
1/25/2020 Interviews question on coverage in system verilog ?? - Hardware Design and Verification
Recent Posts
Important UVM questions for Hardware companies (http://www.testbench4u.com/2018/10/11/important-uvm-questions-for-hardware-companies/)
Why gate simulation is needed even though STA (static time analysis ) is done? (http://www.testbench4u.com/2018/10/05/why-there-is-gate-simulation-needed-
even-though-sta-static-time-analysis-is-done/)
(http://15.206.170.85/feed/)
(http://www.specificfeeds.com/widgets/emailSubscribeEncFeed/d1FiL1gvb2doSHNORlZTMDZoTmdtSUc0U3k2MzNDT2ExMVV4ZFhIT3RyTE45OEFsSG9sM0t2SGZyVG
Categories
www.testbench4u.com/2018/09/08/interviews-question-coverage-system-verilog/ 3/5
1/25/2020 Interviews question on coverage in system verilog ?? - Hardware Design and Verification
AMBA (http://www.testbench4u.com/category/amba/)
Uncategorized (http://www.testbench4u.com/category/uncategorized/)
UVM (http://www.testbench4u.com/category/uvm/)
Verilog (http://www.testbench4u.com/category/verilog/)
Email *
Subscribe
www.testbench4u.com/2018/09/08/interviews-question-coverage-system-verilog/ 4/5
1/25/2020 Interviews question on coverage in system verilog ?? - Hardware Design and Verification
Email *
Subscribe
Download PDF
To View PDF
mypdf.online OPEN
www.testbench4u.com/2018/09/08/interviews-question-coverage-system-verilog/ 5/5