The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
Jul 22nd, 2024, 9:22am
Pages: 1
Send Topic Print
PFD/CP transfer using ADE (Read 8984 times)
Visjnoe
Senior Member
****
Offline



Posts: 233

PFD/CP transfer using ADE
Feb 08th, 2007, 12:01pm
 
Dear,

I'm pretty new to Cadence's ADE and Ocean, therefore I would look some advice on the best 'way to go'.

Normally, I would sweep the phase difference (linear) between -2PI and 2PI, run a transient for each phase difference and extract the average output current.

Is this something that can be set up easily under ADE or would OCEAN be preferred?

Kind Regards

Peter
Back to top
 
 
View Profile   IP Logged
Andrew Beckett
Senior Fellow
******
Offline

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

Posts: 1742
Bracknell, UK
Re: PFD/CP transfer using ADE
Reply #1 - Feb 8th, 2007, 6:59pm
 
Peter,

You could do this with either. You can use the Parametric Analysis Tool (Tools->Parametric Analysis) to set up the sweep, and then use a calculator expression to plot the average current - this will then plot the average current versus the swept parameter.

There's no particular need to do this with OCEAN - it should be easy enough with ADE.

Regards,

Andrew.
Back to top
 
 
View Profile WWW   IP Logged
Visjnoe
Senior Member
****
Offline



Posts: 233

Re: PFD/CP transfer using ADE
Reply #2 - Feb 11th, 2007, 9:30am
 
Dear Andrew,

I was able to set up the parametric analysis using ADE. However, it seems I cannot have this run over corners
using the Corner Analysis Tool.

Could it be that this can only be set up using OCEAN scripting (using a parametric analysis statement in combination with a corner run functional call?)

Kind Regards

Peter
Back to top
 
 
View Profile   IP Logged
Visjnoe
Senior Member
****
Offline



Posts: 233

Re: PFD/CP transfer using ADE
Reply #3 - Feb 12th, 2007, 12:36am
 
Andrew,

I noticed strange behavior when performing a parametric sweep analysis of the PFD: when I plot the average output voltage, strange 'outliers' appear (see picture in attachment), where on would expect a straight line through the origin

These look very unrealistic and indeed, when I simulate the individual cases, an average output voltage appears which is OK and should lie on a straight line (as expected). So, in short, the circuit appears to work fine, it's just the parametric analysis which shows strange outliers.

I know this can have something to do with initial conditions being re-used during simulation, but perhaps you are more familiar with this kind of simulation error within Cadence's ADE...

Kind Regards

Peter
Back to top
 

vout_avg.png
View Profile   IP Logged
Visjnoe
Senior Member
****
Offline



Posts: 233

Re: PFD/CP transfer using ADE
Reply #4 - Feb 12th, 2007, 1:13am
 
Dear all,

in the meanwhile I have been able to let the anomalies 'disappear' (obtain a nice straight line through the origin)

by either applying restart=no (transient analysis options)
   or  skipdc sigrampup

However, from the manual, I do not understand WHY this helps...

Kind Regards

Peter
Back to top
 
 
View Profile   IP Logged
Andrew Beckett
Senior Fellow
******
Offline

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

Posts: 1742
Bracknell, UK
Re: PFD/CP transfer using ADE
Reply #5 - Feb 22nd, 2007, 12:02pm
 
Peter,

Sorry about the delay in responding - I've been travelling a lot the last couple of weeks.

Perhaps your circuit has more than one stable operating point? Since the starting point for the operating point will be the previous solution, perhaps this is tending to lead to the results you're seeing?

I suspect you might be able to work around it by using the option "rebuild_matrix=yes" - but I'd be worried that there was a real circuit problem.

Also, what happens if you do:

Code:
envSetVal("spectre.envOpts" "controlMode" 'string "batch") 



before you start ADE?

Regards,

Andrew.
Back to top
 
 
View Profile WWW   IP Logged
Visjnoe
Senior Member
****
Offline



Posts: 233

Re: PFD/CP transfer using ADE
Reply #6 - Feb 22nd, 2007, 12:05pm
 
Dear Andrew,

I will try your suggestion out and let you know.

I personally am pretty sure it's no circuit problem, since the circuit is a 3-state PFD: all-digital, simulated under typical conditions.
This should result in a straight line (except maybe for some deadzone).

It's clear to me these 'dips' are simulator anomalies.

Now, restart = no helped me out, I'll see what your suggestion does...

Regards

Peter
Back to top
 
 
View Profile   IP Logged
Andrew Beckett
Senior Fellow
******
Offline

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

Posts: 1742
Bracknell, UK
Re: PFD/CP transfer using ADE
Reply #7 - Feb 22nd, 2007, 12:09pm
 
Peter,

I'm very interested in hearing what you find.

Have you looked at the detailed waveforms of the failing runs to see what the circuit is doing? It seems very odd that such a big difference would be a simulator anomaly. I can imagine small differences due to different convergence starting conditions, but such major differences sound as if they are either due to your circuit or the simulation setup/testbench somehow?

Regards,

Andrew.
Back to top
 
 
View Profile WWW   IP Logged
Visjnoe
Senior Member
****
Offline



Posts: 233

Re: PFD/CP transfer using ADE
Reply #8 - Feb 22nd, 2007, 11:38pm
 
Dear Andrew,

I understand your scepticism towards the circuit  :), but this time I'm 100% sure it's a simulator anomaly, since I actually simulated the circuit for the X-values which -according to the sweep analysis - would result in the large dips.

