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

Open Source Platforms for MLOps (Coursera) Coursera
Duke University

Open Source Platforms for MLOps (Coursera)

This course covers two of the most popular open source platforms for MLOps: MLflow and Hugging Face. We’ll go through the foundations on what it takes to get started in these platforms with basic model and dataset operations. You will start with MLflow using projects and models with its powerful tracking system and you will learn how to interact with these registered models from MLflow with full lifecycle examples.

Jun 29th 2026
4 Weeks
Concurrency in Go (Coursera) Coursera
University of California, Irvine

Concurrency in Go (Coursera)

Learn how to implement concurrent programming in Go. Explore the roles of channels and goroutines in implementing concurrency. Topics include writing goroutines and implementing channels for communications between goroutines. Course activities will allow you to exercise Go’s capabilities for concurrent programming by developing several example programs.

Sep 14th 2026
4 Weeks
Open Source and the 5G Transition (edX) EdX
Linux Foundation,LinuxFoundationX

Open Source and the 5G Transition (edX)

Open source software and standards are driving the transition to 5G, AI and IoT. Learn what open source technologies matter most and why. 5G networks are being built with open source software and standards. Operators and vendors are integrating these technologies on an unprecedented level in order to realize the promise of 5G. Open source allows operators to experiment with business models and deliver new services, and it allows businesses to derive more value from their neworkarchitecture.

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
Electrones en Acción: Electrónica y Arduinos para tus propios Inventos (Coursera) Coursera
Pontificia Universidad Católica de Chile

Electrones en Acción: Electrónica y Arduinos para tus propios Inventos (Coursera)

Este curso introduce al alumno a la electrónica y los Arduinos, comenzando desde lo más básico de un circuito eléctrico y finalizando con el diseño de circuitos de baja complejidad empleando dispositivos electrónicos programables. Durante el curso los alumnos aprenderán los fundamentos básicos de la electricidad y de la electrónica, conocerán los diferentes bloques empleados en el diseño de un circuito electrónico, aprenderán las bases del diseño de circuitos analógicos y digitales, y serán introducidos a la programación de estos últimos empleando la plataforma Arduino.

Sep 21st 2026
4 Weeks
Digital Systems: From Logic Gates to Processors (Coursera) Coursera
Universitat Autònoma de Barcelona

Digital Systems: From Logic Gates to Processors (Coursera)

This course gives you a complete insight into the modern design of digital systems fundamentals from an eminently practical point of view. Unlike other more "classic" digital circuits courses, our interest focuses more on the system than on the electronics that support it. This approach will allow us to lay the foundation for the design of complex digital systems.

Sep 28th 2026
5-12 Weeks
Sensors and Sensor Circuit Design (Coursera) Coursera
University of Colorado Boulder

Sensors and Sensor Circuit Design (Coursera)

After taking this course, you will be able to: understand how to specify the proper thermal, flow, or rotary sensor for taking real-time process data; implement thermal sensors into an embedded system in both hardware and software; add the sensor and sensor interface into a microprocessor based development kit; create hardware and firmware to process sensor signals and feed data to a microprocessor for further evaluation; study sensor signal noise and apply proper hardware techniques to reduce it to acceptable levels.

Sep 21st 2026
5-12 Weeks
Open Source Programming - Bachelor's (Coursera) Coursera
Illinois Tech

Open Source Programming - Bachelor's (Coursera)

Contemporary open-source programming languages and frameworks are presented in this course. Students will consider design and development topics in system, graphical user interface, network, and web programming. Dynamic scripting languages are covered using object-oriented, concurrent, and functional programming paradigms. Concepts gained throughout the course are reinforced with numerous exercises which will culminate in an open-source programming project.

Sep 28th 2026
5-12 Weeks