Abstract
Instruction scheduling is an optimization phase aimed at balancing the performance‐cost tradeoffs of the design of digital systems. In this paper, a formal framework is tailored in particular to find an optimal solution to the resource‐constrained instruction scheduling problem in high‐level synthesis. The scheduling problem is formulated as a discrete optimization problem and an efficient population‐based search technique; particle swarm optimization (PSO) is incorporated for efficient pruning of the solution space. As PSO has proven to be successful in many applications in continuous optimization problems, the main contribution of this paper is to propose a new hybrid algorithm that combines PSO with the traditional list scheduling algorithm to solve the discrete problem of instruction scheduling. The performance of the proposed algorithms is evaluated on a set of HLS benchmarks, and the experimental results demonstrate that the proposed algorithm outperforms other scheduling metaheuristics and is a promising alternative for obtaining near optimal solutions to NP‐complete scheduling problem instances.
Highlights
High-level synthesis (HLS) is the process of generating the register transfer level (RTL) design from the behavioral description of the digital system [1,2,3]
The performance of the PSOCIS algorithm was compared to an optimal integer linear programming (ILP)-based scheduler solved by CPLEX [7, 11]
particle swarm optimization (PSO) is used in conjunction with the traditional list scheduling algorithm to minimize the total schedule time in resourceconstrained scheduling problems
Summary
High-level synthesis (HLS) is the process of generating the register transfer level (RTL) design from the behavioral description of the digital system [1,2,3]. Instruction scheduling is an important optimization phase aimed at balancing the cost and performance tradeoffs in the design of digital circuits It can be considered the most important step during the architecture synthesis [3,4,5,6]. In order to handle bigger problem instances, heuristic scheduling algorithms with polynomial runtime complexity have been proposed. VLSI Design algorithm [4, 9, 10], tabu search, simulated annealing, and bipartite graph matching [7] Among these heuristics, list scheduling is the most popular because of its simplicity, low run time, and capability to produce good scheduling results for small-size problems.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.