Hardware-software co-design of embedded reconfigurable architectures

  • Authors:
  • Yanbing Li;Tim Callahan;Ervan Darnell;Randolph Harr;Uday Kurkure;Jon Stockwood

  • Affiliations:
  • Synopsys Inc., 700 East Middlefield Rd. Mountain View, CA;Department of EECS, Univ. of California, Berkeley, CA;Silicon Spice, 415 East Middlefield Rd., Mountain View, CA;Synopsys Inc., 700 East Middlefield Rd. Mountain View, CA;Synopsys Inc., 700 East Middlefield Rd. Mountain View, CA;Synopsys Inc., 700 East Middlefield Rd. Mountain View, CA

  • Venue:
  • Proceedings of the 37th Annual Design Automation Conference
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this paper we describe a new hardware/software partitioning approach for embedded reconfigurable architectures consisting of a general-purpose processor (CPU), a dynamically reconfigurable datapath (e.g. an FPGA), and a memory hierarchy. We have developed a framework called Nimble that automatically compiles system-level applications specified in C to executables on the target platform. A key component of this framework is a hardware/software partitioning algorithm that performs fine-grained partitioning (at loop and basic-block levels) of an application to execute on the combined CPU and datapath. The partitioning algorithm optimizes the global application execution time, including the software and hardware execution times, communication time and datapath reconfiguration time. Experimental results on real applications show that our algorithm is effective in rapidly finding close to optimal solutions.