[sv-ac] ballot reminder

From: John Havlicek <john.havlicek_at_.....>
Date: Mon Dec 17 2007 - 07:18:56 PST
Hi Folks:

This is a reminder that we have ballots closing today
on Mantis items 1682, 1900, 1995, and 2005.  Please vote
if you are eligible.  The results so far are below.

J.H.

----------------------------------------------------------------------------------
Ballot on Mantis 1682

- Called on 2007-12-13, final ballots due by 2007-12-17 T 23:59-08:00.

yv[xxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxx-xx] Doron Bustan (Intel)
yv[xx--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-x] Eduard Cerny (Synopsys)     
 n[-------------------x-xxx---------x-x-xxx-x---x] Surrendra Dudani (Synopsys)
yv[xxxxx-xxxxxx-xxxxxxxxx-xx-xxxxx-xxx-xxx-------] Yaniv Fais (Freescale)
 t[x--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] John Havlicek (Freescale - Chair)
yv[xxxxxxxxxxxxxxxxxxxxxxxxxxxxrxxxxxxxxxxxxx-xxx] Dmitry Korchemny (Intel - Co-Chair)
nv[xx-xxxxxxxxx-xxx-x--xx--xxxxx----------xx-xxxx] Manisha Kulshrestha (Mentor Graphics)
 n[---------------------------xxxxx-------x-xx-x-] Jiang Long (Mentor Graphics)
 n[------x------------x--xxx.....................] Joseph Lu (Altera)
 v[xxxxxxxxxxxxxxxx..............................] Johan Martensson (Jasper)
 n[------------------------x--x-xx--xx-xxxxxxx-x-] Hillel Miller (Freescale)
yv[xx-xxxx-xxxxxxxxxxxxxxxxxxx-xxxxxxxx-xxxxxxxxx] Lisa Piper (Cadence)
yv[xxx-x-x-xx-xxxxxxx-x-xxxxx-x..................] Erik Seligman (Intel)
 n[----x-x----x--------xxxx-----xxxx-xx----------] Tej Singh (Mentor Graphics)
yv[xxx-x-xxxxxx--xxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxx] Bassam Tabbara (Synopsys)
 v[xxxxxx-xxxxxxxxxxxxx-xxxxxxxxxx...............] Tom Thatcher (Sun Microsystems)
   |--------------------------------------------- attendance on 2007-12-11
 |----------------------------------------------- voting eligibility for this ballot
|------------------------------------------------ email ballots received

        Legend:
                x = attended
                - = missed
                r = represented
                . = not yet a member
                v = valid voter (2 out of last 3 or 3/4 overall)
                n = not a valid voter
                t = chair eligible to vote only to make or break a tie


----------------------------------------------------------------------------------
Rationale for Negative Vote

I have some questions about the changes related to the part where
$assertkill part is defined. The paragraphs say:

Even though global clocking future sampled value functions depend on
future values of their arguments, the
interval of simulation timesteps for an evaluation attempt of an
assertion containing global clocking future
sampled value functions is defined as though the future sampled values
were known in advance. The end of the
evaluation attempt is defined to be the last tick of the assertion clock
and is not delayed any additional
timesteps up to the next global clocking tick.
The behavior of disable iff and other asynchronous assertion related
controls such as $assertkill (see
19.10) is with respect to the interval of the evaluation attempt defined
above. If, for example, $assertkill is
executed in a timestep strictly after the last tick of the assertion
clock for the evaluation attempt, then it shall
not affect that attempt, even if $assertkill is executed no later than
the next global clocking tick.

Now here is an example:

@(posedge clk) $rising_gclk(a) |=3D> b;

Suppose clk happens at time 10, 30, 50 etc and the global clock happens
at 12. The $assertkill is issued at time 11. So, for the attempt which
starts at time 10, we can not do anything about $assertkill till we
reach time 12, at that point it will be decided if $rising_gclk(a) is
true or false. If it is false that means the assertion attempt ended at
time 10 itself and $assertkill will not have effect. But if
$rising_gclk(a) is true, the assertion will get evaluated further so
$assertkill will have an effect. So, we'll execute $assertkill at time
12 ??? What about the callbacks etc. associated with $assertkill ??


Based on our discussion in the meeting, I was under the impression that
since we decided to execute action block at the following global tick,
we'll keep the similar behavior for disable iff and other asynchronous
effects. May be I missed part of the discussion.

----------------------------------------------------------------------------------
Friendly Amendments

[YF]

I vote yes with the friendly amendment that on the 2'nd page of  the
FormalFuture_071022_dk.pdf document 1b1 would be changed to 1'b1 in:
" Note. that $past_gclk(e) is equivalent to $past(e,1,1b1,1b1)."

[DB]

I vote yes with a friendly amendment

- F.4.1  replace

