RE: analog_expression and analog_operator

From: Boris Troyanovsky <boris_at_.....>
Date: Tue Sep 26 2006 - 08:45:31 PDT
Hi Laurent,

My interpretation is that white_noise() and ac_stim() are both
"epsilon-phenomena". So white_noise()*white_noise() goes as epsilon^2,
which is zero for a first-order linearized analysis like ac or noise.
Something like sin(white_noise()) goes as epsilon (sin(epsilon) -->
epsilon) so that would indeed show up in a small-signal noise analysis.

Perhaps we should formalize this in the standard?

Regards,

- Boris

> Dave,
>
> Can we have white_noise()*white_noise()?
> What does-it mean physically?
>
> Thanks,
>
> Laurent Lemaitre
> Freescale - Genève
>
> [X] General Business Information
> [ ] Freescale Internal Use Only
> [ ] Freescale Confidential Proprietary
>
>
>> -----Original Message-----
>> From: Dave Miller [mailto:David.L.Miller@freescale.com]
>> Sent: Tuesday, September 26, 2006 4:07 PM
>> To: Lemaitre Laurent-r29173
>> Cc: verilog-ams@eda.org
>> Subject: Re: analog_expression and analog_operator
>>
>>
>> Hi Laurent,
>> No I don't believe this is the case, the BNF is not expressed
>> correctly
>> in 2.2 for this situation. Ideally you can use an analog opertor
>> anywhere within an analog block as long as it is evaluated at each
>> iteration of a time point (so you can't use them in
>> conditional code).
>> In 2.2 the BNF should include a rule for:
>> | analog_expression binary_operator analog_expression
>>
>> In the latest draft that is being worked on, the BNF has been
>> corrected
>> to include this rule. In fact the BNF in the latest draft is greatly
>> improved and addresses lots of ambiguities such as this.
>>
>> Cheers...
>> Dave
>>
>> Lemaitre Laurent-r29173 wrote:
>> >
>> > Hi,
>> >
>> > I was looking at the LRM 2.2. I observed that analog_expression is
>> > BNF-defined as:
>> > analog_expression ::= expression | analog_operator(..) |
>> > analog_system_function(..)
>> >
>> > Then analog_expression is just used in analog_procedural_assignment,
>> > analog_indirect_branch_assignment
>> > and analog_branch_contribution.
>> >
>> > Does-it mean that the following code is not LRM 2.2 valid?
>> >   I(p,q)<+mycurrent+white_noise(mynoise);
>> >
>> > (the RHS uses analog_operator inside expression).
>> >
>> > Thanks,
>> >
>> > Laurent Lemaitre
>> > Freescale - Genève
>> >
>> > [X] General Business Information
>> > [ ] Freescale Internal Use Only
>> > [ ] Freescale Confidential Proprietary
>> >
>>
>>
>> --
>> =====================================
>> -- David Miller
>> -- Design Technology (Austin)
>> -- Freescale Semiconductor
>> -- Ph : 512 996-7377 Fax: x7755 =====================================
>>
>>
>
>
Received on Tue Sep 26 08:45:35 2006

This archive was generated by hypermail 2.1.8 : Tue Sep 26 2006 - 08:45:44 PDT