Abstract
The key issue in the design of Systems-on-a-Chip (SoC) is to trade-off efficiency against flexibility, and time to market versus cost. Current deep submicron processing technologiesenable integration of multiple software programmable processors (e.g., CPUs,DSPs) and dedicated hardware components into a single cost-efficient IC. Ourtop-down design methodology with various abstraction levels helps designingthese ICs in a reasonable amount of time. This methodology starts with a high-levelexecutable specification, and converges towards a silicon implementation.A major task in the design process is to ensure that all components (hardwareand software) communicate with each other correctly. In this article, we tacklethis problem in the context of the signal processing domain in two ways: wepropose a modular, flexible, and scalable heterogeneous multi-processor architecturetemplate based on distributed shared memory, and we present an efficient andtransparent protocol for communication and (re)configuration. The protocolimplementations have been incorporated in libraries, which allows quick traversalof the various abstraction levels, so enabling incremental design. The designdecisions to be taken at each abstraction level are evaluated by means of(co-)simulation. Prototyping is used too, to verify the system's functionalcorrectness. The effectiveness of our approach is illustrated by a designcase of a multi-standard video and image codec.
Similar content being viewed by others
References
AMBA specification overview. ARM, http://www.arm.com/Pro+Peripherals/AMBA.
A|RT Designer. Adelante Technologies, http://www.adelantetechnologies.com.
The CoreConnect Bus Architecture. IBM, 1999, http://www-3.ibm.com/chips/techlib/techlib.nsf/techdocs/852569B20050FF77852569910050COFB/crcon.wp.pdf.
PAMELA--A performance modeling language, http://ce-serv.et.tudelft.nl.
Baghdadi, A., D. Lyonnard, N. Zergainoh, and A.A. Jerraya. An Efficient Architecture Model for Systematic Design of Application-Specific Multiprocessor SoC. In Proceedings of the Design, Automation and Test in Europe (DATE) Conference and Exhibition, pp. 55-62, 2001.
Bhaskaran, V. and K. Konstandinitis. Image and Video Compression Standards; Algorithms and Architectures. Kluwer Academic Publishers, 1996.
Bilsen, G., M. Engels, R. Lauwereins, and J. Peperstraete. Static Scheduling of Multi-Rate and Cyclo-Static DSP Applications. In Workshop on VLSI Signal Processing, pp. 137-146, 1994.
Bolsens, I., H. De Man, B. Lin, K. Van Rompaey, S. Vercauteren, and D. Verkest. Hardware/Software Co-Design of Digital Telecommunication Systems. In Proceedings of the IEEE, pp. 391-418, 1997.
Brunel, J.-Y. COSY Tutorial: IP-Based System Design. In Proceedings of the VLSI Conference, 1999.
Brunel, J.-Y., E. A. deKock, W. M. Kruijtzer, H. J. H.N. Kenter, and W. J. M. Smits. Communication Refinement in Video Systems on Chip. In Proceedings of the Seventh International Workshop on Hardware/Software Codesign (CODES), pp.142-146, 1999.
Brunel, J.-Y., W. Kruijtzer, H. Kenter, F. Ptrot, L. Pasquier, E. de Kock, and W. Smits. COSY Communication IP's. In Proceedings 37th Design Automation Conference, pp. 406-410, 2000.
Brunel, J.-Y., A. Sangiovanni-Vincentelli, R. Kress, and W. Kruytzer. COSY: A Methodology for System Design Based on Reusable Hardware & Software IP's. In Proceedings of the European Multimedia, Microprocessor Systems and Electronic Commerce Conference, pp. 709-716, 1998.
Buck, J. Static Scheduling and Code Generation from Dynamic Dataflow Graphs with Integer Valued Control Signals. In Asilomar Conference Signals Systems and Computers, PacificGrove, California. pp. 508-513, 1994.
Busa, N., G. Alkadi, M. Verberne, R. Peset Llopis, and S. Ramanathan. RAPIDO: A Modular, Multi-Board, Heterogeneous Multi-Processor, PCI Bus Based Prototyping Framework for theValidation of SoC VLSI Designs. In Proceedings of the 13th IEEE Workshop on Rapid System Prototyping, pp. 159-165, 2002.
Catthoor, F., F. Fraussen, S. Wuytack, L. Nachtergaele, and H. de Man. Global Communication and Memory Optimizing Transformations for Low-Power Signal Processing Systems. In Proceedings of the IEEE Workshop on Signal Processing, La Jolla, CA, 1994.
Dasygenis, M., N. Kroupis, A. Argyriou, K. Tatas, D. Soudris, and N. Zervas. A Memory Management Approach for Efficient Implementation of Multimedia Kernels on Programmable Architectures. In Proceedings of the IEEE Computer Society Annual Workshop on VLSI, 2001.
de Haan, G. and P.W. A.C. Biezen. Sub-Pixel Motion Estimation with 3-D Recursive Search Block-Matching, Signal Processing: Image Communications, vol.6, pp. 485-498, 1995.
deKock, E. A., G. Essink, W. J. M. Smits, P. van der Wolf, J.-Y. Brunel, W. M. Kruijtzer, P. Lieverse, and K. A. Vissers. YAPI: Application Modelling for Signal Processing Systems. In Proceedings of the Design Automation Conference, pp. 402-405, 2000.
Ernst, R. Codesign of Embedded Systems: Status and Trends. In IEEE Design & Test of Computers, pp. 45-54, 1998.
Ferrari, A. and A. Sangiovanni-Vincentelli. System Design: Traditional Concepts and New Paradigms. In Proceedings of the International Conference on Computer Design, pp. 2-12, 1999.
Gangwal, O. P., A. K. Nieuwland, and P. E. R. Lippens. A Scalable and Flexible Data Synchronization Scheme for Embedded HW-SW Shared-Memory Systems. In Proceedings of the International Symposium on System Synthesis, pp.1-6, 2001.
Goossens, K. G. W. and O. P. Gangwal. The Cost of Communication Protocols and Coordination Languages in Embedded Systems. In Proceedings of the 5th International Conference on Coordination Languages and Models, COORDINATION 2002, York (UK), pp. 174-190, 2002.
Hennessy, J. L. and D.A. Patterson. Computer Architecture: A Quantitative Approach, Second Edition. San Mateo, CA: Morgan Kaufmann, 1995.
Goossens, K.G.W. A Protocol and Memory Manager for On-Chip Communication. In Proceedings of the International Symposium on Circuits and Systems, Vol.II, Sydney, pp. 225-228, 2001.
Kahn, G. The Semantics of a Simple Language for Parallel Programming. In Information Processing, J. L. Rosenfeld, Ed., North-Holland Publishing Co., 1974.
Kang, J., A. van der Werf, and P. E. R. Lippens. Mapping Array Communication onto FIFO Communication--Towards an Implementation. In Proceedings of the International Symposium on System Synthesis, pp. 207-213, 2000.
Keutzer, K., S. Malik, R. Newton, J. M. Rabaey, and A. Sangiovanni-Vincentelli. System-Level Design: Orthogonalization of Concerns and Platform-Based Design, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 19, pp. 1523-1543, 2000.
Kleihorst, R. P. and R. J. van der Vleuten. DCT-Domain Embedded Memory Compression for Hybrid Video Coders. In Journal of VLSI Signal Processing Systems, vol. 24. pp. 31-41, 2000.
Lee., E. A. and D.G. Messerschmidt. Static Scheduling of Synchronous Data Flow Graphs for Digital Signal Processors. In Proceedings of the IEEE, vol. 75, pp.1235-1245, 1987.
Lee, E. A. and T. M. Parks. Dataflow Process Networks, Proceedings of the IEEE, vol. 83, no.5. pp. 773-799, 1995.
Leijten, J. A. J., J. L. van Meerbergen, A. H. Timmer, and J. A. G. Jess. Prophid: A Platform-Based Design Method, Journal of Design Automation for Embedded Systems, vol. 6, no.1, pp. 5-37, 2000.
Lyonnard, D., S. Yoo, A. Baghdadi, and A. A. Jerraya. Automatic Generation of Application-Specific Architectures for Heterogeneous Multiprocessor System-on-Chip. In Proceedings of the Design Automation Conference, pp. 518-523, 2001.
Mellor-Crummey, J. M.and M.L. Scott. Algorithms for Scalable Synchronization on Shared-Memory Multiprocessors, ACM Transactions on Computers Systems, vol. 9, pp. 21-65, 1991.
Nachtergaele, L., F. Catthoor, F. Balasa, F. Franssen, E. de Greef, H. Samsom, and H. de Man. Optimization of Memory Organization and Hierarchy for Decreased Size and Power in Video and Image Processing Systems. In Proceedings of the International Workshop on Memory Technology, San Jose, CA, 1995.
Nachtergaele, L., D. Molenaar, B. Vanhoof, F. Catthoor, and H. de Man. System-Level Power Optimization of Video Coders on Embedded Cores: A Systematic Approach. In Journal of VLSI Signal Processing, vol. 18, pp. 89-109, 1998.
Nieuwland, A. K. and P. E. R. Lippens. A Heterogeneous HW-SW Architecture for Hand-Held Multi-Media Terminals. In IEEE Workshop on Signal Processing Systems, pp. 113-122, 1998.
Peset-Llopis, R., M. Oosterhuis, S. Ramanathan, P. E. R. Lippens, A. van der Werf, S. Maul, and J. Lin. HW-SW Co-Design and Verification of a Multistandard Video and Image Codec. In Proceedings of the IEEE International Symposium on Quality Electronic Design, pp. 393-398, 2001.
Sangiovanni-Vincentelli, A. and G. Martin. Platform-Based Design and Software Design Methodology for Embedded Systems, IEEE Design 33, 2001.
Sasaki, H. Multimedia Complex on a Chip. In Proceedings of the International Solid State Circuits Conference, pp.16-19, 1996.
M. Sgroi, M. Sheets, A. Mihal, K. Keutzer, S. Malik, J. Rabaey, and A. Sangiovanni-Vincentelli. Addressing the System-on-a-Chip Interconnect Woes Through Communication-Based Design. In Proceedings of Design Automation Conference, pp. 667-672, 2001.
Soudris, D., N. Zervas, A. Argyriou, M. Dasygenis, K. Tatas, C. Goutis, and A. Thanailakis. Data-Reuse and Parallel Embedded Architecures for Low-Power, Real-Time Multimedia Applications. In Proceedings of the IEEE International Workshop on Power and Timing Modeling, Optimization and Simulation, pp. 243-254, 2000.
Tanenbaum, A. S. Computer Networks, The Netherlands: Prentice Hall International Inc., 1981.
van Ommering, R., F. van der Linden, J. Kramer, and J. Magee. The Koala Component Model for Consumer Electronics Software, IEEE Computer, vol. 33. pp. 78-85, 2000.
van Rompaey, K., D. Verkest, I. Bolsens, and H. de Man. CoWare--A Design Environment for Heterogeneous Hardware/Software Systems. In Proceedings of the Design Automation for Embedded Systems Conference, pp. 357-386, 1996.
Vercauteren, S., B. Lin, and H. D. Man. Constructing Application-Specific Heterogeneous Embedded Architectures from Custom HW/SW Applications. In Proceedings of the Design Automation Conference, 1996.
Author information
Authors and Affiliations
Additional information
He currently works with Magma Design Automation. E-mail:
Rights and permissions
About this article
Cite this article
Nieuwland, A., Kang, J., Gangwal, O.P. et al. C-HEAP: A Heterogeneous Multi-Processor Architecture Template and Scalable and Flexible Protocol for the Design of Embedded Signal Processing Systems. Design Automation for Embedded Systems 7, 233–270 (2002). https://doi.org/10.1023/A:1019782306621
Issue Date:
DOI: https://doi.org/10.1023/A:1019782306621