UltraDevelop 2 is a complete Eclipse-based integrated development environment (IDE) that combines comprehensive heterogeneous multi-core debug, run control, and performance tuning with advanced visualization and data science capabilities. Incorporating technology from UltraSoC partners Imperas and Percepio, UltraDevelop 2 provides actionable insights to cut development costs, shorten time-to-revenue and improve product quality.
It delivers a holistic, system-level approach to SoC development and debug, allowing engineers to view and analyze the interlinked behavior of hardware, firmware and software at any level of abstraction
UltraDevelop 2 provides an integrated view that encompasses single step and breakpoint code execution status for multiple processors; instruction trace; and real-time, protocol aware monitoring of hardware structures within the SoC. Engineers can simultaneously view the behavior of hardware structures such as memory controllers and interconnects / NoCs, and the execution of software, all across a number of different cores, even with different architectures.
It is available in two versions: UltraDevelop 2 is ideal for simpler systems and provides a simple, intuitive way of capturing, processing and viewing data acquired via the UltraSoC embedded analytics infrastructure; UltraDevelop Pro includes full multicore debug, visualization and data science facilities.
UltraDevelop 2 includes a library of debug adapters (based on OpenOCD) to enable real-time run control of more than 20 processor core architectures from multiple vendors, including Arm, MIPS and RISC-V (as implemented by Andes, Esperanto and SiFive), amongst others.
For simpler systems, the tools are provided with the open source gdb debugger.
For more complex multicore systems, MPD (from Imperas) allows UltraDevelop 2 users to simultaneously debug multiple application processors, including single core, multi-core and multi-threaded variants. Peripherals can be debugged at the same time as the application, letting the developer see the peripherals operating in the context of the platform and the application code, and further extending the hardware/software co-development capabilities of UltraDevelop 2.
The inclusion of Percepio’s Tracealyzer within UltraDevelop 2 brings powerful data analytics and visualization capabilities to the UltraDevelop suite, marrying the worlds of hardware and software development. The Tracealyzer tool ‘understands’ the meaning of high-level events within software or an RTOS, connecting related events and views, and complementing the information gathered via UltraSoC’s hardware monitors with a highly intuitive, visual perspective on system level operation. This integrates a very fast and compact database, allowing trace files of terabytes to be efficiently displayed, filtered or analyzed.
Data science extensions
UltraDevelop 2 is supplied with a suite of modules that facilitate detailed big data analysis of on-chip behavior, including anomaly detection, heat mapping and root cause analysis. These include example applications and configurations for functional safety (for example the stringent verification and validation mandated by ISO26262 and other standards); cybersecurity (detecting vulnerabilities or unwanted interactions); and performance optimization (for example identifying inefficiencies in multi-threading software stacks, and hard-to-find states that lead to “long-tail” bugs in high-performance computing environments).
UltraDevelop 2 users can extend these capabilities, customize the framework and configure test systems via a range of scripted (Python) modules that give direct access to the data provided by UltraSoC on-chip monitors. These also provide configuration options and higher-level functionality such as terminal services.