Automated Board Testing
November 14, 2019
Today, automated testing is a key part of hardware design based on a modular approach.
One of the most interesting changes in the hardware design chain is the shift to automated board testing. Old school engineers know you have to test your designs thoroughly to make sure they perform as expected. They scoff, “How could automated testing possibly do as good a job as the engineer who designed the board could?”
To answer this, let’s roll the clock back a few years when digital signal processing (DSP) was The Next Big Thing. DSP was so compute-intensive it had to be implemented in a separate and parallel coprocessor. DSP programming was extremely complicated, requiring programmers to understand how to keep multi-stage pipelines full and tracking dependencies so these carefully managed pipelines weren’t unnecessarily flushed. There were caches to maintain and, perhaps most difficult of all, algorithms had to be coded in Assembly.
For a time, DSP programmers held a similar status to analog designers: they were scientific magicians. Then the DSP programming tools started showing up. Programmers now had the option to code their complex algorithms in C rather than Assembly. The vendors who manufactured DSPs even had the gall to suggest that their compilers could approach – and even exceed – the efficiency of a human programmer. And the DSP programmers scoffed, “How could automated tools possibly do as good a job as the engineer who designed the algorithm could?”
In just a few years, there was no one left scoffing. The complexity of programming DSP meant that the tools really could do a better job. Not only that, programming in C was a lot easier than Assembly, so these tools produced better results faster.
Back to automated testing. Today, automated testing is a key part of hardware design based on a modular approach. Take Geppetto, a drag-and-drop board design tool. With Geppetto, designers take predesigned modules and build complex systems using them. For prototyping, designers can purchase off-the-shelf versions of these boards and immediately begin designing software. For manufacturing, designers use modules in Geppetto that match these boards to create a custom design that is inherently more reliable and cost-effective than assembling and wiring multiple modules together.
Because these modules are preconfigured, their points of failure are well understood. In fact, the designers of these modules create the test protocols needed to verify their reliability. By combining the test protocols for all of the modules used in a design, it becomes possible to compile a comprehensive test protocol that is thorough and more complete than that which a designer might come up with independently.
This is exactly what happens with a board designed using Geppetto. Tools create the test protocols needed to verify the functionality and reliability of the final board. And that’s how automated testing can do as good – and even better – than manual designed testing.
Certainly, there are programmers who still insist they can write better code than the DSP compilers. For the rest of us, the compilers do a great job. And tools like Geppetto are helping us build great boards fast, efficiently, and reliably.
Take a look at some Gumstix customer success stories or contact Gumstix today to learn more about their products, design tools, and services. Or try out Geppetto, their customized module design tool, for yourself.