The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
Aug 24th, 2019, 8:57am
Pages: 1
Send Topic Print
Matrix is singular in switch-cap LC VCO (Read 708 times)
Mohsenkma
New Member
*
Offline



Posts: 6

Matrix is singular in switch-cap LC VCO
Nov 18th, 2018, 7:53am
 
Hello,

I simulate a switch-cap LC VCO in 2.4 GHz. It works well in transient simulation. I let the transient simulation to run for a long time to be sure that oscillation is stable. In PSS simulation with harmonic balance engine, I’ve got this error: Matrix is singular. I’ve tried some solutions: reducing reltol to 1e-6, increasing the number of harmonics to 32, setting the accuracy defaults to conservative and increasing tstab but the problem doesn’t solve. The state of switches doesn’t change during the simulation. Matrix singular error is always detected at the nodes which are connected to a switch. Here is a part of the output log:
.
.
.
   sweeppss-000_pss: time = 48.1 ns     (92.5 %), step = 974.7 fs    (1.87 m%)
   sweeppss-000_pss: time = 50.7 ns     (97.5 %), step = 507.7 fs     (976 u%)
The Estimated oscillating frequency from Tstab Tran is = 2.23231 GHz .
Tstab: runs at least 165 timesteps per cycle,     MaxStep=2.71495e-12

===============================================
`sweeppss-000_pss': time = (52 ns -> 52.448 ns)
===============================================
   sweeppss-000_pss: time = 52.01 ns    (2.54 %), step = 1.044 ps     (233 m%)
.
.
.
   sweeppss-000_pss: time = 52.44 ns    (97.5 %), step = 744.3 fs     (166 m%)

MultiThread info: 7 new work threads created
Pinning node: 274, harm: 1, name: I6.SW41.net19, value: (0.147438, -0.563566)

Notice from spectre during periodic steady state analysis `sweeppss-000_pss', during Sweep analysis `sweeppss'.
   Use new Arnoldi routine


==============================
    Harmonic balance
==============================
Important HB parameters:
   RelTol=1.00e-06
   abstol(I)=1.00e-12 A
   abstol(V)=1.00e-06 V
   ResidualTol=1.00e+00
   LTE_Ratio=3.50e+00
   Steady_Ratio=1.00e+00
   MaxNewtonIter=100


Warning from spectre during periodic steady state analysis `sweeppss-000_pss', during Sweep analysis `sweeppss'.
   WARNING (SPECTRE-16001): Sweep iteration for `Vctrl' = 0 terminated prematurely because of the following error(s):
Error found by spectre during periodic steady state analysis `sweeppss-000_pss', during Sweep analysis `sweeppss'.
   ERROR (SPECTRE-11005): Matrix is singular (detected at `I6.SW50.net17').

Analysis `sweeppss-000_pss' was terminated prematurely due to an error.

How can I solve the problem?
Thank you,
Back to top
 
 
View Profile   IP Logged
Ken Kundert
Global Moderator
*****
Offline



Posts: 2211
Silicon Valley
Re: Matrix is singular in switch-cap LC VCO
Reply #1 - Nov 18th, 2018, 8:30pm
 
Is the switch open? That would explain it. A singular Jacobian indicates that the solution either does not exists or is not isolated. Try placing large resistors across the capacitors to provide an isolated operating point when the switches are open.

By the way, using extreme settings for the accuracy settings generally creates problem. If you are having problems with the simulator you are better off using the defaults. Tightening reltol should only be done if you are not happy with the accuracy of your results, but setting it to as tight as 1e-6 is asking for trouble. A better strategy might have been to use shooting methods rather than harmonic balance.

-Ken
Back to top
 
 
View Profile WWW   IP Logged
Mohsenkma
New Member
*
Offline



Posts: 6

Re: Matrix is singular in switch-cap LC VCO
Reply #2 - Nov 19th, 2018, 7:09am
 
Hi Mr. Kundert,

There was problem in both open and close switches. But, applying your comments, I could successfully run the simulation. Either using large resistors or using shooting engine fixes the error. However, I wonder if I use large resistors, how could I pass LVS? There are not such resistors in layout.

Thank you so much
Back to top
 
 
View Profile   IP Logged
Andrew Beckett
Senior Fellow
******
Offline

Life, don't talk to
me about Life...

Posts: 1708
Bracknell, UK
Re: Matrix is singular in switch-cap LC VCO
Reply #3 - Dec 2nd, 2018, 12:29am
 
If the resistors are in your schematic rather than part of a model, one approach would be to add (on the resistors) a string property called nlIgnore with the value "auCdl" to prevent it appearing in the CDL netlist (assuming you're running LVS using a CDL netlist).

Regards,

Andrew.
Back to top
 
 
View Profile WWW   IP Logged
Pages: 1
Send Topic Print
Copyright 2002-2019 Designer’s Guide Consulting, Inc. Designer’s Guide® is a registered trademark of Designer’s Guide Consulting, Inc. All rights reserved. Send comments or questions to editor@designers-guide.org. Consider submitting a paper or model.