[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15]

Journal of Information Science and Engineering, Vol. 34 No. 2, pp. 337-351

An Approach to the Design of Specific Hardware Circuits from C Programs

Department of Electrical Engineering
National Taiwan University
Taipei, 116 Taiwan
E-mail: sdwang@ntu.edu.tw 

This article presents an approach that helps convert a given C program into a hardware implementation for a digital circuit design. Based on and extended from the concept of hierarchical finite-state machines (HFSMs), four built-in HFSM templates, namely Seq, Par, Loop and Atomic, are proposed and used as the elementary components of a hardware design. A guideline on the refinement of a C program is also proposed; the refined C functions are compiled into HFSMs that in turn generate synthesizable hardware description language (HDL) code as the final design. A set of HFSMs is viewed as an intermediate representation between C and HDL and can be functionally simulated. Two modeling levels, i.e. cycle-accurate and cycle-approximated, are supported. A compilation technique based on syntax-directed translations is used to automate the proposed approach. Experimental results on several well-known algorithmic benchmarks show the effectiveness of the proposed approach.

Keywords: finite state machine, intermediate representation, hardware synthesis, hardware description language

  Retrieve PDF document (JISE_201802_02.pdf)