The quest for the optimal library
At Nine Dot Connects, a good deal of our experience has been in the area of libraries. Every project that we touch requires us to review and in many cases, modify library components. We understand that a library is both the necessary foundation of a PCB design and quite frankly, the bane of every designer who has to deal with them.
Before we delve into our services, we wish to express our philosophies when it comes to libraries, which can be divided into 2 major areas of concern. The first is the framework for the library structure. There are several to do it, some of which are unnecessary or inefficient. They may look like the optimal solution for your company; however, the path to achieving and maintaining such libraries is painful, as best.
The structure itself is meaningless without the components, which is the second area of concern. Though it is simple enough to put together a component, there are implications that have a tremendous impact on the bill of materials and ultimately, the fabrication and assembly of the PCB.
- There are over 300 million components and 15,000 suppliers on the market, according to Silicon Expert. Other than the textual databases of Octopart, Silicon Expert, and the major part suppliers, there is no complete library.
- Even if there was a complete library, it would have to be automated in such a way as to collect information regarding obsolete components in an automated fashion (or have a rather large team of individuals who sole job is to seek and collect this information.) Likewise, the team would have to keep up with the introduction of new components.
- Furthermore, the size of this library would be in the terabytes with the need for a large scale database system.
- Even if an organization provided a library that had 3 million components in it, that only represents 1% of the total components available, and within that 3 million component library, 99.9% of the components in that library would not be applicable to your design.
- The building of a library is much like the building of a dam. It has to be done right the first time and subsequent repairs thereafter are rather difficult and time consuming.
- A library must be owned by someone. Like a garden, it must be maintained by human hands; otherwise, it will go to pot in very short order.
- There are fundamentally 2 library types available – symbol centric and database library. Symbol centric libraries have been around since the beginning of EDA tools; however, the most efficient method is the database library. In addition to symbol and footprint reuse, it is far easier to create and duplicate formats in a database than it is to do so in a symbol centric library.
- Unless the customer or industry upon which the design is being created for requires version control of a library, there is no need for it. Components generally do not change over time.
- The optimal method of library management is to have a single database that serves both the engineering (aka the designers) and the business (aka the purchasers, accountants) groups. A library database that is separate from the purchasing system will always have an inherent lag of information which causes most of the problems. (We understand that this is not a simple thing to remedy, thus the need for a separate library truly becomes a necessary evil.)
These philosophies regarding the framework are a good start; however, there is a need to take the philosophies into reality. The team at Nine Connect Dots has put a considerable amount of thought and time into different library configurations. From these experiences, we have come to conclusions and recommendations that we wish to impact to those who are seeking to build a library.
- Without a universal graphical standard, each component will need to have a graphical symbol and footprint for each of the EDA tools being used. Even within EDA tools offered by the same company, different products require different formats. For example, Protel, Altium Designer, and P-CAD have their own formats, though they are all under the umbrella of Altium Inc.
- The ability to collect components amongst colleague in the hopes of pulling together a central library is extremely difficult. The best analogy to this would be to have a bunch of kids scoop sand from different areas of a beach into a bucket and hope that when that buck is turned over, a perfect sand castle will be formed. Anyone who has gone through this summer time exercise knows that it will be nothing more than a pile of sand after the bucket is lifted. Why? Because there was no consistency in the sand moisture. In the case of a library, there will be no consistency in the parameter information or even the graphical formats. In the end, it will be a pile of misaligned components.
- In almost every new design, a component that has not been used before will be needed. The only exception may be a case in which the exact netlist was used and the form factor of the board is different. Even then, that’s a rarity because there is usually a need for a different connector. In the case of a new revision of an existing product, that rev is usually to enhance speed, size, or functionality. As a result, there is a need for a better component.
- Generally speaking, 75% or more of the bill of materials will contain discrete components, primarily capacitors and resistors.
- The features and options provided in most EDA tools are like spools of rope – plenty enough to hang oneself with.