My feedback is provided below:
(1)
A data type is a set of
values and a set of operations that can be performed
on those values.
data_type in the BNF broadly includes interface, covergroup,
chandle, event etc. Data type defined here is restrictive and does not
match the BNF.
(2)
"A data object is
a
named construct that has a data value associated with it, such as a
parameter, a variable,
or a net."
The use of word
"construct" is confusing. Perhaps, "entity" can be
used instead of "construct"
(3)
The data type specification adds one more item to the list of items that
can be specified with a net declaration, especially with anonymous data
type specification. For example,
trireg (large)
vectored signed struct packed { logic ecc; logic [7:0] data; } #(0,0,0)
[7:0] memsig;
To remember the order and places where an item is allowed can be
challenging, besides trying to read unreadable code.
(4)
1. A four-state integral
type
2. An unpacked array or unpacked struct, where each element has a valid
data type
for a net
Item 2 should explicitly say "packed or unpacked"
instead of just unpacked
(5)
A lexical restriction
applies to the use of the reg keyword in a net or port declaration.
A
Verilog net type keyword shall not be followed directly by the reg
keyword. Thus, the
following declarations are in error:
tri reg r;
inout wire reg p;
The reg keyword can
be used in a net or port declaration if there are lexical elements
between the net type keyword and the reg keyword.
This is arbitrary and confusing restriction
(6) Section 18.12
SystemVerilog extends Verilog port
connections by making
values of all data
types on
variables and nets available to pass
through ports.
It should say (to be consistent with previous language) all
"allowed data types" instead of "all data
types".
(7) Glossary
Data object
- A data object
is a named construct that has a data value associated with it,
such as a parameter, a variable, or a net. A data object has a data type
that determines
which values the data object can have.
A suggested wording:
"A data object is a named entity that has a data value associated
with it. Examples of data objects are nets, variables and parameters. A
data object A data object has a data type that determines which values
the data object can have."
(8) Are there any restrictions on the strengths that can be specified?
Can a strength be specified, whether it is a single wire or a data
structure with multiple wires?
(9) The limitation of 4-state on wires, and not allowing 2-state makes
the usage of structures of wires minimal. It would be better to complete
the proposal with 2-state resolution, otherwise users will get confused.
Surrendra
**********************************************
Surrendra A. Dudani
Synopsys, Inc.
377 Simarano Drive, Suite 300
Marlboro, MA 01752
Tel: 508-263-8072
Fax: 508-263-8123
email: Surrendra.Dudani@synopsys.com
**********************************************
Received on Wed Nov 17 13:31:49 2004