3
\$\begingroup\$

I'm interested in using FPGAs in my future projects. I wish to get started by soldering the FPGA TQFP chip on a breakout board and build a test circuit on a breadboard. However, I'm having problems trying to find a guide on FPGA board basics. Can anyone recommend a site, book that can help me get into FPGA board design?

\$\endgroup\$
1
  • 1
    \$\begingroup\$ In all honesty good sir, I suggest getting a cheap FPGA solution from terasic. You can get a fully fledged FPGA board with peripharals and broken out GPIO for you to use for around $60. Compare that with the hassle of getting a $15 FPGA and designing a PCB board for it which you will eventually bring your total cost much higher than the cheap boards you can get from Terasic. I mean if you are just starting a project, do the design on a FPGA evaluation board and once you know the design works, move on to designing a custom board for it. You'll save yourself a lot of hassle. \$\endgroup\$ – Edwin Mar 14 '13 at 2:41
6
\$\begingroup\$

This is probably not such a great idea as a way to start out compared to buying an FPGA development board.

  • TQFP packages are fairly large physically, so will "shadow" much of the breadboard unless you do something odd such as have the PCB vertical. Smaller BGA (and possibly QFN?) packages aren't going to be as much fun to hand solder. For that matter, only a fairly limited selection of FPGAs are even stocked in TQFP by distributors (where FPGA's are concerned, don't go by the configurations theoretically possible on the data sheet, plan based on those that someone lists as in stock and ready to ship)

  • Most modern FPGAs requires multiple power supply voltages, at least if you want I/O above their 1.2 or 1.8v core voltage. This means multiple power busses to distribute to multiple supply pins spread around the chip, all needing decoupling. And that works better on 4 layer boards than on 2, though it can be done with some care.

  • You'll spend a lot of time building, rather than learning about the devices before you try to physically instantiate one on a board.

  • You'll face the simultaneous challenges of an unproven circuit and and an HDL design not yet proven compatible with the hardware details of the chip.

In short, I'd strongly recommend starting with a working board to get some experience (and where you can initially leverage example projects already written for it) and only then doing a custom design.

\$\endgroup\$
1
3
\$\begingroup\$

I actually started the same way, I etched my own simple board for a 64 pin TQFP package from Actel (now MicroSemi) and it was an excellent way to learn the ropes, though it required quite a bit of reading before even starting to layout the board. Luckily it worked first time though.

For FPGA board design, possibly the best resource is the application notes and reference designs provided by the vendor themselves. For example Xilinx have a wealth of material on layout for different packages and families. Here are a few examples:

Spartan-6 FPGA PCB Design and Pin Planning Guide

PCB Design

Virtex-6 FPGA PCB Design Guide

Virtex-4 FPGA PCB Designer’s Guide

PCB Design Checklist

You have package specific notes like:

Four- and Six-Layer, High-Speed PCB Design for the Spartan-3E FT256 BGA Package

There are also great books like Henry Ott's Electromagnetic Compatibility Engineering and the older but excellent High Speed Digital Design by Dr. Howard Johnson.

\$\endgroup\$
0
\$\begingroup\$

If you are starting work with FPGA, it's not going to be easy. I am going to guess that you have had some experience with using an HDL. If you don't I really recommend you get an evaluation kit before going off with making your custom boards. Terasic offers some great cyclone II development kits for a great price. If you are a student you get even further discounts. Check it out here. The CYCLONE boards are the cheaper ones that you would be interested in for learning. The stratix boards are overkill for most hobbyist applications.

In terms of soldering TQFP packages, they can range from easy to hard depending on the method you use. Below are two methods for soldering.

  • Stencil Mask Reflow Method: You can use a stencil mask which you can get your board house to provide you. What you do is simple. Place a stencil mask and apply a thin layer of solder paste. Pick and place the parts onto the board and place it in either a reflow oven, hot plate, or an electric skillet following the reflow profile. This method is shown here.
  • Hand Solder Method: You can hand solder SMD components. It is difficult with tqfp packages but defiantly possible. You need to ensure that you get a board with a solder mask applied. This will prevent short circuits by preventing solder from bridging between pads. In a nutshell, you apply some solder flux to the area to be soldered, tack the edges of the IC/component you are soldering, and reflow solder onto the board. This method is described in great detail by EEVBlog on youtube here. You should take care and use very thin profile solder so that you don't accidentally put too much solder on the board.

As for learning HDL, well like I said, if you are just starting with it, I STRONGLY RECOMEND getting a development kit and get comfortable with HDL.

One last thing I forgot to mention. Be careful when you do the PCB design. Take the limitations of the board house into account and make sure to properly configure the design rule check in the software you use. I personally recomend that you use Eagle as it is free and relatively easy to use. The free version of Eagle, however limits your board size.

I hope this helps with your project. Feel free to ask more questions if you have any.

\$\endgroup\$
6
  • 3
    \$\begingroup\$ FWIW, hand soldering the TQFP is not something I'd worry about, even on a handmade board without solder mask. Just get the finest braid you can find for inevitable mistakes, a 10x loupe for inspection, flux, and use surface tension to do the hard work. Get it lined up, solder a single pin in one corner. Verify alignment. Solder the opposite corner. Verify alignment. Then wipe solder along the pin/trace joints and finally inspect them all. If you are having a bad day on alignment, a piece of narrow tape across the top of the chip will hold it while you solder the first corner. \$\endgroup\$ – Chris Stratton Mar 14 '13 at 2:30
  • \$\begingroup\$ Size of solder and iron tip won't actually matter all that much, because you don't touch the solder to individual pins, rather solder already on the iron gets pulled onto the smaller features of the pin/trace, even though the iron will typically be touching several pins at once. I'll admit there could be an argument for trying it first with something other than a $15 FPGA though. \$\endgroup\$ – Chris Stratton Mar 14 '13 at 2:33
  • \$\begingroup\$ hey chris, valid points, only reason I had suggested a fine tip solder is for other passive components such as the resistors and caps. I usually make contact for soldering those. As for the solder mask, its a luxury (maybe it spoils you a bit). If you are getting it fabricated and it doesn't cost too much, then it doesn't hurt. But I defiantly agree with your points Chris. It's not necessary, but I guess I'm a bit cautious. :P \$\endgroup\$ – Edwin Mar 14 '13 at 2:38
  • \$\begingroup\$ Solder mask is certainly a very nice thing to have, but I agree with Chris that a TQFP package can be hand soldered with a homemade board - I don't generally do it nowadays as there are too many cheap proto services to bother messing about (unless you are in a rush) but I have done many PIC32, Xilinx, Actel, etc, TQFP package based homemade boards in the past. With a decent iron and once you get used to the drag soldering technique (hoof tip), with plenty of flux and a bit of braid it becomes very quick and easy. \$\endgroup\$ – Oli Glaser Mar 14 '13 at 2:46
  • \$\begingroup\$ I generally prefer fine solder for the same reason - passives. But realizing that soldering high density ICs and connectors was not about individually addressing the pins but rather about surface tension was quite enabling, and the main point I wanted to share. \$\endgroup\$ – Chris Stratton Mar 14 '13 at 2:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.