Get email delivery of the Cadence blog featured here
Back at the start of 2020, we talked about why you shouldn't use the default wire profile in your actual design. Today, I want to take this a step further. If you do wire bond designs, you are doubtless aware of the certified bond wire profiles that are installed with the tool. These profiles come from one of the largest bonding wire machine companies in the world and, if you use them, you can be confident that the machine will be able to make the curvature you’ve defined.
Just because these machines are known to be manufacturable does not mean they represent profiles that you and your team want to use, though. Maybe you use a different bonding machine. Or, you might have strict requirements on maximum loop heights, bond directions, materials, diameters… anything, really.
In this case, consider making your own certified profile sets for your team. This way, verifying that the profiles have not been modified in any inappropriate or undesirable manner very quickly. Beyond that, sets of profiles allow you to divide them up based on design criteria. Have different profiles to use for memory die stack designs versus wire bonded RF components? No problem!
Continue reading, and we’ll walk through how to define your own profiles, release and manage them for your designers.
Certification is an effort to allow profile experts to provide known-good loop profiles to their users. All that it takes to make a profile certified is to flag it as such in the profile definitions set that the user is referencing. Then, so long as the profile remains unmodified (or is modified within legal boundaries), it remains certified.
Your needs are simple for achieving this. Do you know your company name? Do you have an image file with your corporate logo? Are you familiar with XML file editing with a text editor of your choice? If you answered yes to all three questions, you’re all set!
The simplest way to begin is to define your profiles through the Allegro Package Designer’s profile editor environment to set up the curvatures. This gives you the ability to graphically see the profile as you design it. And, you can define all the profiles for a given technology at one time. When you’re finished, use the save button to write all your profile definitions out to an XML file on disk. This is the base for your certified profiles.
When you save your profiles to disk, give a thought to what you want this particular set of profiles to appear as in the master definitions pull-down on the form. Your file name must contain “Wire Profiles” or “Wire_Profiles” in the name. This is to differentiate this XML file from all the other types of XML files that might be found in your technology file path.
We’re coming to that now! After saving your file to disk, configure it with your company name and logo using the tags as shown in the illustration below:
The profile_vendor_name and profile_vendor_logo_file give the name and graph to be displayed on the form when your certified profile is in use. The function is primarily to give a clear indication that this profile is certified and unmodified in the design.
The last step, for each profile, is to indicate that it is certified. Typically, for all the profiles in your profile library, this will be true. So, each profile will get the profile_from_vendor tag with the value of TRUE to indicate this.
When your user selects a profile you have certified, this will be shown in the wire profile editor. I made a profile I said was Cadence certified. Then, with our corporate logo, it looks like this in the form:
You bet! If you want to give a recommended or default value, but still allow your users a level of flexibility, you’ll want to add the min and max fields in the appropriate profile definition points. First, though, you will have to set the WB_PROFILE_TOLERANCE_BETA variable in their environment. The feature is production-ready, but until we have more end-users leveraging the ability with certified profiles of their own, the beta status allows us to quickly adapt to feedback you provide.
The example below is simple but gives you the idea. These ranges can be set for either the horizontal or vertical values of any point in the profile (except the switch statement, which has no movement value, of course!).
What will your users see, should they enter a value that is outside of the range? Something very much like this:
Profile sets are looked up through the TECHPATH variable. So long as you place your profile files in one of these directories, and include “Wire Profiles” in the file name, everyone on your team will see your profile definitions and be able to use them.
It really is that simple. Add a few tags to the file, name the file so the tool knows what it contains, add it to your technology path, and you’re finished!