People say I have strong google-fu. Whether it's finding information on a homework topic for my kids or reviews for that little restaurant downtown, all it takes is a minute or two at the keyboard and there it is. Searching for information has become a very important skill in today's world, both in "real life" and at work. Laying your hands on reliable information quickly can make your life easier, amaze your friends and impress your boss.
So today, I'd like to introduce you to the new Virtuoso Search Assistant and Toolbar in IC6.1. Whether you're looking for all the places a certain design variable is used or which instances a particular net is connected to or where in your design hierarchy a specific device type is used, the Search Assistant will give you the information you need.
First of all, where is this little gem hiding? Virtuoso provides both a Search toolbar and an associated dockable assistant. Both can be invoked by--all together now--clicking the RMB near the top of the window and selecting Search from either the top (for the assistant) or the bottom (for the toolbar) of the menu. There's no difference in functionality between the two. In fact, clicking "Show All" from the Search toolbar results will open the Search assistant automatically.
Search engines are typical pretty self-explanatory, but recently, I've been amazed at what fun little secrets a little digging can expose. (For example, did you know that Google has a built-in calculator?) So it is with the Search Assistant (ok, no built-in calculator...yet, but some other cool details I'll talk about in a bit). Basically, you enter whatever it is you want to search for in the search field, hit Enter and you'll see everything in your design that matches that search string.
What do you mean--everything?
Click on the little magnifying glass at the left of the search field. This shows a partial list of the categories which will be searched (the complete list can be found by clicking Options... at the bottom of that menu). You can limit your search by enabling only one of these categories (or several if you use the Options... dialog). You can also limit your search to only those objects selected in the current view by choosing "Selected" at the bottom of the Search Categories menu.
Notice that you can even search for Skill functions and menu items. So if you forget where to find the grid snap spacing you can search for "snap" and find it right away.
Note: The Search Categories are also keywords for the search engine. So you can enter "instances nmos2v" or "nets bias" to restrict your search that way. Or type just "instances" or "nets" to get a complete listing.
Where is it searching?
Now click on the little triangle at the right of the search field. This will give you options for how the engine should match the search string (case sensitivity, substring, and/or, etc.). It allows you set the search scope, including the very powerful option to extend your search down through the design hierarchy. So now you can immediately find every place in the hierarchy where a certain block is used. In the search results, items not in the current view will be highlighted in gray.
What can I do now that I've found what I was looking for?
Good question. This is where I find the real power of the Search Assistant. First of all, you'll notice that selecting items in the Search Assistant cross-selects them in the main canvas as well as the Navigator and the Property Editor Assistant, so that's very handy right there.
But wait, there's more...
By holding down a certain mouse button (hmm..which one might that RMB...) over the items, you'll see a context-sensitive menu of options specific to items of that category. Depending on the category, you might be able to:
Add an instance of a cell
Open the cellview containing an instance or net if it's at a lower level of hierarchy
Open the Skill finder entry for a Skill function
Select a net and all instances attached to it
Open an options dialog or directly execute a menu command
In addition, you can save the search results to a CSV file for further documentation and reference.
"Searching is half the fun: life is much more manageable when thought of as a scavenger hunt as opposed to a surprise party."--Jimmy Buffett
As always, feel free to share your discoveries and experiences (good or bad) with any of these topics.