Up
High-Level Synthesis for Fine-Grained Parallel Processing
Abstract
We are researching high-level synthesis technologies 
which synthesizes hardware from behavioral 
descriptions. We proposed optimization techniques for 
the synthesis of multiple constant multiplications and showed 
their effectiveness in terms of fine-grained parallel processing.
High-Level Synthesis
High-level synthesis is a methodology for automatically synthesizing
hardware at the architectural level. First, a behavioral description
is given as input and optimized with compiler techniques. Subsequently,
phases such as scheduling, allocation and binding are applied. 
We have since examined the potential of such a methodology, 
aiming at autonomous reconfigurable architecture. We have analyzed 
the computational complexity of an optimization problem  
that emerges for the synthesis of multiple constant multiplications 
in the bit level, and also proposed efficient algorithms for 
solving the optimization problem.
The Multiple Constant Multiplication Problem
A constant multiplication is the multiplication of a variable with
a single constant. The Multiple Constant Multiplication (MCM) problem is a cost 
minization problem in which cost is defined as the number of 
additions/subtractions and shifts to execute 
constant multiplications. Such computations appear in applications 
such as signal and image processing, numerical computation and coding theory.
We defined the Addition-Shift-Sequence (ASS) problem,
which is a decision problem associated with the MCM problem, 
and proved that ASS is NP-complete[1]. The 
transformation is executed from the Vertex Cover (VC) problem to 
ASS(Fig. 1).
We then developed a method that exploits common subexpressions 
latent among constants in the bit level(Fig. 2)[2]. 
This method is extended to deal with matrix products[3].
Fig. 1: Transformation from VC to ASS
    
Fig. 2: Subexpression Sharing in MCM
References
- [1]
 - Matsuura, A. and Nagoya, A.:
Formulation of the Addition-Shift-Sequence Problem and Its Complexity,
Proc. of the 8th International Symposium on Algorithms and
Computation (ISAAC '97), pp. 42-51 (1997).
 - [2]
 - Matsuura, A., Yukishita, M. and Nagoya, A.: 
A Hierarchical Clustering Method for the Multiple Constant
Multiplication Problem,
IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences, Vol. E80-A, No. 10, pp. 1767-1773 (1997).
 - [3]
 - Matsuura, A. and Nagoya, A.: 
Bit and Word-Level Common Subexpression Elimination for the Synthesis 
of Linear Computations,
IEICE Transactions on Fundamentals of Electronics, Communicat
ions
and Computer Sciences , Vol. E81-A, No. 3, pp. 455-461 (1998).
 
Contact: Akihiro Matsuura;
Email: matsuura@cslab.kecl.ntt.co.jp