Verification of Datapath and Controller Generation Phase in High-Level Synthesis of Digital Circuits

A formal verification method of the datapath and controller generation phase of a high-level synthesis (HLS) process is described in this paper. The goal is achieved in two steps. In the first step, the datapath interconnection and the controller finite state machine description generated by a high-level synthesis process are analyzed to obtain the register transfer-operations executed in the datapath for a given control assertion pattern in each control step. In the second step, an equivalence checking method is deployed to establish equivalence between the input and the output behaviors of this phase. A rewriting method has been developed for the first step. Unlike many other reported techniques, our method is capable of validating pipelined and multicycle operations, if any, spanning over several states. The correctness and complexity of the presented method have been treated formally. The method is implemented and integrated with an existing HLS tool, called structured architecture synthesis tool. The experimental results on several HLS benchmarks indicate the effectiveness of the presented method.

[1]  Ranga Vemuri,et al.  An approach to high-level synthesis system validation using formally verified transformations , 2000, Proceedings IEEE International High-Level Design Validation and Test Workshop (Cat. No.PR00786).

[2]  Ranga Vemuri,et al.  Accounting for various register allocation schemes during post-synthesis verification of RTL designs , 1999, Design, Automation and Test in Europe Conference and Exhibition, 1999. Proceedings (Cat. No. PR00078).

[3]  Sorin Lerner,et al.  Validating High-Level Synthesis , 2008, CAV.

[4]  Prashant Pandey,et al.  Cleavage Site Detection in Broken 3D Objects , 2007, 15th International Conference on Advanced Computing and Communications (ADCOM 2007).

[5]  C. Mandal,et al.  Verification of Data-path and Controller Generation Phase of High-level Synthesis , 2007, 15th International Conference on Advanced Computing and Communications (ADCOM 2007).

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

[7]  Laurence Pierre,et al.  A compositional model for the functional verification of high-level synthesis results , 2000, IEEE Trans. Very Large Scale Integr. Syst..

[8]  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..

[9]  S. C. De Sarkar,et al.  Some Inference Rules for Integer Arithmetic for Verification of Flowchart Programs on Integers , 1989, IEEE Trans. Software Eng..

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

[11]  Alan J. Hu,et al.  Early outpoint insertion for high-level software vs. RTL formal combinational equivalence verification , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[13]  Andreas Kuehlmann,et al.  Control optimization in high-level synthesis using behavioral don't cares , 1992, [1992] Proceedings 29th ACM/IEEE Design Automation Conference.

[14]  Daniel D. Gajski,et al.  Architectural Models in Synthesis , 1992 .

[15]  Chittaranjan A. Mandal,et al.  Register Sharing Verification During Data-Path Synthesis , 2007, 2007 International Conference on Computing: Theory and Applications (ICCTA'07).

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

[17]  Miodrag Potkonjak,et al.  Optimizing power using transformations , 1995, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[18]  H. Eveking,et al.  Automatic verification of scheduling results in high-level synthesis , 1999, Design, Automation and Test in Europe Conference and Exhibition, 1999. Proceedings (Cat. No. PR00078).

[19]  Fabien Coelho,et al.  Using algebraic transformations to optimize expression evaluation in scientific code , 1998, Proceedings. 1998 International Conference on Parallel Architectures and Compilation Techniques (Cat. No.98EX192).

[20]  Anand Raghunathan,et al.  Verification of RTL generated from scheduled behavior in a high-level synthesis flow , 1998, ICCAD.

[21]  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).

[22]  Masahiro Fujita,et al.  Equivalence checking between behavioral and RTL descriptions with virtual controllers and datapaths , 2005, TODE.

[23]  Nikil D. Dutt,et al.  1995 high level synthesis design repository , 1995, Proceedings of the Eighth International Symposium on System Synthesis.

[24]  Ranga Vemuri,et al.  Theorem Proving Guided Development of Formal Assertions in a Resource-Constrained Scheduler for High-Level Synthesis , 1998, Proceedings International Conference on Computer Design. VLSI in Computers and Processors (Cat. No.98CB36273).

[25]  Nikil D. Dutt,et al.  Using global code motions to improve the quality of results for high-level synthesis , 2004, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[26]  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.

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