An Enhanced Genetic Algorithm for Solving the High-Level Synthesis Problems of Scheduling, Allocation, and Binding

This paper presents a novel approach to the concurrent solution of three High-Level Synthesis (HLS) problems that are modeled as a Constraint-Satisfaction Problem (CSP) and solved using an Enhanced Genetic Algorithm (EGA). We focus on the core problems of high-level synthesis: Scheduling, Allocation, and Binding. Scheduling consists of assigning of operations in a Data-Flow Graph (DFG) to control steps or clock cycles. Allocation selects specific numbers and types of functional units from a hardware library to perform the operations specified in the DFG. Binding assigns constituent operations of the DFG to specific unit instances. A very general version of this problem is considered where functional units may perform different operations in different numbers of control steps. The EGA is designed to solve CSPs quickly and does not require a user to specify appropriate mutation and crossover rates a priori; these are determined automatically during the course of the genetic search. The enhancements include a directed mutation operator and a new type of elitism that avoids premature convergence. The HLS problems are solved by applying two EGAs in a hierarchical manner. The first performs allocation, while the second performs scheduling and binding and serves as the fitness function for the second. When compared to other, well-known techniques, our results show a reduction in time to obtain optimal solutions for standard benchmarks.

[1]  John H. Holland,et al.  Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence , 1992 .

[2]  M.C. McFarland Using Bottom-Up Design Techniques in the Synthesis of Digital Hardware from Abstract Behavioral Descriptions , 1986, 23rd ACM/IEEE Design Automation Conference.

[3]  Srinivas Devadas,et al.  Algorithms for hardware allocation in data path synthesis , 1989, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[4]  Donald E. Thomas,et al.  The system architect's workbench , 1988, DAC '88.

[5]  Kazutoshi Wakabayashi,et al.  Global scheduling independent of control dependencies based on condition vectors , 1992, [1992] Proceedings 29th ACM/IEEE Design Automation Conference.

[6]  Mohamed I. Elmasry,et al.  Simultaneous scheduling and allocation for cost constrained optimal architectural synthesis , 1991, DAC '91.

[7]  Alice C. Parker,et al.  The high-level synthesis of digital systems , 1990, Proc. IEEE.

[8]  Christos A. Papachristou,et al.  A linear program driven scheduling and allocation method followed by an interconnect optimization algorithm , 1991, DAC '90.

[9]  Howard Trickey,et al.  Flamel: A High-Level Hardware Compiler , 1987, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[10]  Rajiv Jain,et al.  Data path synthesis of pipelined designs: theoretical foundations , 1990 .

[11]  Gilbert Syswerda,et al.  The Application of Genetic Algorithms to Resource Scheduling , 1991, International Conference on Genetic Algorithms.

[12]  Ulrich Lauther,et al.  Global hardware synthesis from behavioral dataflow descriptions , 1991, DAC '90.

[13]  Gary Grewal Enhanced genetic algorithms and their application in retargetable code generation , 1998 .

[14]  Pierre Gaston Paulin High-level synthesis of digital circuits using global scheduling and binding algorithms , 1988 .