Whitney Knitter
Published © GPL3+

Getting Started with Eclypse Z7 + AWG Zmod in Vivado 2022.1

This project walks through how to create a base design on the Eclypse Z7 to use the AWG Zmod in custom projects.

IntermediateFull instructions provided2 hours2,486
Getting Started with Eclypse Z7 + AWG Zmod in Vivado 2022.1

Things used in this project

Hardware components

Digilent Eclypse Z7: Zynq-7000 SoC Development Board with SYZYGY-compatible Expansion
×1
Digilent Zmod AWG 1411: 2-channel 14-bit Arbitrary Waveform Generator (AWG) Module
×1

Software apps and online services

Vivado Design Suite
AMD Vivado Design Suite
Vitis Unified Software Platform
AMD Vitis Unified Software Platform

Story

Read more

Code

eclypseZ7.xdc

Plain text
# 125MHz Clock from Ethernet PHY - IO_L12P_T1_MRCC Sch=sysclk
#set_property -dict { PACKAGE_PIN D18   IOSTANDARD LVCMOS33 } [get_ports { clk }]; 
#create_clock -add -name sys_clk_pin -period 8.00 -waveform {0 4} [get_ports { clk }];

set_property PACKAGE_PIN D18 [get_ports sys_clock]
set_property IOSTANDARD LVCMOS33 [get_ports sys_clock]

syzygy_port_b.xdc

Plain text
#DAC

set_property PACKAGE_PIN Y19 [get_ports {doZmodDAC_Data[0]}]
set_property PACKAGE_PIN Y18 [get_ports {doZmodDAC_Data[1]}]
set_property PACKAGE_PIN AB22 [get_ports {doZmodDAC_Data[2]}]
set_property PACKAGE_PIN AB20 [get_ports {doZmodDAC_Data[3]}]
set_property PACKAGE_PIN AA18 [get_ports {doZmodDAC_Data[4]}]
set_property PACKAGE_PIN AA19 [get_ports {doZmodDAC_Data[5]}]
set_property PACKAGE_PIN Y21 [get_ports {doZmodDAC_Data[6]}]
set_property PACKAGE_PIN Y20 [get_ports {doZmodDAC_Data[7]}]
set_property PACKAGE_PIN V15 [get_ports {doZmodDAC_Data[8]}]
set_property PACKAGE_PIN V14 [get_ports {doZmodDAC_Data[9]}]
set_property PACKAGE_PIN AB15 [get_ports {doZmodDAC_Data[10]}]
set_property PACKAGE_PIN AB14 [get_ports {doZmodDAC_Data[11]}]
set_property PACKAGE_PIN W13 [get_ports {doZmodDAC_Data[12]}]
set_property PACKAGE_PIN V13 [get_ports {doZmodDAC_Data[13]}]
set_property IOSTANDARD LVCMOS18 [get_ports -filter { name =~ doZmodDAC_Data*}]

set_property PACKAGE_PIN W16 [get_ports ZmodDAC_ClkIn]
set_property IOSTANDARD LVCMOS18 [get_ports ZmodDAC_ClkIn]
set_property PACKAGE_PIN W17 [get_ports ZmodDAC_ClkIO]
set_property IOSTANDARD LVCMOS18 [get_ports ZmodDAC_ClkIO]

#DAC SPI
set_property PACKAGE_PIN Y14 [get_ports sZmodDAC_SDIO]
set_property IOSTANDARD LVCMOS18 [get_ports sZmodDAC_SDIO]
set_property DRIVE 4 [get_ports sZmodDAC_SDIO]
set_property PACKAGE_PIN AA14 [get_ports sZmodDAC_CS]
set_property IOSTANDARD LVCMOS18 [get_ports sZmodDAC_CS]
set_property DRIVE 4 [get_ports sZmodDAC_CS]
set_property PACKAGE_PIN AA13 [get_ports sZmodDAC_SCLK]
set_property IOSTANDARD LVCMOS18 [get_ports sZmodDAC_SCLK]
set_property DRIVE 4 [get_ports sZmodDAC_SCLK]

set_property PACKAGE_PIN W15 [get_ports sZmodDAC_SetFS1] 
set_property IOSTANDARD LVCMOS18 [get_ports sZmodDAC_SetFS1]
set_property PACKAGE_PIN Y15 [get_ports sZmodDAC_SetFS2]
set_property IOSTANDARD LVCMOS18 [get_ports sZmodDAC_SetFS2]
set_property PACKAGE_PIN Y13 [get_ports sZmodDAC_Reset]
set_property IOSTANDARD LVCMOS18 [get_ports sZmodDAC_Reset]
set_property PACKAGE_PIN AA22 [get_ports sZmodDAC_EnOut]
set_property IOSTANDARD LVCMOS18 [get_ports sZmodDAC_EnOut]


create_generated_clock -name ZmodDAC_ClkIn -source [get_pins eclypseZ7_i/ZmodAWGController_0/U0/InstDAC_ClkinODDR/C] -divide_by 1 [get_ports ZmodDAC_ClkIn]
create_generated_clock -name ZmodDAC_ClkIO -source [get_pins eclypseZ7_i/ZmodAWGController_0/U0/InstDAC_ClkIO_ODDR/C] -divide_by 1 [get_ports ZmodDAC_ClkIO]
set_output_delay -clock [get_clocks ZmodDAC_ClkIn] -clock_fall -min -add_delay -1.200 [get_ports {doZmodDAC_Data[*]}]
set_output_delay -clock [get_clocks ZmodDAC_ClkIn] -clock_fall -max -add_delay 0.250 [get_ports {doZmodDAC_Data[*]}]
set_output_delay -clock [get_clocks ZmodDAC_ClkIn] -min -add_delay -1.100 [get_ports {doZmodDAC_Data[*]}]
set_output_delay -clock [get_clocks ZmodDAC_ClkIn] -max -add_delay 0.130 [get_ports {doZmodDAC_Data[*]}]

Credits

Whitney Knitter

Whitney Knitter

169 projects • 1699 followers
All thoughts/opinions are my own and do not reflect those of any company/entity I currently/previously associate with.

Comments