At the moment, I have six development boards. They are all different-- one is little more than an FPGA on a PCB, another has DRAM, ROM and a large breadboard attached. One thing I have learnt is that the more 'stuff' there is on the board to experiment with, the more you will want to use it, and the more value you will get from it.
To keep costs down, I have selected two of the least expensive development boards as the reference for this book-- The Papilio One with the LogicStart MegaWing, and the Digilent Basys2. Although they both feature a Xilinx Spartan 3E FPGA they have very different design philosophies.
I really like the Gadget Factory boards, and Jack has been a big help supplying me with prototypes and designing the LogicStart MegaWing specifically for this book. If you are going to acquire a board and have no reason to go either way, get the Papilio One.
All of the Papilio tools are open source and on GitHub, and the boards are really well engineered-- I have been able to generate full HD VGA signals off of a Papilio board, whereas I can’t get a stable 640x480 signal from the Basys2.
When all is said and done, both boards are great, and you won’t be disappointed with either.
There are currently two big players in the FPGA market - Xilinx and Altera. Each vendor provides their own EDA tools and although they are talking the same language they are quite different (a bit like Eclipse vs Visual Studio). I had to pick one, and Xilinx’s tool set is the most approachable.
If you are bold, you could work through this material with a different vendor’s development board, but it will be challenging at times. It will be very much like following a Visual C tutorial when running Eclipse. Consider using that vendor’s quick-start material for the first couple of projects then jump back in a few chapters on.
The one place where you will really struggle is with using the simulator. The configuration and setup of the simulation tools differs greatly between vendors, with the Altera solution being tricky to set up.
Designed by Gadget Factory, the Papilio One board is squarely aimed at someone who has had previous experience with basic electronics, owns a soldering iron, and quite possibly has a few Arduino microcontrollers kicking around. The Papilio One board holds the FPGA, a small serial ROM, a USB programming interface, and the required power supplies. It provides direct access to 48 general purpose pins on the FPGA through six 8-bit 'Wing' connectors. Originally envisioned as an Arduino/FPGA hybrid, it is now used for projects such as software defined radio, emulating classic arcade games, and as a low cost way to experiment with FPGAs.
The Papilio One board ships with the headers used for attaching the wings, but they are not installed. This gives you the added flexibility to embed the board in your own projects and most probably saves a little on cost as it simplifies packaging. When you solder on the headers, getting them aligned can be a challenge. An easy way is to use some snap off pin header strips to form a jig, which will hold everything nice and square while you solder the headers in place.
The LogicStart MegaWing has been designed especially for people starting out with FPGAs, converting the Papilio One into something that matches the features and accessibility of the FPGA boards developed for the education market. When mated with a Papilio One, it adds a few nice extras that will appeal to the Papilio One’s target market, such as a small joystick, 8 channel ADC, and a 3.5mm audio jack.
Once you have outgrown the LogicStart MegaWing, Gadget Factory offers a range of other Wings that can be attached to the Papilio One to customize it to your future project’s requirements, and it has an active community of helpful users on the forums hosted by Gadget Factory.
Digilent, Inc partners with Xilinx and designs and markets a range of FPGA development boards. The Basys2 is their entry level board, targeted at the education market with phrases like "Build digital circuits for less than the price of a textbook!" in their marketing. They offer pretty sharp Academic and US Student discounts, but there are quite a few hoops to jump through to qualify.
As the Basys2 has been used as the platform for course materials and textbooks, Digilent have far less freedom to add new features to the board-- for example, it still has a PS/2 port when no current PC ships with a PS/2 keyboard. Diligent also has an equivalent to Gadget Factory’s 'Wing' system called 'PMOD'.
The Basys2 comes in a DVD sized plastic case with foam padding, and includes a USB cable. One feature of the Basys2 that is either a help or a hindrance, is that all externally available signals from the FPGA have resistors in series. This aids with ESD protection and helps to prevent damage from abuse in the classroom environment, but can sometimes cause interfacing issues.
In my view the biggest flaw in the board is that Digilent have opted not to use a crystal to generate a stable on-board clock-- possibly to save cost (or maybe to remain compatible with the original Basys). The jitter present in its cheaper clock makes the Basys2 unsuitable for generating higher frequency signals-- for example, the VGA output is unusable for anything serious and most LCD monitors are unable to even sync with it! There is a socket for a second clock signal, although the required part is expensive and hard to source.
Note
|
The part number in the BASYS2 reference manual is wrong-- order something like SGR-8002DC-PCC-ND from Digi-Key to provide a stable clock, should you require one. |
As I’m in New Zealand, I ordered mine from their ANZ distributor-- Black Box Consulting. They normally have everything in stock, so not only is it quicker than ordering from Digilent, the international shipping direct from Digilent is really, really, really expensive. Why is it you can get a Papilio FPGA board from Seeed Studios for US$49.90 including postage, but it costs US$36.66 to ship a $99 order from Digilent? Black Box Consulting charged me a reasonable AU$10.00 for shipping.
Papilio One + LogicStart | Digilent Basys-250 | |
---|---|---|
FPGA |
Spartan 3E |
Spartan 3E |
Effective Gate Count |
250,000 or 500,000 |
100,000 or 250,000 |
Programming interface |
USB |
USB |
Configuration ROM |
Yes |
Yes |
VGA Connector and colour depth |
Yes, 8 bit |
Yes, 8 bit |
Four digit, Seven Segment display |
Yes, slightly bigger |
Yes |
Host communication interface |
Serial over USB |
8 bit parallel (EPP) |
Maximum host transfer rate |
300kB/s |
170kB/s |
LEDs |
8 |
8 |
Slide switches |
8 |
8 |
Push buttons |
1 (on joystick) |
4, in a row |
Mini-joystick |
Yes |
No |
PS/2 port |
No |
Yes |
On-board clock |
32MHz, stable |
25/50/100MHz, jittery |
Carry case |
No |
Yes |
Analogue to digital converter |
eight 12-bit channels |
No |
Audio output |
Yes, mono |
No |
Additional power connector |
Barrel jack |
Two pin header |
ESD protection on all connectors |
No |
Yes |
Size |
Smaller, thicker |
Larger |
Open design |
Yes |
No |
USB cable supplied |
No |
Yes |
Add-on modules available |
Yes (remove LogicStart) |
Yes |
Maximum user I/O pins |
48 (remove LogicStart) |
12 + 2 on PS/2 |
Voltages available to add-ons |
2.5V, 3.3V, 5V |
3.3V |
Soldering required |
Yes, to attach headers |
No |
Designed to work with Arduino S/W |
Yes |
No |
Has geek factor? |
Yes, very underground |
No, used in colleges |