So if the variable a1 was ie byte - which cannot have num() method - then what - searching will be hold or not?: module M; function int foo(int y); return y; endfunction endmodule module top; M a1(); initial begin : oo byte a1; $display(a1.foo(5)); // o tu end endmodule DANiel _____ From: Rich, Dave [mailto:Dave_Rich@mentor.com] Sent: Friday, February 08, 2008 8:51 AM To: Bresticker, Shalom; danielm; sv-ec@server.eda.org Subject: RE: [sv-ec] Upward referencing rules question No, I did mean that a1 is a variable name - an instance of a class handle if you prefer. The $display statement is inside the oo block, whose variable declaration of C a1 hides the scope name M a1. According the rules in 2217, since the first name in a1.num() is a variable, .num() is considered a member select of the variable a1, and the search does not continue beyond that. Dave _____ From: Bresticker, Shalom [mailto:shalom.bresticker@intel.com] Sent: Thursday, February 07, 2008 7:52 PM To: Rich, Dave; danielm; sv-ec@server.eda.org Subject: RE: [sv-ec] Upward referencing rules question I think you mean, "Because a1 is visible as a scope name ...". Shalom _____ From: owner-sv-ec@server.eda.org [mailto:owner-sv-ec@server.eda.org] On Behalf Of Rich, Dave Sent: Friday, February 08, 2008 1:12 AM To: danielm; sv-ec@server.eda.org Subject: RE: [sv-ec] Upward referencing rules question Daniel, It is an error as approved by mantis 2217. Because a1 is visible as a variable name where the reference occurs, the search does not continue beyond the block oo. Dave _____ From: owner-sv-ec@server.eda.org [mailto:owner-sv-ec@server.eda.org] On Behalf Of danielm Sent: Wednesday, February 06, 2008 3:40 AM To: sv-ec@server.eda.org Subject: [sv-ec] Upward referencing rules question I cannot find rules for below reference in SV.I'm using reference to a1.num in named block "oo". In this block there is object variable named a1 but it has no "num" funcion The question is: Should seraching for matching function be stopped at this level or should the search be continued into module scope - where is "a1" instance which have "num" function. So below case should return error, or it should compile and return "5" in simulation? module M; function integer num(); num= 5; endfunction endmodule class C; reg r; endclass module top; M a1(); initial begin : oo C a1; $display(a1.num()); end endmodule DANiel -- This message has been scanned for viruses and dangerous content by <http://www.mailscanner.info/> MailScanner, and is believed to be clean. -- This message has been scanned for viruses and dangerous content by MailScanner <http://www.mailscanner.info/> , and is believed to be clean. --------------------------------------------------------------------- Intel Israel (74) Limited This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies. -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.Received on Fri Feb 8 01:03:06 2008
This archive was generated by hypermail 2.1.8 : Fri Feb 08 2008 - 01:03:20 PST