Skip to main content

Application of constraint logic programming for VLSI CAD tools

  • Conference paper
  • First Online:
Constraints in Computational Logics (CCL 1994)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 845))

Included in the following conference series:

Abstract

This paper describes the application of CLP (constraint logic programming) to several digital circuit design problems. It is shown that logic programming together with efficient constraint propagation techniques is an adequate programming environment for complex real world problems like high level synthesis, simulation, code generation, and memory synthesis. Different types of constraints — Boolean, integer, symbolic, structural, and type binding ones — are used to express relations between the components of a digital circuit and efficient propagation is achieved by the coroutining mechanism. To deal with the increasing complexity of digital circuits we use HDL's (hardware description languages) to represent structure and behaviour of circuits.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. C. Albrecht, S. Bashford, P. Marwedel, A. Neumann, W. Schenk. The design of the PRIPS microprocessor, 4th EUROCHIP-Workshop on VLSI Training, 1993.

    Google Scholar 

  2. R. Beckmann, P. Marwedel, W. Schenk, and R. Jöhnk. The MIMOLA Language Reference Manual — Version 4.0. Research Report 401, Computer Science Dpt., University of Dortmund, February 1991.

    Google Scholar 

  3. Ulrich Bieker, Andreas Neumann. Using Logic Programming and Coroutining for electronic CAD. Second International Conference on the Practical Applications of Prolog, London, April 1994.

    Google Scholar 

  4. W. F. Clocksin. Logic Programming and Digital Circuit Analysis. The Journal of Logic Programming, pp. 59–82, March 1987.

    Google Scholar 

  5. European Computer-Industry Research Center, Munich. ECLiPSe — ECRC Common Logic Programming System, 3.4 edition, January 1994.

    Google Scholar 

  6. Catherine H. Gebotys and Mohamed I. Elmasry. Simultaneous scheduling and allocation for cost constrained architectural synthesis. 28th Design Automation Conference, pages 2–7, 1991.

    Google Scholar 

  7. Design Automation Standards Subcommittee of the IEEE. Draft standard VHDL language reference manual. IEEE Standards Department, 1992.

    Google Scholar 

  8. M. Dincbas, H. Simonis, and P. van Hentenryck. Solving Large Combinatorical Problems in Logic Programming. In: Journal of Logic Programming, 1990:8, pp. 75–93.

    Google Scholar 

  9. E. Gullichsen. Heuristic circuit simulation using PROLOG. North-Holland, Integration, the VLSI-Journal, No. 3, pp. 283–318, 1985.

    Google Scholar 

  10. J. Hennessy, D. Paterson: Computer Architecture. A Quantitative Approach, Morgan Kaufman, 1990.

    Google Scholar 

  11. P. W. Horstmann. Automation of the Design for Testability Using Logic Programming. Dissertation, University of Missouri, 1983.

    Google Scholar 

  12. Birger Landwehr and Peter Marwedel. Oscar: Optimum simultaneous scheduling, allocation and resource binding based on integer programming. Technical report #484, University of Dortmund, Departement of Computer Science. Also to appear in: Proceedings of the European Design Automation Conference (EURO-DAC), 1994.

    Google Scholar 

  13. Y. Lichtenstein, B. Welham, A. Gupta. Time Representation in Prolog Circuit Modelling. 3rd UK Annual Conference on Logic Programming, Edinburgh 1991.

    Google Scholar 

  14. M. Morris Mano. Computer System Architecture. Prentice-Hall International, Inc., Third Edition, 1993.

    Google Scholar 

  15. P. Marwedel. The MIMOLA Design System: Tools for the Design of Digital Processors, Proc. 21st Design Automation Conference, pp. 587–593, 1984.

    Google Scholar 

  16. Peter Marwedel. Matching system component behaviour in MIMOLA synthesis tools. In Proceedings of the European Design Automation Conference, 1990.

    Google Scholar 

  17. Michael C. McFarland, Alice C. Parker, and Raul Camposano. The high-level synthesis of digital systems. Proceedings of the IEEE, 78(2):301–318, February 1990.

    Google Scholar 

  18. G. McNiven, E. Davidson. Analysis of Memory Referencing Behaviour for Design of Local Memories, Computer Architecture News, May 88.

    Google Scholar 

  19. M. D. O. Neill, D. D. Jani, C. H. Cho, J. R. Armstrong. BTG: A Behavioral Test Generator, Computer Hardware Description Languages and their Applications, Proceedings of the IFDP WG 10.2 Ninth International Symposium on Computer Hardware Description Languages and their Applications, Washington, DC, USA, pp. 347–360, June 1989.

    Google Scholar 

  20. B.R. Rau. Pseudo-Randomly Interleaved Memory, Computer Architecture, May 1991.

    Google Scholar 

  21. A.J. Smith. Cache Memories, Computing Surveys, Sept. 82.

    Google Scholar 

  22. M. Tomasevic, V. Milutinovic. The Cache Coherence Problem in Shared-Memory Multiprocessors. In: Hardware Solutions, IEEE Computer Society Press 1993.

    Google Scholar 

  23. P. B. Reintjes. A Set of Tools for VHDL Design. Logic Programming, Proc. of the Eigth Int. Conference, pp 549–562, 1991.

    Google Scholar 

  24. Minjoong Rim, Rajiv Jain, and Rento De Leone. Optimal allocation and binding in high-level synthesis. Proceedings of the 29th Design Automation Conference, pages 120–123, 1992.

    Google Scholar 

  25. H. Simonis, M. Dincbas. Verification of Digital Circuits Using CHIP. The Fusion of Hardware Design and Verification, Elsevier Science Publishers B.V., North-Holland, pp. 421–442, 1988.

    Google Scholar 

  26. H. Simonis. Test Generation using the Constraint Logic Programming Language CHIP. In Proceedings of the 6th International Conference on Logic Programming, Lisboa, Portugal, pp. 101–112, June 1989.

    Google Scholar 

  27. H. Simonis. Constraint Logic Programming as a Digital Circuit Design Tool. Dissertation (draft), 1992.

    Google Scholar 

  28. D. Svanaes, E. J. Aas. Test generation through logic programming. North-Holland, INTEGRATION, the VLSI journal, No. 2, pp. 49–67,1984.

    Google Scholar 

  29. P. DeWilde, E. Deprettere and R. Notua. Parallel and Pipelined VLSI Implementations of Signal Processing Algorithms. In: S.Y. Kung, H.J. Whitehouse and T. Kailath, VLSI and Modern Signal Processing, Prentice Hall, pp 258–264, 1985.

    Google Scholar 

  30. R. Leupers. Instruction Set Extraction from Programmable Structures. EURO-DAC, Grenoble, September 1994.

    Google Scholar 

  31. Th. Filkorn, R.Schmid, E. Tiden and P. Warkentin. Experiences from a Large Industrial Circuit Design Application. Proceedings of the International Symposium of Logic Programming, San Diego, 1990.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jean-Pierre Jouannaud

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Beckmann, R., Bieker, U., Markhof, I. (1994). Application of constraint logic programming for VLSI CAD tools. In: Jouannaud, JP. (eds) Constraints in Computational Logics. CCL 1994. Lecture Notes in Computer Science, vol 845. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0016853

Download citation

  • DOI: https://doi.org/10.1007/BFb0016853

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-58403-2

  • Online ISBN: 978-3-540-48699-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics