UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 58615

14.7 XMD, Zynq-7000 - Why does the XMD flow hang when I run an application that uses the PL AXI ports?

Description

The following flow hangs when I run an application that uses a PL peripheral via any AXI port. For example, attempting to access the PL @ 0x40000000 via M_AXI_GPx port:

connect arm hw 
source ps7_init.tcl
ps7_init
mrd 0x40000000 1

Solution

Starting from ISE Design Suite 14.7, a command called "ps7_post_config" in the ps7_init.tcl enables the level shifters.

NOTE: In 2.0 silicon, the boot ROM no longer brings the PL out of reset.

It is up to the FSBL, or the user in case of the XMD flow, to enable the level shifter and to bring the PL out of reset after the bitstream is downloaded.

XMD FLOW

"ps7_post_config" (included in ps7_init.tcl) takes care of the following steps:

  1. Unlock the SLCR
  2. Program PS_LVL_SHFTR_EN to 0x0000000F
  3. Program FPGA_RESET_REG to 0x0
  4. Lock the SLCR.

This is the new XMD flow starting in 14.7:

fpga -f system.bit
connect arm hw
source ps7_init.tcl
ps7_init
ps7_post_config
AR# 58615
Date Created 12/02/2013
Last Updated 12/03/2013
Status Active
Type General Article
Devices
  • Zynq-7000
Tools
  • EDK - 14.7