Maker.io main logo
PROJECT
338

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
419

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
1,069

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
933

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
1,957

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
1,220

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
629

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
265

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
1,329

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
431

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
771

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
1,326

Introduction to FPGA Part 2 - Toolchain Setup

By ShawnHymel

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