This article is part of the series Embedded Digital Signal Processing Systems.

Open Access Research Article

A SystemC-Based Design Methodology for Digital Signal Processing Systems

Christian Haubelt*, Joachim Falk, Joachim Keinert, Thomas Schlichter, Martin Streubühr, Andreas Deyhle, Andreas Hadert and Jürgen Teich

Author Affiliations

Hardware-Software-Co-Design, Department of Copmuter Sciences, Friedrich-Alexander-University of Erlangen-Nuremberg, Erlangen 91054, Germany

For all author emails, please log on.

EURASIP Journal on Embedded Systems 2007, 2007:047580  doi:10.1155/2007/47580


The electronic version of this article is the complete one and can be found online at: http://jes.eurasipjournals.com/content/2007/1/047580


Received:7 July 2006
Revisions received:14 December 2006
Accepted:10 January 2007
Published:20 March 2007

© 2007 Haubelt et al.

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.

Abstract

Digital signal processing algorithms are of big importance in many embedded systems. Due to complexity reasons and due to the restrictions imposed on the implementations, new design methodologies are needed. In this paper, we present a SystemC-based solution supporting automatic design space exploration, automatic performance evaluation, as well as automatic system generation for mixed hardware/software solutions mapped onto FPGA-based platforms. Our proposed hardware/software codesign approach is based on a SystemC-based library called SysteMoC that permits the expression of different models of computation well known in the domain of digital signal processing. It combines the advantages of executability and analyzability of many important models of computation that can be expressed in SysteMoC. We will use the example of an MPEG-4 decoder throughout this paper to introduce our novel methodology. Results from a five-dimensional design space exploration and from automatically mapping parts of the MPEG-4 decoder onto a Xilinx FPGA platform will demonstrate the effectiveness of our approach.

