User Tools


This is an old revision of the document!


Using Vivado During Spring 2020

You will use the Xilinx Vivado design software to design digital circuits and then test those designs on the circuit board. This is a very large, commercial software package that is being provided free of charge for your use. Options for using this to complete the labs include the following (sorted from most preferable to least preferable).


Option #1: Install Vivado On Your Own Machine

You will go to the Xilinx website and download and install a copy of Vivado to run. This is ONLY available if you are running Windows. If you have a Mac you must do Option #2.

PROS:

  • No virtual machine involved so simple in that respect.
  • Your usage will represent the most common way the Xilinx software is run.

CONS:

  • If your installation has issues the TA's and professors may or may not be able to help debug them (but there shouldn't be any).
  • Takes a couple of hours to set up.
  • Will take up 20+ GB of disk space on your machine.

Instructions:

Xilinx provides a “free” version of the Vivado tools for student use called “WebPack”. This is a limited version of the tool that only works with a few of the FPGAs that Xilinx manufactures. Fortunately, it supports the FPGA we are using for our class. If you have access to a computer/laptop with plenty of hard drive space (the compressed image is about 10 GB and expands to about 25 GB) and a decent processor, you may want to pursue this route. Make sure you download version 2019.1(but if mistakenly you get 2019.2 like some have, it should not really matter).

  1. Click Support, then Downloads and Licensing, then 2019.1 on the left side of the screen.
  2. Scroll down and find “Vivado Design Suite - HLx Editions - 2019.1 Full Product Installation” and then below it find “Vivado HLx 2019.1: WebPACK and Editions - Windows Self Extracting Web Installer (EXE - 64.62 MB)”. There are lots of versions, find this one.
  3. Click on it.
  4. This will then require you to create an account at Xilinx in order to download. You can use BYU's address for your address if you want (EB450, Dept of Electrical and Computer Engineering, Brigham Young University, Provo, UT 84602). If it asks for your research you can fust put “digital design”. Once you have an account it will ask you to log in again and you will likely have to re-navigate to the download button. Then, click Download.
  5. By the way, you will need your Xilinx login and password later in the install process so keep it handy.
  6. Double-click the downloaded file (it should be 64MB in size).
  7. When prompted, be sure to select “Vivado HL WebPACK version”. The defaults for the most part are OK for the rest. As shown here, you can minimize the install size by deselecting a number of things (like SDK, Ultrascale, and Ultrascale+ devices). Also, be SURE that the box for installing cable drivers is selected.

That should do it.


Option #3: Run Xilinx Software on Lab Machines

You will use the “LabConnect” software from the college to run Vivado on the lab machines. You will then install Digilent Adept 2, a smaller piece of software, on your machine to control the circuit board. Like option #1, it is ONLY available if you have Windows. If you have a Mac you must do Option #2.

PROS:

  • Nothing big for you to install on your machine (a much smaller install). Saves local disk space.

CONS:

  • At the mercy of good internet connectivity to get work done.
  • Lab machines are not the fastest out there.
  • Every time you go to do something with the board you will have to copy the .bit file you have created on the lab machine up to your local machine to program the board with it.

Instructions:

  1. Follow the instructions there in the section titled “LabConnect” (CAEDM is changing its website as things evolve so you may see slightly different things).
  2. Scroll down and click “Download Here”
  3. Under “System - Latest Downloads”, click “Windows - v2.20.1”
  4. Fill out the form with first and last name, email, etc. and click “Submit”
  5. This should begin the download (21.7 MB)
  6. Run the installer, when prompted, the defaults for the most part are OK
  7. Once you have the application running, you should be able to plug in your FPGA and it will automatically connect.

You will then use LabConnect to run the Vivado design tools. Once you have a design completed you will have to copy the circuit configuration file (.bit) from the lab computers to your local machine and then use the Digilent Adept 2 sofware you just downloaded above to actually program the circuit board to test your circuits.

Connecting to a Board with Adept

Run the Adept you just installed to conect to the board.

The first time you run Adept, Windows might take a while trying to update the Digilent drivers. In my testing on a Win7 machine (old) I figured it would never finish so I told it to cancel. It installed the standard drivers and everything worked just fine.

When you fire up Adept, if the board is plugged in and powered on, it should auto-detect as shown in the figure below. The 220 lab boards have xc7a100t FPGA devices on them and so the figure below shows this has been detected by the software. This shows that it is ready to program the board and you are ready to go. Any time the tutorials in the lab tell you to run the Xilinx Hardware Manager, you should run Adept on your local computer instead.


Option #4: Run Xilinx Software on Lab Machines But Program Board with Mac

If you have problems with Option #2 you can use this one. It is a hybrid of #2 and #3 and requires a much smaller download.

This assumes you will use LabConnect as in Option #3. CAEDM does have a LabConnect option - follow the instructions above but do the Mac version of the install. Most everything else is similar. Once you have LabConnect installed you will be able to do Vivado designs on a lab machine in the department.

The problem is that once you finish your design, you need a way to get the .bit file onto your local machine to program the board you have. The following instructions show how to set up that step.

  1. Download a small virtual machine from Box with this link. You only want the files whose name starts with “Ubuntu” - there are 3.
  2. As in Option #2 above, install VMWare and import what you downloaded into VMWare. Here is a video. (Hit the back button to return after you have watched it).
  3. Once the VM boots, you need to run vivado_lab - that is the tool to actually program the board. Here is a video of that.
  4. Later, you may need to be able to transfer things from your Mac to your Linux VM (like bitstreams if you upload them to your Mac). To do so, here is a video on that.

So, the big picture is this: (a) use LabConnect to do FPGA design on the department lab machines, (b) copy the resulting .bit file from the department machine to your local machine (in the Linux machine), © program the .bit file into the FPGA using vivado_lab.


Option #5: Run Xilinx Software on Lab Machines But Program Board on either a Mac or Linux Machine Using openocd

If you have problems with Options #2 or #5 you can use this one. It is a hybrid of #2 and #3 and requires a much smaller download.

This assumes you will use LabConnect as in Option #3. CAEDM does have a LabConnect option to allow you to work on the BYU lab machines - follow the instructions above but do the Mac version of the install. Most everything else is similar. Once you have LabConnect installed you will be able to do Vivado designs on a lab machine in the department.

The problem is that once you finish your design, you need a way to get the .bit file onto your local machine to program the board you have. The following instructions show how to set up that step.

Now, follow the instructions at: https://github.com/byu-cpe/BYU-Computing-Tutorials/wiki/Program-7-Series-FPGA-from-a-Mac-or-Linux-Without-Xilinx. It will show you how you can program the board directly from your Mac (or any other machine that will run 'openocd'.

So, the big picture is this: (a) use LabConnect to do FPGA design on the department lab machines, (b) copy the resulting .bit file from the department machine to your local machine (in the Linux machine), © program the .bit file into the FPGA using openocd.


How To Choose:

If you have a Mac, you must do #2. If you have Windows you can do any of #1, #2, #3. I can see benefits with each of them.

  • If you don't want to have to learn Linux then Option #1 is the cleanest since you are running locally (but it takes a lot of disk space).
  • If you want a “canned” solution and are willing (or want) to learn some Linux then Option #2 would be good.
  • If you don't have a big enough machine at home or you want to minimize the bother of Linux (at the expense of requiring an internet connection at all times while you work), you should choose #3.