High level area estimation of custom instructions for FPGA-based reconfigurable processors

Reconfigurable processors provide an attractive means to meet the constraints of embedded devices due to their instruction set extension capabilities. We propose a novel technique to estimate the area utilization of LUT (Look-Up Table) based FPGAs (Field Programmable Gate Arrays) for custom instruction realizations. The technique contributes to rapid design exploration by computing the hardware area utilization of custom instructions without actual hardware synthesis. The proposed area estimation technique is achieved in two stages. In the first stage, a set of partitions are obtained from the custom instruction data-paths based on some rule-sets that satisfy the FPGA constraints. Each partition represents a unique LUT configuration that can be implemented on a FPGA logic element. In the second stage, the partitions are combined to maximize the area efficiency on FPGA. We show that the proposed technique can overcome the limitation of existing datapath merging methods that are based on maximizing resource sharing. Experimental results show that an average of 12 unique LUT configurations (about 22% of the logic elements in the smallest Xilinx Virtex FPGA) can sufficiently cater to seven applications from the MiBench benchmark suite.

[1]  Scott A. Mahlke,et al.  An architecture framework for transparent instruction set customization in embedded processors , 2005, 32nd International Symposium on Computer Architecture (ISCA'05).

[2]  P. A. Subrahmanyam,et al.  Guest Editors' Introduction: Advances in Configurable Computing , 2005, IEEE Des. Test Comput..

[3]  Wayne Luk,et al.  Reconfigurable computing: architectures and design methods , 2005 .

[4]  Scott A. Mahlke,et al.  Trimaran: An Infrastructure for Research in Instruction-Level Parallelism , 2004, LCPC.

[5]  Srivaths Ravi,et al.  Custom-instruction synthesis for extensible-processor platforms , 2004, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[6]  Paolo Ienne,et al.  Automatic application-specific instruction-set extensions under microarchitectural constraints , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[7]  Jan Hoogerbrugge,et al.  ConCISe: a compiler-driven CPLD-based instruction set accelerator , 1999, Seventh Annual IEEE Symposium on Field-Programmable Custom Computing Machines (Cat. No.PR00375).

[8]  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.

[9]  Trevor Mudge,et al.  MiBench: A free, commercially representative embedded benchmark suite , 2001 .

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

[11]  Thambipillai Srikanthan,et al.  Efficient management of custom instructions for run-time reconfigurable instruction set processors , 2006, 2006 IEEE International Conference on Field Programmable Technology.

[12]  Scott A. Mahlke,et al.  Exploring the design space of LUT-based transparent accelerators , 2005, CASES '05.