References

  1. M Gries, Methods for evaluating and covering the design space during early design development. Integration, the VLSI Journal 38(2), 131–183 (2004). Publisher Full Text OpenURL

  2. C Haubelt, in Automatic model-based design space exploration for embedded systems—a system level approach, Ph, ed. by . D. thesis (University of Erlangen-Nuremberg, Erlangen, Germany, 2005)

  3. OSCI, Functional Specification for SystemC 2.0 (Open SystemC Initiative, 2002, http://www), . systemc.org/ webcite

  4. T Grötker, S Liao, G Martin, S Swan, System Design with SystemC (Kluwer Academic, Norwell, Mass, USA, 2002)

  5. IEEE, IEEE Standard SystemC Language Reference Manual (IEEE Std 1666-2005)

  6. EA Lee, A Sangiovanni-Vincentelli, A framework for comparing models of computation. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 17(12), 1217–1229 (1998). Publisher Full Text OpenURL

  7. J Falk, C Haubelt, J Teich, Efficient representation and simulation of model-based designs in SystemC. Proceedings of the International Forum on Specification & Design Languages (FDL '06), September 2006, Darmstadt, Germany, 129–134

  8. http://www.mentor.com/

  9. http://www.forteds.com/

  10. B Kienhuis, E Deprettere, K Vissers, P van der Wolf, An approach for quantitative analysis of application-specific dataflow architectures. Proceedings of the IEEE International Conference on Application-Specific Systems, Architectures and Processors (ASAP '97), July 1997, Zurich, Switzerland, 338–349

  11. ACJ Kienhuis, in Design space exploration of stream-based dataflow architectures—methods and tools, Ph, ed. by . D. thesis (Delft University of Technology, Delft, The Netherlands, 1999)

  12. AD Pimentel, C Erbas, S Polstra, A systematic approach to exploring embedded system architectures at multiple abstraction levels. IEEE Transactions on Computers 55(2), 99–112 (2006). Publisher Full Text OpenURL

  13. AD Pimentel, LO Hertzberger, P Lieverse, P van der Wolf, EF Deprettere, Exploring embedded-systems architectures with artemis. Computer 34(11), 57–63 (2001). Publisher Full Text OpenURL

  14. S Mohanty, VK Prasanna, S Neema, J Davis, Rapid design space exploration of heterogeneous embedded systems using symbolic search and multi-granular simulation. Proceedings of the Joint Conference on Languages, Compilers and Tools for Embedded Systems: Software and Compilers for Embedded Systems, June 2002, Berlin, Germany, 18–27

  15. V Kianzad, SS Bhattacharyya, CHARMED: a multi-objective co-synthesis framework for multi-mode embedded systems. Proceedings of the 15th IEEE International Conference on Application-Specific Systems, Architectures and Processors (ASAP '04), September 2004, Galveston, Tex, USA, 28–40

  16. E Zitzler, M Laumanns, L Thiele, SPEA2: improving the strength pareto evolutionary algorithm for multiobjective optimization. Evolutionary Methods for Design, Optimization and Control, 2002, Barcelona, Spain, 19–26

  17. F Balarin, Y Watanabe, H Hsieh, L Lavagno, C Passerone, A Sangiovanni-Vincentelli, Metropolis: an integrated electronic system design environment. Computer 36(4), 45–52 (2003). Publisher Full Text OpenURL

  18. T Stefanov, C Zissulescu, A Turjan, B Kienhuis, E Deprettere, System design using Khan process networks: the Compaan/Laura approach. Proceedings of Design, Automation and Test in Europe (DATE '04), February 2004, Paris, France 1, 340–345

  19. H Nikolov, T Stefanov, E Deprettere, Multi-processor system design with ESPAM. Proceedings of the 4th International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS '06), October 2006, Seoul, Korea, 211–216

  20. T Kangas, P Kukkala, H Orsila, et al. UML-based multiprocessor SoC design framework. ACM Transactions on Embedded Computing Systems 5(2), 281–320 (2006). Publisher Full Text OpenURL

  21. J Eker, JW Janneck, EA Lee, et al. Taming heterogeneity - the ptolemy approach. Proceedings of the IEEE 91(1), 127–144 (2003). Publisher Full Text OpenURL

  22. Cadence, Incisive-SPW (Cadence Design Systems, 2003, http://www), . cadence.com/ webcite

  23. Synopsys, System Studio—Data Sheet (http://www, 2003), . synopsys.com/ webcite

  24. J Buck, R Vaidyanathan, Heterogeneous modeling and simulation of embedded systems in El Greco. Proceedings of the 8th International Workshop on Hardware/Software Codesign (CODES '00), May 2000, San Diego, Calif, USA, 142–146

  25. F Herrera, P Sánchez, E Villar, Modeling of CSP, KPN and SR systems with SystemC. Languages for System Specification: Selected Contributions on UML, SystemC, System Verilog, Mixed-Signal Systems, and Property Specifications from FDL '03 (Kluwer Academic, Norwell, Mass, USA, 2004), pp. 133–148

  26. HD Patel, SK Shukla, Towards a heterogeneous simulation kernel for system-level models: a SystemC kernel for synchronous data flow models. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 24(8), 1261–1271 (2005). Publisher Full Text OpenURL

  27. HD Patel, SK Shukla, Towards a heterogeneous simulation kernel for system level models: a SystemC kernel for synchronous data flow models. Proceedings of the 14th ACM Great Lakes Symposium on VLSI (GLSVLSI '04), April 2004, Boston, Mass, USA, 248–253

  28. HD Patel, SK Shukla, SystemC Kernel Extensions for Heterogenous System Modeling (Kluwer Academic, Norwell, Mass, USA, 2004)

  29. J Liu, J Eker, JW Janneck, X Liu, EA Lee, Actor-oriented control system design: a responsible framework perspective. IEEE Transactions on Control Systems Technology 12(2), 250–262 (2004). Publisher Full Text OpenURL

  30. G Agha, Abstracting interaction patterns: a programming paradigm for open distribute systems. in Formal Methods for Open Object-based Distributed Systems, ed. by Najm E, Stefani J-B (Chapman & Hall, London, UK, 1997), pp. 135–153

  31. EA Lee, DG Messerschmitt, Static scheduling of synchronous data flow programs for digital signal processing. IEEE Transactions on Computers 36(1), 24–35 (1987). Publisher Full Text OpenURL

  32. G Kahn, The semantics of simple language for parallel programming. Proceedings of IFIP Congress, August 1974, Stockholm, Sweden, 471–475

  33. JTC 1/SC 29; ISO, ISO/IEC 14496: Coding of Audio-Visual Objects Moving Picture Expert Group

  34. K Strehl, L Thiele, M Gries, D Ziegenbein, R Ernst, J Teich, FunState—an internal design representation for codesign. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 9(4), 524–544 (2001). Publisher Full Text OpenURL

  35. EA Lee, DG Messerschmitt, Synchronous data flow. Proceedings of the IEEE 75(9), 1235–1245 (1987). Publisher Full Text OpenURL

  36. G Bilsen, M Engels, R Lauwereins, J Peperstraete, Cyclo-static dataflow. IEEE Transactions on Signal Processing 44(2), 397–408 (1996). Publisher Full Text OpenURL

  37. SS Battacharyya, EA Lee, PK Murthy, Software Synthesis from Dataflow Graphs (Kluwer Academic, Norwell, Mass, USA, 1996)

  38. C-J Hsu, S Ramasubbu, M-Y Ko, JL Pino, SS Bhattacharvva, Efficient simulation of critical synchronous dataflow graphs. Proceedings of 43rd ACM/IEEE Design Automation Conference (DAC '06), July 2006, San Francisco, Calif, USA, 893–898

  39. Q Ning, GR Gao, A novel framework of register allocation for software pipelining. Conference Record of the 20th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, January 1993, Charleston, SC, USA, 29–42

  40. TM Parks, JL Pino, EA Lee, A comparison of synchronous and cyclo-static dataflow. Proceedings of the 29th Asilomar Conference on Signals, Systems, and Computers, October-November 1995, Pacific Grove, Calif, USA 1, 204–210

  41. V Pareto, Cours d' Économie Politique (F. Rouge & Cie, Lausanne, Switzerland, 1896) 1 PubMed Abstract OpenURL

  42. T Blickle, J Teich, L Thiele, System-level synthesis using evolutionary algorithms. Design Automation for Embedded Systems 3(1), 23–58 (1998). Publisher Full Text OpenURL

  43. IBM, On-Chip Peripheral Bus—Architecture Specifications (Version 2, 2001), . 1

  44. E Zitzler, in Evolutionary algorithms for multiobjective optimization: methods and applications, Ph, ed. by . D. thesis (Eidgenössische Technische Hochschule Zurich, Zurich, Switzerland, 1999)

  45. M Eisenring, L Thiele, E Zitzler, Conflicting criteria in embedded system design. IEEE Design and Test of Computers 17(2), 51–59 (2000). Publisher Full Text OpenURL

  46. K Deb, Multi-Objective Optimization Using Evolutionary Algorithms (John Wiley & Sons, New York, NY, USA, 2001)

  47. T Schlichter, C Haubelt, J Teich, Improving EA-based design space exploration by utilizing symbolic feasibility tests. in Proceedings of Genetic and Evolutionary Computation Conference (GECCO '05), June 2005, Washington, DC, USA, , ed. by Beyer H-G, O'Reilly U-M, pp. 1945–1952

  48. T Schlichter, M Lukasiewycz, C Haubelt, J Teich, Improving system level design space exploration by incorporating SAT-solvers into multi-objective evolutionary algorithms. Proceedings of IEEE Computer Society Annual Symposium on Emerging VLSI Technologies and Architectures, March 2006, Klarlsruhe, Germany, 309–314

  49. C Haubelt, T Schlichter, J Teich, Improving automatic design space exploration by integrating symbolic techniques into multi-objective evolutionary algorithms. International Journal of Computational Intelligence Research 2(3), 239–254 (2006). Publisher Full Text OpenURL

  50. M Streubühr, J Falk, C Haubelt, J Teich, R Dorsch, T Schlipf, Task-accurate performance modeling in SystemC for real-time multi-processor architectures. Proceedings of Design, Automation and Test in Europe (DATE '06), March 2006, Munich, Germany 1, 480–481

  51. GC Buttazzo, Hard Real-Time Computing Systems (Kluwer Academic, Norwell, Mass, USA, 2002)

  52. P Hastono, S Klaus, SA Huss, Real-time operating system services for realistic SystemC simulation models of embedded systems. Proceedings of the International Forum on Specification & Design Languages (FDL '04), September 2004, Lille, France, 380–391

  53. P Hastrono, S Klaus, SA Huss, An integrated SystemC framework for real-time scheduling. Assessments on system level. Proceedings of the 25th IEEE International Real-Time Systems Symposium (RTSS '04), December 2004, Lisbon, Portugal, 8–11

  54. T Kempf, M Doerper, R Leupers, et al. A modular simulation framework for spatial and temporal task mapping onto multi-processor SoC platforms. Proceedings of Design, Automation and Test in Europe (DATE '05), March 2005, Munich, Germany 2, 876–881

  55. XILINX, Embedded System Tools Reference Manual—Embedded Development Kit EDK 8.1ia

  56. S Klaus, SA Huss, T Trautmann, Automatic generation of scheduled SystemC models of embedded systems from extended task graphs. in System Specification & Design Languages - Best of FDL '02, ed. by Villar E, Mermet JP (Kluwer Academic, Norwell, Mass, USA, 2003), pp. 207–217 PubMed Abstract | Publisher Full Text OpenURL

  57. B Niemann, F Mayer, F Javier, R Rubio, M Speitel, Refining a high level SystemC model. in SystemC: Methodologies and Applications, ed. by Müller W, Rosenstiel W, Ruf J (Kluwer Academic, Norwell, Mass, USA, 2003), pp. 65–95

  58. C-J Hsu, M-Y Ko, SS Bhattacharyya, Software synthesis from the dataflow interchange format. Proceedings of the International Workshop on Software and Compilers for Embedded Systems, September 2005, Dallas, Tex, USA, 37–49

  59. P Lieverse, P van der Wolf, E Deprettere, A trace transformation technique for communication refinement. Proceedings of the 9th International Symposium on Hardware/Software Codesign (CODES '01), April 2001, Copenhagen, Denmark, 134–139

  60. K Strehl, in Symbolic methods applied to formal verification and synthesis in embedded systems design, Ph, ed. by . D. thesis (Swiss Federal Institute of Technology Zurich, Zurich, Switzerland, 2000)

  61. KZ Bukhari, GK Kuzmanov, S Vassiliadis, DCT and IDCT implementations on different FPGA technologies. Proceedings of the 13th Annual Workshop on Circuits, Systems and Signal Processing (ProRISC '02), November 2002, Veldhoven, The Netherlands, 232–235

  62. C Loeffer, A Ligtenberg, GS Moschytz, Practical fast 1-D DCT algorithms with 11 multiplications. Proceedings of IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP '89), May 1989, Glasgow, UK 2, 988–991

  63. J Liang, TD Tran, Fast multiplierless approximation of the DCT with the lifting scheme. Applications of Digital Image Processing XXIII, July 2000, San Diego, Calif, USA, Proceedings of SPIE 4115, 384–395

  64. AC Hung, TH-Y Meng, A comparison of fast inverse discrete cosine transform algorithms. Multimedia Systems 2(5), 204–217 (1994). Publisher Full Text OpenURL