Hi Dimitry,
In section 17.5 it says:
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.
But in a previous example (17.3.2) there is a checker instance inside always procedure in a checker. Is this legal ?
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); // ILLEGAL if c2 is instantiated as below
end
endchecker
module m2(logic clk, logic [3:0] d);
always @(posedge clk) begin
for (int i = 0; i < 4; i++) begin
c2 check_loop(posedge clk, d [const'(i)]);
end
end
endmodule : m2
We may need a fix in the LRM to make it clear.
Thanks.
Manisha
-- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.Received on Fri Mar 18 03:56:10 2011
This archive was generated by hypermail 2.1.8 : Fri Mar 18 2011 - 03:56:33 PDT