Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/chueating1005/computer-organization

NYCU 112-2 Course, Computer Organization
https://github.com/chueating1005/computer-organization

Last synced: about 19 hours ago
JSON representation

NYCU 112-2 Course, Computer Organization

Awesome Lists containing this project

README

        

# NYCU 2024 Spring Course: Computer Organization
## Lab0
### Environment Setup
- OS: Ubuntu 22.04.4 LTS
- VM: Multipass
```
sudo apt-get install git perl python3 make autoconf g++ flex bison ccache help2man
sudo apt-get install libgoogle-perftools-dev numactl perl-doc
sudo apt-get install libfl2 # Ubuntu only (ignore if gives error)
sudo apt-get install libfl-dev # Ubuntu only (ignore if gives error)
sudo apt-get install zlibc zlib1g zlib1g-dev # Ubuntu only (ignore if gives error)

git clone https://github.com/verilator/verilator # Only first time

unsetenv VERILATOR_ROOT # For csh; ignore error if on bash
unset VERILATOR_ROOT # For bash
cd verilator
git pull # Make sure git repository is up-to-date
git tag # See what versions exist
git checkout v5.008 # Switch to specified release version

autoconf # Create ./configure script
./configure # Configure and create Makefile
make -j `nproc` # Build Verilator itself (if error, try just 'make')
sudo make install
```
## Lab1
### Single Cycle CPU with Simple RISC-V Instruction
- `add`, `sub`, `and`, `or`, `slt`
- `addi`, `subi`, `andi`, `ori`, `slti`
- `lw`, `sw`
- `beq`

## Lab2
### Single Cycle CPU with Branch Instruction
- `add`, `sub`, `and`, `or`, `slt`
- `addi`, `subi`, `andi`, `ori`, `slti`
- `lw`, `sw`
- `beq`, `bne`, `blt`, `bge`
- `jal`, `jalr`