Nexys-A7-50T-DMA-Audio Demo
Description
This project demonstrates how to stream data in and out of the Nexys A7-50T'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-50T 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 tothis tutorial.
Review statements printed over USB-UART for more information on how to operate this demo.
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.
Files found ataudiocheck.netwere used to test the demo.
Requirements
- Nexys A7-50T: To purchase a Nexys A7-50T, see theDigilent Store.
- Vivado 2018.2 Installation with Xilinx SDK: To set up Vivado, see theInstalling Vivado and Digilent Board Files Tutorial.
- Serial Terminal Emulator:
- MicroUSB Cable
- Audio cables, headphones, and/or speakers
Demo Setup
- Download the most recent release ZIP archive ("Nexys-A7-50T-DMA-Audio-2018.2-*.zip") from the repo'sreleases page.
- Extract the downloaded ZIP.
- Open the XPR project file, found at
/vivado_proj/Nexys-A7-50T-DMA-Audio.xpr, included in the extracted release archive in Vivado 2018.2. - In the toolbar at the top of the Vivado window, selectFile -> Export -> Export Hardware. Select
as the Exported Location and make sure that theInclude bitstreambox is checked, then clickOK. - In the toolbar at the top of the Vivado window, selectFile -> Launch SDK. Select
as both the workspace location and exported location, then clickOK. - With Vivado SDK opened, wait for the hardware platform exported by Vivado to be imported.
- In the toolbar at the top of the SDK window, selectFile -> New -> Application Project.
- 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-50T-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-50T-DMA-Audio_bsp) |
- ClickNext.
- From the list of template applications, select "Empty Application", then clickFinish.
- In the Project Explorer pane to the left of the SDK window, expand the new application project (named "Nexys-A7-50T-DMA-Audio").
- Right click on the "src" subdirectory of the application project and selectImport.
- In the "Select an import wizard" pane of the window that pops up, expandGeneraland selectFile System. Then clickNext.
- 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 | |
Files to import pane: sdk_appsrc | Checked box |
Into folder | Nexys-A7-50T-DMA-Audio/src |
Options: Overwrite existing resources without warning | Checked box |
Options: Create top-level folder | Unchecked box |
- ClickFinish.
- 打开一个串行终端应用程序(比如TeraTerm) and connect it to the Nexys A7-50T's serial port, using a baud rate of 230400.
- In the toolbar at the top of the SDK window, selectXilinx -> Program FPGA. Leave all fields as their defaults and click "Program".
- In the Project Explorer pane, right click on the "Nexys-A7-50T-DMA-Audio" application project and select "Run As -> Launch on Hardware (System Debugger)".
- The application will now be running on the Nexys A7-50T. 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-50T'sResource Centerto find more documentation, demos, and tutorials.
For technical support or questions, please post on theDigilent Forum.
Additional Notes
For more information on how this project is version controlled, refer to thedigilent-vivado-scripts回购.