You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Read "Design Notebooks and Git" and "Development Environment".
9
9
- Completed necessary downloads (Homebrew,CMake, Verilator). Didn't download VirtualBox because it says in the guide I don't need it if I have a macOS.
10
10
- Downloaded VSCode and suggested add-ons.
11
11
- Made a profile in HDLBits and completed “Getting Started” and “Verilog Language Basics”.
12
12
13
-
###Week2: 09/15/25 - 09/21/25
13
+
## Week2: 09/15/25 - 09/21/25
14
14
- Met with partner [Lucy Zheng](https://github.com/Tyjihn) to work on the RiSC-16 module Program Counter.
My partner and I had different approach to write the PC module but very similar logic. However I am not sure how correct it is since there is no way to test it. We faced some difficulty with figuring out the logic of the module because it is unclear what are the given inputs and which operations should the PC do or not do.
20
20
21
+
## Week3: 09/22/25 - 09/28/25
22
+
- Matched my program counter code to the testbench provided to us.
23
+
- Created the ALU for the RiSC-16 processor.
24
+
25
+
**Changes done to pc:**
26
+
1. I had the opCode as an input, now I'm using MUX_output which decides which operation for the pc to do in upstream logic. That made it simpler because I removed opcode decoding inside PC.
27
+
2. Removed RegB port and old beq equality logic, now I'm using alu_out directly.
28
+
3. sign-extension of imm so it can be summed with pc.
29
+
4. reset is now active-low to match the testbench.
21
30
22
-
31
+
**Discuss ALU:** My implementation of the ALU is similar to the implementation uploaded by Noah. However, I used mux using the conditional operator instead of an always block. I'm not familiar with how to use the always block for mux and the differences.
0 commit comments