Some more details on the FGG484 BGA assembly:
Supplies
-------------
1. IR thermometer rated to 260C+ such as
http://www.amazon.com/gp/product/B002YE3FS42. Electric skillet, like the one used in this Sparkfun tutorial:
http://www.sparkfun.com/tutorials/593. No-clean flux syringe, such as Digikey SMD291-ND
4. Soldering iron [to pre-wet the PCB]
Calibration
---------------
1. Place an unpopulated PCB on the skillet, near the edge, directly over the burner coil.
2. Set the skillet to max.
3. Aim the IR thermo at the center of the PCB's BGA footprint and record temperatures every 15-30 seconds, as it heats to ~250-260C.
4. Plot the temp in Excel and compare with the IC mfg recommendations.
For Spartan6, that's
http://www.xilinx.com/support/documentation/application_notes/xapp427.pdf.
If you're lucky the skillet will produce a good temperature profile on its own. The $20 Target skillet I bought 3 years ago
is almost perfect - just set it to max, and it will reach 250C after 4-5 minutes with a small PCB. It meets all of the Xilinx
guidelines, probably better than some professional assembly equipment. If it's way off, you might have to let everything cool down &
repeat a couple times with different setting. Or buy an MCU/Triac reflow controller. You don't have to match the temp profile
exactly, but obviously, the closer the better.
Assembly
---------------
With the profile set, I followed the prep instructions here:
http://www.fpgarelated.com/usenet/fpga/show/39160-2.phpand monitored the FPGA with the IR thermo. Once the top of the case reached ~250C (~4 mins in)
I turned off the skillet, and used a fan to cool it down to ~100C over 4 minutes.
Checked it for power supply shorts, hand-soldered the bypass caps, then wired it up the LPCXpresso,
and it downloaded right way.
Sooner or later I will probably lose an FPGA through this process. But my bet is that it won't happen
often enough to justify the ~$50 per BGA fees for low-volume professional assembly.
-rph