Wednesday, January 22, 2014

Double, Double Toil and Trouble

I dare say that when one's FPGA starts to foam at the mouth, things have gotten a bit out of hand.

It all started when I tested the bityExpress-B board from Sunday's build.  The on-board JTAG programmer was unable to identify the FPGA.  I tried Altera's JTAG debugger app and it turned out that the FPGA was reporting his device type to the programmer correctly, but no data from programmer was making it thru the FPGA.  This implied that the TCK, TMS, & TDO pins were all working correctly, but the TDI pin (data from the CPLD to the FPGA) was  not connected.  After I verified TDI was not shorted to anything nearby, I concluded that the BGA soldering must be the issue.

I tried reflowing the topside of the PCB again and ended up breaking the FPGA to programmer connection even more (no more device type response).  My last desperate measure was to dump a heck of a lot of flux under the BGA and reflow it one last time.  That's when things really went south.  I cleaned the board, powered it up, and started checking the power rails again.  After being on for a few minutes I noticed a frothy white substance coming from under the BGA.  It turns out that the flux I used was conductive and I did not fully clean the underside of the BGA:  Failure was catastrophic.

I spent some time reviewing my build process, footprint design, and solder paste stencil.  I've decided to build another backside myself and take the board back to local assembly house to load the FPGA.  This way I can validate the design.  If that works I'll try to build the third board myself and work on my process.

No comments: