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!
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 below:
Layer Compare consists of three commands, all with complimentary applications:
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.
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 masks.
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 layer compare:
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.
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 configuration:
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 left off.
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, after all.
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!