[sv-bc] Queries Related to string data type

From: Sandeep Dasgupta <sandeep_at_.....>
Date: Thu May 31 2007 - 06:07:35 PDT
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