• 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