Get email delivery of the Cadence blog featured here
I think all of us when designing a substrate, have certain documentation labels that need to be present. Whether it’s the company name or the JEDEC package type, certain pieces of information just always need to be there.
There are two types of text labels that meet these criteria. First, we have dimensioning data. The width of the BGA package and its ball pitch would be good examples of this. Second, we have information labels. The revision number of this layout or the design name would be very common instances of these.
Today, we’re going to talk about the second type. For many design teams, these labels always go in a consistent location in the design so that they appear at the same location on a printout of the design. If you want these text elements in the same place in all your designs, but each design has its own set of values, is there a convenient and easy way to manage them? To make sure that a label doesn’t get missed? You bet there is! All you need is the Productivity Toolbox option on top of your Allegro Package Designer or System in Package layout tool.
Before you can fill in the text labels, you first must create them. That should be apparent. Don’t create them yourself with the Add – Text command, though! Switch it up and instead break out the Setup – Custom Variables – Place command.
This command lets you place text, yes, but it is intelligent text. The options tab UI is shown below. The keys here are that you assign the text a variable name, which you’ll reference later when substituting the text for the design itself, and the placeholder text you want to see on the design. The placeholder text allows you to see where the text will end up on the design.
A good idea is to use a placeholder string that’s the longest text string you intend to be used at that location. This will ensure that the final substituted text won’t overlap nearby objects (other text labels, rectangles outlining the text, etc.).
Of course, you can configure the text attributes for each text label you define. One interesting and useful attribute is the History option – found under the Advanced category above. Here, you can specify how deep the history of values retained for the label should be.
Add as many placeholder labels across the design, on different layers, as you like. The tool will track them all for you through this interface.
Having created your label placeholder elements, you are now ready to use this for a design. This involves the use of the second command under the Setup -– Custom Variables menu, Update. When you run the Update command, you’ll get a form on the screen that shows you all the text variables that you’ve defined. From within the form, you can update the value for any/all of them and push those changes into the design.
The advantages of using this interface versus hand-editing text yourself are many and significant. A few that I would highlight would be:
After the first substitution, you still know what the label is meant to convey here from the “NAME” column. With basic text, this context is lost.
You can reuse the same label in different places in the layout and not worry that you’ve missed updating one because the layer was turned off when you were making your text substitutions.
You can define context and group labels together into these, which gives you an element of hierarchy for managing your text updates.
And, of course, the history! Don’t forget your history, or you’ll be doomed to make the same mistakes again!
What do you see in the design when you’re adding the placeholders versus the final design, you ask? Why, that’s a great question!
Above, I’ve created three text labels to hold pieces of information I intend to fill in for all my designs. Right now, they just have what they are meant to hold. The <> surrounding them are a helpful default suggestion from the place command that makes these labels easy to locate.
Now, when I fill them in through the update command, I get this:
You’re seeing that right. The labels are created with a fixed reference marker point (you’ll see these if you’re in the update mode). I’ve not moved the labels at all or resized them. Because my designer string is so long, and it’s right-justified, it now sticks way out to the left. If I had a box around this, I’d probably be crossing over that. Ugly. Hence the suggestion to try and use the longest string you expect in here. A few extra characters for buffering around the string isn’t a bad idea.
Now that we’ve shown you a better way of managing your text, how many such labels do you have in a typical design for your team? How have you dealt with the update process in the past? Will these commands save you time, energy, and mistakes? I surely hope so!