Constraint Programming Approach to Reconfigurable Processor Extension Generation and Application Compilation

  • Authors:
  • Kevin Martin;Christophe Wolinski;Krzysztof Kuchcinski;Antoine Floch;François Charot

  • Affiliations:
  • INRIA, Rennes-Bretagne Atlantique;IRISA, University of Rennes I;Lund University;INRIA, Rennes-Bretagne Atlantique;INRIA, Rennes-Bretagne Atlantique

  • Venue:
  • ACM Transactions on Reconfigurable Technology and Systems (TRETS)
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this article, we present a constraint programming approach for solving hard design problems present when automatically designing specialized processor extensions. Specifically, we discuss our approach for automatic selection and synthesis of processor extensions as well as efficient application compilation for these newly generated extensions. The discussed approach is implemented in our integrated design framework, IFPEC, built using Constraint Programming (CP). In our framework, custom instructions, implemented as processor extensions, are defined as computational patterns and represented as graphs. This, along with the graph representation of an application, provides a way to use our CP framework equipped with subgraph isomorphism and connected component constraints for identification of processor extensions as well as their selection, application scheduling, binding, and routing. All design steps assume architectures composed of runtime reconfigurable cells, implementing selected extensions, tightly connected to a processor. An advantage of our approach is the possibility of combining different heterogeneous constraints to represent and solve all our design problems. Moreover, the flexibility and expressiveness of the CP framework makes it possible to solve simultaneously extension selection, application scheduling, and binding and improve the quality of the generated results. The article is largely illustrated with experimental results.