[sv-bc] Re: P1800 Mantis 505 correction

From: Steven Sharp <sharp_at_.....>
Date: Tue Jun 07 2005 - 12:36:48 PDT
>From: "Stuart Sutherland" <stuart@sutherland-hdl.com>

>Would it solve the problem if I just elevate the 6.3.1.x to be 6.3.x?  The
>resulting subclause numbering would be:
>
>6.3.1 Parameter declaration syntax
>6.3.2 Value parameters
>6.3.2.1 $ as a parameter value
>6.3.3 Type parameters
>6.3.4 Parameter port lists
>6.3.5 Const constants

No, this would not help.  The problem is that there is a paragraph that
contains specifications for value parameters and for type parameters.
It doesn't belong in either section.  Currently it is in the section on
type parameters.  This is definitely a bad place, since most of the
paragraph is about value parameters.  And since it is talking about the
type of a value parameter, this will get confused with the type that
is the value of a type parameter.

The paragraph needs to be broken into two separate parts, so that each
part can be put into the relevant subclause.

The paragraph in question reads:

"In an assignment to, or override of, a parameter without an explicit type 
declaration, the type of the right-hand expression shall be unsized, real or 
integral. If the expression is real, the parameter is real. If the expression is 
integral, the parameter is a logic vector of the same size with range 
[size-1:0]. In an assignment to, or override of, a parameter with an explicit 
type declaration, the type of the right-hand expression shall be assignment 
compatible with the declared type. In an assignment to, or override of, a type 
parameter, the right-hand expression shall represent a data type."

The first part, which belongs in subclause 6.3.1.1, is:

"In an assignment to, or override of, a parameter without an explicit type 
declaration, the type of the right-hand expression shall be unsized, real or 
integral. If the expression is real, the parameter is real. If the expression is 
integral, the parameter is a logic vector of the same size with range 
[size-1:0]. In an assignment to, or override of, a parameter with an explicit 
type declaration, the type of the right-hand expression shall be assignment 
compatible with the declared type."

The second part, which belongs in subclause 6.3.1.3, is just the last
sentence:

"In an assignment to, or override of, a type parameter, the right-hand 
expression shall represent a data type."

It might be reasonable to merge this single-sentence paragraph with the
single-sentence paragraph following it.  They are somewhat related.

So at a minimum, the first part of this paragraph needs to be moved to
somewhere in subclause 6.3.1.1.  I don't know whether it should become
paragraph 2 or paragraph 3 in that subclause.

Some wordsmithing would make the paragraphs flow better after separation.
However, moving the first part into the right subclause is the most
important part.

Steven Sharp
sharp@cadence.com
Received on Tue Jun 7 12:36:55 2005

This archive was generated by hypermail 2.1.8 : Tue Jun 07 2005 - 12:37:03 PDT