Maker.io main logo
PROJECT
378

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
475

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 164

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
1 045

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
2 175

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 405

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
745

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
323

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 653

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
518

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
957

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 680

Introduction to FPGA Part 2 - Toolchain Setup

By ShawnHymel

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