Get email delivery of the Cadence blog featured here
Your design is near completion. Except that you’ve got an area of your plane shape that stubbornly refuses to fill, and you don’t know why. Understanding the rules involved and the tools available to help you figure out – and make changes, if needed, to get the result you want – is critical to make sure you aren’t wasting valuable design cycles.
Thankfully, the Cadence® Allegro® platform provides you with the exact checks that you need from start to finish. This post will cover those available tools plus when, and why, to apply them to your design.
While rare, it still happens at times that a shape outline in your design will become corrupt. It can be difficult to recognize this when it happens, but triggers that can visually show this are incorrect display of the shape (an area that should be voided appearing solid) or incorrect DRCs (reporting a violation that visually looks correctly spaced). To check for this, run DBDoctor from the Tools menu with the check shapes option enabled. If any shapes have problems, which could range from duplicate void elements to self-intersecting outlines, they will be reported in the results along with the net, layer, and reference location. If DBDoctor cannot decisively determine the intended shape, you will need to edit it yourself. Often, it is as simple as deleting and recreating the dynamic shape boundary, which is usually a simple outline.
If a shape doesn’t fill where you believe it should, there are a selection of potential causes. The number one cause is typically that the shape would be too narrow in that area. Areas narrower than your minimum aperture width cannot be filled. Consider spacing surrounding elements farther apart (we will assume you can’t just change your manufacturing capabilities!). A similar cause may be that the shape’s area is under the minimum shape area specified in the global shape parameters or, if you have enabled automatic island and antenna deletion, the shape may have been suppressed due to insufficient connections.
Rather than having an area with no fill, sometimes you will have cases where the fill in an area is associated with the wrong net. In this case, what to look for is very specific. In the Allegro layout tools, all dynamic shapes have an assigned priority. Higher priority shapes fill an area first, with lower shapes pouring only in the empty space remaining. Should you find an area with the wrong shape fill, check the fill priority for both shapes and adjust them to correct the pour ordering. In some cases, if you nest shapes inside of other shapes, it may be necessary to cut the shape into multiple pieces to get the priority you need in specific regions.
And remember: static shapes always have the highest priority! They cannot void automatically to surrounding shapes as dynamic shapes do. So, they will always fill where they are placed.
See our earlier blog entry about how dynamic shape voiding works. Of all the potential issues, this can be the most difficult to analyze. A first step is to use the show constraint tool to confirm the spacing required between the shape and the other element at the location provided. If you have a constraint region with larger spacing, or a net-net constraint, the voiding may be a result of these values. If that proves correct, then look at the object to see if there are properties specifying additional spacing needed from the shape. Lastly, it is possible that another object nearby, also in need of a void, has caused the shape to pull back here (indirectly, due to artwork requirements like minimum aperture).
Having fixed all known issues with your shapes outlined above, you are ready to go to manufacturing. Before you can do so, there are a few steps that you must run. Some are required before output, like Gerber may be generated, others are good practices.
Make sure that your shapes are all up to date in smooth mode. You cannot generate artwork or other manufacturing outputs if shapes are not all up to date in smooth mode, since the artwork would not respect all the design rule requirements. You can check the shape status from either the global shape parameters page or from the status dialog and use the Update to Smooth button in either if needed.
Enable and run the DFM design rule checks for shapes. These provide you with solid, dependable checks for everything from acute angle corners to minimum widths across the entire design. Don’t rely on downstream tools to give you errors. Find them and fix them before you ever generate artwork!
Run the shape check tool on shapes. This function will run a comprehensive check on the shape based on a specified aperture value. It will flag (circle figures in the canvas) areas that cannot be manufactured for any reason. Depending on where the issue is, you may choose to use a route keepout, add extra clearance to the object in the void, or edit the boundary of the shape directly. You can run the shape check tool again when you’ve made changes to confirm that there are no lingering problem areas.
Generate a shape report. Available from the Tools menu, the report will include all the shapes in your design, along with their artwork settings, cross-hatch parameters, and other details, such as area of fill relative to area of the boundary shape.
With every release, Allegro strives to improve its shapes tools and quality of results. From bug fixes to performance enhancements and new functionality as requested by you, the design community, you will always find helpful updates with every major or minor release.
In 2018, a new shape voiding engine was released. It eliminated almost all instances of shape spike and unfilled region problems while improving performance. This alone would be a great reason for anyone to update their software and take advantage of. When combined with a host of new voiding options and bug fixes, the option becomes ever clearer.