RE: [sv-ec] Syntax for covergroup instantiation

From: Arturo Salz <Arturo.Salz_at_.....>
Date: Mon Jan 30 2006 - 10:28:34 PST
Swapnajit,

 

No, data is not lost. All coverage data collected through any instance
of a particular covergroup is accumulated 

by the covergroup itself. Note that the covergroup is a type, hence, a
static object. This is covered in table 18-1,

where the LRM discusses the per_instance option:

 

Each instance contributes to the overall coverage information for

the covergroup type. When true, coverage information for this

covergroup instance is tracked as well.

 

    Arturo

 

________________________________

From: Swapnajit Chakraborti [mailto:swapnaj@cadence.com] 
Sent: Monday, January 30, 2006 5:19 AM
To: Arturo Salz; sv-ec@eda.org
Subject: RE: [sv-ec] Syntax for covergroup instantiation

 

Hi Arturo,

 

If the block level instantiation of covergroup happens after a delay,
say 1000ns,  what happens to all the

coverage data collected for the module level covergroup instance till
time 1000ns?  Is it destroyed completely

or is it reported partially?

 

Thx,

Swapnajit.

	 

	
________________________________


	From: Arturo Salz [mailto:Arturo.Salz@synopsys.com] 
	Sent: Saturday, January 21, 2006 12:40 AM
	To: Swapnajit Chakraborti; sv-ec@eda.org
	Subject: RE: [sv-ec] Syntax for covergroup instantiation

	Swapnajit,

	 

	I'm not sure I understand the question?

	 

	Your code snippet causes two separate yet semantically identical
cover-group instances to be created. The statement at the block level
not only creates a cover-group instance, but also causes the first
instance of the cover-group to be destroyed. In this sense, cover-groups
behave just like class objects.

	 

	            Arturo

	 

	
________________________________


	From: owner-sv-ec@eda.org [mailto:owner-sv-ec@eda.org] On Behalf
Of Swapnajit Chakraborti
	Sent: Friday, January 20, 2006 6:44 AM
	To: sv-ec@eda.org
	Subject: [sv-ec] Syntax for covergroup instantiation

	 

	As per IEEE P1800 LRM, both the syntax (shown below) for a
covergroup

	instance declaration are supported.

	 

	cg cg_inst;  [In this case, user has to instantiate it
procedurally, namely, cg_inst = new; ]

	 

	cg cg_inst = new;

	 

	Now, what will be the behavior in the following example?

	 

	module test;

	covergroup cg @(posedge clk);

	  coverpoint a;

	endgroup

	cg cg_inst = new;   // instantiation at module level

	..

	initial

	begin

	  cg_inst = new;     // instantiation at block level

	  ...

	end

	endmodule

	 

	 

	Thx,

	Swapnajit.
Received on Mon Jan 30 10:28:45 2006

This archive was generated by hypermail 2.1.8 : Mon Jan 30 2006 - 10:30:02 PST