Re: idt assert

From: Geoffrey.Coram <geoffrey.coram_at_.....>
Date: Tue Feb 05 2008 - 05:35:09 PST
There's a bouncing ball example at:
   http://www.eda.org/verilog-ams/models/ball.va

Is this the one you mean, Peter?  (It needs $ in front of
discontinuity, and perhaps some clean-up of the disciplines.)

What's not clear to me is this line:
   Vel(v) <+ idt(af,-Vel(v),mode);

where mode==1 when the position goes below zero, as detected
by the cross function.  When mode==1 (the assert is true),
then it seems the contribution becomes

   Vel(v) <+ -Vel(v);

and the only solution is Vel(v) == 0, instead of reversing the
velocity.  To reverse the velocity, I think you need to have
the RHS mean the value of Vel(v) at the previous timestep,
which I think violates what Ken believes idt() should do.

-Geoffrey




-----------------Original message---------------
From: Peter Liebmann <peterl_at_.....>
Date: Sat Oct 07 2006 - 08:08:54 PDT

I remember a few years ago at Antrim, I used idt with assert to model a
bouncing ball.  This was a very good test of the implementation.  I sent
the module to the committee - I will try to find it if no one has it.

In any case, I used across signal flow to describe position, velocity
and acceleration. The position was the integral of velocity with an
initial position (the height above the ground).  The velocity was the
integral of the acceleration with a DC initial condition which changes
during transient (ic is dynamic).  The assert is set to 1 when the
position is 0 (the ball hits the ground - I used "cross" for this) and
the assert value (ic) is the negative of the velocity (the ball changes
direction, thus bounces).

If assert is implemented correctly, the ball will bounce - if not, the
balls distance will go negative and never return to the surface (a
highly improbable example of Quantum tunneling).

PeterL

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Tue Feb 5 05:35:40 2008

This archive was generated by hypermail 2.1.8 : Tue Feb 05 2008 - 05:35:42 PST