Translation validation of scheduling in high level synthesis

The growing design-productivity gap has made designers shift toward using high-level synthesis (HLS) techniques to generate register transfer level design from high-level languages. Unfortunately, this translation process is very complex and may introduce bugs into the generated design, which can create a mismatch between what a designer intends and what is actually implemented in the circuit. In this paper, we present an equivalence checking method to validate the result of HLS scheduling against the initial high-level program. Finite state machine with data path (FSMD) models were used to represent designs before and after scheduling. The proposed method uses a bisimulation relation approach to prove equivalence. The automatically established bisimulation relation guarantees that for each execution sequence in the design before scheduling, a related and equivalent execution sequence exists in the design after scheduling and vice versa. Our method provides a unified way to deal with various scheduling optimizations. We have implemented our validation technique and compared it with a state-of-the-art HLS scheduling verification method. The promising results show the effectiveness and efficiency of our method.

[1]  J. Ainscough,et al.  The verification of scheduling algorithms , 1994 .

[2]  Pierre G. Paulin,et al.  Force-directed scheduling for the behavioral synthesis of ASICs , 1989, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[3]  Nazanin Mansouri,et al.  Automated formal verification of scheduling with speculative code motions , 2008, GLSVLSI '08.

[4]  Nikil D. Dutt,et al.  1995 high level synthesis design repository , 1995 .

[5]  Nazanin Mansouri,et al.  Automated formal verification of scheduling process using finite state machines with datapath (FSMD) , 2004, International Symposium on Signals, Circuits and Systems. Proceedings, SCS 2003. (Cat. No.03EX720).

[6]  Hans Eveking,et al.  Automatic verification of scheduling results in high-level synthesis , 1999, DATE '99.

[7]  Nikil D. Dutt,et al.  SPARK: a high-level synthesis framework for applying parallelizing compiler transformations , 2003, 16th International Conference on VLSI Design, 2003. Proceedings..

[8]  Donald E. Thomas,et al.  A Method of Automatic Data Path Synthesis , 1983, 20th Design Automation Conference Proceedings.

[9]  Ranga Vemuri,et al.  Theorem Proving Guided Development of Formal Assertions in a Resource-Constrained Scheduler for High-Level Synthesis , 2001, Formal Methods Syst. Des..

[10]  Ranga Vemuri,et al.  A Methodology for Automated Verification of Synthesized RTL Designs and Its Integration with a High-Level Synthesis Tool , 1998, FMCAD.

[11]  Sorin Lerner,et al.  Translation Validation of High-Level Synthesis , 2010, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[12]  Chittaranjan A. Mandal,et al.  An Equivalence-Checking Method for Scheduling Verification in High-Level Synthesis , 2008, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[13]  Minjoong Rim,et al.  Global scheduling with code-motions for high-level synthesis applications , 1995, IEEE Trans. Very Large Scale Integr. Syst..

[14]  C. A. R. Hoare,et al.  An axiomatic basis for computer programming , 1969, CACM.

[15]  Jing-Yang Jou,et al.  Equivalence checking of scheduling with speculative code transformations in high-level synthesis , 2011, 16th Asia and South Pacific Design Automation Conference (ASP-DAC 2011).

[16]  Natarajan Shankar,et al.  PVS: A Prototype Verification System , 1992, CADE.

[17]  Yang Guo,et al.  Efficient translation validation of high-level synthesis , 2013, International Symposium on Quality Electronic Design (ISQED).

[18]  Raul Camposano,et al.  Path-based scheduling for synthesis , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[19]  Daniel D. Gajski,et al.  High ― Level Synthesis: Introduction to Chip and System Design , 1992 .

[20]  Lan-Rong Dung,et al.  Verification method of dataflow algorithms in high-level synthesis , 2007, J. Syst. Softw..