Get email delivery of the Cadence blog featured here
Many of you are starting to design interposers and very high pin count device packages in the Cadence® SiP and APD tools. They are great tools for this, allowing you a large amount of flexibility and customization potential while providing a robust framework and database on which to work.
However, as the number of objects to manipulate increases, you may notice that the display takes longer to draw. This is for a very good reason: by default, the tools will draw everything on screen for you that is inside the database extents you are zoomed to. No matter how large, or how small, the element is, you will see it faithfully rendered on the screen if its layer is on.
The downside to this comprehensive drawing approach is that if you have a hundred thousand pins on your device, they are too small to distinguish from one another. What you end up seeing, instead, is a solid wall of whatever color(s) are assigned to those layers. This is not terribly useful from a zoomed-out, macro view of the design. It only becomes useful when you dive down deep enough to see routing channels between pins, via locations, traces, and other design elements.
With that in mind, today we’re going to talk about how to balance between both strategies – drawing all items as accurately as possible versus drawing the objects which are relevant to you at current canvas zoom.
If you’ve had the good fortune to look at an IC layout in a professional design tool like Cadence Virtuoso, you may be familiar with what we’re about to talk about. In those tools, you have the ability to control the minimum size of elements to be painted on the canvas. Anything smaller than this threshold is suppressed from the display. Having thousand, potentially million, fewer objects to render provides a huge boost to display performance, as you can imagine.
In 17.2, the Allegro layout tools have been enhanced to offer a similar capability. In the color/visibility form, shown below, navigate to the Display tab and look in the lower right corner of the options:
The object filter allows you to set the minimum size for objects to be drawn and further provides you the option to specify which objects can be filtered. This means that if you MUST see all pins, even at a macro level, you can do so while suppressing other elements like your degassing voids, thieving pads, and DRC errors. DRC markers can be particularly important; after all, if you can’t see where your errors are clustered when zoomed out, how will you know what area to focus your cleanup efforts first?
When routing, you are often focused on a single layer (or, at most, the layer you are on plus those immediately above and below you). By turning off all layers you aren’t using, any objects on these layers can be skipped immediately by the canvas drawing. At times, you might not even realize that some layers are turned on, particularly if the objects on them are masked behind the layer you are working on.
There are a few great ways to do this:
Leverage the color view pull-down in the visibility tab. If you have color views saved on disk or artwork films defined in your design, you’ll find these populated here. These are quick ways to reconfigure the display as you change layers, whether you select from the pull-down or define a function key for each of them.
Enable the layer select mode. You’ll find this option at the opposite end of the visibility tab. Down at the bottom of your screen, this handy button turns all of the layer names in the visibility tab into hyperlinks.As they are hyperlinks, clicking on the layer’s name will blank all the others and turn on just that one. This allows you to quickly move down the layer stackup as you progress from a component mounted on the top to the BGA balls on the bottom. And, should you need to see the adjacent layers, hold the shift or control key to select multiple layers.
Custom images are your third option. There are a set of command-line options that you can leverage. Starting with the images command, you can define four specific color views that can be immediately loaded by typing the respective command, image restore v1-4.These view files exist on disc, so they can be reused across multiple design files for consistency. You can accomplish nearly the same thing using the views pulldown on the visibility tab, especially combined with function key bindings, but this is still available if you prefer the simpler interface.
We’ve now covered the big items, but there is a third category worth considering. Dynamic labels are the net name text shown on top of clines, filled shapes, and clines, plus the via span labels on top of vias. These labels are undeniably useful during routing or design work, but the more of them you have enabled, the more text is drawn to the canvas when you pan and zoom.
In the design parameter form, consider turning off those labels which aren’t needed during this phase of the design:
Each label that you turn off reduces the rendered elements on the screen. If you have 100,000 vias on the screen, turning off via drill labels eliminates 100,000 elements drawn on the screen. Keep in mind, you still have all the via pads themselves, but removing half of the items from the pool will reduce the stress on your graphics card.
Hopefully, this has been informative. If you are seeing issues with slow display performance, while more graphics memory and a faster, dedicated graphics card will help, so too will simply reducing the number of design elements to be drawn.
Keep designing! We are here to help you maximize productivity and ensure your success! Look forward to exciting new features in the future as your design complexity continues to increase.