Рет қаралды 106,381
In this tutorial, we install the open-source iCE40 FPGA toolchain, which consists of apio, yosys, nextpnr, and Project IceStorm.
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 the previous episode ( • Introduction to FPGA P... ), we examined how an FPGA works and why you might want to use it in your projects or products. In this episode, we demonstrate how to install apio and the various open-source tools required to build and upload designs to a Lattice iCE40 development board.
The solution to the challenge at the end of the episode can be found here: www.digikey.com/en/maker/proj...
All code examples and solutions for this series can be found here: github.com/ShawnHymel/introdu...
Lattice iCE40 product page (with pinout spreadsheet and datasheet): www.latticesemi.com/en/Produc...
We install the apio tool (github.com/FPGAwars/apio), which will help us install and control other lower-level tools required to synthesize, simulate, and upload our FPGA designs:
- Synthesis: yosyshq.net/yosys/
- Simulation: gtkwave.sourceforge.net/
- Place and route: github.com/YosysHQ/nextpnr
- Package: icepack (as part of Project IceStorm: github.com/YosysHQ/icestorm)
- Upload: iceprog (as part of Project IceStorm: github.com/YosysHQ/icestorm)
The apio documentation can be found here: apiodoc.readthedocs.io/en/sta...
Note that there might be some differences between the various operating systems (e.g. Windows, macOS, Linux) during installation. I demonstrate installation on Windows and try to point out the differences from other operating systems.
Important! At this time, the latest version of apio (0.7.6) has several issues. Until those issues are resolved, I recommend sticking to v0.6.7 (as shown in the video). You can read about some of those issues here: github.com/FPGAwars/apio/issues.
Apio includes several examples to get you started. We demonstrate one such example that illuminates all of the onboard LEDs. We finish by issuing a challenge to modify the leds.v example to turn off one of the LEDs.
Product Links:
www.digikey.com/en/products/d...
Related Videos:
• Cyclone® III FPGA
• Power Management: Powe...
• FPGA's: Low-Cost, High...
Related Project Links:
www.digikey.com/en/maker/proj...
Related Articles:
www.digikey.com/en/pdf/r/rene...
www.digikey.com/en/videos/d/d...
www.digikey.com/en/product-hi...
Learn more:
Maker.io - www.digikey.com/en/maker
Digi-Key’s Blog - TheCircuit www.digikey.com/en/blog
Connect with Digi-Key on Facebook / digikey.electronics
And follow us on Twitter / digikey