Re: Port naming question

From: Adam Krolnik (adamk@cyrix.com)
Date: Thu Mar 04 1999 - 10:02:01 PST


Good morning:

I would argue that the code is wrong even if the spec is not clear about it.

<p>module sub (.IN(in));

They declared a port with an external name of 'IN' and an internal
name of 'in' - which is not accessible for instantiation with
connect by name.

<p>BTW, I would like to make a stand for this syntax in ANSI port
declarations.

I am not in favor of allowing one to differentiate external
names from internal names with ANSI port declarations.
The purpose of ANSI declarations is to simplify the description
of the external interface to the module. To add the ability
to connect two names (one external and one internal) in
the description of a port complicates the description and
adds extra information that is not required by one
who intends to utilize this module to instantiate it.

I have seen very poor implementation of this functionality - to
the point that it doesn't work across enough tools to
be useful.

The functionality of

module special1 (.external(internal)
module special2 (.external({int1, int2, int3})
module special3 (/*noname*/{sig1, sig2, sig3}

Are all counter to defining the EXTERNAL definition of the module.
They can be accomplished with other means (that usually involve
adding another name somewhere.)

<p><p> Adam Krolnik
    Verification Engineer
    Cyrix - NSC.
    Richardson TX. 75085



This archive was generated by hypermail 2.1.4 : Mon Jul 08 2002 - 12:53:26 PDT and
sponsored by Boyd Technology, Inc.