AR# 64252

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


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.


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.


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


Repeat this for the MicroBlaze design.

You will then have two Hardware Platform Specification Projects:


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:


Select the Hello World Template.

Select Finish to continue:


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:


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.


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.


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.
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:


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.


Press Select on the FPGA Device. 

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


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:


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


AR# 64252
Date 05/19/2015
Status Active
Type General Article