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