Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
14 years ago

Automatic PCB testing

Hello all,

We are basically FPGA designers. We want to outsource the layout and fabrication of our PCB. In order to ensure that the PCB is up and running, we want some kind of test program which exercises each and every route and peripheral on the PCB. What is the best way to do this?

thanks and regards,

rajesh

1 Reply

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Your PCB manufacturer may offer an electrical check of the completed bare PCB before any parts are soldered to the PCB. As long as the endpoints of all circuit tracks are accessible on either the top or botton of the PCB by virtue of being connected to pads or test points, they can use continuity meter testing (possibly by using probe fixtures such as a bed of nails configuration, or possibly just using a mechanically scanning probe head) to ensure that all pad --- track --- pad connections are electrically continuous. It may be possible for them to test tracks at the points of vias that are not buried as well, but that may depend on their process / capabilities and the via processing you have selected for the PCB.

    After the PCB has been assembled by soldering the parts to it, the assembly / test vendor can potentially do a variety of electrical test, and functional test, and possibly destructive test processes which may be either 100% in line with the production of which may be applied on a statistical / sample basis to verify that the PCB is properly soldered, that the connections are functional, and that the components are functioning.

    The best ways to do detailed functionality related tests would be to have test procedures combining automated test fixtures / equipment as well as cooperative designed in capabilities on the board's software / firmware / hardware to achieve a high coverage level of functional verification including self-test modes and specially initiated test routines orchestrated by the test system and system under test.

    JTAG is designed to facilitate many kinds of digital in system test as well as in system device programming, so if many devices on your board support JTAG or are wired to I/Os that are connected to a JTAG boundary scan capable device, you can probably get a lot of test coverage that way. But JTAG will not necessarily test every connection and subsystem since it mainly can access whatever is accessible by digital I/Os connected to some boundary scan capable device. So power, analog, and such functions that aren't observable or measurable directly or indirectly via JTAG should still be tested independently either functionally or via electrical probing or other means.

    If you take special care in the design of the PCB by providing many test point pads, and by engineering the system to be very observable / controllable via JTAG, you can facilitate your testing processes considerably.

    Otherwise (and possibly additionally) you'd have to resort to bed of nails testing, testing via connector access, testing via automated probers, self test routines, et. al.