Turning ‘Garbage In, Garbage Out' into ‘Good In, Good Out’

Reading time ( words)

We have all been there: updating our PCB design last minute before releasing manufacturing files to a fabrication house. This can be a particularly daunting task on its own and even more so if you are limited by time. While you are working on the design and making sure that you did not make any mistakes in the schematic or layout, you must also be aware of all the parts and information that you are working with.

It is probably best to create your own parts and footprints and that way keep track of the information you are putting in your system and what your outputs will be. However, that is not always the easiest task, especially if you are using complicated parts or if you simply do not have enough time to create every part from scratch. Sometimes, it is easier and faster to find a part online that already has all the information you need. If you had a system of where you store your part details, you must make sure to go back and verify that the specs for this new part from an external library do not have important details stored in different locations. Additionally, you need to make sure that the part itself is indeed the one you are looking for, as mistakes happen and sometimes the part you need is linked to wrong design files.

In this part of the design cycle, it is so easy to unintentionally introduce “garbage” into your system. Unless you have time to extensively check everything you bring in from an external source, it is very likely that something will not match up with your design data. In the end, this means you’ll have to put more work into your design and basically reverse-engineer a part that was supposed to save you time and effort.

Introducing bad data is never intentional. No designer or engineer purposely puts files into their system that they know will haunt them somewhere down the road. We all assume that if the basics are covered, we can fix a couple of errors manually, or go back later and fix any remaining issues while the boards are being fabricated.

But life gets in the way, and other tasks and issues may arise in your job; you might not have the time to go back and thoroughly check everything right away, or you simply forget. Then, a few months later, you must go through the same process again, which takes away valuable time, and you probably find yourself thinking, “I should have just done it right from the beginning.” There comes a time when correcting previous mistakes becomes such a long, complicated task, and the best way to deal with this is to eliminate it from the start. A little bit of extra work in the beginning of the design process saves a lot of time and effort in the long run.

I acquired a big part of my knowledge about keeping bad data out of my design cycle by trial and error. This can be a painful process with a steep learning curve. However, I think it is important to make those mistakes early on, and this is the best way to learn. Experience for yourself what bad data can do to your design and I can guarantee that you will everything you can to never make the same mistake again.

Engineers know what is needed in an output package when it is being sent for fabrication, whether it is for a printed circuit board, a mechanical structure, or a code. Introducing garbage into your system from unverified external sources will unequivocally result in having garbage in your outputs. Therefore, it is most reliable to create parts on your own. That way, you control exactly what you are putting into your system and what is coming out of it. You can create and follow a checklist that contains details about part information stored on each layer. It might be time-consuming in the beginning, but when you are finished with your design and all you do to be done is click Generate Outputs to get exactly what you are looking for; it will be worth all the initial effort.

Another process you can follow to make sure that bad data does not make it into your documentation is to work with templates. This also requires a little bit of work initially, but it makes every subsequent design easier and faster. Create a template for your OutJob file. Prior to making this template, communicate with your fabrication house and contract manufacturer about their capabilities and what kind of information they require to make the boards properly. It sounds trivial but having this template will ensure you always export exactly what your manufacturer needs, and more importantly, it will guarantee that you will get your design made correctly. We are all human—sometimes we forget to include important information even if we have done it properly hundreds of times before. There is way too much information to keep track of on your own, all the time, and having this sort of system in place will help with every design down the road.

These two practices have recently had a tremendously positive impact on how quickly and accurately I can deliver manufacturing documentation for a design. It sounds simple: Have a system and stick to it. In design, the system is everything and the accuracy of your work will depend on how seriously you take this task and stick to the system. Use all the resources available to you to come up with the best method that works for you, because it is no fun dealing with issues in your output documentation after putting so many hours into the design itself.

If you do end up implementing a system that works for you, instead of “garbage in, garbage out,” a better GIGO acronym would be “good in, good out.”

Tamara Jovanovic is an electrical engineer with Happiest Baby, a Los Angeles-based manufacturer of smart baby beds.

This article originally appeared in the March 2010 issue of Design007 Magazine.



Suggested Items

‘The Trouble with Tribbles’

06/17/2021 | Dana Korf, Korf Consultancy
The original Star Trek series came into my life in 1966 as I was entering sixth grade. I was fascinated by the technology being used, such as communicators and phasers, and the crazy assortment of humans and aliens in each episode. My favorite episode is “The Trouble with Tribbles,” an episode combining cute Tribbles, science, and good/bad guys—sprinkled with sarcastic humor.

IPC-2581 Revision C: Complete Build Intent for Rigid-Flex

04/30/2021 | Ed Acheson, Cadence Design Systems
With the current design transfer formats, rigid-flex designers face a hand-off conundrum. You know the situation: My rigid-flex design is done so now it is time to get this built and into the product. Reviewing the documentation reveals that there are tables to define the different stackup definitions used in the design. The cross-references for the different zones to areas of the design are all there, I think. The last time a zone definition was missed, we caused a costly mistake.

Why We Simulate

04/29/2021 | Bill Hargin, Z-zero
When Bill Hargin was cutting his teeth in high-speed PCB design some 25 years ago, speeds were slow, layer counts were low, dielectric constants and loss tangents were high, design margins were wide, copper roughness didn’t matter, and glass-weave styles didn’t matter. Dielectrics were called “FR-4” and their properties didn’t matter much. A fast PCI bus operated at just 66 MHz. Times have certainly changed.

Copyright © 2021 I-Connect007. All rights reserved.