Git Product home page Git Product logo

nexys-a7-100t-dma-audio's Introduction

Nexys-A7-100T-DMA-Audio Demo

Description

This project demonstrates how to stream data in and out of the Nexys A7-100T's RAM. Vivado is used to build the demo's hardware platform, and Xilinx SDK is used to program the bitstream onto the board and to build and deploy a C application.

To use this demo, the Nexys A7-100T must be connected to a computer over MicroUSB, which must be running a serial terminal. For more information on how to set up and use a serial terminal, such as Tera Term or PuTTY, refer to this tutorial.

Review statements printed over USB-UART for more information on how to operate this demo.

Files found at audiocheck.net were used to test the demo.

Known Issues

  • This demo is a work in progress, and as such only supports WAV files with 96KHz sample rates. Eight and 16 bit audio is supported, but 16-bit data is truncated down to 8 bits, which may result in poor sound quality.
  • Hardware Tone Generation functionality is not currently working.
  • Wave files are not stored after playback.

Requirements

Demo Setup

  1. Download the most recent release ZIP archive ("Nexys-A7-100T-DMA-Audio-2018.2-*.zip") from the repo's releases page.
  2. Extract the downloaded ZIP.
  3. Open the XPR project file, found at <archive extracted location>/vivado_proj/Nexys-A7-100T-DMA-Audio.xpr, included in the extracted release archive in Vivado 2018.2.
  4. In the toolbar at the top of the Vivado window, select File -> Export -> Export Hardware. Select <Local to Project> as the Exported Location and make sure that the Include bitstream box is checked, then click OK.
  5. In the toolbar at the top of the Vivado window, select File -> Launch SDK. Select <Local to Project> as both the workspace location and exported location, then click OK.
  6. With Vivado SDK opened, wait for the hardware platform exported by Vivado to be imported.
  7. In the toolbar at the top of the SDK window, select File -> New -> Application Project.
  8. Fill out the fields in the first page of the New Application Project Wizard as in the table below. Most of the listed values will be the wizard's defaults, but are included in the table for completeness.
Setting Value
Project Name Nexys-A7-100T-DMA-Audio
Use default location Checked box
OS Platform standalone
Target Hardware: Hardware Platform design_1_wrapper_hw_platform_0
Target Hardware: Processor (default)
Target Software: Language C
Target Software: Board Support Package Create New (Nexys-A7-100T-DMA-Audio_bsp)
  1. Click Next.
  2. From the list of template applications, select "Empty Application", then click Finish.
  3. In the Project Explorer pane to the left of the SDK window, expand the new application project (named "Nexys-A7-100T-DMA-Audio").
  4. Right click on the "src" subdirectory of the application project and select Import.
  5. In the "Select an import wizard" pane of the window that pops up, expand General and select File System. Then click Next.
  6. Fill out the fields of the "File system" screen as in the table below. Most of the listed values will be the defaults, but are included in the table for completeness.
Setting Value
From directory <archive extracted location>/sdk_appsrc
Files to import pane: sdk_appsrc Checked box
Into folder Nexys-A7-100T-DMA-Audio/src
Options: Overwrite existing resources without warning Checked box
Options: Create top-level folder Unchecked box
  1. Click Finish.
  1. Open a serial terminal application (such as TeraTerm) and connect it to the Nexys A7-100T's serial port, using a baud rate of 230400.
  2. In the toolbar at the top of the SDK window, select Xilinx -> Program FPGA. Leave all fields as their defaults and click "Program".
  3. In the Project Explorer pane, right click on the "Nexys-A7-100T-DMA-Audio" application project and select "Run As -> Launch on Hardware (System Debugger)".
  4. The application will now be running on the Nexys A7-100T. It can be interacted with as described in the first section of this README.

Next Steps

This demo can be used as a basis for other projects by modifying the hardware platform in the Vivado project's block design or by modifying the SDK application project.

Check out the Nexys A7-100T's Resource Center to find more documentation, demos, and tutorials.

For technical support or questions, please post on the Digilent Forum.

Additional Notes

For more information on how this project is version controlled, refer to the digilent-vivado-scripts repo.

nexys-a7-100t-dma-audio's People

Contributors

artvvb avatar

Stargazers

 avatar max avatar  avatar 吴天铭 avatar  avatar  avatar

Watchers

James Cloos avatar Sam Kristoff avatar  avatar Sam Bobrowicz avatar  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.