RE: Potential Contributions

From: <peter_liebmann_at_.....>
Date: Fri Jan 26 2007 - 13:02:10 PST
The example below should cause a simulation error, not a verilog_a compile error.

PeterL

-----Original Message-----
From: owner-verilog-ams@server.eda.org [mailto:owner-verilog-ams@server.eda.org] On Behalf Of David Miller
Sent: Friday, January 26, 2007 12:54 PM
To: verilog-ams@server.eda.org
Subject: Re: Potential Contributions

Hi Peter,
Okay my example was misleading.
I'll try this.
module parent();
    electrical a,b;
    ground b;
    child #(.POT(5)) ch1(a,b);
    child #(.POT(10)) ch1(a,b);
endmodule
module child(p,n);
    electrical p,n;
    parameter integer POT = 0;
    analog begin
       V(p,n) <+ POT;
    end
endmodule

Is this an example of why potential contributions do not accumulate 
across analog processes? Since here I expect simulator to error, not 
tell me potential diff between a,b is 15?

Dave

peter_liebmann@agilent.com wrote:
> The following example:
>
> module bb();
>     electrical a,b;
>     branch (a,b) br1;
>     analog begin
>        V(a,b) <+ 5;
>        V(br1) <+ 10;
>     end
> endmodule
>
> will produce an error in simulation BUT, for example, 2 resistors in parallel may be written as:
>
> module bb();
>     electrical a,b;
>     branch (a,b) br1;
>     analog begin
>        V(a,b) <+ I(a,b)*Res1;
>        V(br1) <+ I(br1)*Res2;
>     end
> endmodule
>
> which is legitimate.
>
>
> Therefore the general syntax of the 1st example should be allowed and the simulator should recognize it as an error rather then a Verilog_a compiler.
>
> Peter Liebmann
>
> -----Original Message-----
> From: owner-verilog-ams@server.eda.org [mailto:owner-verilog-ams@server.eda.org] On Behalf Of David Miller
> Sent: Friday, January 26, 2007 12:06 PM
> To: Martin O'Leary
> Cc: Kevin Cameron; Verilog-AMS LRM Reflector
> Subject: Re: Potential Contributions
>
> I thought that potential contributions definitely did not accumulate 
> across analog processes. They only accumulate within the same analog 
> block between the same unique branch.
>
> so
> module bb();
>     electrical a,b;
>     branch (a,b) br1;
>     analog begin
>        V(a,b) <+ 5;
>        V(br1) <+ 10;
>     end
> endmodule
>
> does not result in an potential difference between (a,b) of 15, but 
> rather an error as the potential difference between the nodes (a,b) is 
> not the same for all parallel branches.
> Is this correct?
>
> So if OOMR branches result in a unique parallel branch between the two 
> circuit nodes then the following should error.
> module bb();
>     child ch1();
>     analog V(ch1.a,ch2.b) <+ 5;
> endmodule
> module child();
>     electrical a,b;
>     ground b;
>     analog V(a,b) <+ 10;
> endmodule
>
> If however OOMR branches simply used the existing branch in module 
> child, then the value would accumulate with a potential difference of 15 
> across the two nodes a and b.
>
> Dave
>
> Martin O'Leary wrote:
>   
>> No - my understanding is that they do accumulate.
>> Thanks,
>> --Martin 
>>
>> -----Original Message-----
>> From: owner-verilog-ams@eda.org [mailto:owner-verilog-ams@eda.org] On
>> Behalf Of Kevin Cameron
>> Sent: Friday, January 26, 2007 11:29 AM
>> To: Verilog-AMS LRM Reflector
>> Subject: Potential Contributions
>>
>>
>> There seemed to be a little confusion about how potential contributions
>> combine from multiple analog processes. 5.3.1.2 says contributions
>> accumulate (for flow and potential), but my understanding is that only
>> applies within the analog block for potential, i.e. potential
>> contributions do not accumulate across analog process. Is that agreed?
>>
>> Kev.
>>
>> --
>> This message has been scanned for viruses and dangerous content by
>> MailScanner, and is believed to be clean.
>>
>>
>>   
>>     
>
>
>   


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Fri Jan 26 13:03:32 2007

This archive was generated by hypermail 2.1.8 : Fri Jan 26 2007 - 13:03:34 PST