Home > Community > Blogs > Custom IC Design > things you didn t know about virtuoso library manager
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: Customizing the Library Manager

Comments(13)Filed under: Custom IC Design, Virtuoso, Virtuoso IC 6.1.3, IC 6.1

I've told you in previous postings about some new features in Virtuoso IC6.1 which make it quick and easy to open cellviews you use frequently--namely the recently-opened files list (found in the CIW->File menu) and the ability to bookmark one or more cellviews (File->Bookmarks->Add Bookmark from any cellview window).

While these features mean that you can open that cell you work on every day with just a couple of mouse clicks and minimal mental exertion, there will always be a time when you need to go up in the attic and find the box with the Christmas lights.  Next year for sure you're going to remember to label that darn box before you put it away...

 As usual, I digress.  I'm talking about the Library Manager.  I know you're all accustomed to using the Library Manager every day (shame on you if you haven't yet tried either of the 2 features mentioned above...).  You probably haven't noticed that there are 47 libraries listed there.  17 of them don't exist any more.  15 of them don't apply to your project at all.  7 of them are reference libraries which you don't have edit rights to.  The other 8 are scattered all over the list.  Why should you have to strain your already-overworked brain cells sorting through that mess?  And what happens if you forgot that one of those libraries was just an experiment you tried once and forgot to delete when that version of the block never worked correctly?  What happens if you pick that one as the basis for your new design instead of the one that worked?  I don't know about you, but I've got enough gray hairs already...

So I wanted to point out 2 new features of the Library Manager which might help you streamline the way you view all that data. 

Look at the Pretty Colors... 

The first is the ability to customize the display attributes of any library.  For example, you can specify that your reference libraries be shown in red text with a particular icon and your design libraries be shown in green text with a different icon.  You can even hide some libraries so they don't get in your way, but are still accessible to the software.  (Maybe you want to show your "experimental" libraries in a different color too...)

Basically the way you do this is to edit your cds.lib file.  Somewhere after the DEFINE statement for a library, put the line:

ASSIGN <libName> DISPLAY <displayName>

where <displayName> is the name you're going to give to a particular set of display attributes (we'll get to that shortly).

Now when you open the Library Manager, select Edit->Display Settings.  In that form, you'll be able to select your <displayName>(s) and change their colors, icons and other attributes. 

All Together Now...

The 2nd new feature for library display is the ability to create "combined" libraries.  Maybe you want to display all the reference libraries for your project under a single name in case you forget which cell is in which library.  Don't worry, the libraries aren't physically combined, just displayed that way.

To do this, first you'll need to create a dummy directory with the name you want to give your combined library (kind of a kludge, but oh well).  Then edit your cds.lib and add 2 lines:

DEFINE <combinedLibName> <pathToDummyDirectoryYouCreatedAbove> 

ASSIGN <combinedLibName> COMBINE <lib1> <lib2> ...

These lines need to go after all the lib1, lib2, etc. libraries are defined.

That's it.  Now when you open the Library Manager, you'll see your combined library name with a "+" sign next to it.  If you click on the combined library name, you'll see all the cells in all the libraries combined.  If you click the "+" sign, you can still access the libraries individually as usual.


You Do Know About Categories, Don't You?

BTW, if you look at the screenshot above, you also notice that each of my libraries has categories defined within it so I can further refine my cell selection by block or by celltype.  That feature has existed in Virtuoso for years now and hopefully you're already making use of it (Hint: check out Edit->Categories from the Library Manager)

I'm running out of time right now, but you can read more about all these features in the Cadence Library Manager User Guide.

Until next time...

 Stacy Whiteman



By Tarun on August 3, 2009
Cool feature. I'd like to know if these attributes are modifiable in SKILL dynamically. For instance what if  I want to highlight a library only under certain conditions.
Also are these display customizations available for cells and cellviews too?

By room_on_fire on August 3, 2009
really useful!

By stacyw on August 5, 2009
Thanks for the comments!  As far as I can find out, the library attributes aren't customizable on-the-fly at the moment, nor can you customize the display attributes of categories or cellviews, but I like the idea.  
I'll ask around and see if I can get any more information for you.

By Martin Heller on August 29, 2009
its not really documented, but  one can also combine already "combined" libriaries into
another combined library.

By Ted Paone on September 16, 2009
I've had requests to be able to change the color of cells/views in the library manager depending on the checkout status of the object. Is this possible?

By stacyw on September 16, 2009
It isn't possible now to change the colors of cells or views in the library manager, but this is currently planned for a future release (next year).

By martind on October 2, 2009
nice idea, but i'd like to be able to set up for all users so that  the cdstool libs and PDK libs look the same way for everyone.  

By stacyw on October 7, 2009
Thanks for the comment!  The library manager customization is done in the cds.lib file and the .cadence/libManager/displayPrefs files and these are certainly something that can be set up for everyone.  It uses the Cadence Search File (CSF) mechanism (we'ver got an acronym for everything, don't we?) which is documented in the "Cadence Application Infrastructure User Guide". to determine where it looks for these files.
Hope this helps,

By Gilles S.C. LAMANT on October 7, 2009
I would like to highlight one very useful use model for the combined library (the reason it was actually implemented). This is for people using ITDB and having a hierarchy of techLibs creating the final PDK. You don't really want to expose to the end user this full chain, but rather the "top" level that contains all the elements. If you define the "top" as the combined library, and combine into it the individual tech libs... :-)

By erikk on June 29, 2010
I too am interested in the cell/cellview coloring.  I have an idea to mark a cellview red that are "out of date" compared to timestamps of other cellviews.

By stacyw on August 6, 2010
Sorry for the delay.  We've had some changes to the forum interface and I just noticed your comment.  The upcoming release of Virtuoso (end of this year) will include features to display DM status and do filtering and checkin/out operations on sets of cellviews based on their status.

By ldagan on January 20, 2013
Is there a way of showing size and last date of change, A LA windows explorer?

By stacyw on January 23, 2013
Yes, in IC6.1.5, in the View column of the Library Manager, you can RMB on the header (the grey part where it says "View") and there are quite a few extra fields you can add to the view, including Size and Modified time.  Make sure you don't have the "Hide all" entry checked (like I did) so the extra columns will show up.  Thanks,Stacy

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.