This guide offers the method of code organization and collaboration that we recommend.
-
The labs are recommended to be completed in groups of 3, so we recommend creating a GitHub organization for your group.
-
Create a new public or private1 GitHub repository and clone it to your machine. You can either make a new repository for each lab, or use the same repository for all labs.
-
If you made a private repository, give the instructors read-access to your repository. Their GitHub usernames are "dstrukov" and "sifferman".
-
Add labs-with-cva6 as a submodule with
git submodule add [email protected]:sifferman/labs-with-cva6.git
. -
If you ever need to change the commit of your labs-with-cva6 submodule, you will need to do the following:
cd labs-with-cva6
git pull origin main
to grab the latest commit, orgit checkout <COMMIT HASH>
to grab a specific commitcd ..
git submodule update --init --recursive
git add labs-with-cva6
git commit -m "<MESSAGE, i.e. updated labs-with-cva6>"
git push origin main
-
Add your source files to your repository where desired. You may optionally add a script to automatically overwrite CVA6's source files with your own source files.
Footnotes
-
Disclaimer: You are welcome to make any code you write yourself publicly available, although your submission will be verified with a strong similarity report checker. Learning from online resources is encouraged, but blatant plagiarism will not be tolerated. ↩