Skip to main content
Log in

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

  • Published:
Formal Methods in System Design Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  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. 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. D. Gries, The Science of Programming, Springer-Verlag, 1981.

  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. 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. 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. M. Gordon and T. Melham (Eds.), Introduction to HOL, Cambridge Univ. Press, Cambridge, England, 1993.

    Google Scholar 

  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. G. De Micheli, Synthesis and Optimization of Digital Circuits, McGraw-Hill, 1994.

  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. 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. 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. 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. 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. 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.

    Google Scholar 

  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.

    Google Scholar 

  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. R. Camposano and W. Wolf, High-Level VLSI Synthesis, Kluwer Academic Publishers, 1991.

  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. 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. 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.

    Google Scholar 

  22. S. Owre, N. Shanker, and J.M. Rushby, User Guide for thePVSSpecification andVerification System, Language and Proof Checker, Computer Science Laboratory, SRI International, Menlo Park, CA, beta release edition, 1993.

    Google Scholar 

  23. S.D. Johnson, Synthesis of Digital Designs from Recursion Equations, MIT, 1984.

  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. R. Walker and R. Camposano, A Survey of High-Level Synthesis Systems, Kluwer Academic Publishers, 1991.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Narasimhan, N., Teica, E., Radhakrishnan, R. et al. Theorem Proving Guided Development of Formal Assertions in a Resource-Constrained Scheduler for High-Level Synthesis. Formal Methods in System Design 19, 237–273 (2001). https://doi.org/10.1023/A:1011250531814

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1011250531814

Navigation