Re: Analog function question

From: Marq Kole <marq.kole_at_.....>
Date: Fri Sep 16 2005 - 00:15:10 PDT
Sri, Arpad,

> In strict accordance to the BNF it cant be done yet. I think it was 
> an oversight/bug in the BNF and the intent was to put it in there.

In accordance with the BNF, the input declaration is mentioned as a
digital_input_declaration in Annex A, so its actual definition is in the
IEEE 1394-1995 standard. See Mantis item #870.

For array arguments see Mantis item #869 describing the problem - it is
rather an issue of documentation (explanation + example) than a missing
item in the standard.

> 
> regards,
> Sri
> 
> Muranyi, Arpad wrote: 
> Sri,
> 
> I just saw your 2nd reply, but since I had this almost finished,
> I will send it out anyway...  So according to your 2nd message,
> this can't be done (yet)?
> ----------------------------
> Thanks for the quick answer.  Sorry, but I am still not sure
> about it.  The sections you quoted from the LRM seem to allow
> the array inside the function as a block item, but I still
> don't see how I can pass an array into the function (and
> pass it as a real variable array, not as a parameter array).

Parameter arrays in functions wouldn't help you anyway, as you
cannot set them from outside the function, and once initialized,
you cannot alter them from inside the function either.
 
> Would you be so kind and help me with an example?  If the
> input "in1" is an array, how would you declare it in the
> function?
> 
> analog function real myFunctionName;
> input in1;
> real  in1[1:5];    <--------- How would I know the size?

You'd know the size as the above analog function declaration tells
you the size. There is at this moment no way to make an array argument
with parameter-controlled size in an analog function in Verilog-AMS --
we need to check what System-Verilog does to resolve that for a future
LRM, I think.

> begin
> ...
> ...
> end
> endfunction
> 
> 
> Thanks,
> 
> Arpad

Marq Kole
Competence Leader Analog Simulation, Philips ED&T
Received on Fri Sep 16 00:17:27 2005

This archive was generated by hypermail 2.1.8 : Fri Sep 16 2005 - 00:18:00 PDT