We may earn an affiliate commission when you visit our partners.
Course image
Sarah Harris and Daniel Chaver-Martinez

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.

Read more

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.

Two deals to help you save

What's inside

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
Read more
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)

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Teaches computer architecture concepts and topics, which are essential for students in computer science
Provides a strong foundation for understanding RVfpga SoC
Taught by Sarah Harris and Daniel Chaver-Martinez, who have extensive experience in computer architecture
Develops programming and software development skills, which are essential for computer science students
Covers a wide range of topics, including RISC-V assembly programming, input/output systems, and microarchitecture
Provides hands-on experience with RVfpga SoC, which can be beneficial for students interested in hardware design

Save this course

Save Computer Architecture with an Industrial RISC-V Core [RVfpga] to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Computer Architecture with an Industrial RISC-V Core [RVfpga] with these activities:
Explore the RISC-V website
Gain a solid understanding of the RISC-V architecture and its components before diving into the course.
Browse courses on RISC-V
Show steps
  • Visit the RISC-V International website
  • Review the RISC-V specification documents
  • Explore the RISC-V community forums
Connect with RISC-V experts
Expand your knowledge and gain insights by connecting with experienced RISC-V engineers or researchers.
Show steps
  • Attend RISC-V conferences and meetups
  • Join RISC-V online forums and discussion groups
  • Reach out to RISC-V experts on LinkedIn or other professional networking platforms
Review C programming language
Refresh your C programming skills to prepare for the course's focus on C and RISC-V assembly programming.
Browse courses on C Programming
Show steps
  • Review C language syntax and data types
  • Practice writing basic C programs
  • Utilize a C compiler to understand the compilation process
Four other activities
Expand to see all activities and additional details
Show all seven activities
Practice writing RISC-V instructions
Develop proficiency in writing RISC-V assembly code for different RISC-V instructions.
Show steps
  • Use an online RISC-V simulator or emulator
  • Write assembly code for basic arithmetic operations
  • Practice writing assembly code for control flow instructions
  • Experiment with different addressing modes
Contribute to RISC-V open-source projects
Gain hands-on experience and contribute to the advancement of RISC-V by参与者ing in open-source projects.
Show steps
  • Identify RISC-V open-source projects on platforms like GitHub
  • Review the project documentation and codebase
  • Contribute bug fixes, feature enhancements, or documentation improvements
Build a simple RISC-V system using Verilog or VHDL
Deepen your understanding of RISC-V architecture by creating a basic RISC-V system from scratch using hardware description languages.
Show steps
  • Design the RISC-V processor's datapath and control unit
  • Implement the design using Verilog or VHDL
  • Simulate the RISC-V system using an FPGA
  • Test the system's functionality by running assembly code
Present a technical presentation on a RISC-V-related topic
Solidify your understanding and improve your communication skills by presenting on a technical aspect of RISC-V.
Show steps
  • Choose a specific topic related to RISC-V
  • Research the topic thoroughly and gather relevant information
  • Create a presentation using slides or other visual aids
  • Practice your presentation and prepare for questions
  • Deliver the presentation to an audience

Career center

