Subject: [sv-bc] SV-BC-19-24
From: Brad Pierce (Brad.Pierce@synopsys.com)
Date: Sun Jan 19 2003 - 17:43:12 PST
Issue SV-BV-19-24 is not directly related to the ETF issues
that are associated with it in the spreadsheet.
In the V2K BNF --
name_of_instance ::= module_instance_identifier [ range ]
but in the SV BNF --
name_of_instance ::= module_instance_identifier { range }
However in both BNFs
module_instance_identifier ::= arrayed_identifier
arrayed_identifier ::= simple_arrayed_identifier
| escaped_arrayed_identifier
simple_arrayed_identifier ::= simple_identifier [ range ]
escaped_arrayed_identifier ::= escaped_identifier [ range ]
So in SV the token "module_instance_identifier" does not
always parse the range when reducing the "arrayed_identifier"
token.
There is a definitely a problem to resolve here though, because
it does do so when there are fewer than two dimensions.
Also, in both V2K and SV, the nonterminals module_instance_identifier,
arrayed_identifer, etc. are very oddly named, because such an "identifier"
may denote an array of module instances.
Thus, if "m[7:0]" is an array of module instances, then neither "m" nor
"m[2]" is a module_instance_identifier, while "m[7:0]" is.
Likewise for "module_instance".
A sensible renaming of these nonterminals would make the BNF
a lot easier to understand. For example, instead of "module_instance",
perhaps "module_instance_array".
-- Brad
This archive was generated by hypermail 2b28 : Sun Jan 19 2003 - 17:43:44 PST