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# 64252

2015.1 - SDK New Features - Multiple cable and Multiple device Support

Description

In the 2015.1 release, SDK has the ability to connect, download and debug multiple devices connected via multiple cables.

This Answer Record discusses this feature in a simple multi device system using multiple cables.

Solution

The Hardware referenced in this demo is as follows:

  • Zynq System Targeting the ZC702 board
    • Processing System uses default ZC702 board settings
    • No IP in the Programmable Logic
  • MicroBlaze System Targeting the KC705 board
    • Uses an AXI UART connected via Interconnect

The Bitstream is generated, and Exported to SDK resulting in two HDF files.

The following steps will show how to connect, download and debug multiple devices in SDK.

Step 1: Launch SDK

SDK can be launched from Vivado, or in standalone mode. 

If exported from Vivado, the SDK will detect the HDF file, and create a Hardware Platform based on this HDF file. 

However, users can launch SDK in standalone, and then create a workspace and create the Hardware Platform using the HDF as an Input file, and then build from there.

It is the second flow that is outlined below.

 

Step 2: Create Hardware Platform Specification Projects

Once the workspace is created, the Hardware Platform for each device needs to be created. 

To do this select File -> New -> Project -> Xilinx -> Hardware Platform Specification

Click Next to continue.

ar642252_gen_hw_platform.png



Browse to the HDF file that was exported from SDK and Select Finish to continue:

ar642252_zynq_hw_platform.png

Repeat this for the MicroBlaze design.

You will then have two Hardware Platform Specification Projects:

ar64252_hw_platform_view.png


Step 3: Create Application projects


In this demo, Hello World applications will be created for each target hardware Platform specification.

To do this, go to File -> New -> Application Project:

Under the Target Hardware, select the Hardware Platform for the MicroBlaze system that was created in Step 2.

Name the Project, and allow the tools to create the BSP.

Select Next to continue:

ar64252_hello_mb.png

Select the Hello World Template.

Select Finish to continue:

ar64252_hello_mb_template.png

Repeat this for the other Hardware Platform Specification.

In the flow below, the Hello World application and BSP were created for both CPU on the Zynq (ZC702) device. 

This will look like the following:

ar64252_workspace_view.png

Note: For ease of use, each Hello World print statement has been updated to reflect the processor it is being executed on.

 

Step 4: Connect Hardware

The two devices (Kintex-7, and Zynq) can be seen connected to the PC via a USB hub. 

Here two different cables are used: Digilent and a Platform USB.

The USB UART for both boards is also connected as this will be used for the Hello World applications.

ar64252_hw_layout.png


Step 5: Configure Hardware via SDK

Programming the device in SDK 2015.1 is similar to how this was achieved in previous versions. 

However, the user now has the ability to target multiple cables.

To program the Kintex device, go to Xilinx Tools -> Program FPGA.

Select the "MicroBlaze System" Hardware Platform Specification.

ar64252_program_fpga.png

Under Device, press Select.

Here, you can navigate through all of the cables which are connected.
 
To do this, untick the Auto Detect box, and under the cable drop down, all of the cables will be shown.
 
ar64252_cable_select.png
In this case, the Kintex-7 is connected via the Digilent cable.

Select this, then click OK, and program to program the Kintex 7 device.
 
Repeat this for all devices that need to be configured.
 
Step 6: Debug Multiple devices in System Debugger


You can use SDK System Debugger to debug all devices connected across all of the debug cables.

To set up a Debug Configuration, go to Debug -> Debug Configurations:

ar64252_open_debug_config.png

In the GUI, double click on the C/C++ application (System Debugger).

Name the debug config.

Set the Debug Type as Standalone Application Debug.

Choose the Hardware Platform Specification from the Hardware platform drop-down.

ar64252_mb_debug_config.png

Press Select on the FPGA Device. 

You can then untick the Auto Detect, and choose the device that you want to debug:

ar64252_cable_select.png

Next, open the Application tab. 

Highlight the processor and tick the Download Application box.

Make sure that the Project name and Application fields are populated correctly.

Select Apply to continue:

ar64252_mb_app_select.png

You can repeat this for all devices detected over all cables connected.

 

Linked Answer Records

Master Answer Records

Answer Number Answer Title Version Found Version Resolved
64215 2015.1 - New Features SDK N/A N/A
AR# 64252
Date Created 04/14/2015
Last Updated 05/19/2015
Status Active
Type General Article
Tools
  • Vivado Design Suite - 2015.1