Try   HackMD

Assignment1: RISC-V Assembly and Instruction Pipeline

Due: Oct 5, 2020

Requirements

  1. Following the instructions of Lab1: RV32I Simulator, you shall write RISC-V assembly programs (RV32I ISA) such as calculating Fibonacci numbers and output to the console with environment calls.
    • Don't implement the same subject as others do. Your program shall be different.
    • Your program(s) MUST contain loops (or recursive calls) and conditional branches.
    • You have to ensure the program fully functioned with Ripes simulator.
  2. You have to explain how each instruction works along with Ripes simulator.
    • Explain your program with the visualization for multiplexer input selection, register write/enable signals and more. You have to illustrate each stage such as IF, ID, IE, MEM, and WB. In addition, you should discuss the steps of memory updates accordingly.
  3. Write down your thoughts and progress in HackMD notes.
    • Example page

      Image Not Showing Possible Reasons
      • The image file may be corrupted
      • The server hosting the image is unavailable
      • The image path is incorrect
      • The image format is not supported
      Learn More →
      Do not modify this note.

    • Insert your HackMD notes and RISC-V assembly programs in the following table.
    • Of course, you MUST write in English.

Fill in the table for your homework

Formal given name Descriptions HackMD note Program (GitHub link)
Sample1 Lucas number Lab1: RV32I Simulator Lucas Number
Sample2 Multiplier Lab1: RV32I Simulator Multiplier
Sample3 bit reverse Lab1: RV32I Simulator bit reverse
Sample4 Permutations(nCk) with recursion Lab1: RV32I Simulator -
呂紹樺
Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →
Convolution sum Lab1: RV32I Simulator Convolution sum
吳昱宗 IsPrime Lab1: RV32I Simulator Isprime
林霆寬 Fibonacci number Lab1: RV32I Simulator Fibonacci number
陳柏廷 Greatest common divisor Lab1: RV32I Simulator Greatest common divisor
許龍君 Find largest element Lab1: RV32I Simulator Find largest element
鄭育丞 Single number (LeetCode 137) Lab1: RV32I Simulator singleNumber
陳冠宇 Digits of
π
Lab 1: RV32I Simulator Digits of
π
謝宜紘 print square Lab1: RV32I Simulator print square
曾紹銘 Power function Lab1: RV32I Simulator Power function
洪邵澤 GCD (Greatest Common Divisor) Lab1: RV32I Simulator GCD
王廣達 Collatz conjecture Lab1: RV32I Simulator Collatz conjecture
王傑世 Bubble Sort Lab1: RV32I Simulator Bubble Sort
林楷倫 Selection Sort Lab1: RV32I Simulator SelectionSort
江承緯 Binary Search Lab1: RV32I Simulator Binary Search
劉安倫 Pascal Lab1: RV32I Simulator Pascal
江松穎 Multi-level Difference Arithmetic Sequence Lab1: RV32I Simulator Multi-level Difference Arithmetic Sequence
鄭惟 Count Leading Zeros Lab1: RV32I Simulator Count Leading Zeros
段雅培 Dot Product Lab1: RV32I Simulator Dot Product
楊承翰 Hanoi Tower Lab1: RV32I Simulator Hanoi Tower
汪宗諺 Matrix multiplication algorithm Lab1: RV32I Simulator Matrix multiplication algorithm
曾鈜寬 Factorial Lab1: RV32I Simulator Factorial
施丞宥 Insertion Sort Lab1: RV32I Simulator Insertion Sort
魏晉成 Format printer Lab1: RV32I Simulator Format printer
徐郁淞 Two Sum (leetcode 1) Lab1: RV32I Simulator Two Sum (leetcode 1)
夏晨鈞 make isoceles triangle Lab1: RV32I Simulator make isoceles triangle
林柏維
Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →
MergeSort Lab1: RV32I Simulator MergeSort