[sv-ec] class datatypes with parameter oomr override legal ?

From: Francoise Martinolle <fm_at_.....>
Date: Wed Jan 21 2009 - 14:20:27 PST
Are class datatype considered constant expressions?
I looked up the BNF for class datatype and I found :
class_type ::=

ps_class_identifier [ parameter_value_assignment ]

{ :: class_identifier [ parameter_value_assignment ] }

list_of_parameter_assignments ::=

ordered_parameter_assignment { , ordered_parameter_assignment }

| named_parameter_assignment { , named_parameter_assignment }

ordered_parameter_assignment ::= param_expression

named_parameter_assignment ::= . parameter_identifier ( [
param_expression ] )

 

And the param_expression can lead to a hierarchical identifier.

Here is a test to illustrate my question:

module oomr;
   parameter LW = 8;
endmodule

module top;
   
   class container #(int WIDTH=2);
   endclass

     
   container #(.WIDTH(oomr.LW)) vc = new;
   
   initial $display (vc.WIDTH);

endmodule // top


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Wed Jan 21 14:21:32 2009

This archive was generated by hypermail 2.1.8 : Wed Jan 21 2009 - 14:22:20 PST