[sv-bc] RE: [sv-ac] Is concurrent assertion not allowed inside task/function?

From: Abhishek Muchandikar <Abhishek.Muchandikar_at_.....>
Date: Tue Dec 15 2009 - 01:50:36 PST
Hi,

In my views, the core functionality of tasks and functions restricts such a kind of use model and is correct.
The intended use model for tasks and functions is ability to execute common procedures.
The result of these execution is either passed as a single value thru function or thru output/inout args from a task.

How do you plan to see the assertion results thru them for a whole bunch of assertions encapsulate in them,
By nature assertion are declarative in form , spanning over the temporal domain.
 
Also since functions are supposed to  execute in one time unit, it really is not feasible to have assertions in them spanning over a period of time.

Thanks
Abhishek 

-----Original Message-----
From: owner-sv-ac@eda.org [mailto:owner-sv-ac@eda.org] On Behalf Of Surya Pratik Saha
Sent: Tuesday, December 15, 2009 2:40 PM
To: sv-bc@eda.org; sv-ac@server.eda.org
Cc: Adhip Das
Subject: [sv-ac] Is concurrent assertion not allowed inside task/function?

Hi,
I did not see any restriction in the LRM that prevents concurrent 
assertion statement inside task/function. Though all the standard 
simulators fail for the following case for same reason:

module top(input clk,a,b,c);

        property prop;
                @(posedge clk)  a ##1 b ##1 c;
        endproperty
        task tsk;
                assert property(prop)
                            $display("\n time = %g , testname = %s Passed",$time,"test1_16_7");
                        else
                            $display("\n time = %g , testname = %s
Failed",$time,"test1_16_7");

        endtask

        function func();
                assert property(prop)
                            $display("\n time = %g , testname = %s
Passed",$time,"test1_16_7");
                        else
                            $display("\n time = %g , testname = %s
Failed",$time,"test1_16_7");

        endfunction

endmodule

Please comment on it.

-- 
Regards
Surya




-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Tue Dec 15 01:52:39 2009

This archive was generated by hypermail 2.1.8 : Tue Dec 15 2009 - 01:53:52 PST