Get email delivery of the Cadence blog featured here
Soldermask and its brethren are stable in the EDA design industry. These layers control what is exposed to the elements (and to electrical connections!) on the top and bottom layers of the substrate. But, for many years, they have been a part of the electrically aware cross-section in the Allegro tools.
With earlier software releases, it was not uncommon for those of you who wanted to see these layers as a part of the overall cross-section to add dielectric layers in the desired position and name them after the mask they represented. This has many complications, however, since that dielectric layer is not a typical insulating material. Doing this would expose the layer to DRC checks (and NOT the same mask-based checks as in the DFM and assembly checks, since those rules cannot base themselves just on the name of a layer). You could inadvertently route on them, causing calculation errors for delay and length calculations.
It was, at one point, the best solution available if you needed to see these layers and toggle their visibility frequently. The named dielectric would show up in the visibility panel, allowing you to turn the entire layer on and off. It didn’t come without its drawbacks. Especially when considering that the tool did not understand these replaced the defined mask layers it was expecting you to use!
In the 17.x releases, that has changed. Understanding why – and leveraging the new ability to model accurately the characteristics of these layers – may be the difference between correct and incorrect design results.
Placing your mask layers into the cross-section takes only seconds; the benefits you receive last throughout the entire design flow and through the ECO revisions in the future. It is well worth the time.
Mask layers, however, are not added quite the same as a dielectric, conductor, or diestack layer is. Instead, you need to use the “Add Layers…” option which appears when you right-click over one of the existing stack-up layers. Doing this will bring up the form below, where you can configure and add all the masks that are part of your build-up.
You can use this interface to add all the masks at one time. There’s no need to exit the form after each mask is configured. When you’re finished, a press of the Exit button will return you to the main cross-section editor form replete with your newly-added masks:
Now, mask layers defined in this way have one very special behavior. You can move them around anywhere in the cross-section at any time. A right-click on the layer name area will show you the Edit Mask Layer Order entry where you can move the masks up and down to set their exact ordering relative to the dielectric and conductor layers in the grid:
Once you’ve added your masks to the cross section, you may notice a benefit that you didn’t expect: they now appear in the visibility pane’s layer list!
Because the tool now knows where these belong in the layer ordering for the design, they will now appear in the stack-up layer list in the right position. As shown above, you can see that soldermask top and bottom are now above top and below the bottom in my simple design.
Here, you can turn on the soldermask at any time you like to see what is exposed on the top metal layers through openings in the mask layer. And while you can add these layers to the custom layers section of the visibility tab WITHOUT editing your cross-section, you would need to add three separate entries for each mask to be able to toggle the via and pin mask pads plus the manual openings from the substrate geometry class.
By adding the layers to the stack-up, you can still turn these on and off individually (or change their colors) from the visibility tab, but you also have the All column, where you can turn the entire soldermask layer and all its pieces off with a single click. In my world, one click is ALWAYS faster than three!
Don’t worry if you do not wish to see the mask layers cluttering up your visibility tab – especially if you have many die stack layers for all your stacked die components. The masks have their own “all” row at the top of the list, and the checkbox beside the layer type will allow you to hide all the defined mask layer entries from the list so you don’t need to see them should you be uninterested at this time. The masks layer filter only displays if requested and you have defined masks in your cross-section. If you don’t see it present, make sure that the filter is on in the Visibility Pane options.
This is probably the simplest of all the concepts today. Why? Because if you followed the steps above and added the masks into your cross-section with the correct materials, thickness, and other attributes, passing the data to other tools should be seamless and automatic.
3D Canvas: This needs both the thickness and the order of the mask layers to render them. By adding the masks into the cross-section ordering, it is now able to draw them properly (it may use default placement and thicknesses otherwise, which could end up giving you misleading results, so be careful!)
Sigrity: The extraction to the high-speed signal integrity (plus power, thermal, and other analysis tools) needs the thickness and order, but also the material properties for this layer. The material is assigned in the cross-section editor, and so can be referenced to obtain all the characteristics through the common material file shared by both tools
Die Stacking: Yes, die stacks need to know your mask thickness and order as well. Since wire bond dies typically mount above the soldermask layer, knowing the thickness allows for more accurate bond wire profile curvature estimates
Reports: Some reports need the information about these layers to give fully accurate results. One example would be any reports which deal with the overall package thickness or height. This can be imperative when ensuring that the finished package, complete with molding cap, can be assembled into the final form factor!
The more accurate your design reflects the final physical part, the better your results will be. Whether it is setting the right material or thickness for your soldermask layer, as we touched on today, or making sure that your power nets have been assigned the anticipated voltage… a little accuracy goes a long way. Tools are great, but they are still just tools, operating on inputs to generate outputs. The better the inputs are the better the results will be!