RISC-V Open Source Microprocessor Design

The HMC Very Large Scale Integration (VLSI) Research Lab in collaboration with several other universities is developing Wally, an open-source RISC-V microprocessor.  We are also writing a textbook on microprocessor design based on the design.

Our lab has research openings for the 2021-2 academic year in the design, optimization, and verification of the processor.  Our goals this year include getting Linux to boot on Wally in simulation and on an FPGA, developing a comprehensive and efficient test suite to prove the processor meets specifications, and optimizing the processor frequency and cost.

To apply, please describe why you are interested in the project and any relevant experience you may have.  First and second year students aren't expected to have experience, but should have an interest in the field.

Name of research group, project, or lab
VLSI Research Lab
Why join this research group or lab?

If you have dreamed of building your own fully-featured microprocessor, this is the project for you.  We have had a ton of fun with a great team over the past year, and are growing the project and bringing on new students.  We expect this project will continue for several years, eventually leading to high performance multithreaded, multicore, out-of-order processors, and chip fabrication as well as future textbook editions.  This project is likely of greatest interest to students with interests at the hardware/software interface coming from either engineering or computer science backgrounds.

Logistics Information:
Project categories
Engineering
Student ranks applicable
First-year
Sophomore
Junior
Senior
Student qualifications

We have room for people with various skill sets:

* Verilog logic design and optimization (a background in E155 or similar will be helpful)

* Linux boot (a strong computer systems and Linux background will be helpful)

* Logic verification (open to first and second year students with no previous background; you'll learn about computer architecture, assembly language programming, and developing test cases to prove the processor performs its intended functions)

Students with significant previous experience can join the Clay-Wolkin Fellowship for pay or credit for 8-10 hours/week.  First or second year students with no previous experience typically volunteer; you'll receive weekly instruction in computer engineering topics and contribute 4-5 hours / week in the fall; if you find you love the project, you can engage more deeply in the spring or summer.  There will be summer 2022 research opportunities for students of all year.

Time commitment
Fall - Part Time
Spring - Part Time
Summer - Full Time
Compensation
Academic Credit
Paid Research
Volunteer
Number of openings
6
Techniques learned

This project will involves a full suite of computer engineering tools: logic design in SystemVerilog, lint with Verilator, verification with ModelSim, C and assembly language programming with GCC, version control with Git, scripting in Python or PERL, Linux configuration with BuildRoot, simulation with QEMU and riscvOVPsim, FPGA development with Quartus or LiteX, logic synthesis with Synopsys Design Compiler, and placement and routing with Cadence.  You'll have a chance to learn and apply industrial design tools.  You'll also have a chance to contribute code or figures to a textbook.

Contact Information:
Mentor name
David Harris
Mentor email
harris@hmc.edu
Mentor position
Professor
Name of project director or principal investigator
David Harris
Email address of project director or principal investigator
David_Harris@hmc.edu
6 sp. | 7 appl.
Hours per week
Fall - Part Time (+2)
Fall - Part TimeSpring - Part TimeSummer - Full Time
Project categories
Engineering