Rishyak’s Design Notebook
This is Rishyak, he does processor-designer-ey things.
Week of January 22, 2023
Project Work
- Onboarding Lab 1: Completed lab 1 on toolchains
- Onboarding Lab 2: Completed lab 2 on SystemVerilog
Comments
I met the processor design team during orientation on January 23, 2023.
After much preparation, I started onboarding labs on January 27, 2023. I had to upgrade some dependencies but I was familiar with everything for lab 1.
I also finished the second onboarding lab on system verilog. I had to look up Fibonacci LFSRs and some Verilog syntax but the rest was fairly straightforward. I think it would be convenient if this lab had some more hand-holding. For example, a simpler example at the start for a quick revision on Verilog, or perhaps even a short explanation on LFSRs because CS majors don’t really talk about them ever.
Good labs.
All repositories could use a standardised contribution guideline to familiarise team members with team policies.
Week of January 29, 2023
Project Work
- Onboarding Lab 3: Completed lab 3 on verification
- Repo Cleanup: Cleaned garbage files on repo
- Markdown Cheatsheet: Added a Markdown cheatsheet for reference.
- Minor Fixes: Fixed typos and missing URL’s.
Comments
I finished the last available onboarding lab at the moment. Verilator-based verification wasn’t an issue for me since I have used both, Catch and Verilator before. I faced an issue with exercise 3 which was the tiniest, silliest bug.
Good lab.
I don’t expect people to have their text editors set up to format on save, so documentation should probably touch on that as well.
Fixed some tiny things I saw like extraneous files in repositories or typos or missing URL’s.
Week of February 5, 2023
Project Work
- Onboarding Lab 4: Completed lab 4 on verification toolchains
- Git Documentation: Modernised git documentation.
CONTRIBUTING.md
: Created a contribution guideline- VM Creation: Created a plug-and-play VM that team-members can use as a native Linux environment
- VM Documentation: Created a guide for installing and using the above VM
- New position: Czar of all things AMBA
Comments
Finished the last currently available lab on verification toolchains. This was easier than expected since I did a lot of the adaptation work last week already. All I had to do was write the toolchains.
I discovered that the instructions were missing a vital piece of information which I spoke to teamleiter about.
Good lab.
I feel iffy about just blindly using nyu-cmake
and nyu-util
so I’m gonna
spend the week looking into that so I don’t feel iffy about using them.
Got sick of the GitHub “community health” notifications and decided to make
a CONTRIBUTING.md
for the entire team to follow.
I also created a VM for team-members looking for a native Linux experience and a corresponding installation and usage guide.
In my quest to czar the AMBA department, I have finally caught up on all backlog so I can dedicate my week to memorising the AMBA manual and looking into Verilog I know very little about. Shouldn’t be too bad.
Week of February 12, 2023
Project Work
- Documentation: Cleaned up development environment documentation
Comments
Dry week after the last one. I read some of APB manual but I was quickly reminded to focus on homework that I keep procrastinating on.
Did some documentation clean-up and maintenance, but nothing too much otherwise.
Week of February 19, 2023
Project Work
- AMBA:
- AHB Interface: Updated the AMBA AHB interface
- APB Interface: Created the APB interface
- Toolchain: Cleaned up the toolchain on the repo
- Git usage: Helping people collaborate easier on Github
Comments
Spent the week reading the AMBA manuals and implementing their interfaces. We decided to implement burst transfers and protected transfers on the AHB. The APB interface has been pushed too. The first step is to add a UART on the bus. Before adding a UART, I want to spend time working on the AHB.
Other than that, checked some PRs and left comments on how to use git easier. Those comments will be moved into a guide on the website for easier access some time this week.
Week of February 26, 2023
Project Work
- Onboarding Lab 5 (Part 1): Read through the lab
- AMBA: Added a summary of AMBA components for new AMBA team members
Comments
I went through the onboarding lab as soon as it was released. I knew a lot of it through my conversations with Vito or just looking things up. For example, I figured out what SystemVerilog interfaces are to work on the APB and AHB interfaces
I also wrote a summary of the AMBA components so new team members don’t have to parse the whole manual to work on their individual component. The purpose isn’t to avoid reading the specs, it’s to provide context so they don’t have to research things on their own. A dump of my current knowledge, in a way.
I also came up with action items for potential AMBA team members. They will be tracked on the repo’s issues and on the projects page.
Week of March 5, 2023
Project Work
- AMBA:
- APB Bridge: Added WIP Bridge and comments for APB.
- Memory Controller Subordinate: Added a WIP memory controller subordinate
- Toolchain Updates: Updated the CML and
vcpkg
files
- MEM:
- Cleanup: Proposed gitignore cleanup
- Toolchain Setup: Set up the toolchain
- Memory Interface: Set up the common memory interface to interface with the AHB subordinate
Comments
I spent the week finishing finals week and checking out. However, I started working on the APB bridge, finalised the AMBA team for now, and did some general admin work for that repo.
I consulted with documentation czar Uma for work on my repo. I also helped Siddharth with the onboarding labs.
My team will meet with Sean to discuss the interface for the memory controller so it can interact with the AHB. I have a general idea of what needs to be done, I just want to ensure we’re on the same page. My general idea currently exists in a PR on nyu-mem.
Week of March 19, 2023
Project Work
- AMBA: Over-the-air support
Comments
The first week back after spring break was a dry one. For the most part, I provided support and advice to Kevin who was working on the dummy subordinate.
I attempted to package AMBA but vcpkg documentation got the better of me. After talking about how it works, I have a better idea.
Week of March 26, 2023
Project Work
- AMBA
- Manager: Designed the manager
- Interface: Added relevant modports
- Documentation: Added amba spec in PDF form
- Other small fixes: Wrong bus widths, missing signals, typos, and the like.
Comments
Spent this week making tiny changes and tweaks to the repository that were
discovered as Kevin was working his way through SubDummy
. In building files,
more bugs came up. They were extinguished appropriately.
I also learnt a lot about how SV packages work, in practice and with CMake. Unsurprisingly, vastly different but now how you’d expect. It’s also this way because of how our toolchain is designed and isn’t a universal solution.
Week of April 02, 2023
Project Work
- AMBA:
- Toolchain: CMLs for testing and directory reordering
- Actions and Coverage:
- Manager: Started working on the manger
Comments
I started the week off strong with a lot of changes to the AMBA repo.I wanted to make the toolchain easier to use for new team members and also enable coverage and testing through actions.
Lastly, I started implementing the manager so we can have the main thing for AMBA out of the way.
Week of April 09, 2023
Project Work
- AMBA:
- Manager: More work on the manager
- Documentation:
- VS Code Extensions: A list of VS Code extensions to make your life easier
Comments
This week I continued my work on the manager. Turns out, the manager is a big pain to implement. The spec is quite vague with it’s descriptions and AHB discussion forums just want you to “buy it from a vendor”. We push through nonetheless. I don’t think it’ll be that hard once I talk through some of the questions.
Additionally, in working with Kevin on AMBA, I realised that the team isn’t aware of some VS Code extensions that I usually use. So, Uma and I compiled a list of recommended VS Code extensions that will be helpful for people.
Week of April 09, 2023
Project Work
- AMBA
- Manager: Made more progress on the manager
- VIP Fair: Spend a couple hours talking to people at the VIP fair
- Final Presentation: Thought about the project presentation
Comments=
Once again, I continued to work on the manager but I couldn’t do much due to a weirdly challenging project for another class.
I intend to finish the manager this semester but I am in a significant time crunch this week and the next.
I also spoke to Kevin about our final presentation.