Re: [sv-bc] const constants

From: Steven Sharp <sharp_at_.....>
Date: Wed Feb 15 2006 - 15:14:11 PST
Most of your questions appear to have been answered.  Here are my
opinions on the others.

>4. The sentence, "An automatic constant declared with the const keyword can be 
set to any expression that would be legal
>without the const keyword." is also very unclear. What is it trying to say?

It is saying that the expression it is set to by its initializer is not
restricted to "literals, parameters, local parameters, genvars, enumerated
names, a constant function of these, or other constants", the way that
static const variables are.  It can be set to any expression that would
be legal for a non-const version of the variable.


>5. Contrast the following two lists:
>"A value parameter (parameter, localparam, or specparam) can only be set to an 
expression of literals,
>value parameters or local parameters, genvars, enumerated names, or a constant 
function of these."
>
>"A static constant declared with the const keyword can be set to an expression 
of literals, parameters, local
>parameters, genvars, enumerated names, a constant function of these, or other 
constants."
>
>The second list adds "or other constants". What other constants are being 
referred to?

I presume other static const variables.  The term "constant" is being
used to mean the same thing it meant at the start of the sentence: a
const variable.  And the word "other" is being used because it is talking
about other const variables.  I.e. it means "const variables other than
itself", not "some other kind of constant than the things I just listed".

It would be clearer if "constant" were replaced with "const variables"
anywhere that was the intended meaning.

Also, in this case it was not sufficient to limit it to "const variables."
A static const variable cannot be set to an automatic const variable.
Only static const variables can be used to set static const variables.


Steven Sharp
sharp@cadence.com
Received on Wed Feb 15 15:14:16 2006

This archive was generated by hypermail 2.1.8 : Wed Feb 15 2006 - 15:16:46 PST