EdX

Computer Architecture with an Industrial RISC-V Core [RVfpga] (edX)

Computer Architecture with an Industrial RISC-V Core [RVfpga] (edX)

Get a practical introduction to using RISC-V computer architecture based on a RISC-V system-on-chip (SoC) targeted to a field-programmable gate array (FPGA) and to different simulation tools.

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

RISC-V, an open-standard computer architecture, is transforming processor design and software/hardware co-design, including enabling open source hardware implementations. This means that software development can occur alongside hardware development, accelerating the design process. Enroll today to develop your understanding of the RISC-V architecture and its ecosystem and get familiar with the RISC-V cores and system-on-chip.
This course is for junior level or higher university computer science, electrical and computer engineers and other technical students as well as others who would like to learn and experiment with RISC-V.
Upon completion, learners should be able to use RISC-V to improve security, power consumption and performance of processors and help shape the future of computer architecture.

What you'll learn

  • Understand and be able to use the RISC-V Computer Architecture
  • Develop and compile C and RISC-V Assembly code for the RVfpga SoC
  • Understand, use and extend the Input/Output System of the RVfpga SoC
  • Understand and configure the microarchitecture of the VeeR EH1 CoreTM and test its different features using - Performance Counters and industry-standard Benchmarks.
  • Execute programs on the Nexys A7 board (optional) and simulate programs on different simulation tools: Whisper instruction set simulator (ISS); Verilator-based RVfpga-ViDBo; RVfpga-Pipeline; and RVfpga-Trace.

Prerequisites:
Learners should have a fundamental understanding of the following topics: digital logic design, high-level programming (such as C programming), assembly programming, RISC-V instruction set architecture, processor microarchitecture, and memory and input/output systems.
The software and optional hardware is supported in Linux, and most of it is also supported in Windows and macOS. A Ubuntu 22.04 Virtual Machine is also provided with everything installed on it, so that you can easily use all tools in a Linux environment (independently of the OS that you use in your computer) out-of-the-box. The course may be completed in simulation, so the hardware (the Nexys A7 FPGA board) is optional.

Syllabus

Welcome!
Chapter 1. Installation and Initial Demonstrations
Chapter 2. C Programming with the RVfpga SoC
Chapter 3. RISC-V Assembly Programming with the RVfpga SoC
Chapter 4. RISC-V Function Calls
Chapter 5. Mixing C and Assembly Functions in a Program
Chapter 6. Introduction to Peripherals and Input/Output
Chapter 7. More I/O: 7-Segment Displays
Chapter 8. More I/O: Timers
Chapter 9. Interrupts
Chapter 10. Delving Deeper into the RISC-V VeeR Core
Final Exam (Verified 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

How Computers Work: Demystifying Computation (FutureLearn) FutureLearn
Raspberry Pi Foundation,National Centre for Computing Education

How Computers Work: Demystifying Computation (FutureLearn)

Explore the fundamentals of computing - computer architecture, binary logic, data processing, circuits, and more. Understand computation, the basis of every computer system. On this course, you’ll gain an understanding of how computers work at a fundamental level.

Jan 2nd 2023
4 Weeks
FPGA computing systems: Background knowledge and introductory materials (Coursera) Coursera
Politecnico di Milano

FPGA computing systems: Background knowledge and introductory materials (Coursera)

This course is for anyone passionate in learning how a hardware component can be adapted at runtime to better respond to users/environment needs. This adaptation can be provided by the designers, or it can be an embedded characteristic of the system itself. These runtime adaptable systems will be implemented by using FPGA technologies.

Jun 15th 2026
4 Weeks
Hardware Description Languages for FPGA Design (Coursera) Coursera
University of Colorado Boulder

Hardware Description Languages for FPGA Design (Coursera)

Hardware Description Languages for Logic Design enables students to design circuits using VHDL and Verilog, the most widespread design methods for FPGA Design. It uses natural learning processes to make learning the languages easy. Simple first examples are presented, then language rules and syntax, followed by more complex examples, and then finally use of test bench simulations to verify correctness of the designs.

Jun 15th 2026
4 Weeks
Redes de computadores (edX) EdX
Universidad del Rosario,URosarioX

Redes de computadores (edX)

Aprende los fundamentos de las redes de computadores, incluyendo su arquitectura, protocolos y los aspectos a considerar para hacerlas seguras. Las redes de computadores, o renombradas hoy en día como Networks of Things , son esenciales para soportar los servicios de Internet que usamos a diario, dado que soportan la transformación digital de las empresas y apalancan de manera directa la revolución 4.0 que vivimos hoy en día.

Self Paced
Self-Paced
FPGA computing systems: A Bird’s Eye View on Reconfigurable Computing (POK) Polimi OPEN KNOWLEDGE
Politecnico di Milano

FPGA computing systems: A Bird’s Eye View on Reconfigurable Computing (POK)

This course is the first one of a “series”, aimed at providing a structured understanding on how the FPGAs are working and of the rationale behind the choice of them to implement a desired system. This course is for anyone passionate in learning how a hardware component can be adapted at runtime to better respond to users/environment needs.

Available
4 Weeks
Energy Efficient Programming (openHPI) OpenHPI
Hasso-Plattner-Institut

Energy Efficient Programming (openHPI)

Efficiency in computer science often refers to the runtime or memory usage, that a certain algorithm needs to produce an output. However, efficiency can also describe the amount of energy, that is consumed by the hardware during the runtime of an algorithm. This course explains the relevant computer architecture components, as well as different coding techniques, that allow computer scientists to design and program energy efficient algorithms.

Mar 27th 2023
2 Weeks
High Performance Computer Architecture (Udacity) Udacity
Georgia Institute of Technology,Udacity

High Performance Computer Architecture (Udacity)

The course begins with a lesson on performance measurement, which leads to a discussion on the necessity of performance improvement. Pipelining, the first level of performance refinement, is reviewed. The weaknesses of pipelining will be exposed and explored, and various solutions to these issues will be studied. The student will learn hardware, software, and compiler based solutions to these issues.

Self Paced
Self-Paced
Fondamenti di informatica (Federica Web Learning) Federica Web Learning
University of Naples Federico II

Fondamenti di informatica (Federica Web Learning)

Il mondo moderno è sempre più dipendente dall’Informatica e conoscerne i fondamenti e le relative applicazioni risulta essenziale per comprendere il funzionamento degli attuali Sistemi di Elaborazione delle Informazioni, oramai diffusi nei contesti più disparati ed imprescindibili per molte delle attività della nostra vita quotidiana. Il corso di Fondamenti di Informatica si propone di fornire ai discenti le nozioni preliminari alla base dell’informatica, ed in particolare quelle relative al trattamento delle informazioni mediante procedure “automatizzabili”.

No sessions available
13-24 Weeks
RISC-V Toolchain and Compiler Optimization Techniques (edX) EdX
Linux Foundation,LinuxFoundationX

RISC-V Toolchain and Compiler Optimization Techniques (edX)

Develop a working knowledge of the internals of compiler toolchains and compiler optimization techniques with a focus on RISC-V applications. As RISC-V has made it easier to bring up processor chipsets, the need for compiler engineers in the RISC-V ecosystem has increased. There is an implicit need for toolchain experts who can help RISC-V vendors gain an edge over competitors with their expertise in compilation technologies. Learning about internals of the toolchain, building and debugging RISC-V applications will allow you to work with thousands of companies that are building the latest hardware technologies.

Self Paced
Self-Paced