From: Adam Krolnik (adamk@cyrix.com)
Date: Thu May 21 1998 - 03:31:03 PDT
Behavioral Task Force - Errata Submission
Assigned Errata Number: BE74
Errata Name (Description): Name of { {} } operator
Date Submitted: 971114
Requestor: Adam Krolnik
Status: Submitted (priority not yet assigned)
Errors found in the Verilog LRM (IEEE 1364-1995).
Details:
In 1364-1995 on page 27, the operator {{}} is named "replication". On page 38,
the first component of the {{}} operator is named the "repetition multiplier".
What is the name of the operator: replication or repitition?
Also, the spec specifies (inversely) sized constants are required in the
concatenation field (while the BNF shows the generic "expression" instead of constant_expression). The spec doesn't specify what the repetition multiplier needs to be. Also the wording "constant_multiple_concatentation" is not defined
while "multiple_concatenation" is defined.
Also, what should be expected if the "repetition multiplier" evaluates to 0?
E.g.
a[31:0] = {1'b1, {0{1'b0}} };
<p>Proposal:
Replace the 5th paragraph that starts with "Concatentations can be expressed using a replication multiplier" with "Another form of concatenation is the replication operation. The first expression shall be a constant expression, the second expression follows the rules for concatentations. This example replicates "w" 4 times.".
Alter the 6th paragraph (line) that starts with "If a replication multiplier is used",
to "If the replication operator is used".
Remove the last paragraph of the section, "The repetition multiplier shall be a constant expression." as it has been expressed above.
BNF:
Replace the definition for 'concatentation' with (the diagraph '\{' and '\}'
imply a real character vs. the character denoting 1 or more):
concatenation ::= \{ expression { , expression } \}
Replace all occurrences of 'multiple_concatentation' with 'replication'
Remove the definition of 'multiple_concatenation'.
Add the definition for 'replication' (same notes with concatenation)
replication ::= \{ constant_expression concatenation \}
[NOTE: I did not address the fact that 'expression' allows unsized constants.]
Adam Krolnik
Verification Engineer
Cyrix, Corp.
Richardson TX. 75085
This archive was generated by hypermail 2.1.4
: Mon Jul 08 2002 - 12:52:52 PDT
and
sponsored by Boyd Technology, Inc.