[sv-ac] RE: mantis 3295: assertion control tasks

From: Bisht, Laurence S <laurence.s.bisht@intel.com>
Date: Mon Mar 14 2011 - 14:09:33 PDT

Hello back Manisha,

You are right ( I meant $assertkill(0) ), I always get confused between 1 and 0.
You understand my request correctly. It would be nice if we can discuss it in next sv-ac meeting.

Thanks,
Laurence

From: Kulshrestha, Manisha [mailto:Manisha_Kulshrestha@mentor.com]
Sent: Monday, March 14, 2011 6:41 AM
To: Bisht, Laurence S
Cc: sv-ac@eda.org
Subject: RE: mantis 3295: assertion control tasks

Hi Laurance,

The argument 'levels' helps in handling this case. If the value of levels is '1', it will only affect 'A (it does not affect any of the modules instantiated by A). Similarly if the value is '2', it affects direct instantiations of A but will not affect 'X' as 'X' is one level below the hierarchy. So, the user will have to use different $assertkill commands to selectively kill the assertions in the hierarchy.

Now, are you saying that you are looking for a way to exclude certain modules in the hierarchy in the same command ? If that is the case then this needs to be looked into as we have not discussed this yet.

Manisha

________________________________
From: Bisht, Laurence S [mailto:laurence.s.bisht@intel.com]
Sent: Sunday, March 13, 2011 8:10 PM
To: Kulshrestha, Manisha
Cc: sv-ac@eda.org
Subject: RE: mantis 3295: assertion control tasks
Hello back Manisha,

One useful scenario is to invert the control.
Which means: suppose you have some hierarchy in which at some point you would like to choose some module A, enable all assertions in A and its sub-modules and disable all other assertions in the hierarchy.

Example:
[cid:image001.png@01CBE29B.AE8DADC0]

The request is to be able at some point to kill the properties in A without effect on X, please note that $assertkill(A, 1) will not do the job because it will kill the properties in X, even if you do afterwards $asserton(X).

Do you think that it is possible also to support this kind of control?

Thanks,
Laurence
From: owner-sv-ac@eda.org [mailto:owner-sv-ac@eda.org] On Behalf Of Kulshrestha, Manisha
Sent: Tuesday, March 08, 2011 10:52 AM
To: Bresticker, Shalom; sv-ac@eda.org
Subject: [sv-ac] RE: mantis 3295: assertion control tasks

Hello Shalom,

I have incorporated your comments in the latest proposal uploaded. I have also made all the arguments after first one optional to keep the typing minimal for simple cases. Currently the text does not make it clear that arguments are not constants and they can be variables. Does it need to be stated or it is obvious if there is no restriction specified ?

Thanks.
Manisha

________________________________
From: Bresticker, Shalom [mailto:shalom.bresticker@intel.com]
Sent: Monday, March 07, 2011 7:18 PM
To: Kulshrestha, Manisha; sv-ac@eda.org
Subject: RE: mantis 3295: assertion control tasks
Hi,

1. The proposal extensively describes argument values in a hex format, as 0x1, etc., with the "0x" prefix. This is not Verilog syntax. There is also no reason that the values need to be in hex format. They do not even need to be constants. They could be variable expressions, and the value used at run-time.

2. The proposal says, "When invoked with no arguments, the system task shall apply to all assertions." The sentence is not new, but now it applies to $assertcontrol. I don't see that a default control type is specified if there are no arguments.

3. "When the task is specified with arguments, the second and third arguments for tasks $assertcontrolon, $assertcontroloff and $assertcontrolkill shall be integer values and valid values for these arguments and their effects are explained in tables 20-6 and 20-7." Tasks of such names are not defined. Shouldn't it be simply "$assertcontrol"?

4. "- $asserton[(levels[, list])] == $assertcontrol[(1, 0x7, 0x7, levels [,list])]
 - $assertoff[(levels[, list])] == $assertcontrol[(2, 0x7, 0x7, levels [,list])]

 - $assertkill[(levels[, list])] == $assertcontrol[(3, 0x7, 0x7, levels [,list])]"

There should be no square brackets around the $assertcontrol arguments here.

5. In the example at the bottom of page 3, use "logic" instead of "reg". The comment describe time in terms of ns, but the delays do not contain any time unit specification.

Regards,
Shalom

From: owner-sv-ac@eda.org [mailto:owner-sv-ac@eda.org] On Behalf Of Kulshrestha, Manisha
Sent: Monday, March 07, 2011 11:45 AM
To: Kulshrestha, Manisha; sv-ac@eda.org
Subject: [sv-ac] mantis 3295: assertion control tasks

Hi,

I have uploaded a new proposal based on our latest discussion and feedback from sv-bc. I have not incorparated attribute lookup as I found the following in the LRM section 3.13:

h) The attribute name space is enclosed by the (* and *) constructs attached to a language element (see 5.12). An attribute name can be defined and used only in the attribute name space. Any other type of name cannot be defined in this name space.

Based on this, it may not be valid to lookup these attributes at other places in the design.

Thanks.

Manisha

________________________________
From: owner-sv-ac@eda.org [mailto:owner-sv-ac@eda.org] On Behalf Of Kulshrestha, Manisha
Sent: Wednesday, February 23, 2011 5:26 PM
To: sv-ac@eda.org
Subject: [sv-ac] FW: [sv-bc] RE: question about new enum types in standard package
Hi,

