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.
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:
Post a Comment