Re: [sv-ac] mantis issue 1648 (issue summary about the scope definition)

From: John Havlicek <john.havlicek_at_.....>
Date: Wed Aug 01 2007 - 10:54:34 PDT
Hi Francoise:

> 1) Can you have a default disable in a generate? If not (as the above
> 1st paragraphs suggests, why is the production
> 
> for default disable being added to the bnf for
> module_or_generate_item_declaration?

My understanding is that it is intended to allow a default disable
within a generate.  If the generate scheme eliminates such a default
disable, then that default disable has no effect.  If the generate
scheme results in more than one default disable in the same module,
interface, or program, then there shall be an error.

My expectation is that this should be the general understanding of the 
semantics of items appearing within generates.

> 2) In the second paragraph of the proposal "A default disable is valid
> only within its scope...."
> 
> is contradictory with the 3rd sentence: "The scope also includes any
> nested module, interface or program declaration".
> 
> Additionally the "is only valid within its scope" is the appropriate
> thing to state. I suspect you mean that the default disable
> 
> effect applies to its enclosing scope?

I think you are right that replacing the phrase "is valid only within
its scope" with something like "applies only within its scope" would
be better.  

However, I do not see the contradiction.  The third sentence that you
refer to is a part of the definition of the scope.  The intention is
for the scope of a default disable to include nested declarations
except those nested declarations that have their own default disable
declaration or that appear within nested declarations that have their 
own default disable declaration.

> 3) There are a few sentences in the proposal which I believe are
> redundant :
> 
> "A default disable may be declared as an item within a module,
> interface, or program.
> 
> The  scope of the default disable does not depend on the position of the
> declaration item within the module, interface, or
> 
> program. "=20
> 
> and later=20
> 
> "A default disable is valid only within its scope. The scope of a
> default disable includes the module, interface,
> 
> or program in which it is declared as an item. "
> 
> =20
> 
> I feel that the proposal can be reworded in a more concise way.

The sentence about the scope not depending on the position of the
declaration item was added in response to a specific question about
whether the default disable affects an assertion statement that 
textually precedes the default disable.

The intention is that the scope not depend on the position of 
the declaration item within the module, interface, or program within
which it appears as a declaration item.  

It does make a difference to the scope if the declaration item is
moved inside a nested declaration.  Then the declaration item no
longer appears as an item in the outer module and the scope of the
default disable no longer includes the outer module.

Any specific suggestions you have for making this more concise
and clearer will be appreciated.

J.H.


> X-Authentication-Warning: server.eda-stds.org: majordom set sender to owner-sv-ac@eda.org using -f
> X-MimeOLE: Produced By Microsoft Exchange V6.5
> Content-class: urn:content-classes:message
> Date: Wed, 1 Aug 2007 12:46:44 -0400
> X-MS-Has-Attach: 
> X-MS-TNEF-Correlator: 
> Thread-Topic: mantis issue 1648 (issue summary about the scope definition)
> Thread-Index: AcfUW4r/THDlFTAnR4yfOF6h/w/KkA==
> From: "Francoise Martinolle" <fm@cadence.com>
> Cc: <sv-ac@eda.org>
> X-Received: By mx-sanjose.cadence.com as l71GlAA2004664 at Wed Aug  1 09:47:10 2007
> X-eda.org-MailScanner: Found to be clean, Found to be clean
> X-Spam-Status: No, No
> Sender: owner-sv-ac@eda.org
> X-eda.org-MailScanner-Information: Please contact the ISP for more information
> X-eda.org-MailScanner-From: owner-sv-ac@server.eda.org
> X-OriginalArrivalTime: 01 Aug 2007 16:48:09.0946 (UTC) FILETIME=[BE1443A0:01C7D45B]
> 
> This is a multi-part message in MIME format.
> 
> ------_=_NextPart_001_01C7D45B.8B7601E2
> Content-Type: text/plain;
> 	charset="us-ascii"
> Content-Transfer-Encoding: quoted-printable
> 
> The champions reviewed the proposal of 1648.=20
> I raised some questions regarding the definition of default disable,
> extract below:
> A default disable may be declared as an item within a module, interface,
> or program. The scope of the
> 
> default disable does not depend on the position of the declaration item
> within the module, interface, or
> 
> program. Declaring more than one default disable item within the same
> module, interface, or program shall
> 
> result in a compilation error.
> 
> A default disable is valid only within its scope. The scope of a default
> disable includes the module, interface,
> 
> or program in which it is declared as an item. The scope also includes
> any nested module, interface, or
> 
> program declaration. The scope does not include instantiated modules or
> interfaces.
> 
> If a nested module, interface, or program declaration itself has a
> default disable declaration, then that default
> 
> disable applies within the nested declaration and overrides any default
> disable from without.
> 
> =20
> 
> 1) Can you have a default disable in a generate? If not (as the above
> 1st paragraphs suggests, why is the production
> 
> for default disable being added to the bnf for
> module_or_generate_item_declaration?
> 
> =20
> 
> 2) In the second paragraph of the proposal "A default disable is valid
> only within its scope...."
> 
> is contradictory with the 3rd sentence: "The scope also includes any
> nested module, interface or program declaration".
> 
> Additionally the "is only valid within its scope" is the appropriate
> thing to state. I suspect you mean that the default disable
> 
> effect applies to its enclosing scope?
> 
> =20
> 
> 3) There are a few sentences in the proposal which I believe are
> redundant :
> 
> "A default disable may be declared as an item within a module,
> interface, or program.
> 
> The  scope of the default disable does not depend on the position of the
> declaration item within the module, interface, or
> 
> program. "=20
> 
> and later=20
> 
> "A default disable is valid only within its scope. The scope of a
> default disable includes the module, interface,
> 
> or program in which it is declared as an item. "
> 
> =20
> 
> I feel that the proposal can be reworded in a more concise way.
> 
> Francoise
> 
> =20=20=20=20
> 
> 

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Wed Aug 1 10:55:04 2007

This archive was generated by hypermail 2.1.8 : Wed Aug 01 2007 - 10:55:11 PDT