Functional coverage is a method which allows the verification engineer to objectively evaluate how well a user defined abstraction space is covered. This space can be internal or external to the DUT and can occur at any abstraction level.

Functional coverage indicates how well your testbase fulfills the test plan goals.Test plan goals might include:
-Testing a complete range of interesting input stimuli
-Testing a complete set of key internal states
-Testing a complete set of sequences of stimuli or states
-Evaluating performance

The three types of coverage data that you might want to collect are:
--Coverage data for the finite state machine (FSM).
--Coverage data for the generated instructions.
--Coverage data for the corner case.

Coverage Groups

Coverage groups are struct(or unit) members -
They have an associated event to know when to sample data. The event must be declared in the same struct or unit as the coverage group. Coverage groups can be defined with ‚~@~\coverage group options‚~@~]. Controls collection, grading, and display of the group. Coverage groups contains coverage items. The value of each coverage item is recorded when the coverage event occurs.

Syntax cover event-type [using coverage-group-option, ...] is {coverage-item-definition; ...};
cover event_type is empty;

Cover Group Options

Option                  Description
count-only            Reduces memory usage:no time info stored 
                      and no post-process cross.
text = string         Text description for this coverage group
                      shown in coverage report.
when = bool-exp       Collects coverage only when boolean 
                      expression evaluates to TRUE
radix = DEC\HEX\BIN   Displays radix for each item‚~@~Ys bucets.
weight = uint         Specifies grading weight relative to other
                      groups. Default is 1.
at_least = uint       Minimum number of samples for each bucket. 
                      If less reports a coverage hole.
ignore = bool_exp     Ignores sample if bool_exp is TRUE
illegal = bool_exp    Causes dut_error() if bool_exp is TRUE
ranges = {range(parameters); 
                      Specifies interesting ranges for int/uint types.


ItemA cross coverage item is the cross product(matrix) of two or more previously declared basuic items. It Can cross any number of items declared in the same coverage group. This can also be done in e code or interactively, using Coverage GUI. Options for cross are same as for basic items are available, except using ranges.

E Basics
Data Types
Concurrency Actions
When And Like
Temporal Expressions
Temporal Operators 1
Temporal Operators 2
Synchronizing With The Simulator
Wait And Sync
Physical Virual Feilds
Packing N Unpacking
Pre Run N On The Fly
Extendable Methods
Non Extendable Methods
And Gate Evc

Report a Bug or Comment on This section - Your input is what keeps Testbench.in improving with time!




copyright © 2007-2017 :: all rights reserved www.testbench.in::Disclaimer