If you are new to programming and electronics, and want to experiment with FPGA boards, the Xilinx is a good starting point. There are many boards, kits and modules made by Xilinx, and they can be a fun and affordable way of getting started.
Cheap Doesn’t Always Mean Beginner Friendly
There are numerous cheap FPGA boards on the market, but there’s no point buying a board that lacks the peripherals and ports that the average student is going to want. A good beginner board would be one that is easy to use, and that has all of the features that you need – such as seven-segment LEDs, switches, LCDs, a VGA port and an RS232 port. Really, if you have a specific project in mind for your board then yes, you can just buy an Xilinx FPGA that has the outputs you need for the project in question, but if you want to be able to use the board for several prototypes and different projects, you want something with a few extra features. Let’s take a look at some good Xilinx FPGA boards that are aimed at beginners.
1 – Elbert V2
This is a Spartan based board from Xilinx is one of the most popular boards for beginners. You can pick it up for around $30 in most stores, and it has plenty of features, including an onboard audio codec, a VGA port, support for Micro-SD cards, and more. The documentation is detailed and in clear English, and it comes with a configuration tool so you can readily program it using JTAG. This is a versatile board, and it is one that many students use for their projects. You will need to have access to the Xilinx ISE to make the bitstream file, but for the rest you can use any standard PC or laptop with a USB cable.
2 – Spartan 6
The Xilinx Spartan 6 is another great entry level board that has been popular with beginners for some time. It can be found in online stores for less than $25.
It features 12 single LEDs, switches, a total of eight seven-segment LEDs and some other I/O options, including an onboard PS/2 keyboard port, VGA, UART and I2C. This makes it a handy option for prototyping. It also comes with VHDL and Verilog sample code and a bit file for testing.
Sadly, you can’t use Xilinx ISE to download programming files to the board – you can generate files with Xilinx ISE but need to use another download. You can’t use JTAG/USB cable – you will need a parallel downloader cable. Since not all modern computers have an LPT port this could end up being a sticking point for hobbyists that aren’t willing to invest in extra kit – indeed why would you invest in extra kit in order to use a $25 device, when you can buy a device for just a few dollars more that can be used with USB?
3 – Mimas V2
The Mimas V2 is another FPGA board based on the Spartan 6, but with slightly beefier specifications. It costs around $50 but is worth the extra money. The Board features 512MB DDR SDRAM, and has an onboard audio codec, a micro SD card, 8 single LEDs, 3x se-segment LEDs, 8 switches, 6 buttons, and a total of 32 other options for user-defined IO. The documentation is clear, and there is sample code that you can use for testing. In addition, it supports JTAG/USB programming so it is something that the vast majority of students and hobbyists will be able to take advantage of.
4 – Basys 3
The Basys 3 is based on the Artix 7, and it’s a little more expensive than the other devices in this list. Those who qualify for academic pricing can find it for $79, but if you have to pay full price then it will cost you $149.
This board is based on the Xilinx Artix-7 FPGA, and it is popular in university labs and for students who are looking to develop more feature-complete projects. It is a beefy board with 16 LEDs, 16, switches, 4x 7-segment LEDs and 5 buttons.
It has USB-UART bridge to use for serial communication, and also features a VGA port, 4x PMOD ports, USB output for keyboards and mice, and onboard XADC. It can be programmed with a JTAG/UBS port.
The price is, admittedly, significantly higher than some of the Spartan boards, but it is well worth paying extra in order to get a board that is easy to use and that has all of the outputs that you will need.
There are third parties that make FPGA boards and FPGA-like products for less than $20 but it is a false economy to purchase them then outgrow them in a project or two when you can get something that allows you to learn Verilog or VHDL and get you programming quickly and easily. FGPA programming is a valuable skillset but it is something that you should try to learn with industry standard boards. While there is some value to learning the logic of interconnecting blocks in general, having a good knowledge Verilog, or VHDL is something that will stand you in good stead when you want to move into employment or take on bigger projects.
Verilog HDL is used by http://www.directics.com/xilinx-spartan/, and it has a lot of similarities to C, while VHDL is quite similar to Ada, indeed it was actually based on ADA.
If you have a background in software programming then you will have a small head start when it comes to FPGA programming, but there are some significant differences – in particular in the way that instructions are parallelly executed. If you try to use the standard WHILE or LOOP instructions that you use a lot in your normal programming then you might find that you end up running out of memory, or having the code not quite run as you expect. You will need to embrace a new paradigm to learn to program an FPGA well.