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 drag and drop
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: Drag and Drop

Comments(2)Filed under: Custom IC Design, Virtuoso, ViVa-XL, IC 6.1, ADE, ADE-XL, IC 6.1.5, Virtuoso IC6.1.5, Analog Design Environment, Viva, VIrtuoso drag and drop, drag and drop

I love it when I'm sitting in a meeting with my colleagues or with a group of customers and someone brings up something about our software that they find annoying and another person says "Wait, why are you doing it that way?  Why don't you just...".  Immediately my mind says "blog time!" 

One such sequence of events happened recently around the concept of "drag and drop."  For those of us who have been around for a while, the idea of dragging objects, particularly text or something non-drawing related, just never springs to mind.  I'll complain all day about having to re-type something or execute a long series of mouse clicks before I even try to just grab it and drag it where I want it to go.

So let's play a little game.  Where are all the places in ADE L/XL/GXL and ViVA that you can perform some useful function by dragging something?  I'm sure I'll miss a few, so feel free to leave additional discoveries in the comments.

In general


  • Drag the rows in the different subwindows to reorder them (Design Variables, Outputs, Analyses)


  • Drag the rows in the Output Setup panel up and down to reorder them (within the same test)
  • Drag the columns in the Output Setup panel to rearrange them (sadly it isn't saved, but it can be very handy while you're setting things up)
  • Drag an output expression over to a Global Variable to have that variable value be taken from the result of one test and used as input to a different test (also referred to as combinatorial variable expressions)
  • In the Detail-Transpose results view, drag columns (inputs or outputs) around for easier comparison of measured values.  RMB on the columns in this view to hide them.


  • Drag an output expression from the Outputs Setup panel in ADE XL into the calculator buffer to create combinatorial output expressions using results from multiple tests
  • Drag an expression from the Stack to the Buffer
  • Drag an expression from the Expression Editor to the Buffer.  Don't know about the Expression Editor?  Time to learn!
  • Drag one or more expressions from the Stack to the Expression Editor. 
  • Drag one or more expressions from the Stack, Buffer or Expression Editor and--wait for it--drop it into any text area outside of Virtuoso.  Text editor, command line or it will even create a text file on your desktop.
  • Drag an expression from the Stack, Buffer or Expression Editor into any text field in a calculator function form. (This is the one that inspired the "aha" moment I mentioned in the first paragraph.)
  • Bonus Tip: Double-click on any Stack item to move it into the Buffer and push the contents of the Buffer onto the Stack

ViVA Graph

  • Drag traces from one subwindow to another.  (Hold Ctrl while dragging to copy instead of move)
  • Drag traces from one strip to another (Hold Ctrl to copy)
  • Drag a whole strip up or down to reorder
  • Drag traces from the graph to the Subwindows Assistant (Window->Assistants->Subwindows if you haven't seen this).  Here you can drop them in an empty area to create a new subwindow or into one of the existing subwindow thumbnails to put them there
  • Drag signals from the Results Browser onto the graph or the Subwindows Assistant
  • Drag a signal from the Results Browser into the Calculator Buffer
  • Pretty much anything having to do with markers (point/A/B/delta, vertical or horizontal markers and their intercept bubbles) can be moved and rearranged by dragging

So there you have it. What have I missed?  As always, your feedback is welcome.

Stacy Whiteman
















By Michael on May 27, 2014
Having 6 subwindows on my window, I would like to arrange them in 3 rows as follows: row1={sub1..4 vertically split} row2=sub5 row3=sub6. Is that possible?

By stacyw on June 26, 2014
I don't think this is possible.  In auto mode, it will always try to make the rows/columns as even as possible.

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.