Re: Verilog AMS access function namespace

From: David Miller <David.L.Miller_at_.....>
Date: Mon Aug 03 2009 - 08:16:02 PDT
Hello Surya,
This means that if something already exists in the module with the same 
identifier as the access function in the discipline, the access function is 
ignored.
Consider this:

module test;
   analog function real V;
     input i;
     real i;
     begin
       V = i+2;
     end
   endfunction

   electrical a;

   analog begin
     x = V(3.0);  // Calls analog function V()
     x = V(a); // should be error, since V() is UDF.
   end
endmodule

So electrical has a potential access function of V. But we also have the analog 
function V(). This means that in module test, whenever I access V() I ma 
referring to the UDF V().

We don't raise a hard error on this clash as a disciplines file contains many 
disciplines and access functions, most of which never get used.

Hope this helps

Cheers...
Dave


Surya Pratik Saha wrote:
> Hi,
> Recently I have started to study Verilog AMS to build its analyzer.
> 
> I can understand the term "access function" is very important in this 
> language. In the 2.3.1 LRM, it is mentioned:
> *3.13.2 Access functions
> Each access function name, defined before a module is parsed, is 
> automatically added to that module’s name space unless there is another 
> identifier defined with the same name as the access function in that 
> module’s name space.
> *
> I am not clear how another "access function" can be defined inside a 
> module's name space, as I can understand "access function" can only be 
> defined by a "nature" or its related "discipline" which can only be 
> declared outside a module. Can someone please show me an example?
> 
> -- 
> Regards
> Surya
> 
> 
> -- 
> This message has been scanned for viruses and
> dangerous content by *MailScanner* <http://www.mailscanner.info/>, and is
> believed to be clean.

-- 
==============================================
-- It's a beautiful day
-- Don't let it get away
--
-- David Miller
-- Design Technology (Austin)
-- Freescale Semiconductor
-- Ph : 512 996-7377 Fax: x7755
==============================================

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Mon Aug 3 17:46:38 2009

This archive was generated by hypermail 2.1.8 : Mon Aug 03 2009 - 17:46:44 PDT