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