This subclause describes the semantics of several constructs that are
used=20
at a point in a word can depend both on the letter at that point and on
previous letters in the word.=20

With

This subclause describes the semantics of several constructs that are
used=20
at a point in a word may depend both on the letter at that point and on
other letters in the word.


----------------------------------------------------------------------------------
Ballot on Mantis 1900

- Called on 2007-12-12, final ballots due by 2007-12-17 T 23:59-08:00.

 v[xxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxx-xx] Doron Bustan (Intel)
yv[xx--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-x] Eduard Cerny (Synopsys)     
 n[-------------------x-xxx---------x-x-xxx-x---x] Surrendra Dudani (Synopsys)
 v[xxxxx-xxxxxx-xxxxxxxxx-xx-xxxxx-xxx-xxx-------] Yaniv Fais (Freescale)
 t[x--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] John Havlicek (Freescale - Chair)
yv[xxxxxxxxxxxxxxxxxxxxxxxxxxxxrxxxxxxxxxxxxx-xxx] Dmitry Korchemny (Intel - Co-Chair)
 v[xx-xxxxxxxxx-xxx-x--xx--xxxxx----------xx-xxxx] Manisha Kulshrestha (Mentor Graphics)
 n[---------------------------xxxxx-------x-xx-x-] Jiang Long (Mentor Graphics)
 n[------x------------x--xxx.....................] Joseph Lu (Altera)
 v[xxxxxxxxxxxxxxxx..............................] Johan Martensson (Jasper)
 n[------------------------x--x-xx--xx-xxxxxxx-x-] Hillel Miller (Freescale)
 v[xx-xxxx-xxxxxxxxxxxxxxxxxxx-xxxxxxxx-xxxxxxxxx] Lisa Piper (Cadence)
yv[xxx-x-x-xx-xxxxxxx-x-xxxxx-x..................] Erik Seligman (Intel)
 n[----x-x----x--------xxxx-----xxxx-xx----------] Tej Singh (Mentor Graphics)
yv[xxx-x-xxxxxx--xxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxx] Bassam Tabbara (Synopsys)
 v[xxxxxx-xxxxxxxxxxxxx-xxxxxxxxxx...............] Tom Thatcher (Sun Microsystems)
   |--------------------------------------------- attendance on 2007-12-11
 |----------------------------------------------- voting eligibility for this ballot
|------------------------------------------------ email ballots received

        Legend:
                x = attended
                - = missed
                r = represented
                . = not yet a member
                v = valid voter (2 out of last 3 or 3/4 overall)
                n = not a valid voter
                t = chair eligible to vote only to make or break a tie



----------------------------------------------------------------------------------
Ballot on Mantis 1995

- Called on 2007-12-12, final ballots due by 2007-12-17 T 23:59-08:00.

yv[xxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxx-xx] Doron Bustan (Intel)
yv[xx--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-x] Eduard Cerny (Synopsys)     
 n[-------------------x-xxx---------x-x-xxx-x---x] Surrendra Dudani (Synopsys)
yv[xxxxx-xxxxxx-xxxxxxxxx-xx-xxxxx-xxx-xxx-------] Yaniv Fais (Freescale)
 t[x--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] John Havlicek (Freescale - Chair)
yv[xxxxxxxxxxxxxxxxxxxxxxxxxxxxrxxxxxxxxxxxxx-xxx] Dmitry Korchemny (Intel - Co-Chair)
yv[xx-xxxxxxxxx-xxx-x--xx--xxxxx----------xx-xxxx] Manisha Kulshrestha (Mentor Graphics)
 n[---------------------------xxxxx-------x-xx-x-] Jiang Long (Mentor Graphics)
 n[------x------------x--xxx.....................] Joseph Lu (Altera)
 v[xxxxxxxxxxxxxxxx..............................] Johan Martensson (Jasper)
 n[------------------------x--x-xx--xx-xxxxxxx-x-] Hillel Miller (Freescale)
yv[xx-xxxx-xxxxxxxxxxxxxxxxxxx-xxxxxxxx-xxxxxxxxx] Lisa Piper (Cadence)
yv[xxx-x-x-xx-xxxxxxx-x-xxxxx-x..................] Erik Seligman (Intel)
 n[----x-x----x--------xxxx-----xxxx-xx----------] Tej Singh (Mentor Graphics)
yv[xxx-x-xxxxxx--xxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxx] Bassam Tabbara (Synopsys)
 v[xxxxxx-xxxxxxxxxxxxx-xxxxxxxxxx...............] Tom Thatcher (Sun Microsystems)
   |--------------------------------------------- attendance on 2007-12-11
 |----------------------------------------------- voting eligibility for this ballot
|------------------------------------------------ email ballots received

        Legend:
                x = attended
                - = missed
                r = represented
                . = not yet a member
                v = valid voter (2 out of last 3 or 3/4 overall)
                n = not a valid voter
                t = chair eligible to vote only to make or break a tie


