Get email delivery of the Cadence blog featured here
How’s that for a tongue twister? Go ahead, try and say it three times fast! What we’re talking about today is the “Create Bounding Shapes” tool found in the Shapes menu of both Allegro® Package Designer and SiP Layout.
We first talked about this a few years ago, in fact. The previous post is here if you are interested in the history behind this command. When it was first added to the tool, we did it at the request of one of our close customers. Never did I think at the time that it would grow to such popularity with you, our customers. In the 17.4 release, you can find this command not just in the Cadence Packaging tools, but also in the Allegro® PCB Design tools and OrCAD® PCB Designer Professional. Word gets around!
The usefulness of the command has broadened its audience, but it’s the requests from all of you that have taken it from its humble beginnings to what it is today.
When first released, the bounding shape tool had a relatively small set of options:
You could identify what layer the shape was on, how far from the selected items you wanted it to clear, and whether to delete any existing shape at the same location (basically a “replace” mode). From there, you could select pins, vias, fingers, and/or line segments. A convex hull would be calculated around them like the bond finger solder mask tool does in the Manufacturing menu and added to the appropriate layer.
Fast forward to 17.4, and let’s look at the form for the same command as it is found in all the products today:
You still have all the original abilities to delete the existing shape (now better renamed as Regenerate shape), assign the net, and define the clearances for the boundary. The objects you can select on the canvas are also the same
What’s different, however, is where the shapes can be created. No longer are you limited to a single layer at a time. Instead, you can create this bounding shape on as many layers in one action as you want. Take the screenshot above... when I pick my pads, I’ll be creating shapes on eight layers spread across two classes. There’s no need to add the shape, reconfigure the form, and repeat, nor do you need to switch to the z-copy shape tool to populate the other layers. A one-time setup of the layers tree is all you need.
This is very useful when you need those geometries for different purposes. Perhaps you’re defining a soldermask opening, but you also need an etch-back mask on top of the selected cline segments. You may be adding keep-out regions on layers above and below the selected pins.
It is also possible to create different types of shapes. Initially, you could create static or dynamic shapes only, with solid fill the lone option. Now, you can create solid or cross-hatched shapes, static or dynamic, and can update the minimum area value on the shapes directly, so that they aren’t filtered due to the global settings for your minimum shape area threshold. Mind you, if you’re creating dynamic shapes, you’ll need to make sure you’re selecting conductor layers as your destination – they aren’t allowed on Manufacturing, Substrate Geometry, and other classes.
These options are all designed to save you running multiple commands to achieve your final objective. Incorporating the most commonly requested flows into this one command allows reduced mouse clicks and steps, lowering the chance that you’ll miss doing something and need to start over.
If you are not familiar with the term convex hull, the bounding shape described here is the shape you would get if you took an elastic band and snapped it around the objects you just selected. A picture’s worth a thousand words here:
I selected the seven red square pads and specified a 50um clearance from them. This gives me the three rounded corners. But, just as a rubber band would look, the shape does not dip in to follow that 50um rule on the indented lower-right side. Instead, it goes straight across the diagonal.
The concept has many applications in mathematics as well as here for us in the EDA substrate layout domain.
If you’re already a master with the Create Bounding Shape command, you might be excited to see the new capabilities. Should you be a newer user, or just haven’t realized the command was there, I’d ask you to give it a try. It may make your job that much easier!