Skip to main content
QUICK REVIEW

[Paper Review] High Level Hardware/Software Embedded System Design with Redsharc

Sam Skalicky, Andrew G. Schmidt|arXiv (Cornell University)|Aug 20, 2014
Embedded Systems Design Techniques21 references3 citations
TL;DR

This paper presents Redsharc, a high-level framework for unified hardware/software co-design in multi-processor systems-on-chip (MPSoCs), enabling seamless integration of software and hardware kernels through a cohesive API, build infrastructure, and runtime environment. It extends prior work by supporting broader application classes across diverse devices, reducing system development overhead and allowing developers to focus on kernel logic while automating compilation, synthesis, and execution orchestration.

ABSTRACT

As tools for designing multiple processor systems-on-chips (MPSoCs) continue to evolve to meet the demands of developers, there exist systematic gaps that must be bridged to provide a more cohesive hardware/software development environment. We present Redsharc to address these problems and enable: system generation, software/hardware compilation and synthesis, run-time control and execution of MPSoCs. The efforts presented in this paper extend our previous work to provide a rich API, build infrastructure, and runtime enabling developers to design a system of simultaneously executing kernels in software or hardware, that communicate seamlessly. In this work we take Redsharc further to support a broader class of applications across a larger number of devices requiring a more unified system development environment and build infrastructure. To accomplish this we leverage existing tools and extend Redsharc with build and control infrastructure to relieve the burden of system development allowing software programmers to focus their efforts on application and kernel development.

Motivation & Objective

  • To bridge systematic gaps in existing MPSoC development tools that hinder seamless hardware/software integration.
  • To address the lack of cohesive environments for designing, compiling, and executing mixed hardware/software kernels in embedded systems.
  • To provide a unified system development environment with automated build and control infrastructure for heterogeneous devices.
  • To enable software developers to focus on application logic rather than low-level system configuration and integration.

Proposed method

  • Leveraging existing EDA and FPGA tools to extend Redsharc with a robust build infrastructure for system generation.
  • Implementing a rich API to abstract low-level hardware details and enable high-level specification of kernels and system components.
  • Integrating compilation and synthesis pipelines that automatically generate hardware and software artifacts from high-level descriptions.
  • Supporting run-time control and execution of simultaneously executing software and hardware kernels via a unified runtime environment.
  • Extending Redsharc's capabilities to support a broader class of applications across multiple device types.
  • Using a modular, extensible architecture to integrate with existing toolchains and reduce dependency on custom tool development.

Experimental results

Research questions

  • RQ1How can a high-level framework streamline the co-design of hardware and software kernels in MPSoCs?
  • RQ2What architectural and infrastructure components are needed to unify system generation, compilation, and runtime execution?
  • RQ3How can existing tools be leveraged to reduce the burden of system-level integration in embedded systems?
  • RQ4To what extent can a unified environment improve developer productivity in heterogeneous embedded system development?
  • RQ5What are the key challenges in enabling seamless communication and execution between software and hardware kernels?

Key findings

  • Redsharc successfully enables the design and execution of mixed hardware/software kernels within a single, unified development environment.
  • The framework reduces system development overhead by automating build, compilation, and synthesis processes.
  • Runtime support allows for seamless execution and coordination of concurrently running software and hardware kernels.
  • The extension of Redsharc supports a broader class of applications across diverse devices, increasing its applicability.
  • The integration of existing tools into the Redsharc stack minimizes the need for custom tool development and accelerates deployment.
  • The approach enables software developers to focus on algorithmic logic rather than low-level system configuration and integration.

Better researchstarts right now

From reading papers to final review, dramatically reduce your research time.

No credit card · Free plan available

This review was created by AI and reviewed by human editors.