Xilinx SDK
Xilinx SDK
The Xilinx Software Development Kit (XSDK) is the Integrated Design Environment for
creating embedded applications on any of Xilinx's award winning microprocessors: Zynq®
UltraScale+ MPSoC, Zynq-7000 All Programmable SoCs, and the industry-
leading MicroBlaze™ soft-core microprocessor. The SDK is the first application IDE to
deliver true homogenous and heterogeneous multi-processor design, debug, and performance
analysis. Benefits include:
Included with the Vivado Design Suite or available as a separate free download for
embedded software developers
Based on Eclipse 4.5.0 and CDT 8.8.0 (as of the 2016.3 release)
Complete Integrated Design Environment (IDE) that directly interfaces to the Vivado
embedded hardware design environment
Complete software design and debug flows supported, including multi-processor and
hardware/software co-debug capabilities
Editor, compilers, build tools, flash memory management, and JTAG debug
integration
[Type text]
[Type text]
System Debugger
Hierarchical Profiling
In addition to all the features of a full-featured standard software debugger, the System
Debugger supports cross-triggering between processors in the PS and processors and
hardware in the PL. Through an intuitive GUI, the software programmer can setup conditions
for issuing triggers to external processors or hardware on the PL, or receiving triggers from
these elements. Data is captured and can be displayed in the various tools to aid in the
debugging process.
Xilinx SDK understands the custom embedded hardware design that has been defined in the
Vivado Design Suite. Based on this design, several key parameters are auto-configured,
including memory maps, peripheral register settings, tools and library paths, compiler
options, JTAG and flash memory settings, debugger connections, and Linux and bare-metal
Board Support Packages (BSPs). This custom design-aware pre-configuration, combined
with the auto-generation of critical system software, ensures that software development can
progress rapidly with a minimal learning curve.
XSDK includes user-customizable drivers for all supported Xilinx hardware IPs, POSIX
compliant kernel library and networking and file handling libraries. These libraries and
[Type text]
drivers can scale for the custom-design based on feature needs, memory requirements and
hardware capabilities.
Software Profiling
XSDK includes profiling tools that help to identify bottle necks in your code occurring due to
the interaction of functions that are executed within the programmable logic, and on the
processor. Supports hierarchical profiling - allowing the user to view which called functions,
or which calling functions are affecting processor performance the most.
Creating high-performing SoC based systems takes time and requires insight into the
interactions between the software and the peripherals. Tools that allow you to gather
performance data and visualize your system are critical to achieving performance targets. The
Xilinx System Performance Analysis toolbox (available in the XSDK) allows you to model,
[Type text]
measure, analyze and optimize your system. In the new performance perspective you can
visualize.
Processor utilization
The System Performance Analysis toolbox allows you to interact with your system and tune
it to reach your desired performance goals.
With these tools, you can rapidly identify bottlenecks and create “what if” scenarios
regarding how to partition your system between hardware and software. Using the AXI
Traffic Generators you can model the performance from the IP blocks that will be in the
programmable logic before they are completed. Once analyzed, the performance can be
improved by optimizing the software source code, by splitting the function between processor
and programmable logic, or by migrating the whole function to programmable logic.
[Type text]
SDSOC
An SDSoC platform consists of a Vivado® Design Suite hardware project, a target operating
system, boot files, and optionally, software libraries that can be linked with user applications
that target the platform. An SDSoC platform also includes XML metadata files that describe
the hardware and software interfaces used by the SDSoC compilers to target the platform. A
platform provider designs the platform hardware using the Vivado Design Suite and IP
Integrator. After the hardware has been built and verified, the platform provider executes Tcl
commands within the Vivado tools to specify SDSoC platform hardware interfaces and
generate the SDSoC platform hardware metadata file. The platform creator must also provide
boot loaders and target operating system required to boot the platform. A platform can
optionally include software libraries to be linked into applications targeting the platform
using the SDSoC compilers. If a platform supports a target Linux operating system, you can
build the kernel and U-boot bootloader at the command line or using the PetaLinux tool suite.
You can use the PetaLinux tools, SDx IDE or the Xilinx SDK to build platform libraries.
[Type text]
An SDSoC platform consists of the following elements: • Metadata files ◦ Platform top-level
description file (.xpfm) written by hand. ◦ Platform hardware description file (.hpfm)
generated using Vivado tools ◦ Platform software description file (.spfm) written by hand •
Vivado Design Suite project ◦ Sources ◦ Constraints ◦ IP blocks • Software files ◦ Library
header files (optional) ◦ Static libraries (optional) ◦ Common boot objects (first stage boot
loader, for Zynq UltraScale+ MPSoC ARM trusted firmware and power management unit
firmware) ◦ Linux related objects (u-boot and Linux device tree, kernel and ramdisk as
discrete objects or an image.ub unified boot image)
Pre-built hardware files (optional) ◦ Bitstream ◦ Exported hardware files for SDK ◦ Pre-
generated port information software files ◦ Pre-generated hardware and software interface
files • Platform sample applications (optional)
[Type text]