Dmitry, Agree that it should be revisited in the future. The question I have though right now is: *What should a tool vendor implement? He could implement what is in 17.3.2 * *"However, a checker shall be evaluated statically or procedurally depending on its placement in the parent checker".* Specifically, as shown in (a modification to what is in 17.3.2) *checker *c3(event clk, logic a); p3: assert property (@clk a); endchecker *checker *c2(event clk, logic a); c3 c3_stat(clk, a); *always *@(clk) begin c3 c3_proc(clk, a); // LEGAL if c2 is instantiated as below *end* *endchecker* * * *module m2(logic clk, logic [3:0] d); always @(posedge clk) begin c2 check_d1(posedge clk, d[1]); // OK here ? end endmodule : m2 On a separate issue, in current LRM, 17.3.2 shows the following. Where is "in1" declared? Don't we mean "posedge clk" instead? module m2(logic clk, logic [3:0] d); always @(posedge clk) begin for (int i = 0; i < 4; i++) begin c2 check_loop(in1, d [const'(i)]); end end endmodule : m2 Ben Cohen * On Tue, Jul 14, 2009 at 7:45 AM, Korchemny, Dmitry < dmitry.korchemny@intel.com> wrote: > Hi all, > > > > In 17.5 Checker procedures it is written: > > > > An *always *procedure in a checker body may contain deferred and > concurrent assertions, nonblocking variable > > assignments (see 17.7.1) and a procedural timing control statement using > an event control. All other > > statements shall not appear inside an *always *procedure. > > > > From here I understand that a checker cannot be instantiated in an always > procedure of another checker. > > > > Nevertheless, 17.3.2 Nested checker instantiations explicitly discusses > what happens if one checker is instantiated in another checker. > > > > It looks to be a contradiction that should be fixed (in the future). > > > > What do you think? > > > > Thanks, > > Dmitry > > --------------------------------------------------------------------- > 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* <http://www.mailscanner.info/>, 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 Tue Jul 14 08:32:56 2009
This archive was generated by hypermail 2.1.8 : Tue Jul 14 2009 - 08:33:48 PDT