Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

No DC solution found (convergence) & Matrix singularity

Status
Not open for further replies.

eyalagasi

Newbie level 2
Joined
Jan 26, 2010
Messages
2
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Location
Israel
Activity points
1,316
Hello,

I'm running AMS simulations with IUS (I'm currently using version 9.2.7 but I also tried earlier versions 8.2.18 and 8.2.20).

I get the following error:

3P3V Supply is ramping --> BG_TOP
Matrix is singular (detected at
`tlk110_tb.tlk110_DUT.u_tlk110_afe.AFEBLOCKS.RX100.PGA.I1.I0.FBM' and
`tlk110_tb.tlk110_DUT.u_tlk110_afe.AFEBLOCKS.RX100.PGA.I1.I0.AMP:idt1').
Trying `homotopy = gmin' for initial conditions.

Extrapolation failed.
Extrapolation failed.
Extrapolation failed.
Extrapolation failed.
Extrapolation failed.
Trying `homotopy = source' for initial conditions.

Trying `homotopy = dptran' for initial conditions..
Extrapolation failed.
Extrapolation failed.
Extrapolation failed.
Extrapolation failed.
Extrapolation failed.
Trying `homotopy = ptran' for initial conditions..
Trying `homotopy = arclength' for initial conditions.

Error found by spectre during IC analysis, during transient analysis
`transient1', during task `MDLControl'.
Matrix is singular (detected at
`tlk110_tb.tlk110_DUT.u_tlk110_afe.AFEBLOCKS.RX100.PGA.I1.BUF_INM').
No DC solution found (no convergence).

The values for those nodes that did not converge on the last Newton iteration
are given below. The manner in which the convergence criteria were not
satisfied is also given.
Failed test: | Value | > RelTol*Ref + AbsTol

Top 10 Residue too large Convergence failure:
I(tlk110_tb.tlk110_DUT.u_tlk110_afe.AFEBLOCKS.RX100.PGA.I1.I1:OUTP_VSSA_flow)
= 0 A
residue too large: | 3.3 V | > 16.5 mV + 1 mV
I(tlk110_tb.tlk110_DUT.u_tlk110_afe.AFEBLOCKS.RX100.PGA.I1.I1:OUTM_VSSA_flow)
= 0 A
residue too large: | 3.3 V | > 16.5 mV + 1 mV
I(tlk110_tb.tlk110_DUT.u_tlk110_afe.AFEBLOCKS.TXLD.BIAS.C4.Voffset:p) = 0
A
residue too large: | 1.5 V | > 7.5 mV + 1 mV
I(tlk110_tb.tlk110_DUT.u_tlk110_afe.AFEBLOCKS.TXLD.BIAS.C2.Voffset:p) = 0
A
residue too large: | 1.5 V | > 7.5 mV + 1 mV
I(tlk110_tb.tlk110_DUT.u_tlk110_afe.AFEBLOCKS.REFSYS.BGTOP:VBG_1P21V_REF_VSSA3P3V_BG_flow)
= 0 A
residue too large: | 1.21371 V | > 6.06855 mV + 1 mV
I(tlk110_tb.tlk110_DUT.u_tlk110_afe.AFEBLOCKS.RX100.ADC:VCM_PGAOP_0P75V_VSSA_3P3V_ADC_flow)
= 0 A
residue too large: | 815.789 mV | > 4.07895 mV + 1 mV



Does anyone have any suggestion how to deal with this error?
Is there any tweak in the tool I can use to help the simulator converge?

Thanks a lot,
Eyal
 

Re: No DC solution found (convergence) & Matrix singular

It seemed like a connectivity problem to me.

When you model bias circuits and send this current output to some other block models, these bias currents might stay floating if you do not model any resistance to ground or vdd to receive these currents. I would check for floating nodes in the models or circuits and try to loosen tolerances a bit from analog options.
 

normally dc convergence have following reasons:

1. models have discontinuity ,, some negative resistance in characterstics
2. simulator convergence algortihms...
3. some time design faults as well

as your simulator is giving error for convergence

i havent used this simulator but general idea:

1. try to increase accuracy levels
2. use gmin as directed by simulator command
3. try to skip dc and go directly to transient
4. if possible try to use .nodeset/.ic statements to help in convergence
 

Re: No DC solution found (convergence) & Matrix singular

Hi,
Thanks for your quick response.

I double checked for floating nodes in the design. The only place the tool created floating nodes was for the power supply and grouond signals that are used in the analog subskt but are not used in the digital subskt.
I declared all power supplies and grounds as globals and defined each one's value.
Please find an example:
global 0 VSSD VSSA
V0 (VSSD 0) vsource dc=0 type=dc
V1 (VSSA 0) vsource dc=0 type=dc


Do you see anything wrong with this power supply and ground definition? Could it effect the convergence?


Regarding the tolerance. I did try to loosen the voltage, current and the reltol tolerances and it didn't help the convergence.


I don't know what certain node voltages should be (I'm the system engineer not the analog designer) so I can't use nodeset.


Do you have any other suggestions?
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top