Skip to main content
Log in

A Compositional Framework for Hardware/Software Co-Design

  • Published:
Design Automation for Embedded Systems Aims and scope Submit manuscript

Abstract

We describe a compositional framework, together with its supporting toolset, for hardware/software co-design. Our framework is an integration of a formal approach within a traditional design flow. The formal approach is based on Interval Temporal Logic and its executable subset, Tempura. Refinement is the key element in our framework because it will derivefrom a single formal specification of the system the software and hardware parts of the implementation, while preserving all properties of the system specification. During refinement simulation is used to choose the appropriate refinement rules, which are applied automatically in the HOL system. The framework is illustrated with two case studies. The work presented is part of a UK collaborative research project between the Software Technology Research Laboratory at the De Montfort University and the Oxford University Computing Laboratory.

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. Allara, A., C. Brandolese, W. Fornaciari, F. Salice, and D. Sciuto System-Level Performance Estimation Strategy for Sw and Hw. In Proceedings of the International Conference on Computer Design 1998, 1998.

  2. Balarin, F., M. Chiodo, P. Giusto, H. Hsieh, A. Jurecska, L. Lavagno, C. Passerone, A. Sangiovanni-Vincentelli, E. Sentovich, K. Suzuki, and B. Tabbara. Hardware-Software Co-Design of Embedded Systems: The Polis Approach. Kluwer Academic Publishers, 1997.

  3. Barringer, H., M. Fisher, G. Gough, D. Gabbay, and R. Owens. 1995, Metatem: A Framework for Programming in Temporal Logic. In Stepwise Refinement of Distributed Systems: Models, Formalisms, Correctness, 1995.

  4. Beer, I., S. Ben-David, C. Eisner, D. Fisman, A. Gringauze, and Y. Rodeh. The Temporal Logic Sugar. In Proceedings of CAV 2001, 2001.

  5. Börger, E., and G. D. Castillo. A Formal Method for Provably Correct Composition of a Real-Life Processor Out of Basic Components. In Proceedings of the 1st ICECCS'95. 1995, pp. 145-148.

  6. Bowen, J., H. Jifeng, and X. Qiwen. An Animatable Operational Semantics of the VERILOG Hardware Description Language. In Proc. of ICFEM2000: 3rd Int. Conf. on Formal Engineering Methods, 2000, pp. 199-207.

  7. Cau, A., C. Czarnecki, and H. Zedan. Designing a Provably Correct Robot Control System using a ‘Lean’ Formal Method. In: A. P. Ravn and H. Rischel (eds.): Proceedings 5th International Symposium on Formal Techniques in Real-Time and Fault Tolerant Systems (FTRTFT'98), vol. 1486 of LNCS. 1998, pp. 123-132.

  8. Cau, A., and H. Zedan. Refining Interval Temporal Logic Specifications. In: M. Bertran and T. Rus (eds.): Transformation-Based Reactive Systems Development, vol. 1231 of LNCS, 1997, pp. 79-94.

  9. Celoxica Ltd., Handel-C Language Reference Manual.

  10. Chen, W.-H., C. H. Smith, and S. C. Fralick. A Fast Computational Algorithm for the Discrete Cosine Transform. IEEE Transaction on Communications, vol. 25,no. 9, pp. 1004-1009, 1977.

    Google Scholar 

  11. Clarke, E. M., E. Emerson, and A. Sistla. Automatic Verification of Finite-State Concurrent Systems Using Temporal Logic Specifications. ACM TOPLAS, vol. 8,no. 2, 1986.

  12. Borrione, D., P. Camurati, J. Piallet, and P. Prinetto. A Functional Approach to Formal Hardware Verification. In Proc. of ICCD-88, 1988, pp. 592-595.

  13. de Roever, W.-P., F. de Boer, U. Hannemann, J. Hooman, Y. Lakhnech, M. Poel, and J. Zwiers. Concurrency Verification: Introduction to Compositional and Noncompositional Methods. Cambridge University Press, 2001.

  14. Dimitrov, J. Interval Temporal Logic (ITL) Semantics for Verilog. Proc. of IEE event on Hardware-Software Co-Design, 2000.

  15. Dimitrov, J. Operational Semantics for Verilog. In Proceedings of APSEC'2001, 2001.

  16. Dreike, P., and J. McCoy. Cosimulating Hardware and Software in Embedded Systems. In Proceedings Embedded Systems Programming Europe, 1997, pp. 12-27.

  17. Ernst, R. Codesign of Embedded Systems: Status and Trends. IEEE Design & Test of Computers pp. 45-54, 1998.

  18. Gajski, D. D., J. Zhu, and R. Domer. Essential Issues in Codesign. Technical Report ICS-TR-97-26, University of California, Irvine, Department of Information and Computer Science, 1997.

  19. Gordon, M., The Semantic Challenge of Verilog HDL. In Proc. 10th Annual IEEE Symposium on Logic in Computer Science, 1995, pp. 136-145.

  20. Gordon, M.J.C., and T. F. Melham. Introduction to HOL: A Theorem Proving Environment for Higher Order Logic. Cambridge University Press, 1993.

  21. Grundy, J. Window Inference in the HOL System. In: P. J. Windley, M. Archer, K. N. Levitt, and J. J. Joyce (eds.): The Proceedings of the International Tutorial and Workshop on the HOL Theorem Proving System and Its Applications, 1991.

  22. Gupta, R. K. (ed.): Special Issue on Hardware/Software Partitioning of Design Automation for Embedded Systems Journal, Kluwer Academic Publishers, vol. 2, 1997.

  23. Hale, R. Using ITL for Co-Design. In Proc. of the Verification Workshop VERIFY'01, 2001.

  24. Hale, R. W. S. Programming in Temporal Logic. Ph.D. thesis, Computer Laboratory, Cambridge University, Cambridge, England, 1988, Appeared as technical report 173 in year 1989.

    Google Scholar 

  25. Hale, R. W. S., and H. Jifeng. A Real-Time Programming Language. In: J. Bowen (ed.): Towards Verified Systems. Elsevie, pp. 115-130, 1994.

  26. Hollander, Y., M. Morley, and A. Noy. The e Language: A Fresh Separation of Concerns. In: Proceedings of TOOLS Europe 2001, 2001.

  27. Holzmann, G. Design and Validation of Computer Protocols. Prentice-Hall, 1990.

  28. Huibiao, Z., J. Bowen, and H. Jifeng. From Operational Semantics to Denotational Semantics for Verilog. In Proc. of CHARME2001; the 11th Advanced Research Working Conference on Correct Hardware Design and Verification Methods, 2001.

  29. Huibiao, Z., and H. Jifeng. A Semantics of Verilog Using Duration Calculus. In Proc. Intl. Conf. on Software: Theory and Practice. 2000, pp. 421-432.

  30. Hunt, W., FM8501: A Verified Microprocessor. In Proc of IFIP WG 10.2 Workshop: From HDL To Guaranteed Correct Circuit Designs. 1986, pp. 85-114.

  31. IEEE: IEEE Standard Hardware Description Language Based on the Verilog(©) Hardware Description Language'. IEEE Standard 1364-1995, 1995.

  32. ITL homepage, http://www.cse.dmu.ac.uk/~cau/itlhomepage/.

  33. Jifeng, H., and Z. Huibiao. Formalising Verilog. In Proc. IEEE Intl. Conf. on Electronics, Circuits and Systems. 2000, pp. 412-415.

  34. Kurshan, R. P., Computer-Aided Verification of Coordinating Processes: The Automata-Theoretic Approach. Princeton University Press, 1994.

  35. Lavenier, D., P. Quinton, and S. Rajopadhye. Chapter 5, Digital Signal Processing for MultiMedia Systems. In Parhi and Hishitani (eds.): Advanced Systolic Design, 1999.

  36. Madsen, J., J. Grode, P. Knudsen, M. Petersen, and A. Haxthausen. LYCOS: The Lyngby Co-Synthesis System. Design Automation for Embedded Systems, vol. 2,no. 2, pp. 195-235, 1997.

    Google Scholar 

  37. Manjunathaiah, M., and G. Megson. Design of Multi-Phase Regular Arrays. Technical Report RUCS/1999/TR/016/A, Computer Science, The University of Reading, U.K., 1999.

    Google Scholar 

  38. Manjunathaiah, M., G. Megson, S. Rajopadhaye, and T. Risset. Uniformization of Affine Dependance Programs for Parallel Embedded System Design. In Proceedings of 2001 International Conference on Parallel Processing (30th ICPP'01). U. Politec. de Valencia, Spain, 2001.

    Google Scholar 

  39. Megson, G. An Introduction to Systolic Algorithm Design. Oxford University Press, 1992.

  40. Moszkowski, B., Executing Temporal Logic Programs. Cambridge, England: Cambridge University Press, 1986.

    Google Scholar 

  41. Moszkowski, B.: Some Very Compositional Temporal Properties. In: E.-R. Olderog (ed.): Programming Concepts, Methods and Calculi, vol. A-56 of IFIP Transactions. 1994, pp. 307-326.

  42. Nielson, F., H. Nielson, and C. Hankin. Principles of Program Analysis. Springer-Verlag, 1999.

  43. Page, I. Constructing Hardware-Software Systems From a Single Description. Journal of VLSI Signal Processing, vol. 12, pp. 87-107, 1996.

    Google Scholar 

  44. Sagdeo, V. The Complete Verilog Book. Kluwer Academic Publishers, 1998.

  45. Soininen, J.-P., T. Huttunen, K. Tiensyrja, and H. Heusala. Cosimulation of Real-Time Control Systems. In Proceedings of the European Design Automation Conference with EURO-VHDL'95, 1996.

  46. Spivey, J. Deriving a Hardware Compiler From Operational Semantics. Technical report, Oxford University Computing Laboratory, 1997.

  47. Thomas, D., and P. Moorby. The Verilog Hardware Description Language. Kluwer Academic Publishers, 1998.

  48. Zhou, S., H. Zedan, and A. Cau. A Framework For Analysing The Effect of ‘Change’ In Legacy Code. In IEEE Proc. of ICSM'99, 1999.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Cau, A., Hale, R., Dimitrov, J. et al. A Compositional Framework for Hardware/Software Co-Design. Design Automation for Embedded Systems 6, 367–399 (2002). https://doi.org/10.1023/A:1016507527035

Download citation

  • Issue Date:

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

Navigation