For project submission and automatic grading, we are running a dedicated server at http://sys.snu.ac.kr. If you want to access the sys server outside of the SNU campus, please send a mail to the TAs at snucsl.ta AT gmail.

The RISC-V Instruction Set Manual

Project #4: A 6-stage Pipelined RISC-V Simulator

The goal of this project is to understand how a pipelined processor works. You need to build a 6-stage pipelined RISC-V simulator called snurisc6 in Python that supports the most of RV32I base instruction set.

Project #3: RISC-V Assembly Programming

The goal of this project is to give you an opportunity to practice RISC-V assembly programming. In addition, this project introduces various RISC-V tools that help you compile and run your RISC-V programs.

Project #2: FP12 (12-bit Floating Point) Representation

The goal of this project is to get familiar with the IEEE 754 floating-point standard by implementing a 12-bit floating-point representation (fp12 for short).

Project #1: Compressing Data with Huffman Coding

This project demonstrates how we can compress data using a simplified Huffman coding. The purpose of this project is to make you familiar with the binary representations of strings/integers and the logical operations supported in the C programming language. Another goal is to make your Linux or MacOS development environment ready and to get familiar with our project submission server.