Before you start, please open a file on your computer somewhere and, in it, record any problems you have as you work through all this this semester. Those notes will be helpful as you discuss any issues you have had with the F4PGA TAs. They will also be helpful to us later to understand what is lacking in documentation or needs better explanation.
You will first need to get a Github account at https://github.com. Go there now and do so using the "SignUp" button. Use your BYU email as your email. When it asks how many people are in your group choose "Just Me". Select "Student" when asked. Choose the free version of the account unless you want to jump right to "Pro". You will use these Github credentials for the rest of your studies so remember your username and password.
Before moving on, go and create an SSH key in Github using the instructions found here. When done, return to this page and continue.
If you have any problems with any of these steps, contact a F4PGA TA for help.
- To join the classroom for our F4PGA testing, right-click the following link and select "Open Link in New Window" so that these instructions are still visible after you click it.
- 220 students should click: https://classroom.github.com/a/W9Khkonc
- On the page that opens click "Accept this assignment".
- On the page that takes you to, refresh a time or two and eventually it will tell you "You're Ready to Go!". The link it gives below that is the link for your Github repository you will use for all of your testing activities. An example is:
https://github.com/BYU-Symbiflow-Classrooms/220-myusername
. So, save this name somewhere. - Now, go to that page (click on that name on the screen currently showing or type it into your browser address bar).
- Near the bottom of the screen will be an "Import Code" button. Click it. THIS IS AN OFT-MISSED step in the process so carefully follow these instructions for this step.
- Now, enter this address: https://github.com/byuccl/f4pga-classroom (this is the repository you want as the starting point for your repository). Hit the tab key and then click "Begin Import". NOTE: you have just imported the contents of the web page you are currently reading as the initial contents of your repository. That way, your repository will have these usage instructions and everything else in it that you will need during the semester in terms of instructions and provided files.
- When the import is done it will give you a link to your new repository - click it - this is your personal repository. Ultimately, your results will be placed here. A typical address would be: https://github.com/BYU-Symbiflow-Classrooms/220-myusername.
- In your new repo in github (https://github.com/BYU-Symbiflow-Classrooms/220-myusername) you will see that a documentation page comes up at the bottom of the screen. This corresponds to the contents of your
README.md
file in the repo. So, edit that file and add your name, email, and BYU netid to that page so we know who you are.
At this point your repo is now done at Github. The next step is to clone that repository into a Linux machine so go on to the next section.
- In your web browser connect to your repository (https://github.com/BYU-Symbiflow-Classrooms/220-myusername).
- In your repository on the right is a green "Code" button. Click it.
- Make sure the SSH selection has been highlighted.
- Copy the address showing and which starts with
[email protected]:BYU-Symbiflow-Classroom...
. The easiest way to do that is to click the double-box icon to the right of the address. That will copy it to the clipboard.
- On one of the digital lab machines open a Bash terminal and type
git clone
and then paste in the address copied above and then hit return. To paste into a linux terminal you have to useCtrl+Shift+V
or you can left click and select paste. This will make a copy of your Github repository into your directory on the Linux machine.
- Once you are done you can
cd 220-myusername
and you will be in your repository on the Linux machine. This directory is where you will do all your work this semester as you test your designs using F4PGA. Unless otherwise specified in the rest of this documentation, everything you do from here on out will be from within this directory. - The last step is to make a link from your repository back to the original repository where the initial contents of your repository came from. You do this in Linux by typing:
git remote add starterDirectory https://github.com/byuccl/f4pga-classroom
. The reason for doing this is if, later in the semester, we update instructions for you or provide additional files this will provide a link for you to be able to pull that new information down into your Linux repository.
Note that the repository on the Linux machine that you have created above is in your CAEDM home directory. This is a good thing - it means this directory will be available to you on any of the department Linux lab machines. As a result you can work on any machine in the lab for this F4PGA project work.
That is it - you are done setting up your repo. You can go to the next set of instructions for testing your designs at Step2_Testing_Your_Own_Designs.
This semester as you test your designs using the F4PGA tools you are going to be doing that in a git
repository on your Linux machine. Thus, you will be learning about git during the semester. However, that local repository will be tied to one at https://github.com. This is shown in this figure:
The top box is the Github Repository you will create in the first couple of steps below. After that, you will clone it onto a BYU Linux machine. You will then do all your work on the Linux machine inside the directory that holds your repository files. Once you have a lab completed you will git commit
and then git push
you results back up to Github where the F4PGA TAs can get access to your results.
-
The instructions for setting up your repositories make up the rest of this document. Doing this will take about 15 minutes. This is the first step you will need to complete.
-
Once you have set up your repository correctly, you can test your first design using F4PGA. The way you will do this is you will copy your design files from your passed-off lab (meaning it all worked in Vivado) into a directory in your local repository in Linux. You will then re-compile and test it using the F4PGA tools in that repository. Document your results and any errors you might have come across using the
readme.py
script and then push your results back up to your Github repository.
All along the way the F4PGA TAs will be helping you. They will be able to help you set everything up, test it to make sure it is working, and then help you as needed as you test your designs using the F4PGA tools. So, don't be nervous - there are many people ready and available when you have questions.
To keep things simple this document will be using the name 220-myusername
for the name of your repository. As you follow along, be sure to substitute 220-myusername
with your actual repository name.