Coder Social home page Coder Social logo

zynq-zedboard-vivado-workshop's Introduction

Zynq Zedboard Vivado Workshop

A Zynq Workshop for Beginners

A workshop for beginners who are starting to use the Xilinx Zynq SoC devices. This version of the workshop targets the Avnet ZedBoard.

This workshop requires the Xilinx Vivado 2014.1 tools, or later.


Contents

  1. Getting something (anything!) working.
    • "I just want to see the board work. How do I do it?"
    • Use of the Block Diagram tool.
    • "print" is your friend. We will learn how to use it for debugging.
  2. Using drivers to flash an LED.
    • What is a driver?
    • Where do I find the supplied drivers?
    • Using the GPIO peripheral and the supplied drivers, control some pins to flash LEDs on the board.
  3. Debugging.
    • Why is this important?
    • How does it help us?
    • What options do we have for debugging?
    • Use the debugger to step through your Flashing LED design.
  4. Expanding your design into the programmable logic (PL).
    • Add soft peripherals to the AXI interfaces.
    • Interfacing between the PS and PL.
    • Connecting interrupts.
    • Assigning IO pin locations.
  5. Making your design interactive.
    • How do we read inputs from the user?
    • User input driver functions.
    • Using a UART connection, make your software respond to characters sent via the UART.
    • Make an LED light on the board when a certain character is sent from the UART.
  6. Talking to internal memory
    • Use the "Xil_io" functions to write to and read from memory
    • Why is this important?
  7. Timers (Polled mode)
    • Why are timers useful?
    • When do we use them?
    • Using a timer peripheral, flash an LED at a frequency of 1Hz.
  8. Timers (Interrupt mode)
    • What is an interrupt?
    • Why are they important?
    • Make a system that will light an LED in response to a user input, but at the same time flash another LED at a frequency of 1Hz. Neither task is permitted to noticeably interfere with the other.
  9. Talking to external components.
    • Using a PMOD expansion module, we will experiment with using the SPI protocol to talk to a temperature sensor.
    • This exercise will discuss the basics of SPI, and will show how to read from and write to an external device to expand the capabilities of your design.
    • We will then implement an interrupt based design to send and receive data from the external board via SPI.
  10. Autonomous Boot
    • Using an SD flash memory card, we will make the ZedBoard boot automatically.

Contributions

Code examples are provided for your use, but please feel free to contribute your own code back to this repository via a pull request in the usual fashion. Please fork from this repo, then create a suitably named branch in your fork before submitting back to this repo. Please don't submit a pull request from your "master" branch. Each new addition to the code should belong to its own submitted branch. Thanks.

zynq-zedboard-vivado-workshop's People

Contributors

q-branch avatar

Watchers

James Cloos avatar Muhammad Majid Altaf avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.