[sv-bc] Parameter assignment questions (revised per footnote 41)

From: Greg Jaxon <Greg.Jaxon_at_.....>
Date: Tue May 06 2008 - 08:52:52 PDT
§6.20.1, ¶9 & ¶11 may  have picked up some typos when the "default-less parameters" feature was added.
Can anyone confirm the exact intention here?

param_assignment ::=
       parameter_identifier { unpacked_dimension } = [ constant_param_expression ]41

type_assignment ::=
       type_identifier = data_type [ = data_type ]41


  1. In a param_assignment it shall be illegal to omit the constant_param_expression except within a parameter_declaration in a parameter_port_list.  In a type_assignment it shall be illegal to omit the data_type except within a parameter_declaration in a parameter_port_list.
I'm guessing that data_type cannot appear twice in a type_assignment, and that the = in a param_assignment comes and goes with the optional constant_param_expression.


This BNF also raises another question that may need a semantic note:
Does the unpacked_dimension after a parameter_identifier  impart some implicit data type to that parameter?
Specifically in the following, can values of any type and shape override Moneypenny and Bond?

module Ian #( Moneypenny, Bond[0:7] ) ( inout integer frequency );

If Bond is "shapen, not typed", what forms and types of expression can legally supply its value?

Greg Jaxon


--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean. Received on Tue May 6 08:53:24 2008

This archive was generated by hypermail 2.1.8 : Tue May 06 2008 - 08:53:55 PDT