Re: [sv-bc] extern modules

From: Gordon Vreugdenhil <gordonv_at_.....>
Date: Thu Jul 10 2008 - 12:37:24 PDT
Jason,

I agree that with .*, the extern really needs to come first.
Since externs are a way of declaring the "type" of the module
and .* is similar to a dependence on that type, I don't really
see that restriction as being much of a reach either in
practice or as a matter of LRM interpretation.

Gord.


Jason Campbell wrote:
> Hi,
> 
>  
> 
> The LRM doesn’t specify if extern can be used subsequent to the module 
> defintion. Is it
> 
> correct to assume that this is permitted? Maybe this can be clarified in 
> the LRM.
> 
>  
> 
> If so, this makes implementation of .* in the module port list quite 
> difficult. The reason is
> 
> that nets and variables can not be checked for correct usage until the 
> extern is compiled.
> 
> There is no issue with .* if the extern occurs before the module definition.
> 
>  
> 
> For example:
> 
>  
> 
> module foo(.*);
> 
>  
> 
> initial
> 
>   begin
> 
>   r[0] = 1’b0;
> 
>   v = 5;
> 
> end
> 
>  
> 
> endmodule
> 
>  
> 
> extern module foo(output [3:0] r);
> 
>  
> 
> When foo is compiled the size of r is not known. Also v isn’t declared 
> so it is an error but
> 
> this can’t be determined until the extern is compiled.
> 
>  
> 
> I know that VCS doesn’t implement extern, is extern supported by any 
> simulators?
> 
>  
> 
> Thanks,
> 
>  
> 
> Jason
> 
> 
> -- 
> This message has been scanned for viruses and
> dangerous content by *MailScanner* <http://www.mailscanner.info/>, and is
> believed to be clean.

-- 
--------------------------------------------------------------------
Gordon Vreugdenhil                                503-685-0808
Model Technology (Mentor Graphics)                gordonv@model.com


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Thu Jul 10 12:37:56 2008

This archive was generated by hypermail 2.1.8 : Thu Jul 10 2008 - 12:38:26 PDT