From: Brad Pierce (Brad.Pierce@synopsys.com)
Date: Wed Nov 24 2004 - 15:45:09 PST
If this is approved by the BTF, then we'll also need a synch-up
erratum and proposal filed with the SV-BC to enhance the approved
proposal of issue 168
http://www.eda.org/svdb/bug_view_page.php?bug_id=0000168
For example, the BNF for net_type. It's important that SystemVerilog
continue to be a superset of Verilog.
-- Brad
-----Original Message-----
From: owner-btf@boyd.com [mailto:owner-btf@boyd.com]On Behalf Of Kathy
McKinley
Sent: Wednesday, November 24, 2004 2:57 PM
To: btf@boyd.com
Subject: Proposal for uwire (formerly known as wone)
Hello
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.
Kathy
----------------------------------------------------------------------------
-
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 wire 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:31:12 PST
and
sponsored by Boyd Technology, Inc.