It is the time of the year when companies hire interns for the summer. Let’s face it. Interns are hired to help with the stuff that most designers and engineers do not have the time to address. In our experience, that means libraries. Libraries are the bane of every engineering organization. They are important, but they are time-consuming and tedious. What better activity to give to a greenhorn? Right?
Time-consuming and tedious does not mean simple. Sitting an intern behind a computer, having them hack their way through an EDA tool, pulling together libraries, and then devising a way to organize the components is a recipe for disaster. How can an intern design and organize a library when they never designed a board, let alone designed several boards to get the ‘gist’ of what a library should contain?
There tend to be several unfortunate outcomes. The work of the intern may never get reviewed because the engineers and design staff are perpetually swamped. In some cases, when it is reviewed, it’s tossed because it was never developed correctly. Even if they did it correctly, who’s going to maintain it thereafter? The next intern next year?
What’s really the purpose of an intern? It is to give young engineers experience. It is not to say that having them work on libraries is a bad thing. In fact, it can be a great learning experience when they see both the PCB design process and library development. But simply starting them (and keeping them) on libraries isn’t going to get you to the desired result.
We decided to showcase what it really takes to scrubbing component libraries for any given organization. The following one-hour video illustrates our point:
Nine Dot Connects has the resources and knowledge to build new libraries and scrub your neglected libraries. We can train your organization on setup and maintenance. Or if you are already stretched in design resources, we can provide an ongoing library component creation service. For more information about our services, click on this link:
Interns and component libraries rarely mix. Assign interns to the PCB designs that will move your company’s product onward while simultaneously moving your intern’s career forward. Assign the libraries to Nine Dot Connects.
One of the greatest banes of PCB design is maintenance of component libraries. There are over 1 billion electrical components on the market according to SiliconExpert. Although there are numerous ways of obtaining components, each company must organize their components to fit their needs and workflow.
In Altium Designer, the default library provided in the tool is what we at Nine Dot Connects call a “symbol-centric” library. In addition to the symbolic graphical representation of the component, it is also given a name, description, and parametric information. Furthermore, other models may be attached, such as footprints, 3D, and SPICE simulation models.
This approach comes from Altium’s beginning when its founder, Nick Martin, wanted a tool for the makers, hobbyists, and small businesses. For this market, the tool was designed for the single user. However, as Altium grew in popularity, other library methods were needed to address the ability to share and collaborate. We commonly refer to these types of libraries as centralized libraries. Altium, Nine Dot Connects, and other third parties provide such solutions.
From a high-level view, a centralized library allows for several advantages:
1. It collects all the components used by all members of the team. If a designer spent the time to create it, it makes sense to make it available for other team members. Re-inventing the wheel is redundant and inefficient.
2. It provides for a consistent look, feel and functionality. There are features that can be built into the symbols and footprints that can greatly ease the creation of manufacturing documentation across all projects.
3. It can track the life cycle status of the component. In today’s component market, products are declared obsolete in short order.
However, symbol-centric libraries do not lend themselves to collaboration. The libraries are simply files. This requires team members to coordinate to keep the file up to date and consistent. All too often, this effort falls by the wayside when projects need to be turned quickly. Granted, if there is a single individual who plays the role of full-time librarian, the use of a symbol-centric library would be sufficient if it is well organized with a workflow that is established through programs, scripts, and communication channels outside of Altium Designer.
libraries have several nontrivial disadvantages:
1. Each symbol has its own graphics. Therefore, if there are 100 resistors in the library, each component is provided its own graphical symbolic representation. This can easily lead to inconsistencies in the length, color and orientation of each component.
2. It’s not necessarily easy to ensure that the parametric data is consistent in each of the components. There are tools to handle this; yet there are too many opportunities to improperly add parametric information, let alone leave it blank. For example, if one component uses the name manufacturer and the other uses the name mfg, this information not going to line up in the bill of materials. Even if the parameter names match between components, it is highly likely that the formats of the values will be different. For example, think of all the ways one can write one-thousand ohms: 1k, 1K, 1000, 1,000, etc. This doesn’t account for the use of the Greek symbol omega (Ω) or the various ways of formatting the word Ohms. A lack of consistency will impact the ability to sort the list when searching for a component.
If multiple users are planning to contribute to the library, there needs to be some file sharing coordination. The use of a version control system like SVN can help but it does not prevent coordination mix ups because everyone still needs to be accountable for following the proper workflow.
Is there a better way? This leads to the consideration of a database type library. In such libraries, each row of information in the database represents the component while each column represents the parameter. The components are viewed as a table. The formatting used for different parameters is visible and allows for better consistency. In addition, existing symbol graphics can be reused. For example, if a new resistor is introduced into the database, one can simply point it to the existing symbol graphic that the other resistors are using.
There are different approaches to a database library. Each has its advantages and disadvantages. Universally speaking, databases have three disadvantages:
1. All databases need an administrator. Currently, there are no systems which can manage themselves. We must consider the analogy of a vegetable garden. One cannot throw seeds onto a plot of land and expect it to maintain itself. Same holds true with component libraries. We need to methodically set things up and remain consistent in our efforts to maintain them. “Libraries by anarchy” will fare no better than our bespoke vegetable garden.
2. All databases are textual in nature. Therefore, the symbol and footprint graphics are maintained outside of the database. Because of this arrangement, the creation of new components can be tricky, especially if the designer creates the symbol, makes use of it in their design and then declares it in the database. There still needs to be a synchronization between the part placed on the schematic and the database. The longer the designer waits, the more difficult it will be to accomplish this synchronization.
3. All databases need to be hosted on a platform, whether this is on an internal server or in the cloud. This usually entails the skillset of an individual versed in internet technology (IT).
With this in mind, let’s look at each database type a bit closer.
These are simply databases that can be deployed, setup and managed as per the needs of the company. This includes everything from MS Access and SQL to Oracle and IBM.
1. Easily reuse the graphics. For example, if there are 100 resistors listed, they can all point to the same graphic for reuse.
2. If a new component is similar to an existing component, it is a matter of copying the component to the database and making the appropriate modifications.
3. The parametric information can be seen for multiple components, allowing the user to emulate the formatting and wording already used for the parameters. For example, if the manufacturer’s name column uses TI instead of Texas Instruments, then the pattern can be recognized and followed.
1. Without any graphical user interfaces for the users to follow, they will need direct access to the database. This seems reasonable in theory; however, the reality is starkly different. Would you give database access to a user who has little to no knowledge as to how a database is maintained?
2. The creation of graphical user interfaces requires someone well versed in databases and in programming. This also requires the deployment of these interfaces to all members of the team. More importantly, there is no out-of-the-box workflow. This needs to be developed, and once developed followed to the letter.
3. A database does not contain revision control. If revision control is necessary, a separate version control system will need to be implemented. Even something as simple as a status in a database must be continually maintained by the database administrator.
L9 MANAGER – NINE DOT CONNECTS SOLUTION
The L9 Manager was created to overcome some of the headaches and hassles of setting up and managing a database library. It contains graphical user interfaces that were designed to assist the designer in creating and finding components.
advantages are the same as those listed for a database. In addition:
1. The graphical interfaces are part of the L9 offering. It’s simply a matter of having a web browser available for each designer.
2. L9 provides revision control as part of its workflow.
3. L9 provides a workflow for the entering and validation of new components.
Concord Pro, though touted as a component management system, is a file management system. In addition to components, it can store any Altium based file. Therefore, it can also store templates and projects as well.
1. Unlike databases and L9, Altium removes the administrative hassles associated with linking symbols and footprints to the component. Concord Pro purposely avoids having the user save a file in a local directory. The intent is to have the user work on the component and then push it into Concord Pro’s file system when it is ready to be released. Any saving that needs to be done in the interim prior to releasing to the server is handled by Concord Pro.
2. Concord Pro can make use of its part choice feature which allows it to display dynamic information such as lead times, price and stock in real time.
1. A thorough, well planned and executed setup is crucial to getting it right the first time. Simply dumping components into Concord Pro will not resolve any of the organizational issues that may have already existed in the libraries.
2. Concord Pro is procedural in nature. This is due to the way Concord Pro breaks the component into a minimum of three revision-controlled files – a component file, a symbol file and a footprint file. If a change is made to a symbol, the component will need to be revised as well.
3. Concord Pro is Altium centric. Though non-Altium related files can be uploaded into Concord Pro such as Word or Excel files, it is limited to its ability to edit or modify the files.
PDM – PRODUCT DATA MANAGEMENT
PDM (Product Data Management) is a combination of a database, and a file directory system similar to what one would find in any operating system. Because PDM contains a database, it allows for the creation of scripts and graphical user interfaces for workflow and other company driven procedures.
In fact, Concord Pro could be categorized as a PDM system since it contains both a directory management system and a database. However, unlike a raw PDM system, Concord Pro has been restricted to keeping the graphical user interfaces and the scripting capabilities within the Altium environment.
A PDM solution should be considered if the intention is to have a file system that works for all engineering related documentation, regardless of which software was used to create it.
* A universal solution for all documentation, regardless of which tools were used to create the files. This can be very useful for companies needing tight integration between different engineering teams working on the same project.
* Administration of a PDM system is full time job. It goes far beyond library management.
In conclusion, there are solutions out there to assist with library component management. They do require some time for proper set up, training, buy-in from the design team, and most importantly, the continued upkeep of the library. No matter what product is used for component management, someone must take ownership. Like a vegetable garden, there must be a gardener to make sure it is properly attended.
In addition to creating his iCD tool suite, Barry Onley is a contributor for PCB007. One of the reasons why we represent Barry’s tool is the fact that his tool was design with his knowledge and experience in high speed PCB design.
If you are like most engineers, you may be frustrated with the day-to-day grind of the office place. No one seems to listen to ideas and concerns. No one seems to have the energy or drive to take things to the next level of excellence. Promotions and opportunities never seem to come your way. The extra work and effort are hardly appreciated, if at all. Management seems to be making a lot of money without doing much or even bothering to understand what’s being done.
We at Nine Dot Connects are often asked our opinion and recommendation about various library methodologies. One of the most commonly asked questions is if one should pursue a version-controlled library.
The August 2017 edition of Printed Circuit Design and Fab Circuits Assembly acknowledged what many of us PCB designers have suspected; there is a strong need to train young people in the art of PCB design. It is becoming a lost art in a time when it is ever so needed. With the current technological upswing, it is truly a great time to be an experienced PCB designer. But while being an experienced PCB designer is one thing, getting more people to embrace a job as a dedicated PCB designer is another.
With the 64-bit Altium Designer Version 18 release, there may be some compatibility issues that arise when installing a database library. Though this document focuses on Microsoft Access, the same concept is true for any type of database.
At the Del Mar Electronics Show in 2013, I had an opportunity to meet the publisher of US Tech. As a result of the meeting, I was given the opportunity to write about component library issues. The article below was to test the waters to see if there would be any response. The idea was to start a series on the topic of libraries. This article focuses on the need for a good bill of materials.
This article was written in the waning days of Tality. I had started in the Test and Prototyping group at Cadence and had worked my way into the ASIC design group 4 years later. One of my first efforts in the group was to write a test bench for a particular ASIC that would eventually be used to produced the vector “dumps”. These data “dumps” would be massaged for the test systems.