- Research Article
- Open Access
A SystemC-Based Design Methodology for Digital Signal Processing Systems
EURASIP Journal on Embedded Systems volume 2007, Article number: 047580 (2007)
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.
[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64]
Gries M: Methods for evaluating and covering the design space during early design development. Integration, the VLSI Journal 2004,38(2):131-183. 10.1016/S0167-9260(04)00032-X
Haubelt C: Automatic model-based design space exploration for embedded systems—a system level approach, Ph.D. thesis. University of Erlangen-Nuremberg, Erlangen, Germany; 2005.
OSCI : Functional Specification for SystemC 2.0. Open SystemC Initiative, 2002, http://www.systemc.org/
Grötker T, Liao S, Martin G, Swan S: System Design with SystemC. Kluwer Academic, Norwell, Mass, USA; 2002.
IEEE : IEEE Standard SystemC Language Reference Manual (IEEE Std 1666-2005). 2006.
Lee EA, Sangiovanni-Vincentelli A: A framework for comparing models of computation. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 1998,17(12):1217-1229. 10.1109/43.736561
Falk J, Haubelt C, Teich J: 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.
Kienhuis B, Deprettere E, Vissers K, van der Wolf P: 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.
Kienhuis ACJ: Design space exploration of stream-based dataflow architectures—methods and tools, Ph.D. thesis. Delft University of Technology, Delft, The Netherlands; 1999.
Pimentel AD, Erbas C, Polstra S: A systematic approach to exploring embedded system architectures at multiple abstraction levels. IEEE Transactions on Computers 2006,55(2):99-112. 10.1109/TC.2006.16
Pimentel AD, Hertzberger LO, Lieverse P, van der Wolf P, Deprettere EF: Exploring embedded-systems architectures with artemis. Computer 2001,34(11):57-63. 10.1109/2.963445
Mohanty S, Prasanna VK, Neema S, Davis J: 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.
Kianzad V, Bhattacharyya SS: 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.
Zitzler E, Laumanns M, Thiele L: SPEA2: improving the strength pareto evolutionary algorithm for multiobjective optimization. Evolutionary Methods for Design, Optimization and Control, 2002, Barcelona, Spain 19-26.
Balarin F, Watanabe Y, Hsieh H, Lavagno L, Passerone C, Sangiovanni-Vincentelli A: Metropolis: an integrated electronic system design environment. Computer 2003,36(4):45-52. 10.1109/MC.2003.1193228
Stefanov T, Zissulescu C, Turjan A, Kienhuis B, Deprettere E: 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.
Nikolov H, Stefanov T, Deprettere E: 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.
Kangas T, Kukkala P, Orsila H, et al.: UML-based multiprocessor SoC design framework. ACM Transactions on Embedded Computing Systems 2006,5(2):281-320. 10.1145/1151074.1151077
Eker J, Janneck JW, Lee EA, et al.: Taming heterogeneity - the ptolemy approach. Proceedings of the IEEE 2003,91(1):127-144. 10.1109/JPROC.2002.805829
Cadence : Incisive-SPW. Cadence Design Systems, 2003, http://www.cadence.com/
Synopsys : System Studio—Data Sheet. 2003.http://www.synopsys.com/
Buck J, Vaidyanathan R: 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.
Herrera F, Sánchez P, Villar E: Modeling of CSP, KPN and SR systems with SystemC. In 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:133-148.
Patel HD, Shukla SK: 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 2005,24(8):1261-1271. 10.1109/TCAD.2005.850819
Patel HD, Shukla SK: 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.
Patel HD, Shukla SK: SystemC Kernel Extensions for Heterogenous System Modeling. Kluwer Academic, Norwell, Mass, USA; 2004.
Liu J, Eker J, Janneck JW, Liu X, Lee EA: Actor-oriented control system design: a responsible framework perspective. IEEE Transactions on Control Systems Technology 2004,12(2):250-262. 10.1109/TCST.2004.824310
Agha G: Abstracting interaction patterns: a programming paradigm for open distribute systems. In Formal Methods for Open Object-based Distributed Systems. Edited by: Najm E, Stefani J-B. Chapman & Hall, London, UK; 1997:135-153.
Lee EA, Messerschmitt DG: Static scheduling of synchronous data flow programs for digital signal processing. IEEE Transactions on Computers 1987,36(1):24-35. 10.1109/TC.1987.5009446
Kahn G: The semantics of simple language for parallel programming. Proceedings of IFIP Congress, August 1974, Stockholm, Sweden 471-475.
JTC 1/SC 29; ISO : ISO/IEC 14496: Coding of Audio-Visual Objects. Moving Picture Expert Group
Strehl K, Thiele L, Gries M, Ziegenbein D, Ernst R, Teich J: FunState—an internal design representation for codesign. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 2001,9(4):524-544. 10.1109/92.931229
Lee EA, Messerschmitt DG: Synchronous data flow. Proceedings of the IEEE 1987,75(9):1235-1245. 10.1109/PROC.1987.13876
Bilsen G, Engels M, Lauwereins R, Peperstraete J: Cyclo-static dataflow. IEEE Transactions on Signal Processing 1996,44(2):397-408. 10.1109/78.485935
Battacharyya SS, Lee EA, Murthy PK: Software Synthesis from Dataflow Graphs. Kluwer Academic, Norwell, Mass, USA; 1996.
Hsu C-J, Ramasubbu S, Ko M-Y, Pino JL, Bhattacharvva SS: 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.
Ning Q, Gao GR: 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.
Parks TM, Pino JL, Lee EA: 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.
Pareto V: Cours d' Économie Politique. Volume 1. F. Rouge & Cie, Lausanne, Switzerland; 1896.
Blickle T, Teich J, Thiele L: System-level synthesis using evolutionary algorithms. Design Automation for Embedded Systems 1998,3(1):23-58. 10.1023/A:1008899229802
IBM : On-Chip Peripheral Bus—Architecture Specifications. 2001.
Zitzler E: Evolutionary algorithms for multiobjective optimization: methods and applications, Ph.D. thesis. Eidgenössische Technische Hochschule Zurich, Zurich, Switzerland; 1999.
Eisenring M, Thiele L, Zitzler E: Conflicting criteria in embedded system design. IEEE Design and Test of Computers 2000,17(2):51-59. 10.1109/54.844334
Deb K: Multi-Objective Optimization Using Evolutionary Algorithms. John Wiley & Sons, New York, NY, USA; 2001.
Schlichter T, Haubelt C, Teich J: 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 Edited by: Beyer H-G, O'Reilly U-M. 1945-1952.
Schlichter T, Lukasiewycz M, Haubelt C, Teich J: 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.
Haubelt C, Schlichter T, Teich J: Improving automatic design space exploration by integrating symbolic techniques into multi-objective evolutionary algorithms. International Journal of Computational Intelligence Research 2006,2(3):239-254. 10.5019/j.ijcir.2006.65
Streubühr M, Falk J, Haubelt C, Teich J, Dorsch R, Schlipf T: 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.
Buttazzo GC: Hard Real-Time Computing Systems. Kluwer Academic, Norwell, Mass, USA; 2002.
Hastono P, Klaus S, Huss SA: 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.
Hastrono P, Klaus S, Huss SA: 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.
Kempf T, Doerper M, Leupers R, 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.
XILINX : Embedded System Tools Reference Manual—Embedded Development Kit EDK 8.1ia. 2005.
Klaus S, Huss SA, Trautmann T: Automatic generation of scheduled SystemC models of embedded systems from extended task graphs. In System Specification & Design Languages - Best of FDL '02. Edited by: Villar E, Mermet JP. Kluwer Academic, Norwell, Mass, USA; 2003:207-217.
Niemann B, Mayer F, Javier F, Rubio R, Speitel M: Refining a high level SystemC model. In SystemC: Methodologies and Applications. Edited by: Müller W, Rosenstiel W, Ruf J. Kluwer Academic, Norwell, Mass, USA; 2003:65-95.
Hsu C-J, Ko M-Y, Bhattacharyya SS: 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.
Lieverse P, van der Wolf P, Deprettere E: 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.
Strehl K: Symbolic methods applied to formal verification and synthesis in embedded systems design, Ph.D. thesis. Swiss Federal Institute of Technology Zurich, Zurich, Switzerland; 2000.
Bukhari KZ, Kuzmanov GK, Vassiliadis S: 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.
Loeffer C, Ligtenberg A, Moschytz GS: 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.
Liang J, Tran TD: 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.
Hung AC, Meng TH-Y: A comparison of fast inverse discrete cosine transform algorithms. Multimedia Systems 1994,2(5):204-217. 10.1007/BF01215398
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 2.0 International License (https://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
About this article
Cite this article
Haubelt, C., Falk, J., Keinert, J. et al. A SystemC-Based Design Methodology for Digital Signal Processing Systems. J Embedded Systems 2007, 047580 (2007). https://doi.org/10.1155/2007/47580
- Digital Signal Processing
- Design Methodology
- Signal Processing System
- Design Space Exploration
- Signal Processing Algorithm