The Software Development Kit (SDK) is the Xilinx Integrated Design Environment for creating embedded applications on any of Xilinx' award winning microprocessors for Zynq®-7000 All Programmable SoCs, and the industry-leading MicroBlaze™. The SDK is the first application IDE to deliver true homogenous and heterogeneous multi-processor design and debug.
The Xilinx System Debugger in the SDK is an integrated debugger supporting Zynq-7000 AP SoC and MicroBlaze processors. It supports all the common debug features such as setting breakpoints or watchpoints, stepping through program execution, viewing the program variables and stack, and viewing the contents of the memory in the system. It can also simultaneously debug programs running on different processors (in a multi-processor system), all from within the same debug environment. For example, in a Zynq-based design, System Debugger could display both ARM CPUs and multiple MicroBlaze soft-processors in the same debug session, through a single JTAG cable; for an unprecedented level of insight between the hardened processing system, and any additional processing elements that you've added to the programmable logic.
Additionally, the System Debugger supports critical hardware/software trigger and debug. The software programmer can specify the application code breakpoints that will initiate a cross-trigger into the programmable logic and Vivado will then capture and display hardware trace data when those conditions are hit.
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 begin with a minimal learning curve.
SDK includes user-customizable drivers for all supported Xilinx hardware IPs, POSIX compliant kernel library and networking and file handling libraries. These libraries and drivers can scale for the custom-design based on feature needs, memory requirements and hardware capabilities.
Xilinx SDK includes profiling tools that help to identify bottle necks in your code that might occur due to the interaction of functions that are executed within the programmable logic, and functions executed on the processor. SDK now 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 SDK) allows you to model, measure, analyze and optimize your system. In the new performance perspective you can visualize.
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.