Skip to content

Commit cb84754

Browse files
authored
docs(dn): Ghala Buarish 10/19/25 (#413)
* updated notebook * week3 * update design notebook * updated here * deleted * doc(dn)-Ghala-Buarish-09/19/25
1 parent effbbed commit cb84754

File tree

1 file changed

+28
-3
lines changed

1 file changed

+28
-3
lines changed

src/design_notebooks/2025fall/gb2789.md

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
Ghala's Design Notebook: Processor Design VIP
22
-
3-
### Week1: 09/08/25 - 09/14/25
4-
---
53
## Week1: 09/08/25 - 09/14/25
64
- Attended the first meeting of the semester.
75
- Created this notebook.
@@ -14,13 +12,15 @@ Ghala's Design Notebook: Processor Design VIP
1412
- Met with partner [Lucy Zheng](https://github.com/Tyjihn) to work on the RiSC-16 module Program Counter.
1513
- Solved the Vectors practice on HDLBits.
1614

17-
[RiSC-16 Project repository](https://github.com/Ghqlq/Processor-Design-Projects)
15+
[RiSC-16 Project repository](https://github.com/Ghqlq/Processor-Design-Projects) - New file: program_counter.v
1816

1917
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.
2018

2119
## Week3: 09/22/25 - 09/28/25
2220
- Matched my program counter code to the testbench provided to us.
2321
- Created the ALU for the RiSC-16 processor.
22+
23+
[RiSC-16 Project repository](https://github.com/Ghqlq/Processor-Design-Projects) - New file: alu.v
2424

2525
**Changes done to pc:**
2626
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.
@@ -29,3 +29,28 @@ My partner and I had different approach to write the PC module but very similar
2929
4. reset is now active-low to match the testbench.
3030

3131
**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.
32+
33+
## Week4: 09/29/25 - 10/05/25
34+
- Created the register file.
35+
36+
[RiSC-16 Project repository](https://github.com/Ghqlq/Processor-Design-Projects) - New file: register_file.v
37+
38+
**Discussion:** I thought it was easier than creating the ALU, the logic was straightforward. I learned how to do a for loop at compile time, which I did not know was possible. At first I didn't initiate the registers to zero so I got some errors when I ran the testbench, then I corrected the mistake.
39+
40+
## Week5: 10/06/25 - 10/12/25
41+
- Met with Noah and my partner Lucy to discuss our progress.
42+
43+
**Discussion:** I had some issues previously with the PRs and my previous PRs weren't accepted so I wasn't able to push my recent updates to the design notebook.
44+
45+
## Week6: 10/13/25 - 10/19/25
46+
- Created a testbench to test
47+
48+
[RiSC-16 Project repository](https://github.com/Ghqlq/Processor-Design-Projects) - New file: data_memory_tb.v
49+
50+
**Discussion:** I took so long writing this tb and used past TBs Noah provided us with as well as the internet to help me write it. The tb I designed consists of 4 tests. They test for
51+
1) Initial value.
52+
2) write and read
53+
3) Read when write enable is low
54+
4) overwrite
55+
56+
The hardest part is figuring out how to set up the testbench and write the first test, but then it got easier.

0 commit comments

Comments
 (0)