Constraint-Driven Identification of Application Specific Instructions in the DURASE System

  • Kevin Martin
  • Christophe Wolinski
  • Krzysztof Kuchcinski
  • Antoine Floch
  • François Charot
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5657)


This paper presents a new constraint-driven method for fast identification of computational patterns that is a part of DURASE system (Generic Environment for Design and Utilization of Reconfigurable Application-Specific Processors Extensions). The patterns identified by our system form a base for application specific instruction selection and processor extension generation. Our method identifies all computational patterns directly from an application graph satisfying all architectural and technological constraints imposed by target processors and FPGA devices. The considered constraints include a number of inputs and outputs, a number of operators, and a delay of the pattern critical path. Therefore the identified patterns can be well tailored to target processors. Our approach uses heavily constraint programming methods, which makes it possible to mix graph isomorphism constraints with other constraints in one formal environment. We have extensively evaluated our algorithm on MediaBench and MiBench benchmarks with tough architectural and technological constraints. The obtained patterns have good coverage of application graphs while limiting number of operators and fulfill architectural and technological constraints.


Constraint Programming Pattern Graph Technological Constraint Application Graph Graph Coverage 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Wolinski, C., Kuchcinski, K., Raffin, E.: Architecture-driven synthesis of reconfigurable cells (March 2009) (submitted for publication)Google Scholar
  2. 2.
    GeCoS: Generic compiler suite,
  3. 3.
    Kountouris, A.A., Wolinski, C.: Efficient scheduling of conditional behaviors for high-level synthesis. ACM Trans. Des. Autom. Electron. Syst. 7(3), 380–412 (2002)CrossRefGoogle Scholar
  4. 4.
    Kuchcinski, K., Wolinski, C.: Global approach to assignment and scheduling of complex behaviors based on HCDG and constraint programming. Journal of Systems Architecture 49(12-15), 489–503 (2003)CrossRefGoogle Scholar
  5. 5.
    Feautrier, P.: Dataflow analysis of array and scalar references. International Journal of Parallel Programming 20 (1991)Google Scholar
  6. 6.
    Wolinski, C., Kuchcinski, K.: Automatic selection of application-specific reconfigurable processor extensions. In: Proc. Design Automation and Test in Europe, Munich, Germany, March 10-14 (2008)Google Scholar
  7. 7.
    Kastner, R., Kaplan, A., Memik, S.O., Bozorgzadeh, E.: Instruction generation for hybrid reconfigurable systems. ACM Trans. Des. Autom. Electron. Syst. 7(4) (2002)Google Scholar
  8. 8.
    Arnold, M., Corporaal, H.: Designing domain specific processors. In: Proceedings of the 9th International Workshop on Hardware/Software CoDesign, Copenhagen, April 2001, pp. 61–66 (2001)Google Scholar
  9. 9.
    Clark, N., Zong, H., Mahlke, S.: Processor acceleration through automated instruction set customization. In: 36th Annual International Symposium on Microarchitecture (2003)Google Scholar
  10. 10.
    Atasu, K., Pozzi, L., Ienne, P.: Automatic application-specific instructionset extensions under microarchitectural constraints. In: 40th Design Automation Conference (DAC) (2003)Google Scholar
  11. 11.
    Biswas, P., Banerjee, S., Dutt, N., Pozzi, L., Ienne, P.: ISEGEN: Generation of high-quality instruction set extensions by iterative improvement. In: 42nd Design Automation Conference (DAC) (2005)Google Scholar
  12. 12.
    Peymandoust, A., Pozzi, L., Ienne, P., De Micheli, G.: Automatic instruction set extension and utilization for embedded processors. In: ASAP (2003)Google Scholar
  13. 13.
    Guo, Y.: Mapping applications to a coarse-grained reconfigurable architecture. PhD Thesis, University of Twent, Eindhoven, Netherlad (September 8, 2006)Google Scholar
  14. 14.
    Leupers, R., Karuri, K., Kraemer, S., Pandey, M.: A design flow for configurable embedded processors based on optimized instruction set extension synthesis. In: DATE (2006)Google Scholar
  15. 15.
    Guo, Y., Smit, G., Broersma, H., Heysters, P.: A graph covering algorithm for a coarse grain reconfigurable system. In: Languages, Compilers, and Tools for Embedded Systems (LCTES 2003), San Diego, California, June 11-13 (2003)Google Scholar
  16. 16.
    Wolinski, C., Kuchcinski, K.: Identification of application specific instructions based on sub-graph isomorphism constraints. In: IEEE 18th Intl. Conference on Application-specific Systems, Architectures and Processors, Montréal, Canada, July 8-11 (2007)Google Scholar
  17. 17.
    Kuchcinski, K.: Constraints-driven scheduling and resource assignment. ACM Transactions on Design Automation of Electronic Systems (TODAES) 8(3), 355–383 (2003)CrossRefGoogle Scholar

Copyright information

© IFIP International Federation for Information Processing 2009

Authors and Affiliations

  • Kevin Martin
    • 1
  • Christophe Wolinski
    • 1
    • 2
  • Krzysztof Kuchcinski
    • 3
  • Antoine Floch
    • 1
  • François Charot
    • 1
  1. 1.INRIA, Centre Rennes - Bretagne AtlantiqueFrance
  2. 2.University of Rennes IIrisaFrance
  3. 3.Dept. of Computer ScienceLund UniversitySweden

Personalised recommendations