Issues on discipline and Nature compatibility


Subject: Issues on discipline and Nature compatibility
From: Srikanth Chandrasekaran (schandra@asc.corp.mot.com)
Date: Mon Jan 22 2001 - 22:25:28 PST


Reply To: schandra@asc.corp.mot.com
Organization: Motorola Australia Software Center
X-Mailer: ELM [version 2.5 PL2]
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Hi all,

This is an issue with regards to discipline and Nature Compatibility
as described in Section 3.8 of LRM 1.9 that has been identified
by the team at Motorola Australia.
We have a proposal also attached to this mail on this section.

1. The opening paragraph begins by discussion of net compatibility.
However, it then states to conclude: "The following
rules apply in deciding whether two disciplines are compatible". Some
of the rules presented are not about disciplines per se, but rather
about net usage, which then contradicts what the statement has.

2. There is no rule to state that a nature is compatible
with itself.

3. There is no rule to state that a nature is compatible
with its base nature.

4. The Nature Incompatibility rule does not make sense.
A. If the natures are compatible, of course they will be not
incompatible!
B. A nature cannot be compatible with a non-existent nature. For a
nature to be non-existent, it must not be defined. The correct wording
of this rule should in fact refer to a non-existent binding within the
discipline.

5. The Potential and Flow Compatibility Rules state effectively the same
thing. It would be better simply for each to state that if the potential
or flow natures are incompatible, then the disciplines themselves must
be incompatible. This is much clearer and more concise.

6. Empty Discipline Rule is misleading: an empty discipline has no
domain, but rather is compatible with any other discipline, regardless
of domain.

7. Discrete Domain Rule is actually applying to nets; disciplines
(discrete or otherwise) do not have a signal value type.

8. Signal Connection Rule is also applying to net usage. This is also
two different rules which are tenuously linked, but have been combined.
The first rule states that nets with disciplines of different domains
states that nets with incompatible disciplines with the same domain
cannot be connected together; to do so will result in an error.

9. The rules themselves are scattered and intermixed. It would be much
better to separate them into groups of rules about net connections,
groups of rules about discipline compatibility, and groups of rules
about nature compatibility (perhaps even in sub-sections?). This would
make it very clear and obvious what sort of things are required for
compatibility at the net connection level, at the discipline level, and
at nature level - which are kind-of hierarchical because of the way
things are defined.

Proposal:
3.8 Net Compatibility
Certain operations can be done on nets only if the two (or more) nets
are compatible. For example, if an access function has two nets as
following rules shall apply to determine the compatibility of two
(or more) nets:

DISCRETE DOMAIN RULE: Digital nets with the same signal value type (ie.
bit, real, integer) are compatible with each other if their disciplines
are compatible, ie. the discipline has a discrete domain or is empty.
SIGNAL DOMAIN RULE: It shall be an error to connect two ports or nets of
different domains unless there is a connect statement (see 8.4) defined
between the disciplines of the nets or ports.
SIGNAL CONNECTION RULE: It shall be an error to connect two ports or
nets of the same domain with incompatible disciplines.

The following rules shall apply to determine discipline compatibility:
SELF RULE (DISCIPLINE): A discipline is compatible with itself.
EMPTY DISCIPLINE RULE: An empty discipline is compatible with all other
disciplines, regardless of domain.
DOMAIN INCOMPATIBILITY RULE: Disciplines with different domain
attributes are incompatible.
POTENTIAL INCOMPATIBILITY RULE: Disciplines with incompatible potential
natures are incompatible.
FLOW INCOMPATIBILITY RULE: Disciplines with incompatible flow natures
are incompatible.

The following rules shall apply to determine nature compatibility:
SELF RULE (NATURE): A nature is compatible with itself
NON-EXISTENT BINDING RULE: A nature is compatible with a non-existent
discipline binding.
BASE NATURE RULE: A derived nature is compatible with its base nature.
DERIVED NATURE RULE: Two natures are compatible if they are derived from
the same base nature.
NATURE COMPATIBILITY RULE: Two natures are compatible if they have the
same value for the access and units attribute.

Regards,
Sri & Graham

--
Srikanth Chandrasekaran
EDA Solutions and Products SBU
Phone: +61-8-8203 3592 Fax: x3501
email: schandra@asc.corp.mot.com



This archive was generated by hypermail 2b28 : Mon Jan 22 2001 - 22:32:59 PST