Coverage - Introduction
Functional verification comprises a large portion of the resources required to design and validate a complex system. Often, the validation must be comprehensive without redundant effort. To minimize wasted effort, coverage is used as a guide for directing verification resources by identifying tested and untested portions of the design. 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 in order to reduce the number of simulation cycles spent in verifying a design.
Defining the coverage model: covergroup
The covergroup construct encapsulates the specification of a coverage model. Each covergroup specification can include the following components:
» A clocking event that synchronizes the sampling of coverage points
» A set of coverage points
» Cross coverage between coverage points
» Optional formal arguments
» Coverage options
A covergroup instance can be created via the new() operator.
A covergroup can contain one or more coverage points. A coverage point can be a variable or an expression.
Each coverage point includes a set of bins associated with its sampled values or its value-transitions. The bins can be explicitly defined by the user or automatically created by the tool.
enum { red, green, blue } color;
bit[3:0] pixel;
covergroupg1@(posedgeclk);
coverpoint color;
coverpoint pixel;
AxC: cross color, pixel;
endgroup
Using covergroup in classes:
A coverage group within a class definition, the covergroup provides a simple way to cover a subset of the class properties. In class xyz, defined below, members a and b are covered using an embedded
covergroup:
class abc; bit [3:0] a;
int b;
bit c;
covergroup cov1 @c ;
coverpoint a ;
coverpoint b ;
endgroup
function new(); cov1 = new;
endfunction
endclass
This blog contains all the information, latest technologies in VLSI and interview questions for freshers
Subscribe to:
Post Comments (Atom)
Popular Posts
-
http://www.mediafire.com/?n77dan3ovdwyoy3 http://www.mediafire.com/?8ncruxr37o1dbqb http://www.mediafire.com/?jqhvobf6j4gbp6e ...
-
Verilog code for an 8-bit shift-left register with a positive-edge clock, serial in and serial out. module shift (clk, si, so);...
-
Verilog code for a 4-bit unsigned up counter with asynchronous clear. module counter (clk, clr, q); input ...
-
seminar topics with ppts if u need any topics below mail me: bsnspkumar_484@yahoo.co.in Analysis of the Performance of DOA Algorithms in sma...
-
ECE Seminar topics These are the seminar topics based on Electronics and Communications. If u need abstracts of the below seminar topics u c...
-
// memory module `timescale 1ns/1ns module ram(wr_ad,rd_ad,wr_en,rd_en,clk,wr_dat,rd_dat); //parameter addr_width=4; //parameter depth=16; /...
-
Verilog code for single-port RAM in read-first mode. module raminfr (clk, en, we, addr, di, do); input clk; input ...
-
If inverted output of D flip-flop is connected to its input how the flip-flop behaves? Design a circuit to divide input frequency by 2...
-
Synthesizeable constructs and VHDL templates VHDL is frequently used for two different goals: simulation of electronic designs and synthesis...
-
http://www.mediafire.com/?h1bj9w1bx8kja69 http://www.mediafire.com/?yot1d4b0u344lmc http://www.mediafire.com/?hzqj1m6j91mg9td http://ww...
No comments:
Post a Comment