• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. PCB Design
  3. Is it possible to define interchangeable part numbers in...

Stats

  • Locked Locked
  • Replies 7
  • Subscribers 165
  • Views 18043
  • Members are here 0
More Content
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Is it possible to define interchangeable part numbers in a BOM?

EvanShultz
EvanShultz over 7 years ago

In our products we would like to be able to select interchangeable parts. Let me discuss quickly why this is useful and our motivation. We may want to allow purchasing of two parts for lead time (availability) or cost reasons. Or we may manufacture a product in different locations with one part number preferred at one location and vice versa, but both part numbers are acceptable. The reason to have two unique part numbers is that the parts may not be interchangeable in all designs, so on a design-by-design basis the interchangeability must be determined. Therefore, one part number cannot have multiple manufacturer part numbers.

Here is a concrete example of how this could work. At location Q45 there may be two different transistors that can be used. Each transistor has a unique part number and the BOM should show that either part number can be placed at location Q45. Some method of allowing multiple part numbers for one location must be provided.

Is there an existing way to do this within the DEHDL - Allegro flow?

I have used the word "interchangeable" above instead of "alternate" to avoid any confusion with the Alternates feature of Variant Editor. I know how to use Alternates in Variant Editor and that is not what I want.

  • Cancel
  • excellon1
    excellon1 over 7 years ago

    Hi Evan  We have run into this in the past so I can clearly see where you are going. In particular this can crop up if you have product manufactured in Asia. Sometimes the MFR over there will sub out parts based on availability to them.

    While I cant speak to DEHDL we have solved this issue with a "PLM" system. Basically the PLM system drives the PCB board design and not the other way around. For example in the PLM system we take out a new part number say 21102-04. So in the cad system we will have a symbol and footprint for 21102-04. The design gets completed and 21102-04 is on the board at location X1. From a BOM perspective that is all handled by the PLM  system as that drives our MRP system. The advantage of the PLM system is that under our part number 21102-04 we can have multiple vendor parts that are suitable and they can be chosen based on availability and cost.  While this is not the answer your looking for perhaps it will offer some insight. I think it would be great if Allegro could offer something like your after but it is not its mission as far as I can see.

    On part numbers we have a primary "Company Specific" for things like resistors, caps, ic's etc, but under that part number in the PLM system there are Vendor P/N's and anyone of those can be chosen to build an assembly.

    Putting aside the PLM system and lets assume you don't have one. What I think Allegro needs to accomplish what your after is something that has been available in other tools for a very long time. It's called attributes, see picture below.

    So in the picture you can see that R1 is selected and the properties of R1 contain various attributes. You can see that there are multiple "MFR's for that particular resistor, but the physical resistor is the same regardless of the vendor. So when you create the bom because multiple MFR's are available you can choose the one you want or include them all. There are no limits really and there is lot's of flexibility to mix and match based on your desired end result. You can also automate board attributes in that it is petty easy to magically update P/N - Revisions on the board. 

    There are other significant advantages to the designer or engineer too. In the physical design all the info on a part is available with a simple click. You can have attributes for basically anything or make up your own based on company specific things. To do this or something similar in Allegro is beyond a heavy lift when one considers having to add text to a footprint on a subclass just so that its available to be driven from the schematic. Seriously heavy lift !. It is also possible to have alternate footprints associated with the same P/N which may be more specific to your need or if it was a last minute dash out the door manually add an attribute to the footprint without actually editing the footprint.

    Sorry to go long on this, maybe give you some ideas or food for thought. What you write about is interesting. Things have become more of a challenge when one considers what part of the world parts and assemblies are coming from. They can have real implications !.    

    All the best.

    Paul.  

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • EvanShultz
    EvanShultz over 7 years ago in reply to excellon1

    Hi Paul. Thanks for the detailed and explanatory post!

    We have both a PLM and ERP system. We also used to use P-CAD before Cadence and we handled things similarly with regards to Attributes.

    Anyway... each line item in our PLM system has one location (ref des). But we want multiple PNs available to place at that location. However, which PNs is design-specific so this will have to be done manually. Only engineering knows this and we want to embed it into the ECAD design. Then the only method is pushing from ECAD to PLM.

    We have many manufacturer PNs for each of our PNs when that's suitable. But my question is about when the parts are not function-compatible (they are form- and fit-compatible) and so require different PNs. In this case, in a particular design the PNs may be interchangeable but they're not interchangeable in a general sense. And so they can't be on the same PN.

    In this case we need a method to allow either PN to be stuffed in a board at a particular location. And as I wrote above this should be driven from ECAD (FWIW) because engineering will have to decide the interchangeability and we want to control this within product development team and not in doc control.

    If I understand you, your post isn't quite what I'm after. You said this yourself. But it's perhaps closely related.

    Major bonus points if a system can specify a part as interchangeable for all PNs in a design, or only one-by-one. In some cases I may be able to use multiple PNs at all locations, but in other cases some locations may have multiple PNs allowed but in other locations only one PN is allowed. As above, this would be for the greatest availability during parts sourcing.

    Thanks again for taking time to post and please follow up if I'm wrong, have misunderstood you, or if there's anything more you can add!

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • EvanShultz
    EvanShultz over 7 years ago

    I was able to make a bit of progress on this, using two methods:

    1. In the Alternates tab of Variant Editor I can add alternates and then select Change Properties. This text will be written to variant.dat for only that particular alternate PN. If this text is a special keyword, I can parse variant.dat and then figure out which PNs are interchangeable and write out a suitable BOM.

    However, this process is rather painful. And I would need a different keyword that would indicate this interchangeability works for all locations instead of only one. One can visualize this would work, but it's quite unpleasant and I'm loath to even build it out to a proof of concept.

    Plus, it has the nice advantage of being tied to the syntax of variant.dat. So I'm subject to the tool breaking with every base release or hotfix. That sounds like a nightmare to manage.

    2. I could add an attribute on a part body in DEHDL. For a single interchangeable PN, this is the PN. For multiple interchangeable PNs this would be those multiple PNs with some separation character, probably a semicolon.

    The company BOM template would include a column for this attribute so it would appear in the resulting BOM. The PLM tool would then need a custom import function to know what to do with this BOM column.

    There could be ways to indicate a "global" interchangeability that the PLM importer would recognize.

    This method utilizes the DEHDL UI and doesn't require reading and parsing cryptic DEHDL files. It's arguably easier to manage. And I could write a Concept SKILL routine to assist users in adding the attribute and setting the attribute visibility as desired. (I know Allegro SKILL but not Concept SKILL; however, how hard could it be? Famous last words...)

    Any other input or thoughts are welcome. It's hard for me to believe this is a unique or rare desire. It feels like many companies should have crossed this bridge with DEHDL/Allegro.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • excellon1
    excellon1 over 7 years ago in reply to EvanShultz

    Hi Evan

    I went back over what you wrote and the only thing that I am not very clear on is where you say "They are form and fit compatible"

    I can see the case where having multiple vendor P/N's would be a good fit using attributes as in PCAD but in such a case your physical footprint on the board will still be the same, like a 1206 resistor etc.

    Form & fit to me seems to indicate some sort of "Module Assembly" , would that be right ?

    I can see where your footprint may be X, but footprint X can be a module which means it's form and fit does not vary from a footprint perspective but it's actual function can vary widely in particular if said module contains something like an FPGA or some other programmable logic.

    I don't have much exposure to the allegro front end "Concept" I am living in the Orcad Capture world here. That been said it seems if my assumption is right with respect to modules then how to
    have a P/N for a module that can vary widely in function is a bit of a challenge. Not too sure how to approach this.

    Anyway, glad to put some ideas out there. The dialog on this is good.

    Thanks .... Paul.  

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • jcteyssier
    jcteyssier over 7 years ago in reply to EvanShultz

    Hello,

    hat about use different properties like "partumber_asia" "partunmber_us" 'partnumber-elsewhereyouwhish"and so on on components and use rigth property for BOM generation?

    But sound like variant is the tool made for your requirement (can be seen both side schematic and pcb)

    I agree it is not verry user friendly....

    Jean-Charles

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
>
Cadence Guidelines

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information