Where does it say that the action block of an immediate assertion is executed in the reactive region? In fact, it says it is interpreted like a procedural 'if' statement. ________________________________ From: Eduard Cerny [mailto:Eduard.Cerny@synopsys.com] Sent: Saturday, October 21, 2006 4:58 PM To: Rich, Dave; Arturo Salz; Eduard Cerny; Surya Pratik Saha Cc: Soumya Jyoti Wadader; sv-ac@eda.org Subject: RE: [sv-ac] example in expect statement But in immediate assert, the action block should not block the main code either, no? I think that both create threads executed in the reactive region. ed ________________________________ From: Rich, Dave [mailto:Dave_Rich@mentor.com] Sent: Saturday, October 21, 2006 12:14 AM To: Arturo Salz; Eduard Cerny; Surya Pratik Saha Cc: Soumya Jyoti Wadader; sv-ac@eda.org Subject: RE: [sv-ac] example in expect statement I'm not saying it should be disallowed either, but there is a difference between the two. An immediate assertion does not create any threads. The action block of a concurrent assertion must spawn a procedural thread in order to allow for blocking statements. Dave ________________________________ From: Arturo Salz [mailto:Arturo.Salz@synopsys.com] Sent: Friday, October 20, 2006 7:18 PM To: Eduard Cerny; Rich, Dave; Surya Pratik Saha Cc: Soumya Jyoti Wadader; sv-ac@eda.org Subject: RE: [sv-ac] example in expect statement I agree. I don't see why it should be disallowed. Arturo ________________________________ From: owner-sv-ac@eda.org [mailto:owner-sv-ac@eda.org] On Behalf Of Eduard Cerny Sent: Friday, October 20, 2006 6:51 PM To: Rich, Dave; Surya Pratik Saha; Eduard Cerny Cc: Soumya Jyoti Wadader; sv-ac@eda.org Subject: RE: [sv-ac] example in expect statement I do not see a diff between the two. Scheduled in reactive, as a task. ed ________________________________ From: Rich, Dave [mailto:Dave_Rich@mentor.com] Sent: Friday, October 20, 2006 6:41 PM To: Surya Pratik Saha; Eduard Cerny Cc: Soumya Jyoti Wadader; sv-ac@eda.org Subject: RE: [sv-ac] example in expect statement This raises a more general question; can an action block of a concurrent assertion contain any blocking statement? It is explicitly allowed for immediate assertions, but no mention on concurrent assertions. Dave ________________________________ From: owner-sv-ac@server.eda.org [mailto:owner-sv-ac@server.eda.org] On Behalf Of Surya Pratik Saha Sent: Wednesday, October 18, 2006 11:08 PM To: Eduard Cerny Cc: Soumya Jyoti Wadader; sv-ac@server.eda.org Subject: Re: [sv-ac] example in expect statement Hi Ed, So can an immediate assert or concurrent assert have expect assert in their action block? I did not see any restriction in LRM though Synopsys VCS is giving error, considering expect assert as concurrent assertion statement. Consider the e.g. assert (i) expect (prop) $display(...); Is the above statement wrong? I did not see any problem there, though VCS is failing. Same for: assert property (prop) expect (prop) Though other restriction of concurrent assert is not applied on expect, as you mentioned the delay can be there before expect assert. Regards Surya. Eduard Cerny wrote: Concurrent assertion (assert cover assume) cannot, but expect is a different animal. :-) ed -----Original Message----- From: owner-sv-ac@eda.org [mailto:owner-sv-ac@eda.org] On Behalf Of Soumya Jyoti Wadader Sent: Tuesday, October 17, 2006 8:34 AM To: sv-ac@eda.org Subject: [sv-ac] example in expect statement Hallo, In 1800 LRM sec: 17.16 one example is given as : program tst; initial begin # 200ms; expect( @(posedge clk) a ##1 b ##1 c ) else $error( "expect failed" ); ABC: ... end endprogram Is this example is correct? My doubt is "concurrent assertion can not be specified after a timing control statement." so expect statement can not be declare after '#200 ms", am I correct? Thanks & Regards SoumyaReceived on Sat Oct 21 17:33:18 2006
This archive was generated by hypermail 2.1.8 : Sat Oct 21 2006 - 17:33:28 PDT