Re: [sv-ac] 1495

From: John Havlicek <john.havlicek_at_.....>
Date: Mon Aug 21 2006 - 11:32:59 PDT
Hi Ed:

With the constant selects, we are really treating the different
parts of the local variable aggregate as independent local variables.

The kind of non-constant selects we thought of occur when a signal
determines what part of the aggregate local variable needs to be
updated.  E.g., the selector signal could be a tag or an address or
some kind or may determine what part of a structure or which view 
of a union is relevant.

In order to have non-constant selectors, we imagined treating the
local variable aggregate like a single variable rather than like a
collection of independent local variables.  

We imagined that a partial assignment would be treated as a total
assignment to the aggregate in which the parts that do not explicitly
get new values are reassinged their existing values.  The first
assignment to the aggregate within an evaluation thread would have to
be total (initializing the aggregate would be a typical way to
guarantee this).  Similarly, if the local variable aggregate became
unreferenceable under the flow rules, then its next assignment would have
to be total.

I think one can get this effect now by writing helper functions to
do the total assignments.  These helper functions will be rather
annoying, though.  

Because of the semantic difference of the two approaches to local
variable aggregates, it seems that syntax will be needed to
distinguish them.

I think we can wait on this.

J.H.

> X-MimeOLE: Produced By Microsoft Exchange V6.5.7226.0
> Content-class: urn:content-classes:message
> Date: Fri, 18 Aug 2006 11:23:01 -0700
> Thread-Topic: [sv-ac] 1495
> Thread-Index: AcbC7GTuAvMdDitxSHewYAZ2VaHTZgABtHhA
> From: "Eduard Cerny" <Eduard.Cerny@synopsys.com>
> X-OriginalArrivalTime: 18 Aug 2006 18:23:05.0441 (UTC) FILETIME=[591AD510:01C6C2F3]
> 
> John,
> 
> but that is still possible provided the selection is by constants. Would
> variable selection be required? Let's first see if such a thing is
> needed.
> 
> Best regards,
> ed
> =20
> 
> > -----Original Message-----
> > From: owner-sv-ac@eda.org [mailto:owner-sv-ac@eda.org] On=20
> > Behalf Of John Havlicek
> > Sent: Friday, August 18, 2006 1:33 PM
> > To: sv-ac@eda-stds.org
> > Subject: [sv-ac] 1495
> >=20
> > All:
> >=20
> > I vote "yes" on 1495 (Ed's mail already shows it accepted,
> > so the voting may be closed).
> >=20
> > I want to comment that we may want to relax this condition
> > later.  We had some discussion within Freescale about this,
> > but we are not ready to enter any proposal.
> >=20
> > The idea behind 1495 is that the local variable flow rules=20
> > apply to statically determined "locations", so if you dynamically
> > select an lvalue, e.g., the flow rules don't work.
> >=20
> > However, there may be situations in which you want to have
> > the components of an aggregate local variable filled in by
> > separate threads of the assertion evaluation. =20
> >=20
> > Hopefully nothing in 1495 will preclude this relaxation later.
> >=20
> > Best regards,
> >=20
> > John H.
> >=20
Received on Mon Aug 21 11:33:26 2006

This archive was generated by hypermail 2.1.8 : Mon Aug 21 2006 - 11:33:33 PDT