Re: Proposal


Subject: Re: Proposal
From: Mark Zwolinski (mz@ecs.soton.ac.uk)
Date: Tue Dec 18 2001 - 03:02:39 PST


Yannick (and the rest of the mailing list),

(This is also partly in response to Eduard Moser's reply).

Yannick HERVE wrote:
>
> Hello,
>
> I want to submit to you some ideas for the future of the IEEE 1076.1999
> standard.
>
> 1/ For now I work on a model who needs memory in the analog "process".
> It is a Preisach approach aiming at modeling a hysteretic material.
> I use the hAMSter tool. With it, the procedural statement allows to keep
> values of variables between two evaluations. For my work it is very good
> (it is the only solution of my problem). By the way, the standard says
> that the declaration in the procedural will be reinitialized at each
> avaluation.
> I think It would be better to let variables in procedural to be static
> and to keep their values between two evaluations.
>

I'm not quite sure where in the standard this is stated, but it must be
true as a procedural is defined in terms of an equivalent simple
simultaneous statement and implied function body. The declarations in
the implied function must be reinitialized each time, so the HAMSTER
imterpretation is incorrect.

Eduard suggested using a "global" (i.e. shared) variable. Note that the
definition of a shared variable is about to change in 1076 to require
the use of a protected type and 1076.1 will have to follow this change
very soon. However, that is the obvious way to work round your problem.
(Interestingly, (!) you cannot declare a shared variable in a process or
subprogram, but the standard does not explicitly ban a declaration in a
procedural. I think we have to assume that because of the implied
function, such a declaration in a procedural is illegal.)

> 2/ I am very stucked for a model. I want to schedule a process at each
> ASP (Analog Simulation Point) in order to monitor the time step.
>
> I think it would be good for the model designer to have access from the
> analog kernel to an implicit signal, ASP, which toggles between true and
> false at each ASP.
>
> The following instruction would then be valid :
> wait on ASP;
> or wait on ASP until A='0';
> or wait on ASP for 3 ns;
>
> Such constructs would offer great possibilities, as a process could
> actually "see" an ASP.
>

This is related to the recent discussion about the meaning of NOW in the
analogue part. As Eduard Moser noted, this could tie the model into one
particular simulator. Worse, the use advocated here would violate the
principle of the mixed-signal simulation cycle. The idea is that the
analogue simulator runs ahead of the digital simulator, because it is
sometimes necessary for the analogue simulation to backtrack. You would
have to impose certain constraints on the activation of such a signal
(e.g. it's not activated until you know that the time step succeeded and
that we won't backtrack to an earlier time). It might, however, be
possible to include some mechanism where the analogue simulator
activates a signal at a pseudo-timestep.

> 3/ Is it possible to open the syntaxic expession 'dot ?
> In order to express new class of models it would be very interesting to
> write
> Q1'dot(Q2) where Q1 and Q2 are known quantities. When Q2 is not present
> the derivative is relative to time.
>
> With the current syntax the compiler is able to isolate "analog
> equations" and "logic equations". With this new syntax the compiler
> would be able to manage "differential equations".
> It would be up to the simulator to eventually manage this feature.

You're advocating an entirely new simulator model. The assumption in
VHDL-AMS is that the analogue simulator models lumped components
connected at discrete nodes. For arbitary derivatives, you would need a
finite difference or finite element (or similar) simulator that can
model distributed elements. Don't forget, we have to use numerical
methods to calculate these quantities. (Alternatively, the simulator
needs to be able to do symbolic differentiation!)

>
> Best regards
>
> --
> Yannick HERVE

Mark Zwolinski

-- 
===================================================================
Dr Mark Zwolinski 
Electronic System Design Group           Tel. (+44) (0)23 8059 3528   
Dept. of Electronics & Computer Science  Fax. (+44) (0)23 8059 2901
University of Southampton                 Email. mz@ecs.soton.ac.uk
Southampton SO17 1BJ, UK             http://www.ecs.soton.ac.uk/~mz



This archive was generated by hypermail 2b28 : Tue Dec 18 2001 - 03:20:41 PST