[sv-ac] Email ballot result (Due 31 January)

From: Korchemny, Dmitry <dmitry.korchemny@intel.com>
Date: Tue Feb 01 2011 - 00:50:21 PST

Below are the results of the email ballot:

1933 2412

Yes Laurence Bisht

Yes No Eduard Cerny

Yes Yes Ben Cohen

Yes No Tapan Kapoor

Yes No Scott Little

Yes Yes Manisha Kulshrestha

Yes Yes Anupam Prabhakar

Yes Yes Erik Seligman

Yes Yes Samik Sengupta

Yes No Tom Thatcher

Mantis 1933 passed, 2412 failed.

Comments:

Tapan:

 We seem to saying that different clocking rules apply for the cases when @(seq.triggered) is used

a) Inside assertion

b) Outside assertion (i.e. procedural context)

In the case #a, the sequence "seq" has to be explicitly triggered (that's what appear from the clock inferring rules and from sentence "Note that if used in a disable condition or a clock expression in an assertion the sequence must be explicitly clocked."), whereas in the case #b, the sequence can be clocked with a default clock (in the absence of explicit clocking). Is this difference deliberate? Why do we want to differentiate b/w the two usages/contexts of the same expression?

Scott:
I believe that a2 is an illegal use of triggered based on my reading of 16.14.5 (clock in a2 is clk_a and ending clock in e5 is clk_e1). You can use matched in that instance. That then makes a4 redundant.

In the always block following a5 I believe that the clock should be clk_a based on the comment.

Ed:
I have a problem or misunderstanding of the inference wt the end of the long example:

checker check(input in1, input sequence s_f);
default clocking cb_checker;
always @(s_f)
$display("sequence triggered");
a4: assert property (a |=> in1);
endchecker
// e4 infers checker's default clocking cb_checker
check c1(e4.triggered, e4);
// e4 connected to port of a module instance infers default clocking cb
mod_adder ai1(e4.triggered);

Even though the checker is inlined in place f the instance, I think that it should infer the clock from the instantiation context for it actual arguments, exactly the same way as for the instance of mod_adder, i.e., from cb. Otherwise I fell it makes it confusing to the user.

Also, the default clocking cb_checker is not defined. What effective clock will it be?

Tom:
I agree with Scott that assertion a2 is illegal. I think a2 should be written as follows:
                a2: assert property (@(posedge clk_e1) a |=> e5.triggered); Then the triggered would be allowed.

Assertion a3 also looks like it needs to use e4.matched.

---------------------------------------------------------------------
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 Tue Feb 1 00:52:06 2011

This archive was generated by hypermail 2.1.8 : Tue Feb 01 2011 - 00:52:28 PST