SpaceStudio is a development environment that eases the design flow of application for MPSoC+FPGA. From C/C++ and OpenMP, SpaceStudio provides system-level optimization and automates the full system generation to be executed on a physical board.
SpaceStudio is a C/C++ framework for writing or refactoring legacy applications to speed-up performance using CPU+FPGA without knowing the underlying hardware infrastructure of these technologies. The development of the applications is intuitively partitioned to target heterogeneous computing platforms (e.g., CPU, FPGA). Designers explore, analyze, profile, and validate designs using the SpaceStudio solution.
SpaceStudio lets designers explore the heterogeneous FPGA architectures of different vendors (e.g., Xilinx and Intel Altera), targeting system-on-board (i.e., processor and FPGA on board) and system-on-chip (i.e., processor and FPGA on a chip). Applications designed with SpaceStudio can generate code down to the implementation of either Xilinx Vivado® or Intel® Quartus® Prime.
SpaceStudio offers an extensive, non-intrusive monitoring infrastructure that provides qualitative insights about the embedded system. Code-level directives can be added to collect application-specific information. Gathered information is stored in an SQL database, where designers can perform queries to retrieve data and guide the design exploration process toward achieving their performance goal. Designers rely on the SpaceStudio solution to obtain information during simulation, facilitating early key decisions and shortening the development process.
SpaceStudio’s automatic code generation process generates quality code for virtual platforms, communication interfaces, drivers, and bootloaders and supports migration to downstream implementation tools. Designers can explore more designs than with the traditional approach since SpaceStudio handles error-prone manipulations while keeping control over key decisions. With SpaceStudio, designers can focus on their application rather than on cumbersome architectural details to generate quality code, already optimized based on their specifications.