[sv-bc] Why allow non-ANSI extern module headers? (19.7)

From: Brad Pierce <Brad.Pierce_at_.....>
Date: Wed May 10 2006 - 23:39:11 PDT
In 19.7 (and Syntax 19-3) IEEE Std 1800-2005 says that a 1995-style list
of ports can be used in an extern module declaration.  

 

It also says, "An extern module declaration shall match the actual
module declaration's port and parameter lists in correspondence of
names, positions, and their equivalent types."  

 

But if a 1995-style list of ports is used in the extern module
declarations, then that declaration contains no information about port
types.  So how could they be equivalent (or not) to some other types?

 

Also, an inconvenience is that if such an extern module declaration is
used with the implicit .* port connections of 19.11.4, in which the port
declarations on each side of such a connection must have equivalent
types, then a tool must wait to do that error checking until some actual
module has been linked in.  This is only very weak support for separate
compilation.

 

-- Brad

 

 

 

 

 

 
Received on Wed May 10 23:39:14 2006

This archive was generated by hypermail 2.1.8 : Wed May 10 2006 - 23:39:25 PDT