Learners who complete Computer Architecture with an Industrial RISC-V Core [RVfpga] will develop knowledge and skills that may be useful to these careers:
Computer Hardware Engineer
Computer Hardware Engineers are responsible for designing, developing, and testing computer hardware components. They use their knowledge of computer architecture and engineering principles to create new and innovative hardware solutions. This course provides a great foundation for a career as a Computer Hardware Engineer by teaching you the basics of computer architecture and how to use the RISC-V architecture to design and develop hardware components.
Computer Architect
Computer Architects design and develop the overall architecture of computers. They work on the design of the processor, memory, input/output system, and other components that make up a computer. This course provides a great foundation for a career as a Computer Architect by teaching you the basics of computer architecture and how to use the RISC-V architecture to design and develop computer systems.
Embedded Systems Engineer
Embedded Systems Engineers design and develop computer systems that are embedded in other devices, such as cars, airplanes, and medical devices. They work on the design of the hardware, software, and firmware that make up an embedded system. This course provides a great foundation for a career as an Embedded Systems Engineer by teaching you the basics of computer architecture and how to use the RISC-V architecture to design and develop embedded systems.
Software Engineer
Software Engineers design, develop, and maintain software applications. They work on a variety of projects, from small personal applications to large enterprise systems. This course provides a great foundation for a career as a Software Engineer by teaching you the basics of computer architecture and how to use the RISC-V architecture to design and develop software applications.
Systems Engineer
Systems Engineers work on the design, development, and integration of complex systems. They work on a variety of projects, from small personal systems to large enterprise systems. This course provides a great foundation for a career as a Systems Engineer by teaching you the basics of computer architecture and how to use the RISC-V architecture to design and develop complex systems.
Electrical Engineer
Electrical Engineers design, develop, and maintain electrical systems. They work on a variety of projects, from small personal devices to large power plants. This course provides a great foundation for a career as an Electrical Engineer by teaching you the basics of computer architecture and how to use the RISC-V architecture to design and develop electrical systems.
Computer Scientist
Computer Scientists conduct research on computer science theory and develop new computer technologies. They work on a variety of projects, from developing new programming languages to designing new computer architectures. This course provides a great foundation for a career as a Computer Scientist by teaching you the basics of computer architecture and how to use the RISC-V architecture to design and develop new computer technologies.
Computer Programmer
Computer Programmers write and maintain computer programs. They work on a variety of projects, from small personal programs to large enterprise systems. This course provides a great foundation for a career as a Computer Programmer by teaching you the basics of computer architecture and how to use the RISC-V architecture to design and develop computer programs.
Technical Writer
Technical Writers create and maintain technical documentation, such as user manuals, technical reports, and white papers. They work on a variety of projects, from small personal projects to large enterprise projects. This course may be useful for a career as a Technical Writer by teaching you the basics of computer architecture and how to use the RISC-V architecture to design and develop technical documentation.
Quality Assurance Analyst
Quality Assurance Analysts test and evaluate software and hardware products to ensure that they meet quality standards. They work on a variety of projects, from small personal projects to large enterprise projects. This course may be useful for a career as a Quality Assurance Analyst by teaching you the basics of computer architecture and how to use the RISC-V architecture to design and develop test and evaluation tools.
Product Manager
Product Managers are responsible for the development and marketing of products. They work on a variety of projects, from small personal products to large enterprise products. This course may be useful for a career as a Product Manager by teaching you the basics of computer architecture and how to use the RISC-V architecture to design and develop products.
Sales Engineer
Sales Engineers sell and support computer hardware and software products. They work with customers to identify their needs and develop solutions that meet those needs. This course may be useful for a career as a Sales Engineer by teaching you the basics of computer architecture and how to use the RISC-V architecture to design and develop computer hardware and software products.
Marketing Manager
Marketing Managers are responsible for the development and execution of marketing campaigns. They work on a variety of projects, from small personal campaigns to large enterprise campaigns. This course may be useful for a career as a Marketing Manager by teaching you the basics of computer architecture and how to use the RISC-V architecture to design and develop marketing campaigns.
Business Analyst
Business Analysts analyze business processes and develop solutions to improve efficiency and effectiveness. They work on a variety of projects, from small personal projects to large enterprise projects. This course may be useful for a career as a Business Analyst by teaching you the basics of computer architecture and how to use the RISC-V architecture to design and develop business analysis tools.
Project Manager
Project Managers are responsible for the planning, execution, and completion of projects. They work on a variety of projects, from small personal projects to large enterprise projects. This course may be useful for a career as a Project Manager by teaching you the basics of computer architecture and how to use the RISC-V architecture to design and develop project management tools.

Reading list

We've selected 12 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Computer Architecture with an Industrial RISC-V Core [RVfpga].
This classic textbook provides a comprehensive overview of computer architecture, covering both the hardware and software aspects of computer systems. It valuable resource for students and professionals who want to learn more about the foundations of computer science.
Provides a comprehensive overview of the fundamental concepts of computer science, including computer architecture, operating systems, and networking. It valuable resource for students and professionals who want to learn more about the foundations of computing.
Provides a comprehensive overview of real-time systems design and analysis. It valuable resource for students and professionals who want to learn more about this important topic.
Provides a comprehensive overview of operating system concepts. It valuable resource for students and professionals who want to learn more about this important topic.
Provides a comprehensive overview of machine learning. It valuable resource for students and professionals who want to learn more about this important topic.
Provides a comprehensive overview of deep learning. It valuable resource for students and professionals who want to learn more about this important topic.
Provides a comprehensive overview of the art of computer systems performance analysis. It valuable resource for students and professionals who want to learn more about this important topic.
Provides a comprehensive overview of embedded systems design. It valuable resource for students and professionals who want to learn more about this important topic.
Save
Provides a comprehensive overview of MIPS assembly language programming. It valuable resource for students and professionals who want to learn more about this important assembly language.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Computer Architecture with an Industrial RISC-V Core [RVfpga].
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser