From: Shalom Bresticker (Shalom.Bresticker@motorola.com)
Date: Thu Sep 25 2003 - 01:00:01 PDT
Precedence: bulk
The following reply was made to PR errata/483; it has been noted by GNATS.
From: Shalom Bresticker <Shalom.Bresticker@motorola.com>
To: Steven Sharp <sharp@cadence.com>
Cc: etf-bugs@boyd.com
Subject: Re: errata/483: 4.2: Bit/part-selects of parameters
Date: Thu, 25 Sep 2003 11:46:21 +0300
From the point of view of the LRM, "reg" most certainly is a "data type",
as stated explicitly in 3.2.2 and elsewhere.
You are correct that if neither type nor range is specified, then the
parameter gets the type and range of the value assigned to it.
So I agree that it is more complicated than I initially thought.
As far as a "reg" being a variable, whereas parameters are constants,
that is not a difficulty, because the same applies to declaring a parameter
with type integer, real, realtime, or time. Obviously, its variability
is not being referred to here.
Also, I again refer you to the parallel case of function type in 10.3.1
> > This is sort of a side-question, but what is the type of a parameter
> > without a type specification? The LRM does not say explicitly (3.11.1).
> > I think it should say that it is implicitly declared as a "reg" type,
> > like functions.
>
> I'm not sure what you mean here. "reg" isn't really a data type.
> A variable declared with the keyword "reg" has a datatype of a scalar or
> vector of 4-state bits. But that is not specific to regs, since there are
> nets and parameters of that type. A parameter without a type specification
> takes on the type of the value it is set to, which is either real or vector
> (which can be signed or unsigned).
>
> The other aspect of a reg, besides its data type, is that it is a variable.
> A parameter is not a variable, and does not have the same read/write
> semantics as a variable. Perhaps you meant that it is not a net, which is
> true. It is a parameter, which has semantics distinct from variables and
> nets. Unlike nets, it does not have strength or delay or drivers. Unlike
> variables, it cannot be written to in procedural code.
Shalom
--
Shalom Bresticker Shalom.Bresticker@motorola.com
Design & Reuse Methodology Tel: +972 9 9522268
Motorola Semiconductor Israel, Ltd. Fax: +972 9 9522890
POB 2208, Herzlia 46120, ISRAEL Cell: +972 50 441478
This archive was generated by hypermail 2.1.4
: Thu Sep 25 2003 - 01:02:55 PDT
and
sponsored by Boyd Technology, Inc.