Surya, The precedence rules apply when there is conflict. In this case there is no conflict (as you already stated that a property expression can not be after ##1), so the parser will resolve it as: @(posedge clk) ((a ##1 (@(posedge clk1) s1)) |=> (@(posedge clk2) s2)); Manisha ________________________________ From: owner-sv-ac@eda.org [mailto:owner-sv-ac@eda.org] On Behalf Of Surya Pratik Saha Sent: Wednesday, March 08, 2006 1:53 AM To: sv-ac@eda.org Subject: [sv-ac] [Fwd: Clock flow in SV assertion] -------- Original Message -------- Subject: Clock flow in SV assertion Date: Wed, 08 Mar 2006 10:28:44 +0530 From: Surya Pratik Saha <spsaha@cal.interrasystems.com> To: "sv-bc@eda.org" <sv-bc@eda.org>, sv-ac@eda.org Hi, Some days ago I asked the precedence of @ operator in assertion rule. I did not get well defined answer, however by reading the clock flow section, it is understood that @ has the weakest precedence. Considering the fact the given e.g. in LRM (page no. 282, e.g. d) @(posedge clk) a ##1 @(posedge clk1) s1 |=> @(posedge clk2) s2; will be parsed as: @(posedge clk) a ##1 (@(posedge clk1) s1 |=> @(posedge clk2) s2); So (@(posedge clk1) s1 |=> @(posedge clk2) s2) will become a property expression. But as per assertion BNF, ## operator can not have property expression in RHS. So the e.g. given in LRM is wrong. Please confirm. -- Regards Surya.Received on Wed Mar 8 09:31:02 2006
This archive was generated by hypermail 2.1.8 : Wed Mar 08 2006 - 09:32:02 PST