About this Journal Submit a Manuscript Table of Contents
Advances in Software Engineering
Volume 2012 (2012), Article ID 156907, 30 pages
http://dx.doi.org/10.1155/2012/156907
Review Article

Formal ESL Synthesis for Control-Intensive Applications

Department of Informatics and Computer Technology, School of Kastoria, Higher Technological Education Institute of Western Macedonia, Fourka Area, 52100 Kastoria, Greece

Received 6 February 2012; Accepted 14 April 2012

Academic Editor: Kamel Barkaoui

Copyright © 2012 Michael F. Dossis. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Linked References

  1. B. M. Pangrle and D. D. Gajski, “Design tools for intelligent silicon compilation,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 6, no. 6, pp. 1098–1112, 1986. View at Scopus
  2. E. F. Girczyc, R. J. A. Buhr, and J. P. Knight, “Applicability of a subset of Ada as an algorithmic hardware description language for graph-based hardware compilation,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 4, no. 2, pp. 134–142, 1985. View at Scopus
  3. P. G. Paulin and J. P. Knight, “Force-directed scheduling for the behavioral synthesis of ASIC's,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 8, no. 6, pp. 661–679, 1989. View at Publisher · View at Google Scholar · View at Scopus
  4. I. C. Park and C. M. Kyung, “Fast and near optimal scheduling in automatic data path synthesis,” in Proceedings of the 28th ACM/IEEE Design Automation Conference, pp. 680–685, June 1991. View at Scopus
  5. N. Park and A. C. Parker, “Sehwa: a software package for synthesis of pipelined data path from behavioral specification,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 7, no. 3, pp. 356–370, 1988. View at Publisher · View at Google Scholar · View at Scopus
  6. E. F. Girczyc, “Loop winding—a data flow approach to functional pipelining,” in Proceedings of the IEEE International Symposium on Circuits and Systems, pp. 382–385, 1987.
  7. C. J. Tseng and D. P. Siewiorek, “Automatic synthesis of data path on digital systems,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 5, no. 3, pp. 379–395, 1986. View at Scopus
  8. F. J. Kurdahi and A. C. Parker, “REAL: a program for register allocation,” in Proceedings of Design Automation Conference (DAC '87), pp. 210–215, Miami Beach, Fla, USA, 1987.
  9. C. Y. Huang, Y. S. Chen, Y. L. Lin, and Y. C. Hsu, “Data path allocation based on bipartite weighted matching,” in Proceedings of the 27th ACM/IEEE Design Automation Conference, pp. 499–504, June 1990. View at Scopus
  10. F. S. Tsay and Y. C. Hsu, “Data path construction and refinement. Digest of Technical papers,” in Proceedings of the The International Conference on Computer-Aided Design (ICCAD '90), pp. 308–311, Santa Clara, Calif, USA, 1990.
  11. R. Camposano and W. Rosenstiel, “Synthesizing circuits from behavioral descriptions,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 8, no. 2, pp. 171–180, 1989. View at Publisher · View at Google Scholar · View at Scopus
  12. S. D. Johnson, Synthesis of Digital Designs from Recursion Equations, MIT Press, Cambridge, Mass, USA, 1984.
  13. M. R. Barbacci, G. E. Barnes, R. G. Cattell, and D. P. Siewiorek, “The ISPS computer description language,” Tech. Rep. CMU-CS-79-137, School of Computer Science, Carnegie Mellon University, 1979.
  14. P. Marwedel, “The MIMOLA design system: tools for the design of digital processors,” in Proceedings of the 21st Design Automation Conference, pp. 587–593, 1984.
  15. A. E. Casavant, M. A. d'Abreu, M. Dragomirecky et al., “Synthesis environment for designing DSP systems,” IEEE Design and Test of Computers, vol. 6, no. 2, pp. 35–44, 1989. View at Publisher · View at Google Scholar · View at Scopus
  16. P. G. Paulin and J. P. Knight, “Algorithms for high-level synthesis,” IEEE Design and Test of Computers, vol. 6, no. 6, pp. 18–31, 1989. View at Publisher · View at Google Scholar · View at Scopus
  17. D. D. Gajski and L. Ramachandran, “Introduction to high-level synthesis,” IEEE Design and Test of Computers, vol. 11, no. 4, pp. 44–54, 1994. View at Publisher · View at Google Scholar · View at Scopus
  18. R. A. Walker and S. Chaudhuri, “Introduction to the scheduling problem,” IEEE Design and Test of Computers, vol. 12, no. 2, pp. 60–69, 1995. View at Publisher · View at Google Scholar · View at Scopus
  19. V. Berstis, “V compiler: automating hardware design,” IEEE Design and Test of Computers, vol. 6, no. 2, pp. 8–17, 1989. View at Publisher · View at Google Scholar · View at Scopus
  20. J. A. Fisher, “Trace Scheduling: a technique for global microcode compaction,” IEEE Transactions on Computers, vol. 30, no. 7, pp. 478–490, 1981. View at Scopus
  21. A. Kuehlmann and R. A. Bergamaschi, “Timing analysis in high-level synthesis,” in Proceedings of the IEEE/ACM International Conference on Computer-Aided Design (ICCAD '92), pp. 349–354, November 1992. View at Scopus
  22. T. C. Wilson, N. Mukherjee, M. K. Garg, and D. K. Banerji, “ILP solution for optimum scheduling, module and register allocation, and operation binding in datapath synthesis,” VLSI Design, vol. 3, no. 1, pp. 21–36, 1995. View at Scopus
  23. C. A. Papachristou and H. Konuk, “A linear program driven scheduling and allocation method followed by an interconnect optimization algorithm,” in Proceedings of the 27th ACM/IEEE Design Automation Conference, pp. 77–83, June 1990. View at Scopus
  24. J. Biesenack, M. Koster, A. Langmaier et al., “Siemens high-level synthesis system CALLAS,” IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 1, no. 3, pp. 244–252, 1993. View at Publisher · View at Google Scholar · View at Scopus
  25. The Electronic Design Interchange Format, Wikipedia, the free encyclopedia, 2011, http://en.wikipedia.org/wiki/EDIF.
  26. M. S. Rubin, “Computer Aids for VLSI Design. Appendix D: Electronic Design Interchange Format,” 2011, http://www.rulabinsky.com/cavd/text/chapd.html.
  27. T. Filkorn, “A method for symbolic verification of synchronous circuits,” in Proceedings of the Computer Hardware Description Languages and their Applications (CHDL '91), pp. 229–239, Marseille, France, 1991.
  28. A. Kalavade and E. A. Lee, “A hardware-software codesign methodology for DSP applications,” IEEE Design and Test of Computers, vol. 10, no. 3, pp. 16–28, 1993.
  29. R. Ernst, J. Henkel, and T. Benner, “Hardware-software cosynthesis for microcontrollers,” IEEE Design and Test of Computers, vol. 10, no. 4, pp. 64–75, 1993.
  30. G. De Micheli, D. Ku, F. Mailhot, and T. Truong, “The Olympus synthesis system,” IEEE Design and Test of Computers, vol. 7, no. 5, pp. 37–53, 1990. View at Publisher · View at Google Scholar · View at Scopus
  31. A. Jerraya, I. Park, and K. O'Brien, “AMICAL: an interactive high level synthesis environment,” in Proceedings of the 4th European Conference on Design Automation with the European Event in ASIC, pp. 58–62, 1993.
  32. D. E. Thomas, J. K. Adams, and H. Schmit, “A model and methodology for hardware-software codesign,” IEEE Design and Test of Computers, vol. 10, no. 3, pp. 6–15, 1993.
  33. C. A. R. Hoare, Communicating Sequential Processes, Prentice-Hall, Englewood Cliffs, NJ, USA, 1985.
  34. R. K. Gupta and G. De Micheli, “Hardware-software cosynthesis for digital systems,” IEEE Design and Test of Computers, vol. 10, no. 3, pp. 29–41, 1993.
  35. I. Bolsens, H. J. De Man, B. Lin, K. Van Rompaey, S. Vercauteren, and D. Verkest, “Hardware/software co-design of digital telecommunication systems,” Proceedings of the IEEE, vol. 85, no. 3, pp. 391–417, 1997. View at Scopus
  36. D. Genin, P. Hilfinger, J. Rabaey, C. Scheers, and H. De Man, “DSP specification using the Silage language,” in Proceedings of the International Conference on Acoustics, Speech, and Signal Processing, pp. 1057–1060, April 1990. View at Scopus
  37. P. Willekens, “Algorithm specification in DSP station using data flow language,” DSP Applications, vol. 3, no. 1, pp. 8–16, 1994.
  38. N. Halbwachs, P. Caspi, P. Raymond, and D. Pilaud, “The synchronous data flow programming language LUSTRE,” Proceedings of the IEEE, vol. 79, no. 9, pp. 1305–1320, 1991. View at Publisher · View at Google Scholar · View at Scopus
  39. M. Van Canneyt, “Specification, simulation and implementation of a GSM speech codec with DSP station,” DSP and Multimedia Technology, vol. 3, no. 5, pp. 6–15, 1994.
  40. J. T. Buck, “PTOLEMY: a framework for simulating and prototyping heterogeneous systems,” International Journal in Computer Simulation, pp. 1–34, 1992.
  41. R. Lauwereins, M. Engels, M. Ade, and J. A. Peperstraete, “Grape-II: a system-level prototyping environment for DSP applications,” Computer, vol. 28, no. 2, pp. 35–43, 1995. View at Publisher · View at Google Scholar · View at Scopus
  42. M. S. Rafie, “Rapid design and prototyping of a direct sequence spread-spectrum ASIC over a wireless link,” DSP and Multimedia Technology, vol. 3, no. 6, pp. 6–12, 1994.
  43. L. Séméria, K. Sato, and G. De Micheli, “Synthesis of hardware models in C with pointers and complex data structures,” IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 9, no. 6, pp. 743–756, 2001. View at Publisher · View at Google Scholar · View at Scopus
  44. R. P. Wilson, “Suif: an infrastructure for research on parallelizing and optimizing compilers,” ACM SIPLAN Notices, vol. 28, no. 9, pp. 67–70, 1994.
  45. A. A. Kountouris and C. Wolinski, “Efficient scheduling of conditional behaviors for high-level synthesis,” ACM Transactions on Design Automation of Electronic Systems, vol. 7, no. 3, pp. 380–412, 2002. View at Publisher · View at Google Scholar · View at Scopus
  46. S. Gupta, R. K. Gupta, N. D. Dutt, and A. Nicolau, “Coordinated parallelizing compiler optimizations and high-level synthesis,” ACM Transactions on Design Automation of Electronic Systems, vol. 9, no. 4, pp. 441–470, 2004. View at Publisher · View at Google Scholar · View at Scopus
  47. W. Wang and T. K. Tan, “A comprehensive high-level synthesis system for control-flow intensive behaviors,” in Proceedings of the 13th ACM Great Lakes symppsium on VLSI (GLSVLSI '03), pp. 11–14, 2003.
  48. Z. P. Gu, J. Wang, R. P. Dick, and H. Zhou, “Incremental exploration of the combined physical and behavioral design space,” in Proceedings of the 42nd Design Automation Conference (DAC '05), pp. 208–213, 2005.
  49. L. Zhong and N. K. Jha, “Interconnect-aware high-level synthesis for low power,” in Proceedings of the IEEE/ACM International Conference on Computer Aided Design (ICCAD '02), pp. 110–117, November 2002. View at Publisher · View at Google Scholar · View at Scopus
  50. C. Huang, S. Ravi, A. Raghunathan, and N. K. Jha, “Generation of heterogeneous distributed architectures for memory-intensive applications through high-level synthesis,” IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 15, no. 11, pp. 1191–1203, 2007. View at Publisher · View at Google Scholar · View at Scopus
  51. K. Wakabayashi, “C-based synthesis experiences with a behavior synthesizer, “Cyber”,” in Proceedings of the Design, Automation and Test in Europe, pp. 390–393, 1999.
  52. W. Wang, A. Raghunathan, N. K. Jha, and S. Dey, “High-level synthesis of multi-process behavioral descriptions,” in Proceedings of the 16th IEEE International Conference on VLSI Design (VLSI ’03), pp. 467–473, 2003.
  53. B. Le Gal, E. Casseau, and S. Huet, “Dynamic memory access management for high-performance DSP applications using high-level synthesis,” IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 16, no. 11, pp. 1454–1464, 2008. View at Publisher · View at Google Scholar · View at Scopus
  54. K. Wakabayashi and H. Tanaka, “Global scheduling independent of control dependencies based on condition vectors,” in Proceedings of the 29th ACM/IEEE Design Automation Conference, pp. 112–115, June 1992. View at Scopus
  55. S. Gupta, N. Dutt, R. Gupta, and A. Nicolau, “Dynamically increasing the scope of code motions during the high-level synthesis of digital circuits,” IEE Proceedings, vol. 150, no. 5, pp. 330–337, 2003. View at Publisher · View at Google Scholar · View at Scopus
  56. E. Martin, O. Santieys, and J. Philippe, “GAUT, an architecture synthesis tool for dedicated signal processors,” in Proceedings of the IEEE International European Design Automation Conference (Euro-DAC '93), pp. 14–19, Hamburg, Germany, 1993.
  57. M. C. Molina, R. Ruiz-Sautua, P. García-Repetto, and R. Hermida, “Frequent-pattern-guided multilevel decomposition of behavioral specifications,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 28, no. 1, pp. 60–73, 2009. View at Publisher · View at Google Scholar · View at Scopus
  58. K. Avnit, V. D'Silva, A. Sowmya, S. Ramesh, and S. Parameswaran, “Provably correct on-chip communication: a formal approach to automatic protocol converter synthesis,” ACM Transactions on Design Automation of Electronic Systems, vol. 14, no. 2, article 19, 2009. View at Publisher · View at Google Scholar · View at Scopus
  59. J. Keinert, M. Streubuhr, T. Schlichter et al., “SystemCoDesigneran—automatic ESL synthesis approach by design space exploration and behavioral synthesis for streaming applications,” ACM Transactions on Design Automation of Electronic Systems, vol. 14, no. 1, article 1, 2009. View at Publisher · View at Google Scholar · View at Scopus
  60. J. Falk, C. Haubelt, and J. Teich, “Efficient representation and simulation of model-based designs in SystemC,” in Proceedings of the Forum on Design Languages, pp. 129–134, Darmstadt, Germany, 2006.
  61. S. Kundu, S. Lerner, and R. K. Gupta, “Translation validation of high-level synthesis,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 29, no. 4, pp. 566–579, 2010. View at Publisher · View at Google Scholar · View at Scopus
  62. S. Paik, I. Shin, T. Kim, and Y. Shin, “HLS-1: a high-level synthesis framework for latch-based architectures,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 29, no. 5, pp. 657–670, 2010. View at Publisher · View at Google Scholar · View at Scopus
  63. M. Rim and R. Jain, “Lower-bound performance estimation for high-level synthesis scheduling problem,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 13, no. 4, pp. 451–458, 1994. View at Publisher · View at Google Scholar · View at Scopus
  64. S. Chaudhuri and R. A. Walker, “Computing lower bounds on functional units before scheduling,” IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 4, no. 2, pp. 273–279, 1996. View at Scopus
  65. H. Mecha, M. Fernandez, F. Tirado, J. Septien, D. Mozos, and K. Olcoz, “Method for area estimation of data-path in high level synthesis,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 15, no. 2, pp. 258–265, 1996. View at Publisher · View at Google Scholar · View at Scopus
  66. Y. M. Fang and D. F. Wong, “Simultaneous functional-unit binding and floorplanning. Digest of Technical Papers,” in Proceedings of the International Conference on Computer-Aided Design (ICCAD '94), pp. 317–321, Santa Clara, Calif, USA, 1994.
  67. M. Munch, N. Wehn, and M. Glesner, “Optimum simultaneous placement and binding for bit-slice architectures,” in Proceedings of the Asia and South Pacific Design Automation Conference (ASP-DAC '95), pp. 735–742, September 1995. View at Scopus
  68. A. Ahmadi and M. Zwolinski, “Multiple-width bus partitioning approach to datapath synthesis,” in Proceedings of the IEEE International Symposium on Circuits and Systems (ISCAS '07), pp. 2994–2997, May 2007. View at Scopus
  69. R. Gupta and M. A. Breuer, “Partial scan design of register-transfer level circuits,” Journal of Electronic Testing, vol. 7, no. 1-2, pp. 25–46, 1995. View at Publisher · View at Google Scholar · View at Scopus
  70. M. L. Flottes, D. Hammad, and B. Rouzeyre, “High level synthesis for easy testability,” in Proceedings of the European Design and Test Conference, pp. 198–206, Paris, France, 1995.
  71. M. K. Dhodhi, F. H. Hielscher, R. H. Storer, and J. Bhasker, “Datapath synthesis using a problem-space genetic algorithm,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 14, no. 8, pp. 934–944, 1995. View at Publisher · View at Google Scholar · View at Scopus
  72. A. Mujumdar, R. Jain, and K. Saluja, “Incorporating testability considerations in high-level synthesis,” Journal of Electronic Testing, vol. 5, no. 1, pp. 43–55, 1994. View at Publisher · View at Google Scholar · View at Scopus
  73. M. Potkonjak, S. Dey, and R. K. Roy, “Synthesis-for-testability using transformations,” in Proceedings of the Asia and South Pacific Design Automation Conference (ASP-DAC '95), pp. 485–490, September 1995. View at Scopus
  74. F. F. Hsu, E. M. Rudnick, and J. H. Patel, “Enhancing high-level control-flow for improved testability. Digest of Technical Papers,” in Proceedings of the International Conference on Computer-Aided Design (ICCAD '96), pp. 322–328, San Jose, Calif, USA, 1996.
  75. A. Raghunathan, S. Dey, and N. K. Jha, “Register-transfer level estimation techniques for switching activity and power consumption,” in Proceedings of the IEEE/ACM International Conference on Computer-Aided Design, pp. 158–165, November 1996. View at Scopus
  76. J. Rabaey, L. Guerra, and R. Mehra, “Design guidance in the power dimension,” in Proceedings of the 1995 20th International Conference on Acoustics, Speech, and Signal Processing, pp. 2837–2840, May 1995. View at Scopus
  77. R. Mehra and J. Rabaey, “Exploiting regularity for low-power design,” in Proceedings of the IEEE/ACM International Conference on Computer-Aided Design, pp. 166–172, November 1996. View at Scopus
  78. A. Raghunathan and N. K. Jha, “Behavioral synthesis for low power,” in Proceedings of the IEEE International Conference on Computer Design, pp. 318–322, October 1994. View at Scopus
  79. L. Goodby, A. Orailoglu, and P. M. Chau, “Microarchitectural synthesis of performance-constrained, low-power VLSI designs,” in Proceedings of the IEEE International Conference on Computer Design, pp. 323–326, October 1994. View at Scopus
  80. E. Musoll and J. Cortadella, “Scheduling and resource binding for low power,” in Proceedings of the 8th International Symposium on System Synthesis, pp. 104–109, September 1995. View at Scopus
  81. N. Kumar, S. Katkoori, L. Rader, and R. Vemuri, “Profile-driven behavioral synthesis for low-power VLSI systems,” IEEE Design and Test of Computers, vol. 12, no. 3, pp. 70–84, 1995. View at Scopus
  82. R. San Martin and J. P. Knight, “Power-profiler: optimizing ASICs power consumption at the behavioral level,” in Proceedings of the 32nd Design Automation Conference, pp. 42–47, June 1995. View at Scopus
  83. C. Trabelsi, R. Ben Atitallah, S. Meftali, J. L. Dekeyser, and A. Jemai, “A model-driven approach for hybrid power estimation in embedded systems design,” Eurasip Journal on Embedded Systems, vol. 2011, Article ID 569031, 2011. View at Publisher · View at Google Scholar · View at Scopus
  84. I. Issenin, E. Brockmeyer, B. Durinck, and N. D. Dutt, “Data-reuse-driven energy-aware cosynthesis of scratch pad memory and hierarchical bus-based communication architecture for multiprocessor streaming applications,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 27, no. 8, pp. 1439–1452, 2008. View at Publisher · View at Google Scholar · View at Scopus
  85. D. S. Rao and F. J. Kurdahi, “Controller and datapath trade-offs in hierarchical RT-level synthesis,” in Proceedings of the 7th International Symposium on High-Level Synthesis, pp. 152–157, May 1994. View at Scopus
  86. S. C. Y. Huang and W. H. Wolf, “How datapath allocation affects controller delay,” in Proceedings of the 7th International Symposium on High-Level Synthesis, pp. 158–163, May 1994. View at Scopus
  87. UML 2.0, 2012, http://www.omg.org/spec/UML/2.0/.
  88. Model Transformation Framework, 2012, http://www.alphaworks.ibm.com/tech/mtf.
  89. UML MARTE, 2012, http://www.omgwiki.org/marte/.
  90. MARTE specification version 1.0., 2012, http://www.omg.org/spec/MARTE/1.0/PDF/.
  91. The Eclipse Software, 2012, http://en.wikipedia.org/wiki/Eclipse_(software).
  92. Gaspard2 UML profile documentation, 2012, http://www.lifl.fr/west/gaspard/gaspard-profile.pdf.
  93. M. Dossis, “Intermediate predicate format for design automation tools,” Journal of Next Generation Information Technology, vol. 1, no. 1, pp. 100–117, 2010.
  94. U. Nilsson and J. Maluszynski, Logic Programming and Prolog, John Wiley & Sons, 2nd edition, 1995.