----------------------------------------------------------------------------------
Friendly Amendments

[YF]

I vote yes with the following friendly amendment:

- page 3 , in both:
 a1: assert property ( table[i][j] !=3D `BAD_VAL);
				else report_failure(i,j);

a1: assert property (foo |-> (bar |->
 (table[i][j] !=3D `BAD_VAL)));
else report_failure(i,j);

should remove the semicolon before the "else".


[MK]

I vote yes on 1995, with the same friendly amendments Yaniv has
mentioned about null statement being used as pass statement (';' after
assert).=20

I also have a question about the statement about sampling everything
except loop indicies. Shouldn't the statement mention that local
variables are also not sampled ?


----------------------------------------------------------------------------------
Ballot on Mantis 2005

- Called on 2007-12-12, final ballots due by 2007-12-17 T 23:59-08:00.

 v[xxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxx-xx] Doron Bustan (Intel)
yv[xx--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-x] Eduard Cerny (Synopsys)     
 n[-------------------x-xxx---------x-x-xxx-x---x] Surrendra Dudani (Synopsys)
 v[xxxxx-xxxxxx-xxxxxxxxx-xx-xxxxx-xxx-xxx-------] Yaniv Fais (Freescale)
 t[x--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] John Havlicek (Freescale - Chair)
 v[xxxxxxxxxxxxxxxxxxxxxxxxxxxxrxxxxxxxxxxxxx-xxx] Dmitry Korchemny (Intel - Co-Chair)
 v[xx-xxxxxxxxx-xxx-x--xx--xxxxx----------xx-xxxx] Manisha Kulshrestha (Mentor Graphics)
 n[---------------------------xxxxx-------x-xx-x-] Jiang Long (Mentor Graphics)
 n[------x------------x--xxx.....................] Joseph Lu (Altera)
 v[xxxxxxxxxxxxxxxx..............................] Johan Martensson (Jasper)
 n[------------------------x--x-xx--xx-xxxxxxx-x-] Hillel Miller (Freescale)
nv[xx-xxxx-xxxxxxxxxxxxxxxxxxx-xxxxxxxx-xxxxxxxxx] Lisa Piper (Cadence)
yv[xxx-x-x-xx-xxxxxxx-x-xxxxx-x..................] Erik Seligman (Intel)
 n[----x-x----x--------xxxx-----xxxx-xx----------] Tej Singh (Mentor Graphics)
yv[xxx-x-xxxxxx--xxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxx] Bassam Tabbara (Synopsys)
 v[xxxxxx-xxxxxxxxxxxxx-xxxxxxxxxx...............] Tom Thatcher (Sun Microsystems)
   |--------------------------------------------- attendance on 2007-12-11
 |----------------------------------------------- voting eligibility for this ballot
|------------------------------------------------ email ballots received

        Legend:
                x = attended
                - = missed
                r = represented
                . = not yet a member
                v = valid voter (2 out of last 3 or 3/4 overall)
                n = not a valid voter
                t = chair eligible to vote only to make or break a tie


----------------------------------------------------------------------------------
Rationale for Negative Vote

[LP]

1. In the following text:

=20

The following example illustrates how user code can explicitly flush a
pending assertion report. In this case, failures of a1 are only reported
in time steps where bad_val_ok does not settle at a value of 1.

=20

always @(bad_val or bad_val_ok) begin : b1

   aa: assert #0 (bad_val) else $fatal("Sorry");

   if (bad_val_ok)

   disable a4;

end

=20

the reference to a1 does not exist in the example. Also, the target of
the disable "a4" does not exist.  I suspect aa -> a1 and a4 -> b1.

=20

2. as with disable of a block, there where probably be references to
assertion disables via VPI or $assertkill/$assertoff

=20

3. in 9.6.2, why is a deferred assertion singled out?  Doesn't this
apply to any assertion - simple immediate or concurrent?

=20

4. shouldn't we be adding "deferred assertion" and "simple immediate
assertion" to the glossary (annex Q). I am surprised that immediate
assertion is not already there.

=20

5. "The pass and fail statements in an action_block, if present, shall
each consist of a single subroutine call."  This paragraph sounds like
you are redefining action blocks. Why are they different from a simple
immediate assertion? =20

=20

6. why are only deferred assertions allowed outside of procedural code.
This seems to be another divergence from immediate assertions.

=20

7. Do we need to state somewhere that the attempt counter is only ever
incremented when the evaluation matures? =20

=20

8. I think it goes in Annex N, not Annex L.  Also, where should the
vpiIsDeferred to be added? I would think it belongs after:  #define
vpiImmediateAssert 665

On page 1124

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Mon Dec 17 07:20:28 2007

This archive was generated by hypermail 2.1.8 : Mon Dec 17 2007 - 07:21:00 PST