[sv-bc] SV-BC-19-24


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