Re: Potential Contributions

From: Kevin Cameron <kevin_at_.....>
Date: Fri Jan 26 2007 - 15:31:21 PST
Ken Kundert wrote:
> Kevin,
>     No, that is an error. You cannot have two voltage sources in
> parallel. The resulting current is undefined.
>   
In this case the voltages are the same, so there shouldn't be any problem.

I can see this being needed if you model something like a multi-cell 
battery pack where the cells are in parallel and you have a common model 
for the individual cells, but want to just use a simple voltage (in the 
cell model) for some behavioral modelling.

Kev

> -Ken
>
> Kevin Cameron wrote:
>   
>> I agree with that.
>> Do you think this should cause a runtime error (same child)?
>>
>>    module parent();
>>        electrical a,b;
>>        ground b;
>>        child #(.POT(5)) ch1(a,b);
>>        child #(.POT(5)) ch1(a,b);
>>    endmodule
>>
>> (I think not)
>>
>> Kev
>>
>> peter_liebmann@agilent.com wrote:
>>     
>>> 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.
Received on Fri Jan 26 15:31:48 2007

This archive was generated by hypermail 2.1.8 : Fri Jan 26 2007 - 15:31:51 PST