Have you ever wondered exactly what has changed between two
different versions of a package substrate? Perhaps you've wanted to see exactly
what metal on the top surface of your package is exposed through the
combination of solder mask openings and etch-back mask areas. Or, it could be
that a metal density analysis across two layers shows significant differences
and you want to see all the areas where only one of the layers has metal, so
you can add metal in the ideal regions to achieve proper balancing.
Whatever your objective, you'll want to pick up the latest
16.6 ISR of the Cadence Allegro Package Designer (APD) or SiP Layout tools. With them, you gain access to
the new Layer Compare family of functions. These offer simple solutions to the
three scenarios we've already discussed and hundreds more with tools to compare
layers in the same drawing, between the current drawing and one (or more) other
versions of the design, and even to walk through the differences that are detected so
you can quickly look at the area in both databases, see the shape and size of
the difference, and take whatever action you want based on that information.
To learn more about these exciting new tools and where they
can fit into your design flows, read on!
The Layer Compare Family of Tools
With versions of the 16.6 IC Package layout tools released
after August 2013, look for the Layer Compare tools in the Tools menu, as shown
Layer Compare consists of three commands, all with
Interactive Layer Compare - Use this to quickly
compare two layers in the active drawing at a time. Results can be written to a
third layer of your choice. With a simple interface and minimal configuration
options, for your quick comparison needs, this is the go-to tool.
Batch Layer Compare - When you need to compare
the active drawing against a different database, need a finer level of control
over exactly what is compared, or want to run multiple sets of pre-defined
compare operations, the batch tool is the one you want. You can even run this from the operating
system command line in batch mode, if you have a large set of designs to
Difference Walker - After you've run batch layer
compare and obtained your results, use this command to walk all the differences
to see them. With the ability to launch a second copy of the design tool and
dynamically zoom to the difference area in both designs at the same time,
you'll have all the answers you need in no time.
These tools have incredible value on their own, and when
combined, can save you effort, save you time, and save you possible errors.
Here are just a few examples from the Cadence engineering team.
Example 1: Finding All Solderable Areas on the Top Layer of Your Substrate
The Cadence tools use OpenGL for their graphics, allowing
you to see through one layer to another. This means you can turn on the display
of your top solder mask layers and top substrate layer, and see "through" the
masks to the substrate and look for what areas are exposed through holes in the
But, what if you want to actually run checks to ensure that
metal exposed through the mask openings meet certain criteria? What if you want
to generate an artwork film or PDF that shows all the metal exposed through the
masks? With the interactive layer compare tool, you can do this with ease.
Pictures being worth a thousand words, let's look at how you might set up your
Using the substrate outline as the region to bound the
differences means that any text, silkscreen, and other objects outside the BGA
outline won't show in your results. The reference layer, here set to
CONDUCTOR/SURFACE, will combine the CONDUCTOR, VIA, and PIN classes for layer
SURFACE to form all the metal on that layer - and the positive flag indicates
we want to use the shapes as they are in the design. With the comparison layer,
we will pick up the solder mask top shapes. Since the shapes on this layer
represent openings in the mask, we leave it as a positive layer - we want the
conductor objects that are inside these holes.
Finally, the destination layer is a new layer we've asked
the tool to create specifically to store these shapes after performing a
logical AND of the two layers - that is, any areas that exist on the SURFACE
layer *AND* are inside a hole in SOLDERMASK_TOP.
Generating these shapes will give us what we want. Just to
increase the power, you can "build up" outputs by first comparing two layers
and then using the results as either the reference or comparison layer for
future operations. The possibilities are endless.
Example 2: Seeing the Changes Made Between Two Revisions of a Package
Maybe you want to do something more complicated than
comparing two layers in your drawing. What if, for example, you want to see
what has changed in the die escape routing for the power and ground nets under
a flip-chip between versions 4 and 5 of the package? Use the batch layer
compare tool to make short work of this. As a simple example, check out this
Here, we've specified a comparison database and a control
file. And, you'll see that we've defined a single compare operation (for
simplicity - you can define as many comparisons to be made as you like). By
restricting the nets to VDD and VSS, we'll only see differences in the power
and ground nets, and by restricting the region, we can tell the tool to only
look in the area under the flip-chip. Finally, we don't want to worry about
very small differences, so we set a filter on the output layer to say that only
differences with an area of at least 50 square millimeters should be displayed.
We'll run three different operations, each with a different color - yellow for
regions the same in both tools, blue for metal areas only found in the active
design, and pink for areas in the comparison design.
As alluded to
earlier, we can save and reuse control files. When you browse to one, the tree
of operations will load from the file. Or, you can use the control file with
the command line batch layer compare tool to run on a whole series of packages.
You could compare the latest revision of the package to each previous iteration
to get a picture of how the routing has evolved over time.
Once the batch operations are complete, run the difference
walker to see what the changes are. The difference walker supports looking at
differences between this drawing and all other designs it has differences
recorded for, as you can see below:
Once you've picked your comparison database, you can open it
in a second layout window (second tool license required) and automatically
synchronize the view in both designs as you select differences to look at. Make
changes or take any other action you need to based on these differences, and
then remove them from the list. That way, if you have too many differences to
get through in one sitting, you don't have to worry about remembering where you
Have an Idea for Improving the Layer Compare Tools?
We've covered a lot of ground today. To really appreciate
the tools, you'll need to use them yourself on your own designs. There's
nothing quite like some hands-on time with the tool to appreciate its power,
Once you've had some exposure to the tool, let us know what
you think. Do you have an idea for how to improve the features offered with the
layer compare commands? Or, do you have a creative application for the tools
that other designers might not have thought of? Whatever it is, let your
Cadence customer support representative know. It'll get shared with the right
people - be it the design community or the Cadence engineering team. When the
next version of the tool comes out, you may well see your suggestion in the
What's New guide!