Introduction to FPGA Part 1 - What is an FPGA? | Digi-Key Electronics

Описание к видео Introduction to FPGA Part 1 - What is an FPGA? | Digi-Key Electronics

A field-programmable gate array (FPGA) is an integrated circuit (IC) that lets you implement custom digital circuits. You can use an FPGA to create optimized digital logic for things like digital signal processing (DSP), machine learning, and cryptocurrency mining. Because of the FPGA’s flexibility, you can often implement entire processors using its digital logic. You can find FPGAs in consumer electronics, satellites, and in servers used to perform specialized calculations.

In this series, we will see how an FPGA works and demonstrate how to create custom digital logic using the Verilog hardware description language (HDL).

In this first episode, we examine why you might use an FPGA over other solutions, such as a microcontroller. Additionally, we present several example FPGA applications and cover the basic design flow for creating a digital design in an FPGA.

A written version of this video can be found here: https://www.digikey.com/en/maker/proj...

All code examples and solutions for this series can be found here: https://github.com/ShawnHymel/introdu...

You will need an iCE40 development board for this series. Any of the boards supported by apio https://github.com/FPGAwars/apio#supp... should work. That being said, I recommend the iCEstick https://www.digikey.com/en/products/d... , which is what I will use in the videos. You will also need a breadboard, jumper wires, and some pushbuttons.

An FPGA is made up of many programmable logic blocks (PLBs) that can be configured and connected together to create a large number of digital circuits. You create your desired digital circuit using an HDL (we will use Verilog). The synthesis tool converts your HDL into a gate-level representation of the circuit. The place-and-route tool converts that representation into actual configuration information for your particular FPGA.

Throughout the series, we will use the apio tool https://github.com/FPGAwars/apio to manage the build and upload process. Apio relies on underlying tools to complete these steps:

- Synthesis: http://yosyshq.net/yosys/
- Simulation: http://gtkwave.sourceforge.net/
- Place and route: https://github.com/YosysHQ/nextpnr
- Package: icepack as part of Project IceStorm: https://github.com/YosysHQ/icestorm
- Upload: iceprog as part of Project IceStorm: https://github.com/YosysHQ/icestorm

Many times, a microcontroller, microprocessor, or graphics processing unit (GPU) is capable of accomplishing the job. However, you sometimes need custom digital logic for your particular application, which is where an FPGA can be helpful. Here are some potential applications:

- Parallel I/O operations
- Data acquisition (DAQ)
- Specialized computations
- Custom processor

Note: while yosys officially supports Verilog-2005, you can find other open source tools capable of synthesizing other HDLs. For example the GHDL project https://github.com/ghdl/ghdl supports VHDL.

In the next episode, we will install the apio toolset and upload our first FPGA design.

Product Links:
https://www.digikey.com/en/products/d...

Related Videos:
   • Cyclone® III FPGA  
   • Power Management: Powering FPGAs  
   • FPGA's: Low-Cost, High Performance Sp...  

Related Project Links:
https://www.digikey.com/en/maker/proj...

Related Articles:
https://www.digikey.com/en/pdf/r/rene...
https://www.digikey.com/en/videos/d/d...
https://www.digikey.com/en/product-hi...

Learn more:
Maker.io - https://www.digikey.com/en/maker
Digi-Key’s Blog – TheCircuit https://www.digikey.com/en/blog
Connect with Digi-Key on Facebook   / digikey.electronics  
And follow us on Twitter   / digikey  

Комментарии

Информация по комментариям в разработке