• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Blogs
  2. System, PCB, & Package Design
  3. Reports – Now Sorting Your Strings the Way YOU Want Them…
ICPackagingPro
ICPackagingPro

Community Member

Blog Activity
Options
  • Subscribe by email
  • More
  • Cancel
CDNS - RequestDemo

Try Cadence Software for your next design!

Free Trials
documentation
Cadence Design Systems
Reports
manufacturing exports
APD
Allegro Package Designer
IC packaging documentation
SiP Layout
sorting

Reports – Now Sorting Your Strings the Way YOU Want Them Sorted

25 Mar 2016 • 4 minute read

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.

Numbers… Just the Way You Want Them

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.

Alpha Strings… The Choice is Yours!

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.

  • Option 1: The Default
    If you don’t set any options, alpha character strings will sort using standard sorted order. This will put A before B, but will also put AA before B. But, your numbers will sort as numbers regardless. If you tend to name your nets, pins, and other design objects with descriptive names, then this may be the option you want to go with.
  • Option 2: Shorter Strings before Longer
    If, on the other hand, you name things in a manner that more resembles JEDEC naming conventions, you may wish to enable the “icp_string_compare_alt_natural” option. This will place a shorter string before a longer string. If the two strings are the same length, then they are sorted in standard alpha ordering. To use our earlier example, this will order the strings as A, B, C, … AA, AB, …
  • Option 3: Sort Substrings
    What if you have the compound names we discussed earlier? Maybe your names are separated by a dash, underscore, or even a space. If that is the case, and you want each piece of the compound name compared in order, enable the “icp_string_compare_separators”. With this on, two strings “ABC-DEF” and “A-BCDEF” will compare “ABC” against “A”, then, if those are equal, continue by comparing “DEF” against “BCDEF”.

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.

Are There Any Reports Not Covered by These Changes?

In fact, there are two in your reports menu which are not. These would be:

  1. The Testprep Report. This report, which is formatted differently than most other reports in the menu owing to its contents, does not lend itself well to sorting by the above criteria. It will continue to be formatted the way it has for many years.
  2. The Via List by Net and Layer Report. This report, which performs two levels of grouping (first by layer, in the first column, with totals at the end of each layer) and then by net, will continue to sort as it currently does. This ensures that you will see your total entries where you expect them.

How Do You Name Your Design Elements?

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!


CDNS - RequestDemo

Have a question? Need more information?

Contact Us

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information