Get email delivery of the Cadence blog featured here
When it comes right down to it, if we asked most of you what was the most important feature to you, many would probably answer with things like routing, wire bonding, net assignment optimization, or DRC checks. All great responses, and each of them a very important functional area in its own right.
But, if you pick up the latest 16.6 ISR release, you will notice a subtle change that may just have a larger impact on you than you thought.
To learn just what these string sorting changes are, and what options you have for controlling the sort ordering, read on. These simple changes may just have a more significant impact on simplifying some of your daily tasks than you would anticipate.
Computers are very literal machines. As a result, if you ask them to sort two strings, “10” and “2”, because the first character in “10” is a 1, it will be placed first in sorted order. Not quite what we, as humans, expect. Being much more pattern-based in our thinking, we automatically sort the numeric portion of strings as numbers.
Now, with the latest 16.6 ISR, your reports will sort the same way that you do when it comes to numbers. No longer will your reports look like:
ABC1, ABC10, ABC11, … ABC2, ABC20, …
Instead, and much more sensibly for many of us, you will get the expected ordering, now:
ABC1, ABC2, ABC3, … ABC10, ABC11, …
A subtle shift, as it were, but if you’re scanning through a list of thousands of net or pin names, it is the simple changes that often times have the most significant time savings!
Should you happen to have strings in your design for some reason which use both numbers padded with zeros and those without (1 and 01 in the same part of the string), we will sort those entries without leading zeros first. They’re equal, but they’re not, as you might say.
Character strings, like names and reference designators, are not as cut-and-dry when it comes to ordering. Do you name your nets based on the objects they connect together, perhaps (DIE1-BGA2-PBAR3)? Or do your pin numbers follow JEDEC naming conventions (A, B, … AA, AB, …)?
Since your answer is uniquely your own, Cadence provides you with two environment variables which you can set, either in your personal env file or at your corporate site level, to determine the ordering that applies based for your needs. You can find these options under the “IC Packaging” folder in your User Preferences.
Oh, and note that options 2 and 3, being user preferences, can be toggled individually. If you want shorter substrings before longer ones in between separators, simply enable both options.
In fact, there are two in your reports menu which are not. These would be:
While we’ve covered the various sorting options now available to you, there is always room for extension. Do you have a naming convention that lends itself to a different sorting option than those listed above? If so, let your customer support representative know, so that we can look to provide that option in an upcoming ISR or release. That way, you, too, can benefit from easier to read reports.
Oh, and while we’re on the topic of ordering of things, rest assured, our plan is not to stop with reports. Look for these same sorting options to be applied across the rest of the tool landscape over time so that, everywhere you look, finding the item you’re looking for is as quick, easy, and logical as possible!