What are some Common Issues with PCB Design Workflows?
Many believe that the sole duty of the US Secret Service is the protection of the President of the United States. However, one of its other significant responsibilities is criminal investigations. This includes the investigation of the Counterfeiting of US currency. When training the new agents on how to identify a counterfeit bill, they do not train on all the possible ways that the bill could be wrong; instead, they teach on every intricate detail of the correct bill so when they see a counterfeit, it is pretty obvious.
In the same way, instead of identifying the endless issues that may and probably will go wrong with your PCB Design workflow, you should know every intricate detail of a GOOD workflow. In that way, when the problems occur, you can immediately identify them.
Definition of Process
Technically speaking. a PCB workflow is nothing more than a process. Several times in other blogs and materials, I have given this definition of a Process. According to the business dictionary:
A Process is the Sequence of interdependent and linked procedures which, at every stage, consume one or more resources (employee time, energy, machines, money) to convert inputs (data, material, parts, etc.) into outputs. These outputs then serve as inputs for the next stage until a known goal or result is reached.
I have always liked that definition; the inputs being used and modified by a resource to create the output for the input of the next stage, and so on until you reach the desired goal. That is nothing more than a chain. From the very first step to the end, the PCB workflow is a process chain. As we all know, a chain is only as strong as its weakest link. Meaning we will need to look at the individual stages involved and determine if there is any possibility for problems. Several things can destroy any process if allowed to go unchecked—but keep in mind that problems are usually a combination of many distinct causes, and when this happens it’s going to require us to do some root cause analysis to determine what the real issues are.
I have often seen that the underlying problem with every PCB design issue is that assumptions were made somewhere along the way. Assuming anything is a significant problem. It quickly introduces a high amount of risk to your PCB design.
It is so easy to make assumptions; it usually starts with incomplete information, and because we do not question or verify it, we fill in the blanks with our interpretation of things. Sorry to say we are usually wrong. The more significant problem is that the assumptions are taken to be correct and not verified in any way. So they continue down the design workflow process until it gets fabricated into a design, and the board ends up as scrap.
Schedules Over Quality
When a PCB begins to go through the Design Process, it is apparent right off the bat what is driving it. Many times, it is the schedule. A schedule that many times is set up by someone who is not an engineer and understands all the steps required to finish a design. They place arbitrary dates on finishing. To stick to that schedule overrides everything, and you end up taking shortcuts, which usually ends up reducing the quality of the design. We are fully willing to sacrifice quality at the altar of expediency to maintain an arbitrary schedule. And that should not be the case, because ultimately it ends up taking more time to do a second and possibly even a third PCB fabrication. Why is it that we always have time to do it again, but we never have the time to do it correctly the first time?
Tasks vs. Milestones vs. Deliverables
Let’s dive into this now. Because this process is a chain, so we must look at each link or stage of the process. In a specific stage, we have an input, then a resource of some kind has its necessary tasks, and that stage has set deliverables or outputs to be the inputs for the next stage, and finally, the verification or milestone process is conducted. Know the tasks, the milestones, and the deliverables for each stage.
Schematic Capture is the stage of the PCB design process. It just happens that the inputs for this stage are the components from the Library.
Tasks: Place components, wire them up, make your off-page connections to other sheets, etc.
Milestone (Verification): Running of the ERC and Connectivity Rules.
Deliverables: Completed Netlist that gets pushed into the PCB stage.
A fortunate aspect of the PCB Design process is that it can be described as cookie cutting. The same Tasks, Milestones, and deliverables are very consistent between designs.
Are we there yet?
Anyone who has traveled with young children on a road trip is very familiar with this phrase: “Are we there yet?” That is also a question a PCB designer should always be asking. Because sometimes it seems as if we do not have a clearly defined finale for our projects. Understand that since the outputs are the inputs for the next stage, this could be an endless cycle if there is no clear finish line.
The very best PCB designs have been undermined simply by over-designing them. Know what you are doing and building, and know when you get to the finish line. Be confident that you have reached the goals that you were after.
I was asked one time what sort of problems can occur in a PCB Design, that is a loaded question. There are endless possibilities to that question of what can go wrong. A better approach is the glass half full scenario and determine what can go RIGHT. By putting control into each of the stages of our design not making assumptions and not taking anything for granted, knowing the specific tasks, milestones, and deliverables. That is the only way you can start taking control of your designs.