Design Automation for Embedded Systems

, Volume 6, Issue 4, pp 367–399 | Cite as

A Compositional Framework for Hardware/Software Co-Design

  • A. Cau
  • R. Hale
  • J. Dimitrov
  • H. Zedan
  • B. Moszkowski
  • M. Manjunathaiah
  • M. Spivey


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.

Compositionality executable specification HDL HW/SW co-design refinement 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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.Google Scholar
  2. 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.Google Scholar
  3. 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.Google Scholar
  4. 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.Google Scholar
  5. 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.Google Scholar
  6. 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.Google Scholar
  7. 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.Google Scholar
  8. 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.Google Scholar
  9. 9.
    Celoxica Ltd., Handel-C Language Reference Manual.Google Scholar
  10. 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. 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.Google Scholar
  12. 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.Google Scholar
  13. 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.Google Scholar
  14. 14.
    Dimitrov, J. Interval Temporal Logic (ITL) Semantics for Verilog. Proc. of IEE event on Hardware-Software Co-Design, 2000.Google Scholar
  15. 15.
    Dimitrov, J. Operational Semantics for Verilog. In Proceedings of APSEC'2001, 2001.Google Scholar
  16. 16.
    Dreike, P., and J. McCoy. Cosimulating Hardware and Software in Embedded Systems. In Proceedings Embedded Systems Programming Europe, 1997, pp. 12-27.Google Scholar
  17. 17.
    Ernst, R. Codesign of Embedded Systems: Status and Trends. IEEE Design & Test of Computers pp. 45-54, 1998.Google Scholar
  18. 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.Google Scholar
  19. 19.
    Gordon, M., The Semantic Challenge of Verilog HDL. In Proc. 10th Annual IEEE Symposium on Logic in Computer Science, 1995, pp. 136-145.Google Scholar
  20. 20.
    Gordon, M.J.C., and T. F. Melham. Introduction to HOL: A Theorem Proving Environment for Higher Order Logic. Cambridge University Press, 1993.Google Scholar
  21. 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.Google Scholar
  22. 22.
    Gupta, R. K. (ed.): Special Issue on Hardware/Software Partitioning of Design Automation for Embedded Systems Journal, Kluwer Academic Publishers, vol. 2, 1997.Google Scholar
  23. 23.
    Hale, R. Using ITL for Co-Design. In Proc. of the Verification Workshop VERIFY'01, 2001.Google Scholar
  24. 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. 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.Google Scholar
  26. 26.
    Hollander, Y., M. Morley, and A. Noy. The e Language: A Fresh Separation of Concerns. In: Proceedings of TOOLS Europe 2001, 2001.Google Scholar
  27. 27.
    Holzmann, G. Design and Validation of Computer Protocols. Prentice-Hall, 1990.Google Scholar
  28. 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.Google Scholar
  29. 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.Google Scholar
  30. 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.Google Scholar
  31. 31.
    IEEE: IEEE Standard Hardware Description Language Based on the Verilog(©) Hardware Description Language'. IEEE Standard 1364-1995, 1995.Google Scholar
  32. 32.
    ITL homepage, Scholar
  33. 33.
    Jifeng, H., and Z. Huibiao. Formalising Verilog. In Proc. IEEE Intl. Conf. on Electronics, Circuits and Systems. 2000, pp. 412-415.Google Scholar
  34. 34.
    Kurshan, R. P., Computer-Aided Verification of Coordinating Processes: The Automata-Theoretic Approach. Princeton University Press, 1994.Google Scholar
  35. 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.Google Scholar
  36. 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. 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. 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. 39.
    Megson, G. An Introduction to Systolic Algorithm Design. Oxford University Press, 1992.Google Scholar
  40. 40.
    Moszkowski, B., Executing Temporal Logic Programs. Cambridge, England: Cambridge University Press, 1986.Google Scholar
  41. 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.Google Scholar
  42. 42.
    Nielson, F., H. Nielson, and C. Hankin. Principles of Program Analysis. Springer-Verlag, 1999.Google Scholar
  43. 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. 44.
    Sagdeo, V. The Complete Verilog Book. Kluwer Academic Publishers, 1998.Google Scholar
  45. 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.Google Scholar
  46. 46.
    Spivey, J. Deriving a Hardware Compiler From Operational Semantics. Technical report, Oxford University Computing Laboratory, 1997.Google Scholar
  47. 47.
    Thomas, D., and P. Moorby. The Verilog Hardware Description Language. Kluwer Academic Publishers, 1998.Google Scholar
  48. 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.Google Scholar

Copyright information

© Kluwer Academic Publishers 2002

Authors and Affiliations

  • A. Cau
    • 1
  • R. Hale
    • 2
  • J. Dimitrov
    • 3
  • H. Zedan
    • 4
  • B. Moszkowski
    • 5
  • M. Manjunathaiah
    • 6
  • M. Spivey
    • 7
  1. 1.Software Technology Research Laboratory, SERCentreDe Montfort UniversityEngland
  2. 2.Software Technology Research Laboratory, SERCentreDe Montfort UniversityEngland
  3. 3.Software Technology Research Laboratory, SERCentreDe Montfort UniversityEngland
  4. 4.Software Technology Research Laboratory, SERCentreDe Montfort UniversityEngland
  5. 5.Software Technology Research Laboratory, SERCentreDe Montfort UniversityEngland
  6. 6.Programming Research Group, Computing LaboratoryOxford UniversityEngland
  7. 7.Programming Research Group, Computing LaboratoryOxford UniversityEngland

Personalised recommendations