Corrected proposal for uwire

From: Kathy McKinley (mckinley@cadence.com)
Date: Wed Nov 24 2004 - 15:14:03 PST

  • Next message: Brad Pierce: "Re: Proposal for uwire (formerly known as wone)"

    I was just informed of a critical typo ("wire" instead of "uwire"
    in section 13.2.3.8). Here is the corrected version:

    -----------------------------------------------------------------------------

    This is the formal proposal for the introduction of a new net type, uwire.
    This net type was called "wone" in an earlier, more informal proposal, and
    the BTF voted to change the name to "uwire" (for "unresolved wire").

    In order for the table columns to line up, you will need to view
    this proposal as plain text in a font that is not proportional.

    -----------------------------------------------------------------------------
    Annex A - A.2.2.2 and syntax box in 3.2.1:

    CHANGE:

        net_type ::=
              supply0 | supply1
            | tri | triand | trior | tri0 | tri1 | wire | wand | wor

    TO:

        net_type ::=
              supply0 | supply1
            | tri | triand | trior | tri0 | tri1 | uwire | wire | wand | wor

    -----------------------------------------------------------------------------
    3.7 Net types

    In table 2, CHANGE:

     | wor | trior | trireg | |

    TO:

     | wor | trior | trireg | uwire |

    ----------------------------------------------------------------------------
    3.7 Net types

    ADD NEW SECTION 3.7.6:

     3.7.6 Unresolved nets

     The uwire net is an unresolved or unidriver wire, and is used to model
     nets that allow only a single driver. The uwire type can be used to
     enforce this restriction. It shall be an error to connect any bit of a
     uwire net to more than one driver. It shall be an error to connect a
     uwire net to a bidirectional terminal of a bidirectional pass switch.

     The port connection rule in 12.3.9.2 ensures that an implementation
     enforces this restriction across the net hierarchy, or gives a warning
     if it does not.

    ----------------------------------------------------------------------------
    3.12 Name spaces

    CHANGE

     "includes wire, wor, wand, tri, trior, triand, tri0, tri1, trireg, supply0,
      and supply1"

    TO

     "includes wire, wor, wand, tri, trior, triand, tri0, tri1, trireg, supply0,
      supply1, and uwire"

    ----------------------------------------------------------------------------
    12.3.9 Port connection rules

    ADD THIS SECTION:

     12.3.9.3 Rule 3

     If the net on either side of a port has the net type uwire,
     a warning shall be issued if the nets are not merged into
     a single net, as described in 12.3.10.

    -----------------------------------------------------------------------------
    12.3.10.2 Net type table

    CHANGE:

    ---------------------------------------------------------------------
             | External net
    Internal |-----------------------------------------------------------
      net |wire,|wand, |wor, |trireg | tri0 | tri1 |supply0 |supply1
             | tri |triand |trior | | | | |
    ---------+-----+-------+------+-------+------+------+--------+---------
    wire, | ext | ext | ext | ext | ext | ext | ext | ext
     tri | | | | | | | |
    ---------+-----+-------+------+-------+-----+-----+--------+---------
    wand, | int | ext | warn | warn | warn | warn | ext | ext
    triand | | | | | | | |
    ---------+-----+-------+------+-------+------+------+--------+---------
    wor, | int | warn | ext | warn | warn | warn | ext | ext
    trior | | | | | | | |
    ---------+-----+-------+------+-------+-----+-----+--------+---------
    trireg | int | warn | warn | ext | ext | ext | ext | ext
    ---------+-----+-------+------+-------+------+------+--------+---------
    tri0 | int | warn | warn | int | ext | warn | ext | ext
    ---------+-----+-------+------+-------+------+------+--------+---------
    tri1 | int | warn | warn | int | warn | ext | ext | ext
    ---------+-----+-------+------+-------+------+------+--------+---------
    supply0 | int | int | int | int | int | int | ext | warn
    ---------+-----+-------+------+-------+--- --+------+--------+---------
    supply1 | int | int | int | int | int | int | warn | ext
    ---------------------------------------------------------------------
    KEY:
    ext = The external net type is used
    int = The internal net type is used
    warn = A warning is issued and the external net type is used
    --------------------------------------------------------------------------

    TO:
    ----------------------------------------------------------------------------
             | External net
    Internal |------------------------------------------------------------------
      net |wire,|wand, |wor, |trireg | tri0 | tri1 |supply0 |supply1 |uwire
             | tri |triand |trior | | | | | |
    ---------+-----+-------+------+-------+------+------+--------+--------+-----
    wire, | ext | ext | ext | ext | ext | ext | ext | ext | ext
     tri | | | | | | | | |
    ---------+-----+-------+------+-------+------+------+--------+--------+-----
    wand, | int | ext | ext | ext | ext | ext | ext | ext | ext
    triand | | | warn | warn | warn | warn | | | warn
    ---------+-----+-------+------+-------+------+------+--------+--------+-----
    wor, | int | ext | ext | ext | ext | ext | ext | ext | ext
    trior | | warn | | warn | warn | warn | | | warn
    ---------+-----+-------+------+-------+------+------+--------+--------+-----
    trireg | int | ext | ext | ext | ext | ext | ext | ext | ext
             | | warn | warn | | | | | | warn
    ---------+-----+-------+------+-------+------+------+--------+--------+-----
    tri0 | int | ext | ext | int | ext | ext | ext | ext | ext
             | | warn | warn | | | warn | | | warn
    ---------+-----+-------+------+-------+------+------+--------+--------+-----
    tri1 | int | ext | ext | int | ext | ext | ext | ext | ext
             | | warn | warn | | warn | | | | warn
    ---------+-----+-------+------+-------+------+------+--------+--------+-----
    supply0 | int | int | int | int | int | int | ext | ext | int
             | | | | | | | | warn |
    ---------+-----+-------+------+-------+------+------+--------+--------+-----
    supply1 | int | int | int | int | int | int | ext | ext | int
             | | | | | | | warn | |
    ---------+-----+-------+------+-------+------+------+--------+--------+-----
    uwire | int | int | int | int | int | int | ext | ext | ext
             | | warn | warn | warn | warn | warn | | |
    ----------------------------------------------------------------------------
    KEY:
    ext = The external net type is used
    int = The internal net type is used
    warn = A warning is issued
    ----------------------------------------------------------------------------

    ----------------------------------------------------------------------------
    19.2 `default_nettype

    In Syntax 19-1, CHANGE

     trior|trireg|none

    TO

     trior|trireg|uwire|none

    ----------------------------------------------------------------------------
    13.2.3.8 $var

    AFTER THE NUMBERED LIST, ADD THE FOLLOWING PARAGRAPH:

    In the $var section, a net of net type uwire shall have a variable type
    of wire.

    ----------------------------------------------------------------------------
    Annex G: vpi_user.h

    CHANGE:

    #define vpiNone 12 /* no default net type (1364-2000) */

    TO:

    #define vpiUwire 12 /* unresolved wire net */
    #define vpiNone 13 /* no default net type (1364-2000) */

    ----------------------------------------------------------------------------
    Annex B

    ADD "uwire" to list of keywords.



    This archive was generated by hypermail 2.1.4 : Wed Nov 24 2004 - 15:01:16 PST and
    sponsored by Boyd Technology, Inc.