Title :
Bitwidth cognizant architecture synthesis of custom hardware accelerators
Author :
Mahlke, Scott ; Ravindran, Rajiv ; Schlansker, Michael ; Schreiber, Robert ; Sherwood, Timothy
Author_Institution :
Hewlett-Packard Labs., Palo Alto, CA, USA
fDate :
11/1/2001 12:00:00 AM
Abstract :
Program-in chip-out (PICO) is a system for automatically synthesizing embedded hardware accelerators from loop nests specified in the C programming language. A key issue confronted when designing such accelerators is the optimization of hardware by exploiting information that is known about the varying number of bits required to represent and process operands. In this paper, we describe the handling and exploitation of integer bitwidth in PICO. A bitwidth analysis procedure is used to determine bitwidth requirements for all integer variables and operations in a C application. Given known bitwidths for all variables, complex problems arise when determining a program schedule that specifies on which function unit (FU) and at what time each operation executes. If operations are assigned to FUs with no knowledge of bitwidth, bitwidth-related cost benefit is lost when each unit is built to accommodate the widest operation assigned. By carefully placing operations of similar width on the same unit, hardware costs are decreased. This problem is addressed using a preliminary clustering of operations that is based jointly on width and implementation cost. These clusters are then honored during resource allocation and operation scheduling to create an efficient width-conscious design. Experimental results show that exploiting integer bitwidth substantially reduces the gate count of PICO-synthesized hardware accelerators across a range of applications
Keywords :
application specific integrated circuits; circuit CAD; coprocessors; embedded systems; high level synthesis; processor scheduling; resource allocation; C programming language; PICO system; PICO-synthesized hardware accelerators; application-specific design; bitwidth analysis procedure; bitwidth cognizant architecture synthesis; bitwidth-related cost benefit; custom hardware accelerators; embedded hardware accelerators; embedded system; integer bitwidth; loop nests; operation scheduling; optimization; preliminary clustering of operations; program schedule; program-in chip-out system; resource allocation; Acceleration; Computer languages; Computer science; Control system synthesis; Costs; Energy consumption; Hardware; Laboratories; Logic arrays; Resource management;
Journal_Title :
Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on