will be under maintenance from Friday, Oct. 3rd at 6pm (PST) thru Sunday, Oct 5th at 11pm (PST). login, registration, community posting and commenting functionalities will be disabled.
Home > Community > Blogs > Custom IC Design > things you didn t know about virtuoso ade xl data storage
Login with a Cadence account.
Not a member yet?
Create a permanent login account to make interactions with Cadence more convenient.

Register | Membership benefits
Get email delivery of the Custom IC Design blog (individual posts).


* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

Things You Didn't Know About Virtuoso: ADE XL -- Where Did My Data Go?

Comments(11)Filed under: Custom IC Design, Virtuoso, IC 6.1.4, Virtuoso Analog Design Environment, analog, ADE, ADE-XL, Analog simulation

Last week I got to attend a "Social Media Summit" here at Cadence.  Jeepers, a "summit."   I feel so important.  Anyway, being the kind of person I am, one of the things that stuck in my mind was that they told us not to "tweet aggressively."  Got it.  Should I ever decide to "tweet", I promise to do so in a completely non-threatening manner.  Seriously though (since it's quite likely our summit leaders are reading this) there was loads of great content in the meeting.  Thanks folks!  Hopefully I can make good use of some of the tips.

On to today's ADE XL topic.  This article is concerned more with nuts-and-bolts and less with flashy user interfaces than usual, but hey, we're engineers, right?  We like to know how things are put together.  So, let's talk about what kinds of data ADE XL stores, where it keeps it and how you can control it.

3 types of data

ADE XL divides the data it deals with into 3 categories.

  • Setup

This is the information you put into ADE XL.   

In the past several posts, I've told you how to set up tests and create output expressions.  These simulation setups are stored in the adexl view in a subdirectory called "test_states", similar in structure to the ADE states directories you're already familiar with. 

I haven't written anything here about specifications.  I think I'll leave that as an exercise for the reader. (Hint: In the Outputs Setup pane, next to one of your expressions, double-click in the column labeled "Spec".)  Specifications, along with variables, parameters, sweeps and corners (each to be the subject of future articles) are collectively referred to as the Setup DB.  This is stored in the adexl view you created when you selected Launch->ADE XL

  • Waveforms and netlists

You know what this is -- the output generated by the simulator.  PSF, SST2, PSF XL, etc.

  • Results

The ADE XL Results DB contains the values for all your output expressions -- essentially everything that gets evaluated after the simulation is finished.   It's organized in a format to easily generate those big tables you see when you run sweeps and corners.

Environment Variables

The locations for storing the waveform files and the Results DB are controlled by 3 environment variables. (I'll use the syntax you'd need for setting these in your .cdsinit file.)

projectDir   envSetVal("asimenv.startup" "projectDir" ‘string "<path>")

You may already be using this variable.  This is the same way you set the location for the simulation output in ADE L.  This defaults to $HOME/simulation.

saveResDir   envSetVal("adexl.results" "saveResDir" ‘string "<path>")

If specified, this controls where the waveforms and netlist directories get saved.

saveDir   envSetVal("adexl.results" "saveDir" ‘string "<path>")

If specified, this controls where the ADE XL Results DB gets saved.  This defaults to a subdirectory called, appropriately enough, "results" in the adexl view.

That said, here's a handy little table illustrating where things get saved when any of these variables are set.



Results DB   


not set

not set

adexl view


not set


adexl view



not set







(If you are working with an adexl view in read-only mode, and you don't set the saveDir variable, the Results DB will be saved to the projectDir).

Interactive Control

In ADE XL, the Options->Save... dialog has section at the bottom where you can specify where you want to save the Simulation Results (Waveforms) and the ADE XL Results Database.

Bonus Tip: Copying ADE XL Views

Use the Library Manager to copy adexl views (or cells or libraries which contain adexl views).  Set the following in your .cdsinit file in order to make the copy work correctly:

envSetVal("ddserv.lib" "enableCopyInDFII" ‘boolean t)

envSetVal("cdsLibManager.copyGlobals" "mpsRadio" ‘toggle t)

Then, if you want to copy just the Setup DB, just do a regular copy in the Library Manager.

If you want to copy both the Setup DB and the Results DB, select Update Instances->Of New Copies Only when you do the copy.

If you want to copy all 3 types of data (Setup DB, Results DB and Waveforms), set the additional variable:  envSetVal("adexl.cpupdtr" "copyResultsData" ‘boolean t) and copy as in the previous example.

That's all for now.  Hopefully I haven't confused anyone too much.  If I have, leave a comment and we'll try to sort it out...

Stacy Whiteman


By Olivia Hsieh on June 7, 2011
Hi Stacy,
Do you know, in ADE XL, how I can save the simulation results (especially waveforms) to some other places like we used to "Results->Save..." in ADE L?
I am trying all different settings for my testbenches, and need to store the results to somewhere else to prevent it from being deleted if I rerun the sims with a different setting.
Simply going into the results/data (under adexl view directory) and changing the subdirectories' name do not seem working properly...

By stacyw on August 5, 2011
Gosh, I'm sorry I didn't see this earlier.  Our comment notification system is a bit problematic at times.  
Actually, ADE XL automatically saves the results of each run.  If you take a look at the History tab in the Data View assistant, you'll likely see a bunch of "Interactive.X" entries representing past simulation runs.  The number of entries which are saved is controlled under the Options->Save... dialog from ADE XL.  
More importantly, if you RMB (right mouse button) on a history item, you can select "Lock" to make sure those results will not be deleted when you hit the maximum number of saved entries.
(If you double-click on the title of the entry--"Interactive.X"--before you lock it, you can change it's name to something more meaningful)
I hope this helps.

By RK on October 31, 2011
If i create an output expression (for say measuring the slew rate of my output wave) in ADEXL, and this new expression is not yet saved in any of the states. If i just save my ADEXL view as a cellview using the save button inside ADEXL, my expressions are not retained when i quit and re-load the cellview. Should i use "save setup state" to save my expressions?

By stacyw on November 1, 2011
No, you shouldn't need to use "save setup state".  Any expressions you create in ADE XL should be saved when you hit the save button in ADE XL.  They are also saved automatically when you run a simulation.  As long as the expression appears in the ADE XL Output Setup panel, it should be saved.  If this is not the case, please file an SR with Customer Support and I'm sure they can help you.

By micsa on November 30, 2011
Does anyone know how to use a config file correctly with ADEXL?  When I open up both the config file and the schematic, then open up ADEXL from the schematic window, it shows that I am using the config file in the top of the window.  But when I make changes to the config file, ie using an extracted parastic view instead of schematic view-  How do I put these changes into effect?  When I netlist from ADEXL, after making changes to config view, it doesnt seem to take into account the changes to the config view for the cell....  Any help would be appreciated...

By TjaartOpperman on August 17, 2012
I'm having trouble copying the adexl views using the advice given in this article. From the documentation in the ic614 release it seems that the environment variable needs to declared as follows:
cdsLibManager.copyGlobals mpsRadio toggle (sessionCopy libmgrCopy). It is unclear to me whether I should use (t nil) or (nil t). So I tried them both but there were still some problems around copying the adexl view. It seems that the design library referenced by the test_states are still that of the old library after the Library Manager copy was done. I managed to work around this by manually editing the data.sdb file in the adexl view folder. I also changed the library path names deeper down into the adexl view folder. It is possible to work this way, but it does not feel like a very fluent solution.

By stacyw on August 20, 2012
Hi,  Actually, I have found that I don't even need to set the mpsRadio environment variable.  The default value works correctly (although I'm not sure if I've tried it in 6.1.4--just 6.1.5).  As for the test states library not getting modified, that is a known issue.  The original intention was that the tests in an ADE XL view could be pointing to many different libraries independent of the library the adexl view was in, so updating their paths would not be always desirable.  However, we have gotten this request from several customers, so we are currently investigating it for an upcoming release.  Thanks, Stacy

By ags2888 on June 24, 2014
Hi, Is it possible to get the values for all the output expressions in IC 5.14.1 also?? As i dont seem to find any results DB in it.

By stacyw on June 26, 2014
Sorry, ADE XL is only available in IC6.X.

By Ramesh Prakash on September 10, 2014
Can I use different config views for different tests under one ADEXL state

By stacyw on September 10, 2014
Hi Ramesh,  Yes, absolutely.  Each test under an ADE XL view can reference different configs, different schematics, different states, different simulators.

Leave a Comment

E-mail (will not be published)
 I have read and agree to the Terms of use and Community Guidelines.
Community Guidelines
The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.