Based on the discussion here, looks like defining enums in std package is not going to work (due to name collision and also bitwise ORing may not work). I am planning to keep integer values for now for the arguments.

About the severity discussion yesterday, that is also kind of new thing. Currently LRM only provides a way to define attributes and leaves it to the tools how to interpret them or how to use them. So, I am a bit skeptical about using attributes in one of the arguments. Usually tools can provide this support instead of language providing all the features. What do you think ?

Thanks.
Manisha

________________________________
From: Greg Jaxon [mailto:Greg.Jaxon@synopsys.com]
Sent: Wednesday, February 23, 2011 2:00 AM
To: Kulshrestha, Manisha
Cc: sv-bc@eda.org
Subject: Re: [sv-bc] RE: question about new enum types in standard package
If I were paid to be a language designer (I'm not), I'd be tempted to suggest keyword type modifiers for enum such as:

onehot enum {RED,YELLOW,GREEN}; // RED=1, YELLOW=2, GREEN=4, only those values are legal

subset enum {dt_assert, dt_cover, dt_assume}; // similar, but all 3-bit values are legal

This last definition by example skirts one other objection to your std enum proposal:
"assert" "cover" and "assume" are already keywords, so they'd be rejected as tags unless you ("\assert ") escape them.
It also suggests more overloadings of the {}s, which are already carrying a lot of syntactic baggage.
OTOH, "Notation is a tool of Thought" (Ken Iverson 1979); you're doing an ordinary programming chore and
the language notation isn't helping much...

Greg Jaxon

On 2/22/2011 1:47 PM, Greg Jaxon wrote:

Also the desire to "bitwise-or" together multiple enum values isn't consistent with strong typing of enum,

even if you've chosen a one-hot encoding for their values. Rather this sounds like a static class

implementing a small finite set.

Greg Jaxon

On 2/22/2011 12:00 PM, Bresticker, Shalom wrote:

It would be better to define a way that will prevent any collisions.

Shalom

-----Original Message-----

From: Gran, Alex [mailto:alex_gran@mentor.com]

Sent: Tuesday, February 22, 2011 7:51 PM

To: Kulshrestha, Manisha; Bresticker, Shalom; sv-bc@eda.org<mailto:sv-bc@eda.org>

Cc: sv-ac@eda.org<mailto:sv-ac@eda.org>

Subject: RE: [sv-bc] RE: question about new enum types in standard

package

Mantis 1820 would help some in preventing name collisions between the

std enums and user design.

http://www.eda-twiki.org/svdb/view.php?id=1820

-----Original Message-----

From: owner-sv-bc@eda.org<mailto:owner-sv-bc@eda.org> [mailto:owner-sv-bc@eda.org] On Behalf Of

Kulshrestha, Manisha

Sent: Tuesday, February 22, 2011 9:21 AM

To: Bresticker, Shalom; sv-bc@eda.org<mailto:sv-bc@eda.org>

Cc: sv-ac@eda.org<mailto:sv-ac@eda.org>

Subject: [sv-bc] RE: question about new enum types in standard package

Hi Shalom,

I am not sure if I add these enums to std package, will it preclude

users from using them. we do not want to preclude them that is the

reason we thought about putting them in std package. But I guess, if

std

package is imported, then all the enums will be directly visible and

they will be precluded. Is that right ?

Manisha

-----Original Message-----

From: Bresticker, Shalom [mailto:shalom.bresticker@intel.com]

Sent: Tuesday, February 22, 2011 7:44 PM

To: Kulshrestha, Manisha; sv-bc@eda.org<mailto:sv-bc@eda.org>

Cc: sv-ac >> "sv-ac@eda.org"<mailto:sv-ac@eda.org>

Subject: RE: question about new enum types in standard package

Hi,

I looked over the current system task definitions.

I think that today non-numeric arguments are done as strings, such as

"r" or "rb" as file descriptor types in Table 21-7.

Would such enum definitions turn "on", "off", "kill" into keywords or

into predefined enum value names that would preclude users from using

them in their own enum declarations or parameter declarations or signal

names?

Regards,

Shalom

-----Original Message-----

From: owner-sv-bc@eda.org<mailto:owner-sv-bc@eda.org> [mailto:owner-sv-bc@eda.org] On Behalf Of

Kulshrestha, Manisha

Sent: Tuesday, February 22, 2011 10:00 AM

To: sv-bc@eda.org<mailto:sv-bc@eda.org>

Subject: [sv-bc] question about new enum types in standard package

SV-BC,

In sv-ac, we are discussing about adding new system tasks which would

have difference arguments. Here is an example:

$assertcontrol(level, control_type, directive_type, ...);

Here control_type can be either on/off/kill. Similarly directive_type

can be assert, cover or assume. We want to define some enums to

represent these values so that users do not need to pass integer

values. Instead the users can use one of these enums (or even pass OR

of multiple of them).

Is there a precedent for such a thing ? Is standard package defined

in

Annex G right place to insert these new enum types ?

Thanks.

Manisha

---------------------------------------------------------------------

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.
---------------------------------------------------------------------
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<http://www.mailscanner.info/>, and is
believed to be clean.
---------------------------------------------------------------------
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.
---------------------------------------------------------------------
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.
---------------------------------------------------------------------
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.

image001.png
Received on Mon Mar 14 14:10:31 2011

This archive was generated by hypermail 2.1.8 : Mon Mar 14 2011 - 14:10:35 PDT