FPGA – what is it and how can I use it?
FPGA is a special type of logic (digital) integrated circuit that can be programmed to do some tasks by user-reconfigurable hardware structure. Of course, large manufacturers of electronics can afford designing and ordering specific-function ICs (called ASICs), that ideally fits their needs. However this solution is very expensive due to overhead of IC structure manufacturing process. Therefore, in many applications the use of FPGA is the best possible solution. The FPGA chip contains hundreds or thousands of logical blocks that can be freely interconnected to perform parallel, application-specific tasks as it would be executed by custom ASIC. The process of generating instructions on how to connect the logic blocks is called configuration. Most of FPGAs are reconfigurable, so the “program” (configuration) is stored in external memory mount on the same PCB as the FPGA and loaded to FPGA internal configuration controller during system startup (it is, after turning on power supply). The configuration files are written using specific sets of “instructions” and commands, named hardware description language (HDL). Currently there are two languages used in daily FPGA development practice: Verilog and VHDL.
FPGA and CPLD development boards
In our store you can find great evaluation boards for both FPGA and CPLD chips. CPLD are another kind of programmable logic integrated circuits – they are less complex, slower and much cheaper than FPGA, therefore in some applications the use of CPLD is a quite sufficient solution. One of the most affordable FPGA development boards is Sipeed Tang Nano. The module contains GW1N-1-LV chip with embedded SRAM and user Flash memories, phase-locked loop (PLL), oscillator and of course FPGA array with 1152 LUT (look-up tables) and 864 flip-flops. The board uses USB C connector for power supply and built-in JTAG interface. The more complex, although still cost-effective Mimas V2 Spartan 6 FPGA Development Board contains Xilinx Spartan XC6SLX9 FPGA with 9152 logic cells, 1430 configurable slices, 11440 flip-flops and 90 kb of distributed RAM memory. The user can benefit from on-board 16 MB Flash memory with SPI interface, integrated USB 2.0 interface, 8 LEDs, 6 buttons, 8 DIP switches and a bunch of GPIO connectors for easy integration with external hardware. It also contains built-in 3-digit 7-segment Led display as well as power supply circuitry and JTAG connector. If you are interested in CPLD development, also check Waveshare DVK600 motherboard for CPLD/FPGA daughter boards.
High-end evaluation boards for advanced FPGA development
If you are already familiar with FPGA programming and searching for high quality, complex evaluation module for development of sophisticated applications, you can choose Numato Opsis FPGA board. It is intended to use in video processing applications and thus contains 256 MB of built-in RAM DDR memory running at 1600 MHz, 4 HDMI ports (two inputs and two outputs), as well as two Display Port sockets (input and output), Gigabit Ethernet and microSD slot. The system can handle up to 1080p / 30 fps video streams and supports display resolution of up to 4096 x 2304 px.