[sv-ac] ballot result for 2089

From: John Havlicek <john.havlicek_at_.....>
Date: Tue Jan 22 2008 - 04:26:25 PST
Hi Folks:

Our ballot on 2089 failed due to negative votes.

See the results below.

J.H.

----------------------------------------------------------------------------------
Ballot on Mantis 2089

- Called on 2008-01-15, final ballots due by 2008-01-21 T 23:59-08:00.

yv[xxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxx-xx] Doron Bustan (Intel)
 v[xxxxx--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-x] Eduard Cerny (Synopsys)     
 n[----------------------x-xxx---------x-x-xxx-x---x] Surrendra Dudani (Synopsys)
nv[xxxxxxxx-xxxxxx-xxxxxxxxx-xx-xxxxx-xxx-xxx-------] Yaniv Fais (Freescale)
 t[xxxx--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] John Havlicek (Freescale - Chair)
yv[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxrxxxxxxxxxxxxx-xxx] Dmitry Korchemny (Intel - Co-Chair)
nv[xxxxx-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[xxxxxxxxxxxxxxxxxxx..............................] Johan Martensson (Jasper)
 n[---------------------------x--x-xx--xx-xxxxxxx-x-] Hillel Miller (Freescale)
nv[xxxxx-xxxx-xxxxxxxxxxxxxxxxxxx-xxxxxxxx-xxxxxxxxx] Lisa Piper (Cadence)
yv[xxxxxx-x-x-xx-xxxxxxx-x-xxxxx-x..................] Erik Seligman (Intel)
 n[-------x-x----x--------xxxx-----xxxx-xx----------] Tej Singh (Mentor Graphics)
yv[xxxxxx-x-xxxxxx--xxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxx] Bassam Tabbara (Synopsys)
yv[xxxxxxxxx-xxxxxxxxxxxxx-xxxxxxxxxx...............] Tom Thatcher (Sun Microsystems)
   |------------------------------------------------- attendance on 2008-01-15
 |--------------------------------------------------- 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

[MK]

1. I think the following statement (page 2) should be re-phrased.I
assume the intention is to say that that checker action blocks may
contain any code which is normally allowed in action blocks and final
blocks may contain any code which is normally allowed in final blocks.
By combining the two together, it gives the impression that final blocks
may contain the code which is normally allowed in action blocks or final
procedures. Which is incorrect.=20

"Checker action blocks or final procedures shall not write into free
variables, but they may contain any other code which is normally allowed
in action blocks or final procedures in modules."

2. I do not understand allowing assignments to formal arguments in final
blocks in a checker. Since these final blocks run at the end and their
order is non-deterministic, what will be the use of this ? Since the
formal may be a checker variable of an upper level checker, the
following contradicts with a statement in 16.18.4 where it says that
writing to a checker variable is not allowed in final procedure:
"However declarations of other variable types, which are not allowed
within a checker body are allowed, and code within a final procedure is
allowed to read from (but not write to) checker variables declared in
the checker body which contains the procedure."

"Checkers may assign values to their formal arguments, treating them as
output arguments, though no explicit
notation of this is required in the checker declaration statement. Each
formal argument used in this way may
be assigned a value either in a checker body, or in checker action
blocks, or in a final procedure. If a formal
argument is written in the checker body, its corresponding actual
argument shall be a checker variable or a
formal argument in another checker. If a formal argument is assigned a
value in a checker, it shall be
untyped. The output actual argument shall have a static lifetime."

[MK]

Please ignore my comment about contradiction in (2) as I did not
understand that part properly.

[YF]

in page 2 it is said:



Action blocks of assertions within a checker will be referred to as checker action blocks, and the rest of the

checker, with the exception of any final procedure code, will be referred to as checker body

 

but the following page has this section:

A checker body may contain the following elements:

... 

 initial_check, and always_check, and final procedures

Also page 3 (16.18.4 Checker procedures) says:

The following procedures are allowed inside a checker body:

 initial_check procedure, and

 always_check procedure

 final procedure

 
I think this is contradictory (or at least I don't understand it) , what is the reason for the exception mentioned in page 2 ? if there isn't any I think it should simply be removed.

[LP]

1. I find it confusing that a "final procedure" is in a checker body but
is not part of the checker body. I'm not sure why this distinction is
needed. It adds unnecessary confusion.

=20

2.   "Checker action blocks or final procedures shall not write into
free variables, but they may contain any other

code which is normally allowed in action blocks or final procedures in
modules."

=20

I am wondering if it would be better to say the following so that there
is no question whether things like action block controls apply:

=20

Checker action blocks are almost the same as non-checker action blocks.
They may contain any code that is allowed in an action block outside of
a checker, have the same default characteristics, and are impacted by
the same action block controls.  An additional restriction is that a
checker action block shall not write into free variables.  Similarly, a
final procedure in a checker follows all the same rules and regulations
as a final procedure in a module, with the additional restriction that
it shall not write info free variables.=20

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

[ES]

Minor friendly amendment near end of 16.18.4:  "However declarations of
other variable types, which are not allowed within a
checker body are allowed, ..." =3D=3D>
"However declarations of other variable types, which are not allowed
within a
checker body, are allowed, ..." =3D=3D>

[DK]

Top of page 5: "end" should be in bold.

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Tue Jan 22 04:29:04 2008

This archive was generated by hypermail 2.1.8 : Tue Jan 22 2008 - 04:29:21 PST