Library Clean Up
In a perfect world, designing a PCB should not have to entail any library work. Every component is readily available. The graphics are kept to a similar “look and feel” and the data is not only consistent, it is complete. Searching for the right component does not require any internet searches, and bills of materials simply appear upon the completion of the schematic.
This utopian library is far from reality. Why?
- There are over two billion components on the market. The market is not static; Components are introduced and obsoleted each day.
- There are over 40 component types. Different components have different purposes, and thus have different parameters.
- Unlike the mechanical engineers who enjoy a universal standard for mechanical 3D known as STEP, the EDA industry does not have a standard for symbols and footprints.
- Most libraries start out as individual efforts. Unfortunately, these individual efforts are not structured for easy integration with other individual libraries.
- Libraries are like vegetable gardens. They must be maintained by someone who has a vested interest in it.
Philosophies are a good starting point, but where does one start when all one has is an eclectic pile of components?
At Nine Dot Connects, we have helped many of our customers organize and clean up their libraries. We use a two-fold approach: Establish a good library with the existing components and then set up a workflow so future components will be consistent
with existing components.
That is the key word: consistent
What does a consistent library look like? There are two aspects to consider.
- Individual Component - The component should be complete with its appropriate formatted parameters, its symbolic graphical representation, and corresponding footprint.
- Continuity of Components - Each component type is represented by the same set of parameters, and their names and descriptions are consistent. The symbol graphics use the same fonts, colors, orientations. The footprints use the same mechanical layer sets.
Consider a few examples:
: In a library, there are lists of component names and descriptions, and then there are GOOD component names and descriptions. Consider the following list of components:
On the surface, this looks like a reasonable list of components. However, to the designer, it is woefully incomplete. None of the names nor descriptions contain enough information to know the component’s characteristics. Granted, there are libraries out there that allow the designer to figure out the component manufacturer’s name and part number on the schematic level; however, none of that information finds its way back into the library. In addition, the user will have to be careful to review the footprint to ensure that it is appropriate for the selected component.
This is a bit of exaggerated case, but the user can determine quite a bit from both the name and description. It is sortable and uses a trickle down naming convention that starts with general information and progresses to the specific details. (Note – In a database library, a name isn’t even needed! Just a good description format.)
: Parametric Data. Consistent data in the libraries will lead to a complete Bill of Materials upon the completion of the schematics.
In this real example, the information for part procurement is also woefully inadequate. Some of it can be found from a supplier; in a few cases, the manufacturer is disclosed. No manufacture number was provided and most of the pertinent information is simply missing. This puts a heavy burden on both the purchaser and the designer.
A good library will create a good Bill of Materials:
: Consistency in discrete components. When one sees different graphical representations for the same component, it's an eyesore, especially when searching through a list of components.
In the example shown, all the resistors are valid; however, a library should standardize on just one graphical representation.
: Footprints. As good parametric data in the symbols will lead to a good bill of material, complete footprints will ensure both good placement and good documentation.
: In this example, we do have a viable footprint. However, its mechanical information is not obvious nor complete. What exactly is Mechanical 1? Is there a courtyard? Is there an assembly layer? It is not visible nor does the mechanical layer give any indications.
A complete footprint has well defined mechanical layer names. In this example, it is clear that there is courtyard layer and the .designator is there for the assembly layer. The only silk marking is for orientation purposes. (In Altium Designer, the designator on the silk layer is added when the part is played in the layout editor.)
In summary, there are libraries and then there are libraries that provide the designer everything they need to make a good design.
At Nine Dot Connects, we can help. If you want to ‘scrub’ the data by checking and filling blanks, creating symbols or footprints, or simply want us to take what you have and turn it into something great, we have done it for others and we can do it for you.