Skip to main content
Log in

Debugging VHDL Designs: Introducing Multiple Models and First Empirical Results

  • Published:
Applied Intelligence Aims and scope Submit manuscript

Abstract

Debugging is a time-consuming task. This holds especially for large programs that are usually written by different groups of programmers. An example for this observation is the hardware design domain. Nowadays hardware designs are written in special hardware description language, e.g., VHDL, by groups which work in different companies and places. Moreover, there is a high pressure for completing the system in time with a very high quality because of the huge costs for correcting a bug after manufacturing the circuit. In order to decrease time for debugging we introduce an approach for diagnosis of VHDL hardware designs and present first empirical results. In contrast to other debugging approaches we make use of model-based diagnosis which is a general diagnosis approach. The models we use are logical descriptions of the syntax and semantics of a VHDL program that can be automatically derived from the program at compile time. The main part of this paper describes a general model and the derivation of specialized models that capture only some aspects of the program. The specialized models should be used in a specific debugging situation where they deliver the most appropriate solution in reasonable time. In order to select such a model we propose the use of a probability-based selection strategy. For example, larger programs should be debugged using a model only distinguishing concurrent VHDL statements and not sequential statements. As a result of multi-model reasoning in this domain we expect performance gains allowing to debug larger designs in a reasonable time, and more expressive diagnosis results.

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. E. Shapiro, Algorithmic Program Debugging, MIT Press: Cambridge, Massachusetts, 1983.

    Google Scholar 

  2. M. Weiser, “Programmers use slices when debugging,” Communications of the ACM, vol. 25, no. 7, pp. 446–452, 1982.

    Google Scholar 

  3. M. Weiser, “Program slicing,” IEEE Transactions on Software Engineering, vol. 10, no. 4, pp. 352–357, 1984.

    Google Scholar 

  4. B. Korel, “PELAS-program error-locating assistant system,” IEEE Transactions on Software Engineering, vol. 14, no. 9, pp. 1253–1260, 1988.

    Google Scholar 

  5. L. Burnell and E. Horvitz, “A synthesis of logical and probabilistic reasoning for program understanding and debugging,” in Proceedings of the International Conference on Uncertainty in Artificial Intelligence, 1993, pp. 285–291.

  6. L. Burnell and E. Horvitz, “Structure and chance: Melding logic and probability for software debugging,” Communications of the ACM, vol. 38, no. 3, pp. 31–41, 1995.

    Google Scholar 

  7. D. Jackson, “Aspect: Detecting bugs with abstract dependences,” ACM Transactions on Software Engineering and Methodology, vol. 4, no. 2, pp. 109–145, 1995.

    Google Scholar 

  8. L. Console, G. Friedrich, and D.T. Dupré, “Model-based diagnosis meets error diagnosis in logic programs,” in Proceedings 13th International Joint Conf. on Artificial Intelligence, Chambery, Aug. 1993, pp. 1494–1499.

  9. G.W. Bond and B. Pagurek, “A critical analysis of model-based diagnosis meets error diagnosis in logic programs,” Technical Report SCE-94-15, Carleton University, Department of Systems and Computer Engineering, Ottawa, Canada, 1994.

    Google Scholar 

  10. G.W. Bond, “Logic programs for consistency-based diagnosis,” PhD thesis, Carleton University, Faculty of Engineering, Ottawa, Canada, 1994.

    Google Scholar 

  11. G. Friedrich, M. Stumptner, and F. Wotawa, “Model-based diagnosis of hardware designs,” Artificial Intelligence, vol. 111, no. 2, pp. 3–39, 1999.

    Google Scholar 

  12. M. Stumptner and F. Wotawa, “Debugging functional programs,” in Proceedings 16th International Joint Conf. on Artificial Intelligence, Stockholm, Sweden, Aug. 1999, pp. 1074–1079.

  13. F.Wotawa, “Debugging VHDL designs using model-based reasoning,” Artificial Intelligence in Engineering, vol. 14, no. 4, pp. 331–351, 2000.

    Google Scholar 

  14. F. Wotawa, “New directions in debugging hardware designs,” in Proceedings of the International Conference on Industrial and Engineering Applications of Artificial Intelligence and Expert Systems, 1999. Springer, Lecture Notes in Artificial Intelligence vol. 462 LNAI 462.

  15. F. Wotawa, “Debugging synthesizeable VHDL programs,” in Proceedings of the Tenth International Workshop on Principles of Diagnosis, 1999.

  16. F. Wotawa, “Debugging hardware designs using a value-based model,” Applied Intelligence, vol. 16, no. 1, pp. 71–92, 2002.

    Google Scholar 

  17. IEEE, IEEE Standard VHDL Language Reference Manual LRM Std 1076-1987, 1988. Institute of Electrical and Electronics Engineers, Inc. IEEE.

  18. Z. Navabi, VHDL Analysis and Modeling of Digital Systems, McGraw-Hill, 1993.

  19. IEEE, IEEE P1076.6/D1.12 Draft Standard For VHDL Register Transfer Level Synthesis, 1998. Institute of Electrical and Electronics Engineers, Inc. IEEE.

  20. R. Reiter, “A theory of diagnosis from first principles,” Artificial Intelligence, vol. 32, no. 1, pp. 57–95, 1987.

    Google Scholar 

  21. J. de Kleer and B.C. Williams, “Diagnosing multiple faults,” Artificial Intelligence, vol. 32, no. 1, pp. 97–130, 1987.

    Google Scholar 

  22. R. Greiner, B.A. Smith, and R.W. Wilkerson, “A correction to the algorithm in Reiter's theory of diagnosis,” Artificial Intelligence, vol. 41, no. 1, pp. 79–88, 1989.

    Google Scholar 

  23. J. de Kleer, A.K. Mackworth, and R. Reiter, “Characterizing diagnosis and systems,” Artificial Intelligence, vol.56, 1992.

  24. L. Console and P. Torasso, “Integrating models of correct behavior into abductive diagnosis,” in Proceedings of the European Conference on Artificial Intelligence (ECAI), Stockholm, Pitman Publishing, Aug. 1990, pp. 160–166.

    Google Scholar 

  25. J. de Kleer, A.K. Mackworth, and R. Reiter, “Characterizing diagnoses,” in Proceedings of the National Conference on Arti-ficial Intelligence (AAAI), Boston, August 1990, pp. 324–330.

  26. B.C. Williams and P.P. Nayak, “A model-based approach to reactive self-configuring systems,” in Proceedings of the Seventh International Workshop on Principles of Diagnosis, 1996, pp. 267–274.

  27. P. Fröhlich and W. Nejdl, “A static model-based engine for model-based reasoning,” in Proceedings 15th International Joint Conf. on Artificial Intelligence, Nagoya, Japan, Aug. 1997.

  28. Y. El Fattah and R. Dechter, “Diagnosing tree-decomposable circuits,” in Proceedings 14th International Joint Conf. on Artificial Intelligence, 1995, pp. 1742–1748.

  29. M. Stumptner and F. Wotawa, “Diagnosing tree-structured systems,” in Proceedings 15th International Joint Conf. on Artificial Intelligence, Nagoya, Japan, 1997.

  30. K.-T. Cheng and A. Krstic, “Current directions in automatic test-pattern generation,” IEEE-Computer, vol. 32, no. 11, Nov. 1999.

  31. P.-Y. Chung, Y.-M. Wang, and I.N. Hajj, “Logic design error diagnosis and correction,” IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 2, pp. 320–332, 1994.

    Google Scholar 

  32. C. Mateis, M. Stumptner, and F. Wotawa, “Modeling Java programs for diagnosis,” in Proceedings of the European Conference on Artificial Intelligence (ECAI), Berlin, Germany, Aug. 2000.

  33. W. Mayer, M. Stumptner, D. Wieland, and F. Wotawa, “Can ai help to improve debugging substantially? Debugging experiences with value-based models,” in Proceedings of the European Conference on Artificial Intelligence (ECAI), Lyon, France, IOS Press, 2002, pp. 417–421.

    Google Scholar 

  34. F. Wotawa, “On the relationship between model-based debugging and program slicing,” Artificial Intelligence, vol. 135, nos. 1/2, pp. 124–143, 2002.

    Google Scholar 

Download references

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Wotawa, F. Debugging VHDL Designs: Introducing Multiple Models and First Empirical Results. Applied Intelligence 21, 159–172 (2004). https://doi.org/10.1023/B:APIN.0000033635.98612.1e

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/B:APIN.0000033635.98612.1e

Navigation