The 6th "One Student One Chip" Program Home Page

Learning Objectives

"One Student One Chip" will develop your general skills. At the end of the course, you will have a better understanding of the following questions:

  1. how processors are designed?
  2. how programs run on computers?
  3. how to optimize the performance of a processor?
  4. how to use/design the right tools for efficient debugging?
  5. how to write your own test cases for unit testing?
  6. how does an RTL design generate a flowable layout?

We will guide you to design a RISC-V pipeline processor. Run an operating system on your processor. Run a real game on the OS. The processor that achieves the target will be connected to the SoC and will be given the opportunity to tapeout.

Learning Resource

  • Icons can be clicked to jump to the appropriate resource
  • Complete handouts can be viewed via the navigation bar at the top right of the page
  • The content of the Stage S handout is still available 🕊

C = C language (program/simulator/system software) | R = RISC-V instruction set | P = processor design | T = tools

Stage IDTask Handouts Slides RecordingC R P T
Preliminary stage How to ask questions scientifically📚📰🎬
Linux system installation and basic usage📚📰🎬
State machine models of computer systems - 📰🎬
Reviewing the C language📚📰🎬
Program execution and simulators - 📰🎬
Build a verilator simulation environment📚 - -
Basic Digital Circuit Experiment📚📰🎬
Complet PA1📚📰🎬
Application for admission defense
Basic Stage NEMU with RV32IM support📚📰🎬
Machine-level representation of programs (part 1) - 📰🎬
Machine-level representation of programs (part 2) - 📰🎬
Simplest processor implementation with RTL📚 - -
AM Runtime Environment📚📰🎬
Tools and infrastructure - 📰🎬
Single-cycle NPC with RV32E support📚📰🎬
ELF files and linking - 📰🎬
Devices and inputs/outputs📚📰🎬
Debug tips - 📰🎬
Exception handling and RT-Thread📚📰🎬
SoC computer systems (part 1)📚📰🎬
SoC computer systems (part 2)📚📰🎬
Performance and Simple Caching📚
Accomplish stage B tapeout
Advanced Stage under construction
under construction
under construction
under construction
Accomplish stage A tapeout

Page loading bar is stuck?

If the progress bar is stuck for more than 3 seconds when jumping to a new page, it's probably because we pushed a new version of the page.
> Given that we're still updating and revising the documentation frequently, it may be easier to experience stuck jumps in the near future.

In this case, just refresh You can continue to learn!

Past Courses Home

Other resources

Record of events

Last Updated:
Contributors: myyerrol, Miao Yuyang