EdX

Building a RISC-V CPU Core (edX)

Building a RISC-V CPU Core (edX)

Create a RISC-V CPU with modern open source circuit design tools, methodologies, and microarchitecture, all from your browser. Building a RISC-V CPU Core is designed for anyone with a technical inclination who is interested in learning more about hardware. Whether you are new to digital logic or are a seasoned veteran, students will take away new skills that can be applied immediately. No prior knowledge of digital logic design is required.

Class Deals by MOOC List - Click here and see EdX's Active Discounts, Deals, and Promo Codes.

LFD111x is a crash course in digital logic design and basic CPU microarchitecture. Using the Makerchip online integrated development environment (IDE), you will implement everything from logic gates to a simple, but complete, RISC-V CPU core. You will be amazed by what you can do using freely-available online tools for open source development. You will familiarize yourself with a number of emerging technologies supporting an open-source hardware ecosystem, including RISC-V, Transaction-Level Verilog, and the online Makerchip IDE.
This course is a hands-on experience with RISC-V and modern circuit design tools. You will walk away with fundamental skills for a career in logic design, and you will position yourself on the forefront by learning to use the emerging Transaction-Level Verilog language extension (even if you don’t already know Verilog).

What you'll learn

  • Digital logic design (combinational and sequential logic)
  • RISC-V (RV32I) instruction set architecture
  • Basic CPU microarchitecture
  • Transaction-Level Verilog basics
  • Makerchip online IDE

Syllabus

Welcome!
Chapter 1: Learning Platform
Chapter 2: Digital Logic
Chapter 3: The Role of RISC-V
Chapter 4: RISC-V-Subset CPU
Chapter 5: Completing Your RISC-V CPU
Final Exam (Verified Certificate track only)

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Electrónica Digital Bit a Bit: Aprendiendo fundamentos (Coursera) Coursera
Pontificia Universidad Católica de Chile

Electrónica Digital Bit a Bit: Aprendiendo fundamentos (Coursera)

Es desafiante y hasta atemorizante entender un circuito digital cuando observamos la cantidad de transistores que puede contener, y aún más difícil diseñarlo eficientemente para su implementación en un circuito integrado o una FPGA. Sin embargo, saber diseñar circuitos digitales simples nos abre las puertas para diseñar sistemas digitales más complejos a partir de estos.

May 25th 2026
5-12 Weeks
Introducción al diseño de hardware con Verilog (edX) EdX
Galileo University,GalileoX

Introducción al diseño de hardware con Verilog (edX)

Aprende el lenguaje de descripción de hardware Verilog, utilizado en la industria en el diseño de hardware digital y microprocesadores a la medida. En la actualidad, el hardware de soporte en sistemas digitales se suele diseñar en un solo circuito integrado FPGA (Field Programmable Gate Array), en parte debido al abundante espacio físico que ocuparía una implementación con varios circuitos integrados dedicados para este fin.

Self Paced
Self-Paced
Understanding Computer Systems (FutureLearn) FutureLearn
Raspberry Pi Foundation

Understanding Computer Systems (FutureLearn)

Understand how the components of a computer system interact with each other on this online course for computing teachers. Learn what really happens when you turn a computer on. Understanding how a computer works after you press the power button is key to working with technology effectively. On this course, you will explore what happens inside the machine and learn how computers turn inputs into outputs.

Nov 1st 2021
3 Weeks
A Beginner's Guide to Linux Kernel Development (Linux Foundation) The Linux Foundation
Linux Foundation

A Beginner's Guide to Linux Kernel Development (Linux Foundation)

Learn the key concepts in developing open source software. This free course introduces developers to the Linux kernel development process and teaches the explicit and implicit “rules of the road”. It covers configuring a development system, git basics, writing kernel patches, testing patches, writing commit logs, sending patches, and working on feedback from the kernel community.

Self Paced
Self-Paced
Open Source Licensing Basics for Software Developers (Linux Foundations) The Linux Foundation
Linux Foundation

Open Source Licensing Basics for Software Developers (Linux Foundations)

Because open source is now found everywhere software exists, a good working knowledge of open source licensing and compliance is critical. This course is designed to teach software developers and producers why it is important to add copyrights and licenses to their code, as well as how to do so.

Self Paced
Self-Paced
Linux für Alle (openHPI) OpenHPI
Hasso-Plattner-Institut,University of Potsdam

Linux für Alle (openHPI)

In diesem Onlinekurs möchten wir Ihnen Linux vorstellen, ein Open Source Betriebssystem. Im täglichen Leben begegnet uns Linux häufig dort wo es vielen Menschen gar nicht wirklich bewusst ist: So laufen beispielsweise viele Webserver unter Linux, übrigens auch der openHPI-Server, Android baut auf Linux auf und auch als Spieleplattform ist Linux beliebt. Man kann Linux aber auch auf nahezu jedem Desktop PC oder Laptop als ein kostenloses, alternatives Betriebssystem zu Windows nutzen.

Self Paced
Self-Paced
Introduction to RISC-V (edX) EdX
Linux Foundation,LinuxFoundationX

Introduction to RISC-V (edX)

Discover various aspects of RISC-V, including technical aspects, specifications and the community ecosystem. RISC-V is a free and open instruction set architecture (ISA) enabling a new era of processor innovation through open standard collaboration. This course will guide you through the various aspects of understanding the RISC-V community ecosystem, the RISC-V specifications, and some technical aspects of working with RISC-V.

Self Paced
Self-Paced
Introduction to Open Source Application Development (Coursera) Coursera
Illinois Tech

Introduction to Open Source Application Development (Coursera)

This course introduces basic concepts of systems programming using a modern open source language. You will learn to apply basic programming concepts toward solving problems, writing pseudocode, working with and effectively using basic data types, abstract data types, control structures, code modularization and arrays. You will learn to detect errors, work with variables and loops, and discover how functions, methods, and operators work with different data types. You will also be introduced to the object paradigm including classes, inheritance, and polymorphism.

Jun 8th 2026
5-12 Weeks
Microcontroller Applications with RISC-V (edX) EdX
Linux Foundation,LinuxFoundationX

Microcontroller Applications with RISC-V (edX)

Create simple embedded applications with a RISC-V microcontroller using a user-friendly integrated development environment (IDE). This course provides some basic experience in designing and developing deeply embedded bare metal applications using a microcontroller with a RISC-V core. The course is the first step to creating embedded systems using a host of new microcontrollers that use an open instruction set architecture (ISA) as an alternative to a proprietary option.

Self Paced
Self-Paced