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 regarding libraries, divided into 2 major areas of concern. The first is the framework for the library structure. There are several ways 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, some implications have a tremendous impact on the bill of materials and, ultimately, the PCB fabrication and assembly.
- There are over a billion components and 15,000 suppliers on the market, according to Silicon Expert. Other than the textual databases of Octopart, Silicon Expert Electronic Components, and the major part suppliers, there is no complete library.
- Even if there were 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 whose sole job is to seek and collect this information.) Likewise, the team would have to keep up with the introduction of new components.
- Furthermore, this library's size would be in the terabytes with the need for a large scale database system.
- Even if an organization provided a library with 3 million components in it, that only represents 0.2% of the total components available. Within that 3 million component library, 99.9% of the components in that library would not apply 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, human hands must be maintained; 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 requires version control of a library, there is no need for it. Components generally do not change over time.
- The optimal library management method 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 separate from the purchasing system will always have an inherent lag of information that causes most 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 Nine Connect Dots team has put a considerable amount of thought and time into different library configurations. From these experiences, we have come to conclusions and recommendations to impact those 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 Altium Inc's umbrella.
- The ability to collect components amongst colleagues in the hopes of pulling together a central library is tough. The best analogy to this would be to have many kids scoop sand from different beach areas into a bucket and hope that when that buck is turned over, a perfect sandcastle will be formed. Anyone who has gone through this summertime 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. There will be no consistency in the parameter information or even the graphical formats in a library case. 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 when the exact netlist was used and the board's form factor 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.