# Assignment3: SoftCPU
> Due: ==Nov 16, 2020==
## Requirements
1. Following the instructions of [Lab3: Reindeer - RISCV RV32I[M] Soft CPU](https://hackmd.io/@sysprog/rJw2A5DqS), you shall modify the assembly programs used/done with [Assignment1](https://hackmd.io/@sysprog/2020-arch-homework1) or [Assignment2](https://hackmd.io/@sysprog/2020-arch-homework2) as new test case(s) for [Reindeer](https://github.com/PulseRain/Reindeer) Simulation with Verilator.
* [ I-ADD-01](https://github.com/riscv/riscv-compliance/blob/master/riscv-test-suite/rv32i/src/I-ADD-01.S) is a good starting point for writing test cases.
* You have to ensure signature matched with the requirements described in [RISC-V Compliance Tests](https://github.com/riscv/riscv-compliance/blob/master/doc/README.adoc).
2. Check the generated VCD file and use GTKwave to view the waveform. Then, explain how your program is executed along with [Reindeer](https://github.com/PulseRain/Reindeer) Simulation.
3. Write down your thoughts and progress in [HackMD notes](https://hackmd.io/s/features).
* Summarize how [RISC-V Compliance Tests](https://github.com/riscv/riscv-compliance/blob/master/doc/README.adoc) works and why the signature should be matched.
* Explain how [Reindeer](https://github.com/PulseRain/Reindeer) works with [Verilator](https://www.veripool.org/wiki/verilator).
* What is 2 x 2 Pipeline? How can we benefit from such pipeline design?
* What is "Hold and Load"? And, how the simulation does for bootstraping?
* Can you show some signals/events inside [Reindeer](https://github.com/PulseRain/Reindeer) and describe?
## Fill in the table for your homework
| Formal given name | HackMD note |
|:-----------------:|:---------------------------------------------------------------- |
| Sample1 | [Homework3](https://hackmd.io/@4BjpaFDLSNuA6FyRpybMdA/rksqzWDjr) |
| Sample2 | [Homework3](https://hackmd.io/@kksweet8845/reindeerlab3v2) |
| Sample3 | [Homework3](https://hackmd.io/@xl86305955/Reideer_RV32I) |
| Sample4 | [Homework3](https://hackmd.io/@oR8-QX4TQzGKDJ72DmqDUg/HkIWfdYjB) |
| 呂紹樺 | [Homework3](/jG6Go9AlSIy_087jWypvSw) |
| 鄭惟 * | [Homework3](https://hackmd.io/@WeiCheng14159/H1DB2nuFw) |
| 陳冠宇 | [Homework3](https://hackmd.io/@guaneec/arch2020-a3) |
| 鄭育丞 | [Homework3](https://hackmd.io/@eecheng/SknZyCEtD) |
| 林楷倫 | [Homework3](https://hackmd.io/@kevinlin30292/2020ca-hw3) |
| 楊承翰 | [Homework3](https://hackmd.io/jNG-yBzDTeWQ9SmJBdMbCA) |
| 許龍君 | [Homework3](https://hackmd.io/YssNBYkqTvu8M5iz3NilIg) |
| 曾紹銘 | [Homework3](https://hackmd.io/@shauming1020/ass3) |
| 陳柏廷 | [Homework3](https://hackmd.io/@Max-Chen/HkBVKOIFD) |
| 謝宜紘 * | [Homework3](https://hackmd.io/@hsieh22/2020-arch-homework3) |
| 王傑世 | [Homework3](https://hackmd.io/oN8kMJGDTParYbMZSqahVw?view) |
| 吳昱宗 | [Homework3](https://hackmd.io/@Zong55555/H1I50R1cD) |
| 魏晉成 | [Homework3](https://hackmd.io/IN4h-4e8QUOcCpDKJWOqRg) |
| 洪邵澤 | [Homework3](https://hackmd.io/@cccccs100203/lab3-riscv)|
| 施丞宥 | [Homework3](https://hackmd.io/@charley871103/asssigment3)|
| 夏晨鈞 | [Homework3](https://hackmd.io/@handsomehsia/Hy8aEpehD)|
| 曾鈜寬 | [Homework3](https://hackmd.io/@Tim096/r1aSez8jw)|
| 江承緯 | [Homework3](https://hackmd.io/gLCQZLnVTT-S4NVprUvZtA)|
| 徐郁淞 | [Homework3](https://hackmd.io/@joe-U16/By8ciIE2P)|