Skip to main content
Log in

Codesign of a parallel architecture and an optimizing compiler backend: SIN rete processing as a case study

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

Abstract

The move towards higher levels of abstraction in hardware design begins to blur the difference between hardware and software design. Nevertheless, the attractiveness of a software implementation is still defined by the much smaller abstraction gap between specification and implementation. Whereas, hardware design creates the possibility to exploit parallelism at a very fine level of granularity and thereby achieve tremendous performance gains with a moderate expenditure of hardware. This paper describes the joint design process leading to an ASIC chipset accelerating the execution of rulebased systems. The interaction between the algorithm used for software implementation and the parallel algorithm suited for hardware implementation is examined. An area efficient implementation of the programmable hardware was enabled by an application specific compiler backend. The heuristics applied by the optimising “code” generator are discussed quantitatively.

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. Anurag Acharya, Milind Tambe, and Anoop Gupta. Implementation of Production Systems on Message-Passing Computers. Transactions on Parallel and Distributed Processing, 3(4):477–487, July 1992.

    Google Scholar 

  2. Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman. Compilers: Principles, Techniques, and Tools. Addison-Wesley Publishing Company, 1986.

  3. David Becker, Raj K. Singh, and G. Tell. An engineering environment for hardware/software cosimulation. In 29th Design Automation Conference, pages 129–134. ACM/IEEE, 1992.

  4. Michael C. Becker, Michael S. Allen, Charles R. Moore, John S. Muhich, and David P. Tuttle. The PowerPC 601 Microprocessor. IEEE Micro, pages 54–68, October 1993.

  5. Lee Brownston, Robert Farell, Elaine Kant, and Nancy Martin. Programming Expert Systems in OPS5. Addison-Wesley Publishing Company, 1986.

  6. Thomas Cooper and Nancy Wogrin. Rule-based Programming with OPS5. Artificial Intelligence, Expert Systems. Morgan Kaufmann Publishers, Inc., 1988.

  7. Charles L. Forgy. On the Efficient Implementation of Production Systems. PhD thesis, Carnegie-Mellon University, February 1979.

  8. Charles L. Forgy. Rete: A Fast Algorithm for the Many Object Pattern Match Problem. Artificial Intelligence, 19, September 1982.

  9. Rajesh K. Gupta, Claudionor Nunes Coelho, and Giovanni De Micheli. Synthesis and Simulation of Digital Systems Containing Interacting Hardware and Software Components. In 29th Design Automation Conference, pages 225–230. ACM/IEEE, 1992.

  10. W. Hennessey. WCL: Delivering Efficient Common Lisp Applications under Unix. Tech. rep., Stanford University, Center for Design Research, 1991.

  11. John L. Hennessy and David A. Patterson. Computer Architecture a quantitative Approach. Morgan Kaufmann Publisher, 1990.

  12. Bruce K. Holmer and Barry M. Pangrle. Hardware/software codesign using automated instruction set design & processor synthesis. In Codes. IEEE, October 1993.

  13. Egon Hörbst, Christian Müller-Schloer, and Heinz Schwärtzel. Design of VLSI Circuits. Springer Verlag, Springer Heidelberg Germany, 1987.

    Google Scholar 

  14. Asawaree Kalavade and Edward E. Lee. Hardware / software co-design using ptolemy - a case study. In Proceedings of the Inter. Workshop on HW/SW Codesign, Grassau, October 1992. IFIP

  15. W.M. Loucks, B.J. Doray, and D.G. Agnew. Experiences in Real-Time Hardware-Software Co-Simulation. In VHDL International Users' Forum (VIUF), pages 47–57. IEEE Computer Society, April 1993.

  16. William Mettrey. A comparative evaluation of expert system tools. IEEE Computer Magazine, pages 19–31, February 1991.

  17. Franz J. Rammig. Systematischer Entwurf digitaler Systeme: Von der System-bis zur Gatterebene. B. G. Teubner, Stuttgart, 1989.

    Google Scholar 

  18. S. Ritz, M. Pankert, and H. Meyr. High level software synthesis for signal processing systems. In Proceedings of the Intl. Conf. on Application-Specific Array Processors, pages 679–693. Prentice Hall, IEEE Computer Society, 1992.

  19. E. Robert and A. MacLachlan. CMU Common Lisp User's Manual. Tech. Rep. CMU-CS-92-161, Carnegie Mellon University, School of Computer Science, 1992.

  20. Avtar Saini. Design of the Intel Pentium Processor. In ICCD, pages 258–261. IEEE, October 1993.

  21. Porter D. Sherman and John C. Martin. An OPS5 Primer. Prentice Hall, 1990.

  22. Daniel P. Siewiorek, D. Gordon Bell, and Allen Newell. Computer Structures: Principles and Examples, chapter Multiple-Processor Systems, pages 332–386. McGraw-Hill, 2nd edition, 1982.

  23. Charles G. Smith. VLIW Microcomputers for Applications Specific Solutions. TI Technical Journal, pages 75–87, February 1992.

  24. Synopsys Inc., Mountain View, CA, USA. Design Compiler Manual.

  25. K. ten Hagen. Abstrakte Modellierung digitaler Schaltungen (VHDL vom funktionalen Modell bis zur Gatterebene). Springer, Heidelberg New York, August 1995. ISBN 3–540–59143–5.

    Google Scholar 

  26. K. ten Hagen and H. Meyr. Concurrent design of a chipset and its runtime environment. In Fifth International ASIC Conference, pages 525–528. IEEE, September 1992. ISBN 0-7803-0768-2.

  27. K. ten Hagen and H. Meyr. Generic Design: Its Importance, Implementation and Limitations. In VHDL International Users' Forum (VIUF), pages 297–309. IEEE Computer Society, April 1993.

  28. K. ten Hagen and H. Meyr. Modeling at different Levels of Abstraction within an ASIC Design Project. In Modelling and Simulation (ESM), pages 95–99. SCS, June 1993. ISBN 1-56555-056-0.

  29. K. ten Hagen and H. Meyr. Partitioning and Surmounting the Abstraction Gap in Hardware-Software Codesign. In Int. Conf. on Computer Design (ICCD), pages 462–465. IEEE, October 1993. ISBN 0-8186-4230-0.

  30. K. ten Hagen and H. Meyr. Timed and Untimed Hardware/Software Co-simulation: Application and efficient Implementation. In G. de Micheli, editor, Int. Workshop on Hardware Software Codesign (CODES), Cambridge, MA, October 1993. IEEE.

    Google Scholar 

  31. John Watkins, Raymond Roth, Michael Hsieh, William Radke, Donald Hejna, Byung Kim, and Richard Tim. A memory controller with an integrated graphics processor. In ICCD, pages 324–338. IEEE, October 1993.

  32. James Wu, Teresa Young, Eiji Kawamoto, and Walter Keutgens. Accurate VHDL Libraries for ASIC Design. In Fifth International ASIC Conference, pages 327–330. IEEE, September 1992.

Download references

Author information

Authors and Affiliations

Authors

Additional information

This work was supported by ESPRIT 2434 and the EuroChip-Project.

Rights and permissions

Reprints and permissions

About this article

Cite this article

ten Hagen, K., Steinberg, D. & Meyr, H. Codesign of a parallel architecture and an optimizing compiler backend: SIN rete processing as a case study. Des Autom Embed Syst 1, 147–176 (1996). https://doi.org/10.1007/BF00134686

Download citation

  • Issue Date:

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

Keywords

Navigation