In terms of its development environments, this – the SDSoC Development Environment for All Programmable SoCs and MPSoCs – is the third “targeted” member of the company’s SDx family of development environments, the previous two being centred on software-defined networks and on implementing acceleration.
In the hardware dimension, Xilinx recently extended the Zynq family of devices from “SoC” to an uprated “MPSoC” generation, adding multi-core ARM processors on-chip, among other increments. (See story here.)
With this development environment introduction, Xilinx says it has provided the assistance to designers that they need to fully exploit the SoC devices. Within it, you can take a “whole system” approach, in which the tools will assist with partitioning your design effectively, profiling the task, identifying bottlenecks, creating accelerated function blocks and migrating them to the programmable fabric so that the tasks most appropriate to software run on the embedded cores, and that best handled in programmable logic, is located there. Also included is a new measure of automation of interconnecting those functional blocks once you have determined their optimum partitioning. Automation extends to “instrumenting” the code in the system to carry out profiling, and to verify performance once development has progressed.
Xilinx notes, however, that the automation has been kept controlled; recognising that most complex designs will involved significant re-use, the user can decide what to keep unchanged from prior work. The SDSoC development environment enables, Xilinx says, the “broader community” of embedded software developers to leverage the power of hardware and software ‘all programmable’ devices. The SDSoC environment provides a simplified ASSP-like programming experience including an Eclipse integrated design environment (IDE) and a comprehensive development platform for heterogeneous Zynq All Programmable SoCs and MPSoCs. With the sector’s first C/C++ full-system optimising compiler, SDSoC delivers system level profiling, automated SW acceleration in programmable logic, automated system connectivity generation, and libraries to speed programming. It also enables end user and 3rd party platform developers