LRM says: /"Interface classes contain two built-in empty virtual methods pre_randomize()and post_randomize() that are automatically called before and after randomization. These methods can be overridden. As a special case, pre_randomize()and post_randomize()shall not cause method name conflicts.//"/ 1. Later on LRM says that pre/post randomize are not virtual so using virtual in above sentense seem to be an error (LRM: "The pre_randomize()and post_randomize()methods are not virtual.") 2. I assume that above quotation allows to define A and B like this: interface class A; parameter p=0; function void pre_randomize(); $display("A"); endfunction endclass interface class B; parameter p=0; function void pre_randomize(); $display("B"); endfunction endclass But what should happened when class C implements both A and B and randomize on C object is called via A,B or C handle? class C implements A, implements B; endclass C c=new; A a=c; B b=c; a.randomize; //A::pre_randomze is called? b.randomize;//B::pre_randomze is called? c.randomize;//A::pre_randomze and B::pre_randomze is called? I cannot see where LRM defines this behaviour. DANiel -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.Received on Tue Apr 22 04:12:26 2014
This archive was generated by hypermail 2.1.8 : Tue Apr 22 2014 - 04:12:41 PDT