When I did that, the average output was a value that:
a) differs from the one shown by the sweep analysis
b) lies nicely on the expected straight line through the origin

Regards

Peter
Back to top
 
 
View Profile   IP Logged
Visjnoe
Senior Member
****
Offline



Posts: 233

Re: PFD/CP transfer using ADE
Reply #9 - Feb 23rd, 2007, 12:38am
 
Dear Andrew,

I'm back with feedback on all the options you suggested (quick recap: restart = no did the trick for me).

1) rebuild matrix = yes: results in a nice, straight line
2) envSetVal("spectre.envOpts" "controlMode" 'string "batch"): results in a nice, straight line
   
   -> this string is very familiar to me, since Cadence support suggested this one already when a jitter analysis
        could not be performed over corners. Typing this string @ CIW resolved this issue and apparently also
        this one.

As a reference, I attached the curve which I think is the right one (please contrast with the curve at the start of this thread)

Thanks a lot for the suggestions...if you still doubt the circuit, please let me know.

Regards

Peter
Back to top
 

vout_avg2.png
View Profile   IP Logged
Andrew Beckett
Senior Fellow
******
Offline

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

Posts: 1742
Bracknell, UK
Re: PFD/CP transfer using ADE
Reply #10 - Feb 23rd, 2007, 2:11am
 
Hi Peter,

Just because you simulated the circuit at the X points with the dips, and were then seeing good results, does not mean that all is OK with the world   Undecided

Effectively the two suggestions I made are telling spectre to rebuild the matrix from scratch, or to restart the simulator altogether (in the envSetVal case). This removes the history of what was done previously, and so that doesn't influence the operating point found.

What concerns me is that your circuit has more than one operating point. In the case where the simulator starts from scratch, it is finding the "good" operating point. In the case where you're doing a parametric analysis, it's sometimes finding the "bad" operating point. (I use the terms "good" and "bad" in quotation marks, because they are good and bad as far as how you want the circuit to behave; I'm not saying that the simulator is coming up with a false result). When you have multiple operating points, which one you end up in can be dependent on the starting conditions for solving the operating point - just because most of the time you end up in one does not mean that the other one is false.

Often when you have this kind of scenario, you can use nodesets to push the circuit into one solution or the other.

With spectre, false convergence is something that really doesn't happen. That said, you need to be careful about models - for example, a few years ago one of the large foundries has a veriloga resistor model which suddenly became a negative resistor when high voltages appeared across it - what could
happen during convergence iterations was that it could get a high voltage across it during an intermediate step along the way to convergence, the resistor went negative, and then it could get locked into this nonphysical convergence region - despite the fact that in normal operating ranges it would never occur. I've seen the same thing happen with verilog-a models of non-linear resistors (using some quadratic voltage dependency, say); again, the resistor value can have more than one solution.

Of course, circuits themselves can have more than one operating point.

So this is why I think you really need to look carefully at the waveforms you're getting from the points in the parametric simulation which show the dips - to see what is going on in the circuit. Perhaps you can write the operating point from one of these, and then try simulating that X point with that file as a nodeset, and see what happens?

Regards,

Andrew.
Back to top
 
 
View Profile WWW   IP Logged
Visjnoe
Senior Member
****
Offline



Posts: 233

Re: PFD/CP transfer using ADE
Reply #11 - Feb 23rd, 2007, 5:57am
 
Dear Andrew,

I will look once again into the circuit, but I would like to mention again that this is a normal, classic, all-digital, 3-state phase frequency detector (PFD), so I don't think that 'false operating points' can be an issue here.

I know from my experience with Mentor Graphics that sweep simulations can generate this kind of strange behavior, because indeed they calculate solution i+1 based on solution i...
Everytime, when simulating the individual outliers, the results produced by a single simulation run looked normal.

For several circuits (not being all-digital, but e.g. oscillators with capacitor banks) I have seen silicon confirming 'common sense/intuition' and contradicting (false) sweep simulation results.

That being said, I appreciate your attitude of 'paranoia' about circuits, it is one of the characteristics of good designers (to my opinion).

Scepticism about CAD/EDA tools is however also one of the characteristics  ;)

Regards

Peter
Back to top
 
« Last Edit: Feb 23rd, 2007, 10:48am by Visjnoe »  
View Profile   IP Logged
Pages: 1
Send Topic Print
Copyright 2002-2024 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.