Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

Theorem Proving Guided Development of Formal Assertions in a Resource-Constrained Scheduler for High-Level Synthesis

Published: 01 October 2001 Publication History

Abstract

This paper presents a formal specification and a proof of correctness for the widely-used Force-Directed List Scheduling (FDLS) algorithm for resource-constrained scheduling of data flow graphs in high-level synthesis systems. The proof effort is conducted using a higher-order logic theorem prover. During the proof effort many interesting properties of the FDLS algorithm are discovered. These properties are formally stated and proved in a higher-order logic theorem proving environment. These properties constitute a detailed set of formal assertions and invariants that should hold at various steps in the FDLS algorithm. They are then inserted as programming assertions in the implementation of the FDLS algorithm in a production-strength high-level synthesis system. When turned on, the programming assertions (1) certify whether a specific run of the FDLS algorithm produced correct schedules and, (2) in the event of failure, help discover and isolate programming errors in the FDLS implementation.
We present a detailed example and several experiments to demonstrate the effectiveness of these assertions in discovering and isolating errors. Based on this experience, we discuss the role of the formal theorem proving exercise in developing a useful set of assertions for embedding in the scheduler code and argue that in the absence of such a formal proof checking effort, discovering such a useful set of assertions would have been an arduous if not impossible task.

References

