Machine Problems

Tutorial Videos

Getting Started with Vivado - Part 1 (Video)

Getting Started with Vivado - Part 2 (Video)

Vivado High-Level Synthesis (HLS) - Getting Started (Video)

Vivado Version

Vivado 2019.1 is the version we'll use this semester. Overall it is very similar to the Vivado tools introduced in the tutorial videos. Though there might be slight differences in the interfaces and settings.

Additional Setup for Pynq-Z2

The tutorial videos were made targeting the ZedBoard, which was used in previous semesters. This semester we updated our FPGAs to Pynq-Z2. Unlike the ZedBoard which is supported by Vivado out of the box, the Pynq-Z2 boards require users to add board files manually in Vivado: (instructions adapted from the Pynq documentation)

  1. Download the Pynq-Z2 board files.
  2. Extract the `pynq-z2` directory from the zipped file downloaded.
  3. Copy the entire `pynq-z2` directory to the following directory:
<Xilinx installation directory>\Vivado\<version>\data\boards\board_files

Then you should be able to see Pynq-Z2 in board selections when you create a new project in Vivado. Refer to Pynq-Z2 User Manual for pin assignments and configurations.

Machine Problems

Machine Problem 1

Release Date: Sunday, Aug. 30, 2020

Due Date: Wednesday, Sept. 09, 2020 (11:59 PM Central Time)

Project Description

Machine Problem 2

Release Date: Wednesday, Sept. 09, 2020

Due Date: Wednesday, Sept 30, 2020 (11:59 PM Central Time)

Project Description

Machine Problem 3

Release Date: Saturday, Oct 3, 2020

Due Date: Saturday, Oct. 17, 2020 (11:59 PM Central Time)

Project Description

Machine Problem 4

Release Date: Sunday, Oct. 18, 2020

Due Date: Sunday, Nov. 8, 2020 (11:59 PM Central Time)

Project Description


(Links to the MPs will be available on release dates)

A Note on Cable Driver

Pynq-Z2 uses a FT2232HL chip to support JTAG and UART through the same USB port. The driver should be installed automatically in recent Windows and Linux operating systems. Check the driver page from the manufacturer if you need to install it manually.


In Windows, the cable drivers for the programming cable should be installed automatically during Vivado installation. If you are using Linux, drivers for the programming cable may not be automatically installed. Linux users may need to install the drivers for the JTAG programmer separately. See Installing Cable Drivers in the Vivado installation guide if you couldn't find or connect to the device. If the cable driver from the Vivado installation does not work, you can try the driver from the Digilent website - Here.


Verilog Links

Pynq-Z2 Resources

Xilinx Tool References/Tutorial

Zedboard Resources


Guide to memory, and memory systems in modern architectures

Computer architecture crash course. Just the highlights, to familiarize yourself if you haven't had a chance to take a computer architecture course