RE: disallow distributed switch branches

From: Muranyi, Arpad <arpad.muranyi_at_.....>
Date: Thu Apr 26 2007 - 09:00:12 PDT
Ken,

Thanks for that insight, this is good information to
know.  I have come across problems with tolerances,
but putting it in this perspective it makes more
sense.

On the suggestion from a private email I looked
up "implicit equations" in the LRM, and I have
to admit that I was wrong earlier in this thread
when I stated that equations in Verilog-A had to
be arranged so that a variable appears only on
one side of the "<+" operator.  I understand now
that this is not a requirement.

However, going back to the original subject, which
revolved around contribution vs. assignment, I
think it would still be nice to have an assignment
like operator which doesn't accumulate like the
contribution operator.  To me it to be a lot safer
to code the equations that way...

Thanks,

Arpad
===================================================

-----Original Message-----
From: Ken Kundert [mailto:ken@designers-guide.com] 
Sent: Wednesday, April 25, 2007 12:49 PM
To: Muranyi, Arpad
Cc: verilog-ams
Subject: Re: disallow distributed switch branches

Arpad,
    Actually, this "feature" that VHDL-AMS has, that of being able to
connect two arbitrary expressions with an == operator is one of its
biggest flaws. This is one of three common ways of representing an
implicit equation. The three ways are ...
1. f(x) = 0
2. x = f(x)
3. f(x) = g(x)
Verlog-AMS forces users to use form 2. In VHDL-AMS, you can use any
form. They three forms are all mathematically equivalent. So it would
seem that VHDL-AMS is nicer in that it is giving the user the
flexibility to express the equation in the form that is most natural.
However, while the 3 forms are all mathematically equivalent, they
differ in a very practical manner for the simulator. The simulator needs
tolerances in order to determine if the equation is solved to sufficient
accuracy. In forms 1 and 3 the scaling of the equation is arbitrary, so
there are no natural tolerances. In form 2, the scaling is fixed by the
presence of x on one side of the equation, and x is quantity with a
nature, so we have the tolerance. So in Verilog-AMS, the users normally
do not have to worry about tolerances, which is good because tolerances
are confusing to most users. The fact that VHDL-AMS is unconstrained
means that users have to give different tolerances on each equation,
which means that the tolerances are embedded in the models. This is a
very ugly aspect of VHDL-AMS, one that we do not want to duplicate.

-Ken

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Thu Apr 26 09:00:59 2007

This archive was generated by hypermail 2.1.8 : Thu Apr 26 2007 - 09:01:04 PDT