Re: [sv-ac] Example shown in LRM contradicts local variable restriction

From: Surya Pratik Saha <spsaha_at_.....>
Date: Wed Dec 31 2008 - 04:04:40 PST
Thanks Manisha for your valuable comment. But Doron also mentioned the text is wrong. So I think it is better to rewrite the section completely to avoid further confusion from other readers.

Regards
Surya


-------- Original Message  --------
Subject: Re:[sv-ac] Example shown in LRM contradicts local variable restriction
From: Kulshrestha, Manisha <Manisha_Kulshrestha@mentor.com>
To: Surya Pratik Saha <spsaha@cal.interrasystems.com>, sv-ac@eda.org
Date: Wednesday, December 31, 2008 5:20:33 PM

Hello Surya,

 

Please check clause 16.8.2 for more details. The example below is correct and also the text. The rule that the ‘corresponding formal argument shall be untyped’ only applies if the argument is used as output (i.e. it is only assigned but not read). There are few examples in 16.8.2 which make it more clear. Since this example and the text are from different sections and from different mantis items, it is confusing.

 

Manisha

 

From: owner-sv-ac@server.eda.org [mailto:owner-sv-ac@server.eda.org] On Behalf Of Surya Pratik Saha
Sent: Wednesday, December 24, 2008 12:41 PM
To: sv-ac@server.eda.org
Subject: [sv-ac] Example shown in LRM contradicts local variable restriction

 

Hi,
In SV 2009 draft LRM, there is an example:
sequence sub_seq2(local inout int lv);
(a ##1 !a, lv += data_in)
##1 !b[*0:$] ##1 b && (data_out == lv);
endsequence
sequence seq2;
int v1;
(c, v1 = data)
##1 sub_seq2(v1) // lv is initialized by assigning it the value of v1;
// when the instance sub_seq2(v1) matches, v1 is
// assigned the value of lv
##1 (do1 == v1);
endsequence

And later it is mentioned:
It can be useful to assign a value to a local variable within an instance of a named sequence and reference the
local variable in the instantiating context at or after the completion of a match of the instance. This capability
is supported under the following conditions:
— The local variable shall be declared outside the named sequence, and its scope shall include both the
instance of the named sequence and the desired reference in the instantiating context.
— The local variable shall be passed as an entire actual argument in the list of arguments of the
instance of the named sequence.
The corresponding formal argument shall be untyped.

Whereas, in the example corresponding formal argument 'lv' is not untyped for local variable 'v1'. Am I missing anything?

-- 
Regards
Surya


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

--

This email was Anti Virus checked by Astaro Security Gateway. http://www.astaro.com


--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean. Received on Wed Dec 31 04:06:03 2008

This archive was generated by hypermail 2.1.8 : Wed Dec 31 2008 - 04:06:13 PST