DocumentCode
1544176
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
Volume
20
Issue
11
fYear
2001
fDate
11/1/2001 12:00:00 AM
Firstpage
1355
Lastpage
1371
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;
fLanguage
English
Journal_Title
Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on
Publisher
ieee
ISSN
0278-0070
Type
jour
DOI
10.1109/43.959864
Filename
959864
Link To Document