I once worked for a company where we built custom test hardware for every new program or project. Don't get me wrong, some of the stuff being built was very complex. By that, I don't mean semiconductors, but boxes with three or four 128-pin connectors that were sourcing huge data rates.
The test equipment effort for these programs was huge, sometimes as big as the rest of the program combined. That actually makes sense, if you think about it, because the test equipment needs to be at least as good as whatever you’re testing. It always sort of boggled my mind to see something the size of a breadbox cabled up to, perhaps, many racks of equipment -- each piece doing something specialized. Seriously, imagine four eight-foot-tall racks to test something!
Do you really need this much test equipment or can you use something smaller?
In some cases, I knew those huge racks of test equipment could be replaced with a PC and a few instrument boards, so I tried pitching my thoughts for a new way of doing test. This involved something along the lines of a relatively small box with an Ethernet/USB interface to which we could then attach "personality modules." We could then reprogram the box to deliver the timing and UUT (unit under test) inputs we needed, and then acquire test data we needed for later analysis.
By using COTS (commercial off-the-shelf) computers and these little boxes, we could maybe save time, money, and schedule -- primarily by standardizing a set of interfaces. Yes, I realize I am over-simplifying some -- there is still a lot of STE (specialized test equipment) that would require its own test equipment, such as RF generators. But it seems to me that this could really be a boon, no matter your industry.
I was told several times that developing a new test platform seemed like a good idea. But, we all know that nobody wants to spend his or her own money for such projects. (Let customers pay for it.) R&D money, you probably hear, should be used for new technologies that will somehow get the company ahead in the future, right? The problem with this whole line of thought, though, is that after building a hunk of STE, the customer owns it. Another big problem is that the people who are working the program just keeping doing things the same old way. Why? Because "it works."
Now, I've got nothing against "it works," but some of those test racks were getting hard to support as some test equipment manufacturers were acquired or went out of business. Finally, I achieved some support for my idea on my very last program at that company. I convinced some folks to adopt a National Instruments PXI rack. I started writing lots of lines of code, and spending an enormous amount of time on the phone with NI's people figuring out how their equipment worked.
A PXI chassis with modular instruments can replace some test racks that use box instruments, reducing rack size and footprint.
When I left the company, we were about halfway done with the project. I had written about 20,000 lines of C code (no kidding) in LabWindows/CVI and had some important stuff working (JTAG commands and a TAP interface,) communicating with oscilloscopes and other STE over Ethernet. We were on our way to making some SERDES (serializer-deserializer) interfaces work, too. We needed the high-speed links to display test data in real time.
Does building an automated test
rack require some magic?
In his post Semiconductor Evaluation Leveraging COTS FPGAs and Connectors
, Max Maxfield refers to using a PC as a host for automated testing. As it turns out, I’m not the only one who’s had this idea. It looks like someone else had better luck with management than did I. Good for whoever it was!
You do not have resort to magic to develop automated testers, but it helps.
How does your company approach automated testing? Are you building a large test rack? Are you connecting boxes over GPIB? Are you using PXI? Which programming languages do you use for automated testing?
Editor's note: A version of this article once appeared in All Programmable Planet with the headline "Leveraging COTS FPGAs for Test Applications." We changed some of the photos and made some edits.