A high-level synthesis flow for custom instruction set extensions for application-specific processors

Custom instruction set extensions (ISEs) are added to an extensible base processor to provide application-specific functionality at a low cost. As only one ISE executes at a time, resources can be shared. This paper presents a new high-level synthesis flow targeting ISEs. We emphasize a new technique for resource allocation, binding, and port assignment during synthesis. Our method is derived from prior work on datapath merging, and increases area reduction by accounting for the cost of multiplexors that must be inserted into the resulting datapath to achieve multi-operational functionality.

[1]  Cid C. de Souza,et al.  The datapath merging problem in reconfigurable systems: Complexity, dual bounds and heuristic evaluation , 2005, JEAL.

[2]  Barry M. Pangrle,et al.  On the complexity of connectivity binding , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[3]  E.H.L. Aarts,et al.  Area optimization of multi-functional processing units , 1992, 1992 IEEE/ACM International Conference on Computer-Aided Design.

[4]  Jason Cong,et al.  Simultaneous FU and Register Binding Based on Network Flow Method , 2008, 2008 Design, Automation and Test in Europe.

[5]  Scott A. Mahlke,et al.  Processor Acceleration Through Automated Instruction Set Customization , 2003, MICRO.

[6]  Anshul Kumar,et al.  Exhaustive Enumeration of Legal Custom Instructions for Extensible Processors , 2008, 21st International Conference on VLSI Design (VLSID 2008).

[7]  Sampo Niskanen,et al.  Cliquer user's guide, version 1.0 , 2003 .

[8]  Paolo Ienne,et al.  Rethinking custom ISE identification: a new processor-agnostic method , 2007, CASES '07.

[9]  Werner Geurts Accelerator Data-Path Synthesis for High-Throughput Signal Processing Applications , 1996 .

[10]  Majid Sarrafzadeh,et al.  Area-efficient instruction set synthesis for reconfigurable system-on-chip designs , 2004, Proceedings. 41st Design Automation Conference, 2004..

[11]  Paolo Ienne,et al.  Exploiting pipelining to relax register-file port constraints of instruction-set extensions , 2005, CASES '05.

[12]  Paolo Ienne,et al.  Exact and approximate algorithms for the extension of embedded processor instruction sets , 2006, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[13]  Yu-Chin Hsu,et al.  Data path allocation based on bipartite weighted matching , 1990, 27th ACM/IEEE Design Automation Conference.

[14]  Cid C. de Souza,et al.  Efficient datapath merging for partially reconfigurable architectures , 2005, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[15]  Nigel P. Topham,et al.  Resource Sharing in Custom Instruction Set Extensions , 2008, 2008 Symposium on Application Specific Processors.

[16]  Jason Cong,et al.  Register binding and port assignment for multiplexer optimization , 2004, ASP-DAC 2004: Asia and South Pacific Design Automation Conference 2004 (IEEE Cat. No.04EX753).

[17]  Fadi J. Kurdahi,et al.  REAL: A Program for REgister ALlocation , 1987, 24th ACM/IEEE Design Automation Conference.

[18]  Emile H. L. Aarts,et al.  Area optimization of multi-functional processing units , 1992, ICCAD.

[19]  Horst Bunke,et al.  Weighted minimum common supergraph for cluster representation , 2003, Proceedings 2003 International Conference on Image Processing (Cat. No.03CH37429).