The example in 4 is illegal, because the members of a struct, like the properties of a class object, can only be accessed by name via an hierarchical_identifier. This is in contrast to the syntax for calls to the methods of a class object, which does not require the use of an hierarchical_tf_identifier. (I write 'by name' above, because members of packed structs can also be accessed via part-selects, and members of structs and properties of class objects can be accessed via part-selects into bit streams.) -- Brad -----Original Message----- From: owner-sv-ac@eda.org [mailto:owner-sv-ac@eda.org] On Behalf Of Doron Bustan Sent: Wednesday, May 30, 2007 7:46 AM To: Korchemny, Dmitry; sv-ac@eda.org Subject: [sv-ac] variables vs. expressions Hi, I took an action item to review cases at SV, where there are operations that are allowed on variables with a specific type, but are not allowed on expressions with the same type. Here they are: 1. sequence .matched, .trigger, .ended 2. bit select and bit slice on vectors. 3. the methods first(), last(), next(), prev(), num(), name() of enum types. There is no explicit language saying that these methods should not be used on expression, but I think that one may conclude it from the text. 4. I read the aggregate data types clause and the cast clause, I cannot say whether the following code is legal: typedef struct {bit a; bit b;} AB; assert property((AB'(2'b10)).a ==1); Does anybody know? Doron -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.Received on Wed May 30 08:22:43 2007
This archive was generated by hypermail 2.1.8 : Wed May 30 2007 - 08:22:47 PDT