uwsampa/zynqWrapper

Name: zynqWrapper

Owner: Sampa

Description: A low-latency and simple hardware interface for the Zynq SoC complemented with software driver code

Created: 2015-04-27 03:00:18.0

Updated: 2018-01-21 08:35:37.0

Pushed: 2016-04-19 18:18:27.0

Homepage: null

Size: 768

Language: C

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

zynqWrapper

A low-latency and simple hardware interface for the Zynq SoC complemented with software driver code. The code currently supports the Zynq ZC702 Development board but can be modified to support differe nt Zynq boards or devices easily.

Getting started
Installing Xilinx ISE

First you'll need to install Xilinx ISE (note: the flow hasn't been tested on Xilinx Vivado which is set to replace ISE in the long term). The code has been tested on ISE 14.7 but should work on earlier versions. Instructions on installing Xilinx ISE can be found on Xilinx' website. Once the files have been installed, there is a settings script that needs to be sourced in order to add the Xilinx executable to your path. If for instance you install the Xilinx ISE v.14.7 under /opt/Xilinx/14.7 the settings path can be found under the path: /opt/Xilinx/14.7/ISE_DS/settings64.sh.

Configuring the run.sh script

This repository contains a script that is supposed to automate the ISE project creation, hardware compilation, bitstream generation, software compilation as well as FPGA programming and binary execution out of the box. However you are still expected to modify the run.sh script under zynqWrapper to point to the ISE settings file. The default path is /opt/Xilinx/14.7/ISE_DS/settings64.sh but it is likely that the file won't be found on your computer. Therefore make sure to update the path to point to a valid location.

Terminal emulator setup

The design is configured to run on the Zynq ZC702 board. Ensure that you have connected the board to your host PC through the JTAG (programming) and UART (terminal) USB connections. In order to interact with programs that execute on the board you'll have to run a terminal emulator. I recommend using gtkterm, which you can install on Fedora with yum install gtkterm or Ubuntu with apt-get install gtkterm. Select the appropriate port which you'll find under /dev/ (the board appears as ttyUSB0 on my machine), and make sure to set the baud rate to 115200, set parity to none, bits to 8, stopbits to 1 and flow control to none.

Running the compilation script

You should be ready now to generate the ISE project, compile the hardware designs, generate the bitstream, compile the test program, program the FPGA and execute the program binary on the FPGA. All you have to do is run ./run.sh. Yes that's it! Once the board is programmed, and the program starts executing, you should see in the terminal emulator the word Success being printed to standard out. This indicates that the hardware design and that the driver are working correctly.

Code structure
Contact

If you have any questions, feel free to contact Thierry Moreau - moreau@cs.washington.edu


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.