Re: [sv-ac] placement of "disable iff"

From: John Havlicek <john.havlicek_at_.....>
Date: Mon Jun 12 2006 - 04:46:25 PDT
Hi Dmitry, Ed:

Just to clarify, my suggestion was that default disable iff apply
to concurrent assertion directives, but be overridden by explicit
disable iff in the assertion directive.

J.H.

> X-IronPort-AV: i="4.05,228,1146466800"; 
>    d="scan'208"; a="49556302:sNHT26059194"
> X-MimeOLE: Produced By Microsoft Exchange V6.5
> Content-class: urn:content-classes:message
> Date: Mon, 12 Jun 2006 10:19:36 +0300
> X-MS-Has-Attach: 
> X-MS-TNEF-Correlator: 
> Thread-Topic: [sv-ac] placement of "disable iff"
> thread-index: AcaLCB5zOoI4wuWTTcGnwJYL+zHyEwAIrtEwAABU93AAAKU6QAAA8NpgAAAP8MAAfPL9IAAVQnDQAB07kqA=
> From: "Korchemny, Dmitry" <dmitry.korchemny@intel.com>
> X-OriginalArrivalTime: 12 Jun 2006 07:19:59.0841 (UTC) FILETIME=[9D5CCD10:01C68DF0]
> 
> Agree,
> Dmitry
> 
> -----Original Message-----
> From: Eduard Cerny [mailto:Eduard.Cerny@synopsys.com]=20
> Sent: Sunday, June 11, 2006 8:25 PM
> To: Korchemny, Dmitry; Faisal Haque (fhaque); Eduard Cerny; Lisa Piper;
> john.havlicek@freescale.com; sv-ac@verilog.org
> Subject: RE: [sv-ac] placement of "disable iff"
> 
> I'd agree with that. Default reset - not all properties are disabled by
> reset. Perhaps to override the deafult disable by using disable iff
> (1'b0) in the assertion?=20
> ed
> 
> 
> > -----Original Message-----
> > From: Korchemny, Dmitry [mailto:dmitry.korchemny@intel.com]=20
> > Sent: Sunday, June 11, 2006 3:18 AM
> > To: Faisal Haque (fhaque); Eduard Cerny; Lisa Piper;=20
> > john.havlicek@freescale.com; sv-ac@verilog.org
> > Subject: RE: [sv-ac] placement of "disable iff"
> >=20
> > We can state that the usage of disable iff in properties is=20
> > discouraged
> > and obsolete. Nevertheless the tools should support it, but probably
> > issue a warning message.
> >=20
> > Regards,
> > Dmitry
> >=20
> > -----Original Message-----
> > From: owner-sv-ac@server.verilog.org
> > [mailto:owner-sv-ac@server.verilog.org] On Behalf Of Faisal Haque
> > (fhaque)
> > Sent: Thursday, June 08, 2006 10:40 PM
> > To: Eduard Cerny; Lisa Piper; john.havlicek@freescale.com;
> > sv-ac@server.verilog.org
> > Subject: RE: [sv-ac] placement of "disable iff"
> >=20
> > Yes we enforce it through methodology
> >=20
> > And it is not so new that we can afford to break the=20
> > language. There are
> > enough users that it is not some thing to be undertaken=20
> > without serious
> > exploration of alternatives.
> > A lot of users are writing a lot of code right now.=20
> > So lets explore alternatives before we go down this road.
> > -Faisal
> >=20
> >=20
> >=20
> >=20
> > > -----Original Message-----
> > > From: Eduard Cerny [mailto:Eduard.Cerny@synopsys.com]=20
> > > Sent: Thursday, June 08, 2006 12:35 PM
> > > To: Lisa Piper; Eduard Cerny; Faisal Haque (fhaque);=20
> > > john.havlicek@freescale.com; sv-ac@verilog.org
> > > Subject: RE: [sv-ac] placement of "disable iff"
> > >=20
> > > But what John proposes is possible even now, question of=20
> > > methodology. It does not have to be enforced syntactically by=20
> > > forbidding disable iff in a property.
> > > ed=20
> > >=20
> > > > -----Original Message-----
> > > > From: Lisa Piper [mailto:piper@cadence.com]
> > > > Sent: Thursday, June 08, 2006 3:14 PM
> > > > To: Eduard Cerny; Faisal Haque (fhaque);=20
> > > john.havlicek@freescale.com;=20
> > > > sv-ac@verilog.org
> > > > Subject: RE: [sv-ac] placement of "disable iff"
> > > >=20
> > > > Ignoring nested "disable iff"'s would hide issues.  Issuing=20
> > > a warning=20
> > > > could lead to lots of warnings that are often overlooked.=20
> >  A slight=20
> > > > modification of that would be to issue a warning or error=20
> > > iff a nested=20
> > > > "disable iff" is different from the top level property. =20
> > > For clocks,=20
> > > > an error is supposed to occur if an assertion in procedural=20
> > > code uses=20
> > > > a different clock, but it is ok if it is the same clock. =20
> > > Disable iff=20
> > > > could be the same way - it is ok to be nested only if it is=20
> > > consistent=20
> > > > with the top level disable iff.
> > > >=20
> > > > But frankly, I'd prefer to see the root cause of the issue=20
> > > solved as=20
> > > > John proposed, even if there is a backwards compatibility=20
> > > issue. The=20
> > > > standard is new now and will be around for a very long time!
> > > >=20
> > > > lisa
> > > >=20
> > > > -----Original Message-----
> > > > From: owner-sv-ac@verilog.org
> > > > [mailto:owner-sv-ac@verilog.org] On Behalf Of Eduard Cerny
> > > > Sent: Thursday, June 08, 2006 2:50 PM
> > > > To: Faisal Haque (fhaque); john.havlicek@freescale.com;=20
> > > > sv-ac@verilog.org
> > > > Subject: RE: [sv-ac] placement of "disable iff"
> > > >=20
> > > > Faisal, I agree, we should avoid the compatibility problem.=20
> > > Would it=20
> > > > make sense to ignore a disable iff if it appears in a=20
> > > nested property?
> > > > Just issue a warning?
> > > >=20
> > > > ed
> > > >=20
> > > > > -----Original Message-----
> > > > > From: owner-sv-ac@verilog.org
> > > > > [mailto:owner-sv-ac@verilog.org] On Behalf Of Faisal=20
> > > Haque (fhaque)
> > > > > Sent: Thursday, June 08, 2006 2:47 PM
> > > > > To: john.havlicek@freescale.com; sv-ac@verilog.org
> > > > > Subject: RE: [sv-ac] placement of "disable iff"
> > > > >=20
> > > > > John,
> > > > > Interesting thought. However, I think we should avoid backward=20
> > > > > compatibility issues. Is there another way to do this?
> > > > > Faisal
> > > > >=20
> > > > >=20
> > > > > > -----Original Message-----
> > > > > > From: owner-sv-ac@verilog.org
> > > > > > [mailto:owner-sv-ac@verilog.org] On Behalf Of John Havlicek
> > > > > > Sent: Thursday, June 08, 2006 7:29 AM
> > > > > > To: sv-ac@verilog.org
> > > > > > Subject: [sv-ac] placement of "disable iff"
> > > > > >=20
> > > > > > All:
> > > > > >=20
> > > > > > We currently require that "disable iff" be placed only=20
> > > at the top=20
> > > > > > level.
> > > > > >=20
> > > > > > Discussions in P1800 about the relation of "disable iff" to=20
> > > > > > coverage and action blocks seem to have converged (or be
> > > > > > converging) to treating a disabled evaluation as=20
> > neither "true"=20
> > > > > > nor "false".
> > > > > >=20
> > > > > > The formal semantics currently allows "disable iff" to=20
> > > be nested. =20
> > > > > > The main reason for this was to simplify the inductive=20
> > > definition=20
> > > > > > of the semantics.
> > > > > >=20
> > > > > > In the past, I have had the vision of relaxing the rules on=20
> > > > > > "disable iff" to make it nestable and an analog of PSL=20
> > > "abort". =20
> > > > > > However, this will not work well with the "neither true=20
> > > nor false"=20
> > > > > > treatment of disabled evaluations.
> > > > > >=20
> > > > > > Now my vision is different--that "disable iff" be=20
> > restricted to=20
> > > > > > the top level eternally.  In the future, we can add=20
> > > accept/reject=20
> > > > > > as in ForSpec, or the PSL abort syntax, to serve as the=20
> > > nestable=20
> > > > > > operators that yield "true" or
> > > > > "false" results.
> > > > > >=20
> > > > > > Assuming that we will keep "disable iff" at the top level=20
> > > > > > eternally, there is little or no use in putting it=20
> > > inside property=20
> > > > > > declarations.
> > > > > > To me, it seems we should think of "disable iff" as=20
> > attached to=20
> > > > > > the assertion directives.
> > > > > >=20
> > > > > > What do people think about making this change syntactically? =20
> > > > > >=20
> > > > > > The change would introduce a backwards compatibility problem
> > > > > > -- people who have written "disable iff" expressions inside=20
> > > > > > property declarations would have to move them to the relevant=20
> > > > > > assertion directives.
> > > > > >=20
> > > > > > The benefit would be a syntactic enforcement of the
> > > > top-level rule.
> > > > > > And I think the usage of "disable iff" would be simplified. =20
> > > > > > People would not have to worry about not being able to=20
> > > instantiate=20
> > > > > > a property with a "disable iff" inside
> > > > another property.
> > > > > >=20
> > > > > > I think we should also add a default "disable iff" at=20
> > > the module=20
> > > > > > level (and in other scopes where it makes sense) and have the=20
> > > > > > default apply to all the assertion directives that do=20
> > not have=20
> > > > > > otherwise specified "disable iff" expressions.
> > > > > >=20
> > > > > > Best regards,
> > > > > >=20
> > > > > > John H.
> > > > > >=20
> > > > >=20
> > > > >=20
> > > >=20
> > > >=20
> > >=20
> >=20
Received on Mon Jun 12 04:46:02 2006

This archive was generated by hypermail 2.1.8 : Mon Jun 12 2006 - 04:46:22 PDT