Maker.io main logo
PROJECT

iCE40 FPGA Calculator (Beginner)

By Ethan Nichols

Embark on your FPGA journey with the iCE40 Calculator project. This beginner's guide walks you through every step, offering valuable tips and lessons learned.

PROJECT

Introduction to FPGA Part 12 - RISC-V Custom Peripheral

By ShawnHymel

The tutorial will demonstrate how to build a PWM hardware peripheral and integrate it with an existing RISC-V softcore processor

PROJECT

Introduction to FPGA Part 11 - RISC-V Softcore Processor

By ShawnHymel

This tutorial will demonstrate how to modify a RISC-V softcore processor to enable button inputs

PROJECT

Introduction to FPGA Part 10 - Metastability and FIFO

By ShawnHymel

This tutorial will demonstrate a FIFO implementation for an FPGA that can be used asynchronously and mitigates metastability

PROJECT

Introduction to FPGA Part 9 - Phase-Locked Loop (PLL) and Glitches

By ShawnHymel

In this tutorial, we demonstrate how to use a phase-locked loop (PLL) in an FPGA as well as demonstrate methods to avoid glitches

PROJECT

Introduction to FPGA Part 8 - Memory and Block RAM

By ShawnHymel

In this FPGA tutorial, we demonstrate how to instantiate block RAM in Verilog, read and write to/from it, and initialize values from a text file.

PROJECT

Introduction to FPGA Part 7 - Verilog Testbenches and Simulation

By ShawnHymel

In this FPGA tutorial, we demonstrate how to write a testbench in Verilog, simulate a design with Icarus Verilog, and view the resultant waveform with GTKWave

PROJECT

Introduction to FPGA Part 6 - Verilog Modules and Parameters

By ShawnHymel

In this FPGA tutorial, we demonstrate how to use parameters and modules in Verilog to create hierarchical designs

PROJECT

Introduction to FPGA Part 5 - Finite State Machine (FSM)

By ShawnHymel

In this FPGA tutorial, we demonstrate how to create a finite state machine in Verilog

PROJECT

Introduction to FPGA Part 4 - Clocks and Procedural Assignments

By ShawnHymel

In this FPGA tutorial we demonstrate how to create a clock divider using procedural assignments in Verilog

PROJECT

Introduction to FPGA Part 3 - Getting Started with Verilog

By ShawnHymel

In this tutorial, we demonstrate how to create a full adder using Verilog continuous assignment statements.

PROJECT

Introduction to FPGA Part 2 - Toolchain Setup

By ShawnHymel

How to configure apio, yosys, and Project IceStorm to build and upload FPGA designs