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.
- Atasu, K., Pozzi, L., and Ienne, P. 2003. Automatic application-specific instruction-set extensions under microarchitectural constraints. In Proceedings of the 40th Design Automation Conference (DAC’03). ACM Press, New York, 256--261. Google Scholar
Digital Library
- Atasu, K., Dündar, G., and Özturan, C. 2005. An integer linear programming approach for identifying instruction-set extensions. In Proceedings of the 3rd IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS’05). 172--177. Google Scholar
Digital Library
- Atasu, K., Mencer, O., Luk, W., Ozturan, C., and Dundar, G. 2008. Fast custom instruction identification by convex subgraph enumeration. In Proceedings of the International Conference on Application-Specific Systems, Architectures and Processors (ASAP’08). 1--6. Google Scholar
Digital Library
- Bonzini, P. and Pozzi, L. 2008a. On the complexity of enumeration and scheduling for extensible embedded processors. Tech. rep. 2008/07, University of Lugano.Google Scholar
- Bonzini, P. and Pozzi, L. 2008b. Recurrence-Aware instruction set selection for extensible embedded processors. IEEE Trans. VLSI Syst. 16, 10, 1259--1267. Google Scholar
Digital Library
- Chen, D. and Cong, J. 2004. Register binding and port assignment for multiplexer optimization. In Proceedings of the Asia and South Pacific Design Automation Conference (ASP-DAC’04). IEEE Press, 68--73. Google Scholar
Digital Library
- Clark, N., Zhong, H., and Mahlke, S. 2005. Automated custom instruction generation for domain-specific processor acceleration. Trans. Comput. 54, 10, 1258--1270. Google Scholar
Digital Library
- Cong, J., Fan, Y., Han, G., and Zhang, Z. 2004. Application-Specific instruction generation for configurable processor architectures. In Proceedings of the ACM/SIGDA 12th International Symposium on Field Programmable Gate Arrays (FPGA’04). 183--189. Google Scholar
Digital Library
- Cong, J., Fan, Y., and Xu, J. 2009. Simultaneous resource binding and interconnection optimization based on a distributed register-file microarchitecture. ACM Trans. Des. Autom. Electron. Syst. 14, 3, 1--31. Google Scholar
Digital Library
- Cordella, L. P., Foggia, P., Sansone, C., and Vento, M. 2004. A (sub)graph isomorphism algorithm for matching large graphs. IEEE Trans. Pattern Anal. Mach. Intell. 26, 10, 1367--1372. Google Scholar
Digital Library
- Dechter, R. 2003. Constraint Processing. Morgan Kaufmann. Google Scholar
Digital Library
- Dinh, Q., Chen, D., and Wong, M. D. F. 2008. Efficient asip design for configurable processors with fine-grained resource sharing. In Proceedings of the 16th International ACM/SIGDA Symposium on Field Programmable Gate Arrays (FPGA’08). 99--106. Google Scholar
Digital Library
- Floch, A., Wolinski, C., and Kuchcinski, K. 2010. Combined scheduling and instruction selection for processors with reconfigurable cell fabric. In Proceedings of the 21st IEEE International Conference on Application-Specific Systems, Architectures and Processors (ASAP’10). 167--174.Google Scholar
- Galuzzi, C. and Bertels, K. 2011. The instruction-set extension problem: A survey. ACM Trans. Reconfig. Technol. Syst. 4, 18:1--18:28. Google Scholar
Digital Library
- Galuzzi, C., Bertels, K., and Vassiliadis, S. 2007. The spiral search: A linear complexity algorithm for the generation of convex mimo instruction-set extensions. In Proceedings of the International Conference on Field Programmable Technology (ICFPT’07). 337--340.Google Scholar
- Galuzzi, C., Panainte, E. M., Yankova, Y., Bertels, K., and Vassiliadis, S. 2006. Automatic selection of application-specific instruction-set extensions. In Proceedings of the 4th International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS’06). 160--165. Google Scholar
Digital Library
- Guo, Y., Smit, G. J., Broersma, H., and Heysters, P. M. 2003. A graph covering algorithm for a coarse grain reconfigurable system. In Proceedings of the ACM SIGPLAN Conference on Language, Compiler, and Tools for Embedded Systems (LCTES’03). 199--208. Google Scholar
Digital Library
- Gutin, G., Johnstone, A., Reddington, J., Scott, E., and Yeo, A. 2008. An algorithm for finding input-output constrained convex sets in an acyclic digraph. In Proceedings of the WG Conference. 206--217.Google Scholar
- Hashimoto, A. and Stevens, J. 1988. Wire routing by optimizing channel assignment within large aperatures. In 25 Years of DAC: Papers on 25 Years of Electronic Design Automation. ACM Press, New York, 35--49. Google Scholar
Digital Library
- Huang, C.-Y., Chen, Y.-S., Lin, Y.-L., and Hsu, Y.-C. 1990. Data path allocation based on bipartite weighted matching. In Proceedings of the 27th ACM/IEEE Design Automation Conference (DAC’90). 499--504. Google Scholar
Digital Library
- Kim, T. and Liu, X. 2010. A functional unit and register binding algorithm for interconnect reduction. IEEE Trans. Comput.-Aided Des. Integr. Circ. Syst. 29, 4, 641--646. Google Scholar
Digital Library
- Kountouris, A. and Wolinski, C. 2002. Efficient scheduling of conditional behaviors for high level synthesis. ACM Trans. Des. Autom. Electron. Syst. 7, 3, 380--412. Google Scholar
Digital Library
- Kuchcinski, K. and Szymanek, R. 2009. JaCoP library user’s guide. http://www.jacop.eu.Google Scholar
- Kuchcinski, K. and Wolinski, C. 2003. Global approach to assignment and scheduling of complex behaviors based on HCDG and constraint programming. J. Syst. Archit. 49, 12--15, 489--503. Google Scholar
Digital Library
- Larrosa, J. and Valiente, G. 2002. Constraint satisfaction algorithms for graph pattern matching. Math. Struct. Comput. Sci. 12, 403--422. Google Scholar
Digital Library
- Leupers, R., Karuri, K., Kraemer, S., and Pandey, M. 2006. A design flow for configurable embedded processors based on optimized instruction set extension synthesis. In Proceedings of the Conference on Design, Automation and Test in Europe (DATE’06). 581--586. Google Scholar
Digital Library
- Lu, Y.-S., Shen, L., Huang, L.-B., Wang, Z.-Y., and Xiao, N. 2009. Optimal subgraph covering for customizable vliw processors. IET Comput. Digit. Techn. 3, 1, 14--23.Google Scholar
Cross Ref
- Martin, K., Wolinski, C., Kuchcinski, K., Floch, A., and Charot, F. 2009a. Constraint-Driven identification of application specific instructions in the DURASE system. In Proceedings of the International Workshop on Systems, Architectures, Modeling and Simulation (SAMOS IX). Google Scholar
Digital Library
- Martin, K., Wolinski, C., Kuchcinski, K., Floch, A., and Charot, F. 2009b. Constraint-Driven instructions selection and application scheduling in the DURASE system. In Proceedings of the 20th IEEE International Conference on Application-Specific Systems, Architectures and Processors (ASAP’09). Google Scholar
Digital Library
- McKay, B. D. 2004. The nauty page. http://cs.anu.edu.au/~bdm/nauty/.Google Scholar
- Papadimitriou, C. H. and Steiglitz, K. 1982. Combinatorial Optimization: Algorithms and Complexity. Prentice-Hall, Upper Saddle River, NJ. Google Scholar
Digital Library
- Pothineni, N., Brisk, P., Ienne, P., Kumar, A., and Paul, K. 2010. A high-level synthesis flow for custom instruction set extensions for application-specific processors. In Proceedings of the Asia and South Pacific Design Automation Conference (ASP-DAC’10). 707--712. Google Scholar
Digital Library
- Pozzi, L., Atasu, K., and Ienne, P. 2006. Exact and approximate algorithms for the extension of embedded processor instruction sets. IEEE Trans. Comput.-Aided Des. Integr. Circ. Syst. 25, 7, 1209--1229. Google Scholar
Digital Library
- Pozzi, L. and Ienne, P. 2005. Exploiting pipelining to relax register file port constraints of instruction-set extensions. In Proceedings of the International Conference on Compilers, Architectures and Synthesis for Embedded Systems (CASES’05). ACM Press, New York, 2--10. Google Scholar
Digital Library
- Raffin, E., Wolinski, C., Charot, F., Kuchcinski, K., Guyetant, S., Chevobbe, S., and Casseau, E. 2009. Architecture-Driven synthesis of reconfigurable cells. In Proceedings of the Euromicro Conference on Digital System Design (DSD’09). Google Scholar
Digital Library
- Raffin, E., Wolinski, C., Charot, F., Kuchcinski, K., Guyetant, S., Chevobbe, S., and Casseau, E. 2010. Scheduling, binding and routing system for a run-time reconfigurable operator based multimedia architecture. In Proceedings of the Conference on Design and Architectures for Signal and Image Processing (DASIP’10).Google Scholar
- Reddington, J., Gutin, G., Johnstone, A., Scott, E., and Yeo, A. 2009. Better than optimal: Fast identification of custom instruction candidates. In Proceedings of the International Conference on Comutational Science and Engineering (CSE’00). Vol. 2. 17--24. Google Scholar
Digital Library
- Régin, J.-C. 2003. Solving the maximum clique problem with constraint programming. In Proceedings of the International Conference on Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems (CPAIOR’03).Google Scholar
- Rossi, F., van Beek, P., and Walsh, T., Eds. 2006. Handbook of Constraint Programming. Elsevier Science Publishers, Amsterdam, The Netherlands. Google Scholar
Digital Library
- Seto, K. and Fujita, M. 2010. Custom integration generation for configurable processors with limited numbers of operands. IPSJ Trans. Syst. LSI Des. Method. 3, 57--68.Google Scholar
Cross Ref
- SoCLib. 2012. Open platform for virtual prototyping of multi-processors system on chip (MP-SoC). http://www.soclib.fr.Google Scholar
- Sorlin, S. and Solnon, C. 2004. A global constraint for graph isomorphism problems. In Proceedings of the 1st International Conference on Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems (CPAIOR’04).Google Scholar
- Ullmann, J. R. 1976. An algorithm for subgraph isomorphism. J. ACM 23, 1, 31--42. Google Scholar
Digital Library
- Verma, A. K., Brisk, P., and Ienne, P. 2010. Fast, nearly optimal ise identification with I/O serialization through maximal clique enumeration. IEEE Trans. Comput.-Aided Des. Integr. Circ. Syst. 29, 3, 341--354. Google Scholar
Digital Library
- Wolinski, C. and Kuchcinski, K. 2007. Identification of application specific instructions based on subgraph isomorphism constraints. In Proceedings of the IEEE 18th International Conference on Application-Specific Systems, Architectures and Processors.Google Scholar
- Wolinski, C. and Kuchcinski, K. 2008. Automatic selection of application-specific reconfigurable processor extensions. In Proceedings of the Conference on Design Automation and Test in Europe (DATE’08). Google Scholar
Digital Library
- Wolinski, C., Kuchcinski, K., and Raffin, E. 2009. Automatic design of application-specific reconfigurable processor extensions with UPaK synthesis kernel. ACM Trans. Des. Autom. Electron. Syst. 15, 1, 1--36. Google Scholar
Digital Library
Index Terms
Constraint Programming Approach to Reconfigurable Processor Extension Generation and Application Compilation
Recommendations
Constraints-driven scheduling and resource assignment
This paper describes a new method for modeling and solving different scheduling and resource assignment problems that are common in high-level synthesis (HLS) and system-level synthesis. It addresses assignment of resources for operations and tasks as ...
Automatic design of application-specific reconfigurable processor extensions with UPaK synthesis kernel
This article presents a new tool for automatic design of application-specific reconfigurable processor extensions based on UPaK (Abstract Unified Patterns Based Synthesis Kernel for Hardware and Software Systems). We introduce a complete design flow ...
Constraint-Driven Instructions Selection and Application Scheduling in the DURASE system
ASAP '09: Proceedings of the 2009 20th IEEE International Conference on Application-specific Systems, Architectures and ProcessorsThis paper presents a new constraint-driven method for computational pattern selection, mapping and application scheduling using reconfigurable processor extensions. The presented method is a part of DURASE system (Generic Environment for Design and ...






Comments