openhwgroup / cvw

CORE-V Wally is a configurable RISC-V Processor associated with RISC-V System-on-Chip Design textbook. Contains a 5-stage pipeline, support for A, B, C, D, F, M and Q extensions, and optional caches, BP, FPU, VM/MMU, AHB, RAMs, and peripherals.
Other
248 stars 177 forks source link

Possible Resource: UCSB Advanced Architecture Course using CVA6 #188

Closed sifferman closed 1 year ago

sifferman commented 1 year ago

Hi, Dr. Harris. I was recommended to reach out to you by Rick O'Connor, who I met at the conference "Latch-Up" this weekend.

As an education researcher at UCSB, I helped rewrite our advanced architecture class to be based around CVA6. The class was taught last quarter, and students seemed to really enjoy it and learn a lot! I presented the class at "Latch-Up" this weekend, and Rick O'Connor recommended that I reach out to you in case we could share any ideas. I would be happy to help contribute to Wally if you see anything from our course you think would be a helpful addition to your upcoming textbook.

Here is a quick summary of each of our labs, (all are open-source):

Thanks for creating so many great resources for learning, and I am happy to talk further!

davidharrishmc commented 1 year ago

Ethan,

It’s nice to meet you. It’s great to see architecture courses getting focused around a processor with real RTL.

Our course website is at http://pages.hmc.edu/harris/class/e154/

Our labs involve:

Last year our final project involved designing a half-precision FMA, and this year we are working on test coverage.

Your labs sound great too!

We’re working on a textbook associated with the processor, and have decent drafts of 13 of the 20 chapters so far. If you’d be interested in reviewing, we are happy to share.

David

On Apr 2, 2023, at 6:09 PM, Ethan Sifferman @.***> wrote:

Hi, Dr. Harris. I was recommended to reach out to you by Rick O'Connor, who I met at the conference "Latch-Up" this weekend.

As an education researcher at UCSB, I helped rewrite our advanced architecture class to be based around CVA6. The class was taught last quarter, and students seemed to really enjoy it and learn a lot! I presented the class at "Latch-Up" this weekend, and Rick O'Connor recommended that I reach out to you in case we could share any ideas. I would be happy to help contribute to Wally if you see anything from our course you think would be a helpful addition to your upcoming textbook.

Here is a quick summary of each of our labs, (all are open-source):

Branch Prediction https://github.com/sifferman/labs-with-cva6/blob/main/labs/branch-prediction.md: Students modify the existing CVA6 saturation counter predictor into a global predictor. SystemVerilog Practice https://github.com/sifferman/labs-with-cva6/blob/main/labs/sv.md: Students implement a FIFO and are forced to write SystemVerilog that infers a BRAM. Caching https://github.com/sifferman/labs-with-cva6/blob/main/labs/caching.md: Students implement a victim-cache, and add it to CVA6 Out-of-Order https://github.com/sifferman/labs-with-cva6/blob/main/labs/ooo.md: Students write an assembly program to demonstrate out-of-order, WAW, WAR, RAW. Virtual Memory https://github.com/sifferman/labs-with-cva6/blob/main/labs/vm.md: Students are given a simple bootloader and OS https://github.com/sifferman/labs-with-cva6/blob/main/programs/vm/os.S that enables virtual memory, then students add an additional page table entry Thanks for creating so many great resources for learning, and I am happy to talk further!

— Reply to this email directly, view it on GitHub https://github.com/openhwgroup/cvw/issues/188, or unsubscribe https://github.com/notifications/unsubscribe-auth/AR4AA3YLLPYPKTP7AQN4ETDW7IPLDANCNFSM6AAAAAAWQUYVIQ. You are receiving this because you are subscribed to this thread.