This demo uses the Zmod AWG 1411, the initial release of the Zmod DAC IP cores (ZmodDAC1411_Controller and AXI_Zmod_DAC1411), and the ZmodDAC1411 software library to create a simple ramp waveform. Captured data is written to a file and standard out. Both baremetal and PetaLinux-based projects are provided.
The projects will be downloaded by cloning the Eclypse Z7 repo on Github. Use of git to obtain the sources is recommended. It is still possible to download ZIPs of the projects from Github but dependencies will need to be downloaded and placed in the correct locations manually. A Windows host can be used for either set of projects but will be unable to rebuild the PetaLinux project.
Since Zmods are not hot-swappable, you should ensure that you plug the Zmod AWG into Zmod Port B on the Eclypse prior to powering the board on.
Get the power supply, USB cable, and ethernet cable plugged into the board. Additional setup will be performed in the “Setting up…” dropdowns, below, so don't turn the board on just yet.
Some load should be connected to the Zmod AWG's CH1 SMA connector. In the image to the right, the output is left floating but is connected to an oscilloscope via an SMA cable for measurement. The demo, without user modification, repeatedly creates a ramp signal, ascending from -1 V to 5 V over the course of 12 µs.
The steps below need to be followed in order to obtain a complete SDK workspace and to be able to build and run any of the projects, in either Linux or Baremetal platforms.
The ZmodADC1410_Demo_Linux and ZmodDAC1411_Demo_Linux are run from Xilinx SDK.
This step-by-step tutorial roughly follows the How to debug Linux Application in SDK 2019.1 by Xilinx, with some changes due to our Debian 10 rootfs.
The following steps are for the Eclypse Z7 board. If a Zmod Scope is used, it should be attached to the Eclypse Z7's ZMOD A port. If a Zmod AWG is used, it should be attached to the Eclypse Z7's ZMOD B port.
1. Download the Source Code
git clone --recursive https://github.com/Digilent/Eclypse-Z7-SW.git -b zmod_adc_dac/master
The directory created when you run this command (“Eclypse-Z7-SW”), will be used as the Xilinx SDK workspace in later steps.
Note: If you choose to download the repository as ZIP, the folder zmodlib will not be populated and you will have to populate it manually.
If you want to download the Vivado and PetaLinux projects at the same time, instead clone the Eclypse-Z7 repository (still using the zmod_adc_dac/master branch). Instructions on working with these projects, as well as on how to check them out from source, can be found in the vivado_hw_repositories documentation.
2. Download the SD Card Image
dd if=/path/to/extracted/image/eclypse-debian-buster-armhf-rfs.img of=/dev/(sdX or mmcblkX} && sync
3. Select Xilinx SDK Workspace Location
5. Add SYSROOT Environment Variable in SDK
6. Find the Board IP Address
ip a
7. Establishing Connection to the Board
8. Run the Demo Project
To run the demo application, right-click on Project name → Run as → Launch on Hardware(System Debugger)
The steps below need to be followed in order to obtain a complete SDK workspace and to be able to build and run any of the projects, in either Linux or Baremetal platforms.
1. Download the Source Code
Download the demo project with the below command:
git clone --recursive https://github.com/Digilent/Eclypse-Z7-SW.git -b zmod_adc_dac/master
The directory created when you run this command (“Eclypse-Z7-SW”), will be used as the Xilinx SDK workspace in later steps.
Note: If you choose to download the repository as ZIP, the folder zmodlib will not be populated and you will have to populate it manually.
If you want to download the Vivado and PetaLinux projects at the same time, instead clone the Eclypse-Z7 repository (still using the zmod_adc_dac/master branch). Instructions on working with these projects, as well as on how to check them out from source, can be found in the vivado_hw_repositories documentation.
2. Add Xilinx SDK Workspace Location
4. Xilinx SDK Project Explorer
5. Run the Demo Project
When the project is run, the ramp will be performed and the message “ZmodDAC1411 Demo” will be printed to a connected serial terminal. Results captured by an Analog Discovery Pro (ADP3450) oscilloscope can be seen in the screenshot to the right.
The signal repeatedly ramps from -1 V to 5 V over the course of 12 μs. The full 100 MS/s sample rate is used, with a 600 sample buffer, and an output frequency divider factor of 2 - each sample is sent to the Zmod AWG from the Eclypse twice in a row.
Once you've run the projects, check out the Eclypse Z7 Git Repositories documentation for more information on how the repository you cloned is structured and how to obtain and build the software project's dependencies.
For more information on the structure of the software projects and libraries, and how to modify the projects, or create new ones, check out the Zmod Base Library User Guide.
All materials related to the use of the Eclypse Z7 and Zmod AWG can be found on their resource centers, linked below:
For technical support, please visit the FPGA section of the Digilent Forum.