[1]
1. C.-J Tseng and D.P. Siewiorek, "Facet: A procedure for the automated synthesis of digital systems," in 20th ACM/IEEE Design Automation Conference, 1983, pp. 490-496.
[2]
2. D. Eisenbiegler, C. Blumenrohr, and R. Kumar, "Implementation issues about the embedding of existing high level synthesis algorithms in HOL," in TPHOL, Springer, 1996.
[3]
3. D. Gries, The Science of Programming, Springer-Verlag, 1981.
[4]
4. D.D. Gajski, N.D. Dutt, A.C. Wu, and S.Y. Lin, High-Level Synthesis, Introduction to Chip and System Design, Kluwer Academic Publishers, 1992.
[5]
5. E.M. Mayger and M.P. Fourman, "Integration of formal methods with system design," in A. Halaax and P.B. Denyer (Eds.), International Conference on VLSI, IFIP Transactions, 1991, pp. 59-70.
[6]
6. J. Roy, N. Kumar, R. Dutta, and R. Vemuri, "DSS: A distributed high-level synthesis system," in IEEE Design and Test of Computers, 1992.
[7]
7. M. Gordon and T. Melham (Eds.), Introduction to HOL, Cambridge Univ. Press, Cambridge, England, 1993.
[8]
8. M. Larsson, "An engineering approach to formal system design," in Thomas F. Melham and Juanito Camilleri, (Eds.), Higher Order Logic Theorem Proving and its Applications, Springer, 1994, pp. 300-315.
[9]
9. G. De Micheli, Synthesis and Optimization of Digital Circuits, McGraw-Hill, 1994.
[10]
10. N. Narasimhan and R. Vemuri, "Synchronous controller models for synthesis from communicating VHDL processes," in Ninth International Conference on VLSI Design, Bangalore, India, 1996, pp. 198-204.
[11]
11. N. Narasimhan and R. Vemuri, "On the effectiveness of theorem proving guided discovery of formal assertions for a register allocator in a high-level synthesis," in 11th Conference on Theorem Proving in Higher Order Logics (TPHOLs'98), Springer-Verlag, 1998.
[12]
12. N. Narasimhan, E. Teica, R. Radhakrishnan, S. Govindarajan, and R. Vemuri, "Theorem proving guided development of formal assertions in a resource-constained scheduler for high-level synthesis," in International Conference on Computer Design (ICCD'98), IEEE Computer Society, 1998.
[13]
13. N. Narasimhan, R. Kalyanaraman, and R. Vemuri, "Validation of synthesized register-transfer level designs using simulation and formal verification," in High Level Design Validation and Test Workshop, 1996.
[14]
14. Naren Narasimhan, "Theorem proving guided development of formal assertions and their embedding in a high-level VLSI synthesis system," Ph.D. thesis, University of Cincinnati, 1998.
[15]
15. P.F.A. Middelhoek and S.P. Rajan, "From VHDL to efficient and first-time right designs: A formal approach," in ACM Transactions on Design Automation of Elecronic Systems, Vol. 1, pp. 205-250, 1986.
[16]
16. P.G. Paulin and J.P. Knight, "Force directed scheduling for the behavior synthesis of ASICs," in IEEE Transactions on CAD, Vol. 8, pp. 661-679, 1989.
[17]
17. P.G. Paulin and J.P. Knight, "Scheduling and binding algorithms for high-level synthesis," in 26th Design Automation Conference, 1989, pp. 1-6.
[18]
18. R. Camposano and W. Wolf, High-Level VLSI Synthesis, Kluwer Academic Publishers, 1991.
[19]
19. R. Vemuri, P. Mamtora, P. Sinha, N. Kumar, J. Roy, and R. Vutuknou, "Experiences in functional validation of a high level synthesis system," in 30th ACM/IEEE Design Automation Conference, 1993, pp. 194-201.
[20]
20. S. Davidson, D. Landskor, B. Shoiyer, and P.W. Mallett, "Some experiments in local microcode compaction for horizontal machines," in IEEE Transactions on Computers, 1981, pp. 460-477.
[21]
21. S. Owre, J.M. Rushby, and N. Shankar, "PVS: A prototype verification system," in Deepak Kapur (Ed.), 11th International Conference on Automated Deduction (CADE), Vol. 607, Springer-Verlag, 1992, pp. 748-752.
[22]
22. S. Owre, N. Shanker, and J.M. Rushby, User Guide for the PVS Specification and Verification System, Language and Proof Checker, Computer Science Laboratory, SRI International, Menlo Park, CA, beta release edition, 1993.
[23]
23. S.D. Johnson, Synthesis of Digital Designs from Recursion Equations, MIT, 1984.
[24]
24. S.D. Johnson, R.M. Wehrmeister, and B. Bose, "On the interplay of synthesis and verification," in Workshop on Applied Formal Methods for Correct VLSI Design, IMEC-IFIP, Elsevier Science Publishers B.V., 1989, pp. 385-404.
[25]
25. R. Walker and R. Camposano, A Survey of High-Level Synthesis Systems, Kluwer Academic Publishers, 1991.

Cited By

View all
  • (2019)Translation validation of high-level synthesisIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2010.204288929:4(566-579)Online publication date: 3-Jan-2019
  • (2016)Validating scheduling transformation for behavioral synthesisProceedings of the 2016 Conference on Design, Automation & Test in Europe10.5555/2971808.2972192(1652-1657)Online publication date: 14-Mar-2016
  • (2013)Translation validation of scheduling in high level synthesisProceedings of the 23rd ACM international conference on Great lakes symposium on VLSI10.1145/2483028.2483070(101-106)Online publication date: 2-May-2013
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Formal Methods in System Design
Formal Methods in System Design  Volume 19, Issue 3
November 2001
90 pages

Publisher

Kluwer Academic Publishers

United States

Publication History

Published: 01 October 2001

Author Tags

  1. formal assertions
  2. formal synthesis
  3. formal verfication
  4. high-level synthesis
  5. scheduler verification
  6. theorem proving

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 24 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2019)Translation validation of high-level synthesisIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2010.204288929:4(566-579)Online publication date: 3-Jan-2019
  • (2016)Validating scheduling transformation for behavioral synthesisProceedings of the 2016 Conference on Design, Automation & Test in Europe10.5555/2971808.2972192(1652-1657)Online publication date: 14-Mar-2016
  • (2013)Translation validation of scheduling in high level synthesisProceedings of the 23rd ACM international conference on Great lakes symposium on VLSI10.1145/2483028.2483070(101-106)Online publication date: 2-May-2013
  • (2011)Equivalence checking of scheduling with speculative code transformations in high-level synthesisProceedings of the 16th Asia and South Pacific Design Automation Conference10.5555/1950815.1950917(497-502)Online publication date: 25-Jan-2011
  • (2008)Validating High-Level SynthesisProceedings of the 20th international conference on Computer Aided Verification10.1007/978-3-540-70545-1_44(459-472)Online publication date: 7-Jul-2008
  • (2003)A Fast Macro Based Compilation Methodology for Partially Reconfigurable FPGA DesignsProceedings of the 16th International Conference on VLSI Design10.5555/832285.835601Online publication date: 4-Jan-2003

View Options

View options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media