An integrated circuit called an FPGA, or field-programmable gate array which is a part of Embedded IC, is made to be customized by a customer or a designer after production; the term “field-programmable” refers to this process. A hardware description language (HDL), similar to that used for an application-specific integrated circuit (ASIC), is typically used to specify the FPGA settings. They are made up of a network of interconnected lookup tables (LUTs), which are groups of logic cells. Since the LUTs and fabric are programmable, the system is adaptable and can use practically any digital algorithm.
These two large businesses continue to dominate the FPGA market today. In 2016, they had nearly 90% of the market. However, for the sake of this series, we shall be using Xilinx [chips] and tools. A user’s decision between the two is mostly influenced by their expertise with toolsets.
FPGAs are now widely available and reasonably priced in consumer markets. However, learning without the guidance and tools offered by a formal class might be overwhelming due to the intricacy of the hardware and design process. Getting familiar with the terminology used to describe various aspects of the design process and the hardware itself is a smart place to start when studying this subject.
Some of the phrases and ideas that are frequently used, such “digital Logic,” “Vivado,” “bitstream,” and so forth, may have already come up in conversation. There is a sizable vocabulary that goes along with studying FPGA, but to get us started, we have selected some of the more often used FPGA terminology and put definitions together in our glossary below. (The majority of these definitions are derived from their individual Wikipedia sites or are linked to their original source).
Glossary of Terms
Verilog: Verilog is a hardware description language (HDL) for modeling electronic systems that is standardized as IEEE 1364. The design and verification of digital circuits at the register-transfer level of abstraction are where it is most frequently utilized. In addition, it is applied to the design of genetic circuits as well as the verification of analog and mixed-signal circuits.
VHDL: An electronic design automation tool called VHDL (VHSIC Hardware Description Language) is used to define digital and mixed-signal systems such integrated circuits and field-programmable gate arrays. As a general-purpose parallel programming language, VHDL is also usable.
Vivado: With more functionality for system on a chip development and high-level synthesis than Xilinx ISE, Vivado Design Suite is a software suite made by the company for the synthesis and analysis of HDL designs. In comparison to ISE, Vivado represents a complete rewriting and re-thinking of the entire design cycle. Reviewers have praised its “well-conceived, tightly integrated, blazing fast, scalable, maintainable, and intuitive” features.
C/C++: Bjarne Stroustrup created the general-purpose object-oriented programming (OOP) language C++, which is an extension of the C language. As a result, C++ code can be written in a “C style” or “object-oriented style.”
FPGA RTL definition: RTL, or register-transfer level, is a design abstraction used in the design of digital circuits that describes synchronous digital circuits in terms of the flow of digital signals (data) between hardware registers and the logical operations carried out on those signals.
Bitstream definition in FPGA: The FPGA configuration file (with a.bit extension). When the bitstream is ready for use, an FPGA loads it. final outcome of the location and route phase, obtained after place and route.
Binary: Using only the digits 0 and 1, the binary (or base-2) number system uses just two digits. Computers only use zeros and ones to do computations and store data because they function in binary.
Synthesis: Employing HDLs (Hardware Description Languages), HLLs (High Level Languages), and GUIs (Graphical User Interfaces) to create a netlist from a circuit description.
Serial Terminal Application: Tera Term, an open-source, free, software-implemented terminal emulator program, serves as an illustration of this. It can simulate a variety of computer terminals, including the DEC VT100 and DEC VT382. Telnet, SSH versions 1 and 2, and serial port connections are supported.
FPGA chip definition: With FPGA, you have control over both the hardware and the software, in contrast to microcontrollers, where you only have software control. Software cannot be run on a CPU unless one is created, at least for now. An FPGA can be configured to be as basic as a single gate or as complicated as a multi-core processor. You write some HDL (Hardware Description Language) to develop your design.
Below is a table to help you remember the terms along with their definitions:
|Verilog||A hardware description language (HDL) used for modeling electronic systems at the register-transfer level. Commonly used in digital circuit design and verification.|
|VHDL||VHSIC Hardware Description Language; used for defining digital and mixed-signal systems like integrated circuits and FPGAs. Also used as a parallel programming language.|
|Vivado||Xilinx’s software suite for HDL design synthesis and analysis. Provides features for system-on-a-chip development and high-level synthesis.|
|C/C++||General-purpose programming languages. C++ extends the C language with object-oriented programming capabilities.|
|FPGA RTL||Register-Transfer Level; describes synchronous digital circuits in terms of data flow between hardware registers and logical operations on signals.|
|Bitstream||FPGA configuration file (.bit extension) that contains instructions for FPGA configuration. Loaded onto FPGA for use after place and route.|
|Binary||Number system using only 0 and 1 digits, fundamental for computer computations and data storage.|
|Synthesis||Process of generating a netlist from a circuit description using HDLs, HLLs, and GUIs.|
|Serial Terminal App||Software like Tera Term that emulates computer terminals, supports Telnet, SSH, serial port connections, and more.|
|FPGA chip||Field-Programmable Gate Array; allows control over both hardware and software, unlike microcontrollers. Configurable from basic gates to complex processors using HDL.|
Start Right Now
You should first buy any additional course materials you might require, along with an FPGA board, of course. Stay tuned for next week when we will offer a thorough buying guide based on interests and price range if you’re not sure which board to buy. In order to help you make the best decision possible for your purchase, we will then go a little bit more in-depth on how the hardware functions. Make sure to download Vivado and set up your development environment in the interim. While you wait for your hardware, feel free to experiment with the simulation tools available in Vivado.