In recent time, prototyping boards with onboard FPGA becoming common, such as Arduino MKR Vidor 4000. Once FPGA was practically used by the engineers. Even if our readers have limited technical knowledge, our older theoritical articles which FPGA will need to know already present on this website. FPGA as single chip gives us the access to the hardware design with the advantages of multi-threading, real-time processing, custom design. The readers need to know about microcontroller, microprocessor, Embedded, System on a Chip (SOC), Hardware Description Language, Finite-state Machine (FSM) etc.
What is FPGA? Is it Like Microcontroller?
FPGAs are capable of becoming any digital circuit, so long as there are enough logic blocks in the unit to implement that circuit. Of course, FPGAs can be used to solve any computational problem like the microcontrollers, but offer more flexibility in terms of the number of things you can do in parallel. So the most common use of FPGAs is serving as testing beds when designing Application Specific Integrated Circuits (ASICs).
The configuration of an FPGA is created either graphically by means of a schematic or textually with a hardware description language. These are primarily VHDL or Verilog, which describes the entire function of the circuit in the form of structures and processes. A so-called synthesis tool executes this description like a program and then creates a specific netlist in several steps for a desired building block using the resources available in this building block.
The sequential controls required in the FPGA, in turn, can be represented by finite state machines. The hardware-describing code is then automatically generated in an intermediate step. In addition, graphical programming systems such as LabVIEW or Matlab/Simulink or the free Logiflash can also automatically create circuit modules for an FPGA. FPGA uses a grid of electronic Logic Modules which contain bundles of Logic Gates like AND, OR, NOT.
So, FPGAs are quite different from the traditional microcontrollers and microprocessors. In real life, it is worse as most of the manufacturers are completely proprietary. Visual programming is good future aspect of FPGA. IBM Node-RED is an example of one type of visual programming.
What is Arduino MKR Vidor 4000?
It has onboard FPGA. It is possibly the lowest cost maker board with an FPGA onboard also with a Cortex M0 microcontroller. But, it is not a FPGA which can easily program. Microcontrollers have become far more usable but FPGA still suffering from usability issue. By integrating FPGA into the Arduino toolchain will move Arduino away from open source and “cheap board” root. Whether Vidor is usable to you only you can determine, we will not suggest it exactly now to a noob.