I've recently started using ADE XL for my simulations/testbenches, as it looks like it extends possibilities quite a bit.
Prior to a couple of weeks ago, I was tied to "classic" Cadence, with the old interface (no fancy bars, assistants, workspaces...I guess it was version 5?), basically using what's now called ADE L.
There, it is quite simple to perform nested sweeps and decide which variable "turns faster" and therefore appears as independent when plotting. This is also handy because the simulator/calculator understands without problems an expression like
and performs the derivative Vs. the aforementioned "fastest" variable.
Now, in ADE XL things look quite different, and I haven't found any specific info on the subject in the manual. The scope in this new environment is much broader, with parameters, local variables, global variables, corners....Basically one can sweep any of those at will.
However, two things are unclear to me:
- how can I influence the order of sweep? I guess one can use the "import sweep" facility but I'd expect something more GUI-oriented, as the rest of the tool seems to be.
- It looks to me that even those sweeps are considered like "points" in a multi-dimensional matrix..Somehow I cannot bring back the implicit notion of plotting a family of curves Vs. the last swept parameter/variable/global variable.
For instance, if I have an AC sweep as test, for this AC sweep I calculate:
fmax = xmax(my_voltage)
then this is a number, right? Then, I sweep two or three parameters in my circuit.
In ADE L I have to do it with parametric simulation, I can sweep p1,p2,p3 and in the Outputs pane I can define "deriv( fmax)" and, depending on the order, I'll plot a derivative Vs. p1, p2 or p3
In ADE XL I found no way of doing it without resorting (maybe) to some awkward post processing. If I define "deriv(fmax)" in the Outputs pane, I just get an eval error since ADE XL treats each fmax obtained as a "standalone point" so...Vs. what should it derive? It looks to me like it loses the connection between curves and swept variable, and that's why I say it treats every AC sweep as a "point".
But maybe I'm doing something wrong? Thanks to anybody willing to clarify matters a bit for me. Of course I'd be glad to read the holy manuals :-)