BTF - BE29 - illegal example of specparam_assignment

From: Anders Nordstrom (andersn@bcarsb82)
Date: Fri Aug 22 1997 - 08:54:56 PDT


Subject: BTF - BE29 - illegal example of specparam_assignment

Behavioral Task Force - Errata Submission

Assigned Enhancement Request Number: BE29
Errata Name (Description): illegal example of specparam_assignment
Section: 14.5.10
Date Submitted: 970701
Requestor: Paul Graham

Status: Submitted (priority not yet assigned)

Errors found in the Verilog LRM (IEEE 1364-1995).

Details:
        A code example given in this section includes the following:

    specparam tPLHc = 4:6:9, ...

Annex A includes the following syntax:

    specparam_declaration ::=
        specparam list_of_specparam_assignments ;

    list_of_specparam_assignments ::=
        specparam_assignment { , specparam_assignment }

    specparam_assignment ::=
        specparam_identifier = constant_expression
        | pulse_control_specparam

    constant_expression ::=
        constant_primary
        | unary_operator constant_primary
        | constant_expression binary_operator constant_expression
        | constant_expression ? constant_expression : constant_expression
        | string

    constant_primary ::=
        number
        | parameter_identifer
        | constant_concatenation
        | constant_multiple_concatenation

According to the BNF, the expression on the RHS of a specparam_assignment
must be a constant_expression. A constant_expression is either a
constant_primary, a unary, binary, or ternary operation, or a string.
Clearly 4:6:9 is not a unary, binary, or ternary operation, or a string, so
it must be a constant_primary. Yet it cannot be a constant_primary, for it
is not a number, a paramater_identifier, or a concatenation.

It seems that to accomodate the example, the syntax must be changed to

    specparam_assignment ::=
        specparam_identifier = constant_mintypmax_expression
        | pulse_control_specparam

By the way, I could not find a syntax rule for constant_expression within
the body of the LRM, but only in Annex A.

<p>+-----------------------------------------------------------------------+
| Anders Nordstrom |
| Senior ASIC Designer |
| Northern Telecom Ltd. Email: andersn@nortel.ca |
| P.O. Box 3511 Station C Phone: 613-763-9186 |
| Ottawa, Ontario K1Y 4H7 Fax: 613-763-2626 |
+-----------------------------------------------------------------------+



This archive was generated by hypermail 2.1.4 : Mon Jul 08 2002 - 12:54:41 PDT and
sponsored by Boyd Technology, Inc.