“One Student One Chip” v26.07 Course Homepage

  • Class Time: Wait to be determined
  • If you find errors in the lab handouts or materials, or have questions or suggestions about the experiments, please contact Yu Zihao via email (yuzihao#ict.ac.cn).
    • Given that an increasing number of students are submitting incorrect AI-generated answers as modification suggestions, if no email response is received within one week, the suggestion will be considered not adopted by default.

Learning Resources

  • The Time column indicates estimated completion time in hours.
    • Content marked with an estimated completion time of 2 typically does not include programming assignments, but consists of 2 hours of video lectures designed to supplement related knowledge.
    • Given varying student proficiency levels, these estimates are based on “intermediate-level” learners. This “intermediate level” does not mean “scoring above 80% in programming courses,” but rather “having a positive learning attitude, having written a single program exceeding 500 lines of code, and understanding debugging.”
    • If you are a complete beginner, expect to spend 2–3 times this amount of time to complete the study. Don't be discouraged—as the saying goes, “Some learn earlier, some later.” The reason other students progress faster is largely because they've already invested effort to overcome the beginner stage.
  • Click icons to jump to corresponding resources
  • Full lecture notes accessible via the top-right navigation bar
  • Course materials created with reveal.jsopen in new window, exportable to PDF—see this guideopen in new window
  • The S-stage lecture notes are still coming soon™. 🕊

C = C language ( programs / emulators / system software ) | R = RISC-V instruction set | P = Processor design | T = Tools

Stage NumberTask Time Course Handout Slide VideoC R P T
F stageF1 How to Ask Smart Questions 2📚📰🎬
F2 Installing and Using Logisim 2📚 - -
F3 Fundamentals of Digital Logic Circuits 20📚📰Pt.1
📰Pt.2
🎬Pt.1
🎬Pt.2
F4 State Machine Model of Computer Systems 5📚📰🎬
F5 Simple Processor Supporting Sequence Summation 5📚📰🎬
F6 Simple Basic Input/Output 5📚 - -
F Stage Tapeout Preparation
E StageE1 Hardware Description Language 20📚 - -
E2 C language programming 20📚 - -
E3 Linux System Installation and Basic Usage 10📚📰🎬
E4 Processor Simulation and Verification 5📚 - -
E5 A Fully Functional mini RISC-V Processor 5📚 - -
E6 Simple Runtime Environment 5📚 - -
E7 Simple Bus and SoC 5📚 - -
E8 Synthesis and Physical Design 5📚 - -
Submission of pre-study defense application
D StageD1 From C to binary 10📚📰🎬
Execution of a C program📰🎬
D2 Simple Debugging Tool, SDB 20📚📰🎬
D3 RISC-V Instruction Set Architecture 5📚📰🎬
D4 The machine-level representation of a program 4📚📰Pt.1
📰Pt.2
🎬Pt.1
🎬Pt.2
D5 Abstract Machine Runtime Environment 5📚📰🎬
D6 From RTL code to GDS 20📚📰🎬
Logic Synthesis📰🎬
Verilog RTL Synthesis Semantics📰🎬
Standard Cell Library📰🎬
Physical Design📰🎬
D7 Tools and Infrastructure 5📚📰🎬
D8 Make your NPC Support RV32E 5📚📰🎬
D Stage Tapeout Preparation
C StageC1 ELF Files and Linking 2📚📰🎬
C2 Devices and I/O 10📚📰🎬
C3 Debugging Tips 2📚📰🎬
C4 Bus 10📚📰🎬
C5 SoC Computer System 30📚📰Pt.1
📰Pt.2
🎬Pt.1
🎬Pt.2
C Stage Tapeout Preparation
B StageB1 Exception Handling and Simple Operating Systems 15📚📰🎬
B2 Timing Analysis and Optimization 5📚 - -
B3 Performance Optimization and Simple Caching 20📚📰🎬
B4 Pipelined Processor 20📚📰🎬
B Stage Tapeout Preparation
A Stage Multiplier and Divider 0
System call and Application 0
Virtual Memory Management 0
Privilege level and xv6 0
Boot Linux and Debian 0
Advanced Cache 0
Advanced Branch Prediction 0
A Stage Tapeout Preparation
S Stage To be continued... 0

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!

Other Resources

Record of events

Last Updated:
Contributors: myyerrol, Miao Yuyang