VLIW Processor Codesign for Video Processing

Abstract

A codesign approach for complex video compression systems is presented. The system is based on a flexible and programmable VLIW (Very Long Instruction Word) architecture. The design approach can be subdivided into two phases: a quantitative analysis for deriving the main processor structure and a cosynthesis for generating the processor hardware and the compiler back-end. The analysis results of different video compression algorithms are summarized. This permits to adapt the processor to a set of related applications rather than to a particular task. A compiled instruction-set simulator for analyzing large data sets is presented. An HTML-based codesign framework is shown which documents and organizes the analysis data.

This is a preview of subscription content, access via your institution.

References

  1. 1.

    B. Ackland. The role of VLSI in multimedia. IEEE J. Solid-State Circuits, 29(4): 381–388, April 1994.

    Google Scholar 

  2. 2.

    A. Alomary et al. PEAS-I: A hardware/software co-design system for ASIPs. In Euro DAC, pages 2–7, Hamburg, 1993.

  3. 3.

    S. Antoniazzi, A. Balboni, W. Fornaciari, and D. Sciuto. HW/SW codesign for embedded telecom systems. In Int. Conf. Computer Design, pages 278–281, Cambridge, MA, Oct. 10-12, October 1994.

  4. 4.

    R. Aravind et al. Image and video coding standards. AT&T Technical Journal, 72(1): 67–89, January/ February 1993.

    Google Scholar 

  5. 5.

    M. Auguin, F. Boeri, and C. Carriere. Automatic exploration of VLIW processor architectures from a designer's experience based specification. In 3rd Int. Workshop on Hardware/Software Codesign, pages 108–115, Sept. 22-23, Grenoble, September 1994.

  6. 6.

    M. Auguin et al. Towards a multi formalism framework for architectural synthesis: The ASAR project. In 3rd Int. Workshop on Hardware/Software Codesign, pages 25–32, Sept. 22-23, Grenoble, September 1994.

  7. 7.

    D. Bailey et al. Programmable vision processor/controller. In IEEE Micro, pages 33–39, October 1992.

  8. 8.

    M.F. Barnsley and L.P Hurd. Fractal Image Compression. AK Peters Ltd., Wellesley, MA, 1993.

    Google Scholar 

  9. 9.

    A. Benveniste and G. Berry. The synchronous approach to reactive and real-time systems. Proc. IEEE, 79(9): 1270–1282, September 1991.

    Google Scholar 

  10. 10.

    T. Berners-Lee et al. The world-wide web. Comm. ACM, 37(8): 76–82, August 1994.

  11. 11.

    N. S. Borenstein. MIME: A portable and robust multimedia format for internet mail. Multimedia Systems, 1(1): 29–36, 1993.

    Google Scholar 

  12. 12.

    K. Buchenrieder et al. HW/SW co-design with PRAMs using CODES. In D. Agnew et al., editors, Computer Hardware Description Languages. IFIP Trans., vol. A-32, 1993.

  13. 13.

    J. T. Buck, S. Ha, E. A. Lee, and D. G. Messerschmitt. Ptolemy: A framework for simulating and prototyping heterogeneous systems. Int. Journal of Computer Simulation, 4: 155–182, April 1994.

    Google Scholar 

  14. 14.

    R. Camposano and J. Wilberg. Embedded system design. J. Design Automation for Embedded Systems, 1(1/2): 5–50, 1996.

    Google Scholar 

  15. 15.

    R. Camposano and W. Wolf, editors. High-Level VLSI Synthesis. Kluwer Academic Publishers, Boston, 1991.

    Google Scholar 

  16. 16.

    Proc. IEEE Compcon' 95, Digest of Technical Papers, San Francisco, March 1995.

  17. 17.

    H. Corporaal and H.J.M. Mulder. MOVE: A framework for high-performance processor design. In '91, Albuquerque, November 1991.

  18. 18.

    K. Diefendorff, R. Oehler, and R. Hochsprung. Evolution of the powerPC architecture. IEEE Micro, 14(2): 34–49, April 1994.

    Google Scholar 

  19. 19.

    K. Diefendorff and E. Silha. The powerPC user instruction set architecture. IEEE Micro, 14(5): 30–41, October 1994.

    Google Scholar 

  20. 20.

    K.M. Dixit. New CPU benchmark suites from SPEC. In '92, pages 305–310, 1992.

  21. 21.

    R. Ernst, J. Henkel, and Th. Benner. HW/SW cosynthesis for microcontrollers. In IEEE Design & Test, pages 64–75, December 1993.

  22. 22.

    D. D. Gajski, F. Vahid, and S. Narayan. System-Level Methodology and Technology. E-DAC Tutorial, 1994.

  23. 23.

    D.D. Gajski, F. Vahid, and S. Narayan. A system-design methododlogy: Executable-specification refinement. In '94, pages 458–463, 1994.

  24. 24.

    D.J. Le Gall. The MPEG video compression algorithm. Signal Processing: Image Communication, 4: 129–140, 1992.

    Google Scholar 

  25. 25.

    S. Gibbs. Index to multimedia information sources. http: //viswiz.gmd.de/MultimediaInfo/.

  26. 26.

    J.P.F. Glas and S.E. Skolnik. Fourier transform based DS/FH spread spectrum receiver. In Int. Conf. Computer Design, pages 420–423, Cambridge, MA, Oct. 10-12, October 1994.

  27. 27.

    GMD. The CASTLE analysis environment. http://alcatraz.gmd.de:9422/designenv/hello.html.

  28. 28.

    GMD. SIR/CASTLE online help system. http://alcatraz.gmd.de:9422/castle/doc/start.html.

  29. 29.

    J. Gong, D.D. Gajski, and A. Niclau. A performance evaluator for parameterized ASIC architectures. In Proc. EuroDAC, 1994.

  30. 30.

    P. Gupta et al. Experience with image compression chip design using unified system construction tools. In DAC, pages 250–256, 1994.

  31. 31.

    R.K. Gupta, C.N. Coelho, and G. De Micheli. Program implementation schemes for hardware-software systems. In IEEE Computer, pages 48–55, January 1994.

  32. 32.

    R.K. Gupta and G. De Micheli. Hardware-software cosynthesis for digital systems. IEEE Design & Test, 10(3): 29–41, September 1993.

    Google Scholar 

  33. 33.

    J.L. Hennessy and D. A. Patterson. Computer Architecture: A Quantitative Approach. Morgan Kaufmann Publ., 1990.

  34. 34.

    D. Herrmann, J. Henkel, and R. Ernst. An approach to the adaptation of estimated cost parameters in the COSYMA system. In 3rd Int. Workshop on Hardware/Software Codesign, pages 100–107, Sept. 22-23, Grenoble, September 1994.

  35. 35.

    F. Hoeg, N. Mellergaard, and J. Staunstrup. The priority queue as an example of hardware/software codesign. In 3rd Int. Workshop on Hardware/Software Codesign, pages 81–88, Sept. 22-23, Grenoble, September 1994.

  36. 36.

    J. Hoogerbrugge and H. Corporaal. Transport-triggering vs. operation-triggering. In Proc. ACM Int. Conf. Compiler Construction, Edinburgh, 1994.

  37. 37.

    X. Hu et al. Codesign of architectures for automotive powertrain modules. IEEE Micro, 14(4): 17–25, August 1994.

    Google Scholar 

  38. 38.

    A.C. Hung. PVRG-JPEG codec 1.1. ftp://havefun.stanford.edu/pub/jpeg/JPEGDOCv1.1.tar.Z.

  39. 39.

    A.C. Hung. PVRG-p64 codec 1.1. ftp://havefun.stanford.edu/pub/p64/P64DOCv1.1.tar.Z.

  40. 40.

    K. Hwang. Advanced Computer Architecture: Parallelism, Scalability, Programmability. McGraw-Hill, 1993.

  41. 41.

    IEC. International electrotechnical commission. http://www.hike.te.chiba-u.ac.jp/ikeda/IEC/home.html.

  42. 42.

    T. B. Ismail, M. Abid, and A. Jerraya. COSMOS: A codesign approach for communicating systems. In 3rd Int. Workshop on Hardware/Software Codesign, pages 17–24, Sept. 22-24, Grenoble, September 1994.

  43. 43.

    ISO. Welcome to ISO online. http://www.iso.ch/index.html.

  44. 44.

    ISO/IEC. Informationtechnology – Coding of moving pictures and associated audio for digital storage media up to about 1.5 Mbit/s, volume 11172. ISO/IEC, 1993.

  45. 45.

    ISO/IEC. Information technology-Digital compression and coding of continuous-tone still images, Requirements and Guidelines, volume 10918-1. ISO/IEC, 1994.

  46. 46.

    ITU-T. Series h recommendations. gopher://info.itu.ch/11/.1/itudoc/public/gophertree/.1/.itu-t/.rec/.h.

  47. 47.

    ITU-T. Video Codec for Audiovisual Services at px64 kbit/s. Recommendation H.261, Helsinki, March 1-12, March 1993.

  48. 48.

    R. Jain et al. Predicting system-level area and delay for pipelined and nonpipelined designs. IEEE Trans. CAD, 11(8): 955–965, August 1992.

    Google Scholar 

  49. 49.

    A. A. Jerraya et al. Linking system design tools and hardware design tools. In D. Agnew others, editor, Computer Hardware Description Languages. IFIP Trans., vol. A-32, 1993.

  50. 50.

    J. Hoogerbrugge and H. Corporaal. Automatic synthesis of transport triggered processors. In Proc. Ist Annual Conf. ASCI, pages 1–11, May 1995.

  51. 51.

    M. Johnson. Superscalar Microprocessor Design. Prentice Hall, 1991.

  52. 52.

    JPEG. JPEG image compression: Frequently asked questions. http://www.cis.ohio-state.edu/hypertext/ faq/usenet/jpeg-faq/faq.html.

  53. 53.

    A. Kalavade and E. A. Lee. A hardware/software codesign methodology for DSP applications. IEEE Design and Test, 10(3): 16–28, September 1993.

    Google Scholar 

  54. 54.

    A. Kalavade and E.A. Lee. A global criticality/local phase driven algorithm for the constrained hardware/ software partitioning problem. In 3rd Int. Workshop on Hardware/Software Codesign, pages 42–48, Sept. 22-24, Grenoble, September 1994.

  55. 55.

    G. Kane and J. Heinrich. MIPS RISC Architecture. Prentice Hall, Englewood Cliffs, NJ, 1992.

    Google Scholar 

  56. 56.

    B. Kerridge. System simulation embraces real-time control prototyping. In EDN, pages 49–57, May 26, May 1994.

  57. 57.

    B. Landwehr, P. Marwedel, and R. Dömer. OSCAR: Optimum Simultaneous Scheduling, Allocation and Resource Binding Based om Integer Programming. EuroDAC, 1994.

  58. 58.

    D. Lanneer, M. Cornero, G. Goossens, and H. De Man. Data routing: a paradigm for efficient data-path synthesis and code generation. In 7th Int. Workshop on High-Level Synthesis, pages 17–21, Niagara-onthe-Lake, Ontario, Canada, May 18-20, May 1994.

  59. 59.

    R. Lee. Precision architecture. IEEE Computer, 22(1): 78–91, Jan 1989.

    Google Scholar 

  60. 60.

    R. Lee. Accelerating multimedia with enhanced microprocessors. IEEE Micro, 15(2): 22–32, April 1995.

    Google Scholar 

  61. 61.

    R. L. Lee. Realtime MPEG video via software decompression on a PA-RISC processor. In Compcon [16], pages 186–192.

  62. 62.

    B. Lewis and D. LaLiberti. GNU Emacs Lisp Reference Manual. Free Software Foundation, Cambridge, MA, 1990.

    Google Scholar 

  63. 63.

    D. Libes. Exploring Expect. O' Reilly & Associates, Sebastopol, CA, 1995.

    Google Scholar 

  64. 64.

    C. Liem, T. May, and P. Paulin. Instruction-Set Matching and Selection for DSP and ASIP Code Generation. EDAC, 1994.

  65. 65.

    C. Liem, T. May, and P. Paulin. Register Allocation through Resource Classification for ASIP Microcode Generation. ICCAD, 1994.

  66. 66.

    M. Liou. Overview of the px64 kbps video coding standard. Comm. ACM, 34(4): 59–63, April 1991.

    Google Scholar 

  67. 67.

    J. Madsen and J. P. Brage. Codesign analysis of a computer graphics application. J. Design Automation for Embedded Systems, 1(1/2): 121–145, 1996.

    Google Scholar 

  68. 68.

    L. McMahan and R. Lee. Pathlengths of SPEC benchmarks for PA-RISC, MIPS, and SPARC. In '93, pages 481–490, 1993.

  69. 69.

    G. De Micheli. Computer-aided hardware-software codesign. IEEE Micro, 14(4): 10–16, August 1994.

    Google Scholar 

  70. 70.

    C. Monahan and F. Brewer. Symbolic modeling and evaluation of data paths. Technical Report ECE Technical Report #94-26, University of Santa Barbara, Department of Electrical Engineering, Santa Barbara, CA 93106-9560, October 1994.

  71. 71.

    Morgan Kaufmann, San FranciscoThe PowerPC Architecture, 1994.

  72. 72.

    MPEG. Moving picture expert group. http://www.crs4.it/HTML/LUIGI/MPEG/mpegfaq.html.

  73. 73.

    MPEG. MPEG programs. ftp://ftp.crs4.it/mpeg/programs.

  74. 74.

    H.-G. Musmann et al. Kompressionsalgorithmen für interaktive multimedia-systeme. it+ti, 35(2): 4–18, April 1993.

    Google Scholar 

  75. 75.

    NCSA. Executing shell scripts inside mosaic. http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/Docs/ executing-shell-scripts.html.

  76. 76.

    A.N. Netravali and B.G. Haskell. Digital Pictures: Representation and Compression. Plenum Press, NewYork, 1988.

    Google Scholar 

  77. 77.

    J. Novitsky, M. Azimi, and R. Ghazanavi. Optimizing systems performance based on PentiumTMprocessor. In '93, pages 63–71, 1993.

  78. 78.

    K. A. Olukotun et al. A software-hardware cosynthesis approach to digital system simulation. In IEEE Micro, pages 48–58, August 1994.

  79. 79.

    J. K. Ousterhout. Tcl and the Tk Toolkit. Addison-Wesley Publishing Company, Reading, MA, 1994.

    Google Scholar 

  80. 80.

    K. Patel, B.C. Smith, and L.A. Rowe. Performance of a software MPEG video decoder. In Proc. 1st ACM Int. Conf. on Multimedia, Anaheim, CA, 1993.

  81. 81.

    D. A. Patterson. Microprocessors in 2020. Scientific American, pages 48–51, September 1995.

  82. 82.

    P.G. Paulin, C. Liem, T.C. May, and S. Sutarwala. DSP tool requirements for embedded systems: A telecommunications industrial perspective. J. VLSI Signal Processing, 9: 23–47, 1995.

    Google Scholar 

  83. 83.

    J. Peek, T. O'Reilly, and M. Loukides. UNIX Power Tools. O'Reilly & Associates, Sebastopol, CA, 1993.

    Google Scholar 

  84. 84.

    W. B. Pennebaker and J. L. Mitchell. JPEG Still Image Data Compression Standard. Van Nostrand Reinhold, New York, 1993.

    Google Scholar 

  85. 85.

    Perl5. Perl5 manual. gopher://www.metronet.com:80/11h/perlinfo/perl5/manual.

  86. 86.

    P.G. Plöger, J. Wilberg, M. Langevin, and R. Camposano. WWW based structuring of codesigns. In Int. System-level Sythesis Symposium, Cannes, 1995.

  87. 87.

    S. A. Przybylski. Cache design: A performance-directed approach. Morgan Kaufmann, San Mateo, 1990.

  88. 88.

    PVRG. Video compression programs. ftp://havefun.stanford.edu/pub.

  89. 89.

    J. M. Rabaey and M. Potkonjak. Estimating implementation bounds for real time DSP application specific circuits. IEEE Trans. CAD, 13(6): 669–683, 1994.

    Google Scholar 

  90. 90.

    M. Rabbani. Selected papers on image coding and compression. In Proc. SPIE, vol. MS48, Milestone Series, 1992.

  91. 91.

    S.A. Rabin and S.G. Abraham. Efficient simulation of caches under OPT replacement with applications to miss characterization. In Proc. ACM SIGMETRICS Conf., 1993.

  92. 92.

    B. R. Rau and J. A. Fisher. Instruction-level parallel processing: History, overview, and perspective. In J. Supercomputing, pages 9–50, vol.7, no. 2, May 1993.

    Google Scholar 

  93. 93.

    J.A. Rowson. Hardware/software co-simulation. In 31st Design Automation Conference, pages 439–440, San Diego, CA, 1994.

  94. 94.

    J. Rozenblit and K. Buchenrieder. Codesign: Computer-Aided Software/Hardware Engineering. IEEE Press, 1994.

  95. 95.

    S. Segars, K. Clarke, and L. Goudge. Embedded control problems, thumb, and the ARM7TDMI. IEEE Micro, 15(5): 22–30, October 1995.

    Google Scholar 

  96. 96.

    A. Sharma and R. Jain. Estimating architectural resources and performance for high-level synthesis applications. In 30th ACM/IEEE Design Automation Conference, pages 355–360, 1993.

  97. 97.

    R. L. Sites. Alpha AXP architecture. In Comm ACM, pages 33–44, vol. 36, no. 2, February 1993.

    Google Scholar 

  98. 98.

    A. Smailagic and D.P. Siewiorek. The VuMan 2 wearable computer. IEEE Design & Test, 10(3): 56–67, September 1993.

    Google Scholar 

  99. 99.

    U. Steinhausen et al. System-synthesis using hardware/software codesign. In Int. Workshop on Hardware-Software Co-Design, Cambridge, MA, Oct. 7-8, October 1993.

  100. 100.

    H. S. Stone. High-performance computer architecture. Addison-Wesley, Reading, MA, 1990.

    Google Scholar 

  101. 101.

    P. Stravers. Embedded System Design. PhD thesis, Delft Technical University, Netherlands, 1994.

  102. 102.

    P. Stravers and E. Aardoom. A processor framework customized for navigation computations. Integration, the VLSI J., 14: 197–214, 1992.

    Google Scholar 

  103. 103.

    B. Stroustrup. The C++ Programming Language. Addison-Wesley, Reading, MA, 1991.

    Google Scholar 

  104. 104.

    Sun. SPARC Architecture Manual. Sun Microsystems, Mountain View, CA, 1988.

    Google Scholar 

  105. 105.

    S. Sutarwala, P.G. Paulin, and Y. Kumar. Insulin: An instruction set simulation environment. In Proc. CHDL, pages 355–362, Ottawa, Canada, April 1993.

  106. 106.

    Synopsys Inc. Design Ware Databook, version 3.1a edition, March 1994.

  107. 107.

    M. Theiβinger, P. Stravers, and H. Veit. An interactive environment for HW/SW co-design. In 3rd Int. Workshop on Hardware/Software Codesign, pages 203–209, Sept. 22-23, Grenoble, September 1994.

  108. 108.

    R. Vetter, C. Spell, and C. Ward. Mosaic and the worl-wide web. IEEE Computer, 27(10): 49–57, October 1994.

    Google Scholar 

  109. 109.

    W3. Hypertext markup language (HTML). http://www.w3.org/hypertext/WWW/MarkUp/ MarkUp.html.

  110. 110.

    L. Wall. Programming in Perl. O'Reilly & Associates, 1993.

  111. 111.

    G. K. Wallace. The JPEG still picture compression standard. IEEE Trans. Consumer Electronics, 38(1): 18–34, February 1992.

    Google Scholar 

  112. 112.

    N. Weste. OK, if these CAD tools are so great, why isn't my chip design on schedule? In Int. Conf. Computer Design, pages 2–8, Cambridge, MA, Oct. 10-12, October 1994.

  113. 113.

    J. Wilberg. Codesign for real-time video applications. PhD Thesis, in preparation.

  114. 114.

    J. Wilberg, R. Camposano, M. Langevin, P. Plöger, and T. Vierhaus. Cosynthesis in CASTLE. In G. Saucier and A. Mignotte, editors, Novel Approaches in Logic and Architecture Synthesis, pages 355–366. Chapman & Hall, London, 1995.

    Google Scholar 

  115. 115.

    J. Wilberg, R. Camposano, and W. Rosenstiel. Design flow for hardware/software cosynthesis of a video compression system. In 3rd Int. Workshop on Hardware/Software Codesign, pages 73–80, Sept. 22-23, Grenoble, September 1994.

  116. 116.

    J. Wilberg, R. Camposano, U. Westerholz, and U. Steinhausen. Design of an embedded video compression system-a quantitative approach. In Int. Conf. Computer Design, pages 428–431, Cambridge, MA, Oct. 10-12, October 1994.

  117. 117.

    J. Wilberg, A. Kuth, R. Camposano, W. Rosenstiel, and H.-T. Vierhaus. Design exploration in castle. http:// borneo.gmd.de/~wilberg/desktop/paper/gls96/README.html.

  118. 118.

    N. Wirth. A plea for lean software. IEEE Computer, 28(2): 64–68, February 1995.

    Google Scholar 

  119. 119.

    W. Wolf. Hardware-software co-design of embedded systems. Proc. IEEE, 82(7): 967–989, July 1994.

    Google Scholar 

  120. 120.

    W. Wolf et al. Tigerswitch: A case study in embedded computing system design. In 3rd Int. Workshop on Hardware/Software Codesign, pages 89–96, Sept. 22-23, Grenoble, September 1994.

  121. 121.

    C.-G. Zhou, L. Kohn, D. Rice, I. Kabir, A. Jabbi, and X.-P. Hu. MPEG video decoding with the UltraSPARC visual instruction set. In Compcon [16], pages 470–475.

Download references

Author information

Affiliations

Authors

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Wilberg, J., Camposano, R. VLIW Processor Codesign for Video Processing. Design Automation for Embedded Systems 2, 79–119 (1997). https://doi.org/10.1023/A:1008818711786

Download citation

  • Embedded system design
  • video processing
  • VLIW processors
  • performance analysis