About XploR Studio

XploR Studio is a suite of software tools and related platforms used to create, debug, and optimize complex systems utilzing multiple instruction-set (ISA) domains and interconnected heterogeneous IP(s).

Read on to find out more, or visit our documentation to get started!

Why would I need an IDE ?

XploR Studio has both a command line interface (CLI) and a graphical user interface (GUI) that is currently based on the Eclipse IDE. Developers may want to use the XploR Studio GUI instead of command line for various reasons, including:

  • Complete Coverage: XploR GUI offers wizards and templates for creating C/C++ standalone and embedded projects, and supports managed build, deployment, and debugging of projects in different languages such as assembly, C, and C++, and for various processor cores.

  • Integration: XploR GUI integrates with software toolchains, embedded OS(es), and reference hardware and system designs, all packaged as components and made available from XploR.design.

  • Fast & convenient: Most users don’t want to spend much time looking at documentations (like this site). XploR GUI is an easy and convenient way to explore and experiment with different embedded designs, as well as to prototype and develop code for new platforms based on emerging ISA such as RISC-V.

In many cases, developers may still prefer to use XploR CLI primarily because of their familiarity of with the open source tools included with the XploR CLI tools portforlio (such as the GNU compiler toolchain or debugger). For large and complex designs, XploR CLI also makes it easy for the developers to implement scripting and automation that are more taylored toward their workflow and organization preferences.

How does XploR Studio help?

When working with complex projects, it can be difficult to select the right ISA (Instruction Set Architecture) and implementation for your hardware design, along with compatible software toolchain, runtime environment, and debugging tools for your development needs. Enter XploR Studio!

state "Requirements & Architecture" as Requirements
state "End to end close-loop\ntesting" as End_To_End_Testing
state "ISA & CPU Selection" as CPU_Selection
CPU_Selection: (1) Select different ISA(s) and core\n\timplementations (e.g. RISC-V)\n\tfrom **XploR.design**

state "Evaluation\nValidation & Verification" as ISA_Evaluation
ISA_Evaluation: (3) Evaluate selection on supported\n\texecution platforms.

state "Prototyping" as System_Prototyping
System_Prototyping: (2) Customize software examples to\n\tmodel your design use-cases,\n\tbuild, and run models on platforms.

state "SW & HW Implementation" as Implementation
Implementation : (4) Develop & debug software.\n\tImplement, test, and verify\n\thardward and SoC.

Requirements --> CPU_Selection

state "Execution Platform - shift left or right as needed" as HAPS {
  state Simulator
  state FPGAs
  state Emulators
  state ASICs
}

ISA_Evaluation --> Simulator
ISA_Evaluation --> FPGAs
ISA_Evaluation --> Emulators
ISA_Evaluation --> ASICs
ISA_Evaluation -u-> CPU_Selection : (3.1) select\nalternative

CPU_Selection -up-> End_To_End_Testing
System_Prototyping -up-> End_To_End_Testing
Implementation -up-> End_To_End_Testing

CPU_Selection -> System_Prototyping : evaluate\nprototype
System_Prototyping --> ISA_Evaluation : (3.0) deploy


System_Prototyping -> Implementation : golden\nmodel(s)
Implementation --> ISA_Evaluation : (4.0) deploy

XploR family of products and cloud services can help you with:

QualificationChoose microprocessor core(s) and associated IP(s) from compatible implementations of different instruction set architectures (e.g. ARM, RISC-V, ...) for your design from XploR.design components (1).
PrototypingUtilize and customize software examples from XploR.design to build and prototype planned features for your design. Alternatively, build your own with available components and software runtime environment to determine the degree of software readiness of the chosen core(s) and IP(s) for your solution (2).
ExplorationDeploy, test, and verify the functionalities of your prototype on various execution platforms (3.0). If necessary, select another platform component and re-evaluate (3.1).
Shift left developmentAccelerate software design with built-in debug and code managing capabilities of XploR Studio (4). Deploy (4.0) and migrate execution environment from simulation to FPGA(s) and emulators to align with the maturity of the hardware and SoC implementation.
VerificationUtilize cloud FPGA(s) or emulators for verification to ensure that your implementation of your processor core IP meets functional and performance expectations of the gold model(s) from step (2).

Design exploration

XploR makes it easy to utilize different processor cores and related IP(s) for your prototyping on FPGA(s) or hardware execution platforms. The ability to characterize various ingredients, be it the processor instruction set architecture (e.g. ARM ISA versus RISC-V ISA), or implementations (e.g. one RISC-V core versus another), XploR gives the designer a suitable environment to evaluate the performance and compatibility of said ingredients.

Built-in integration with common tools

XploR is fully integrated with many different common embedded hardware and software tools and ingredients, including:

  • GNU: compiler, linker, and command line debugger
  • LLVM: compiler and debugger
  • FPGAs: from AMD and Intel
  • EDA HAPS: hardware-assisted execution and prototyping systems from EDA vendors
  • Debugging: with JTAG, and virtual JTAG
  • Runtime: baremetal, Amazon FreeRTOS, Zephyr OS, and embedded Linux

Customize your own

You can customize your own design based on components from XploR Design and continue to leverage the power of XploR Studio for your own software development as well as for downstream users and customers of your products.