Hi, I have the following three queries for your kind consideration, 1.Consider the test case, *typedef enum { RED , GREEN , YELLOW , } color; module top; **color** t; typedef bit [3:0] array1; typedef array1 array2[string]; array2 array; initial if( !array.exists( t ) ) begin end endmodule* Now as per IEEE Std 1800-2005, section 5.10.3, "The syntax for the exists() method is as follows: function int exists( input index ); where index is an index of the appropriate type for the array in question." But in the above test case we have used an enum as the argument of associative array method 'exists', inspite of the fact that the index type of the associative array is a string.So as per LRM it seems to be a negative test case. But most of the simulator tools let the test case pass. So please suggest what would be the ideal behaviour. 2.Consider the case, *module top; string s1; initial begin s1 = 1; end endmodule * Now as per IEEE Std 1800-2005, section 4.7, "Integral types can be assigned to a string variable, but require a cast." But as we can see the above case violates the LRM, though it is passed by some simulators. So please suggest what would be the ideal behaviour. * *Thanks and Regards,* *Sandeep Dasgupta. -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.Received on Thu May 31 06:11:57 2007
This archive was generated by hypermail 2.1.8 : Thu May 31 2007 - 06:13:11 PDT