Article | REF: H8450 V1

Introduction to hardware/software codesign. A general overview

Authors: Abdoulaye GAMATIE, Lionel TORRES

Publication date: August 10, 2017

You do not have access to this resource.
Click here to request your free trial access!

Already subscribed? Log in!


Overview

Français

ABSTRACT

This article is an introduction to system-on-chip hardware/software codesign. It sets out general principles and concepts to describe, evaluate/analyze and implement these systems. It states key design steps, found in usual codesign approaches: specification and modeling of system characteristics (requirements, functionalities, etc.), partitioning into hardware and software components, synthesis and verification for inferring an implementation of both components while guaranteeing that system requirements are met. Methodological issues for the designer are also addressed. The article ends with an open discussion on possible impacts of emerging technologies (nonvolatile memories, etc.) and new computing paradigms (neuro-inspired, quantum computing, etc.) on system codesign.

Read this article from a comprehensive knowledge base, updated and supplemented with articles reviewed by scientific committees.

Read the article

AUTHORS

  • Abdoulaye GAMATIE: Director of Research at CNRS, - Montpellier Laboratory of Computer Science, Robotics and Microelectronics (LIRMM)

  • Lionel TORRES: Professor at the University of Montpellier, Polytech'Montpellier - Montpellier Laboratory of Computer Science, Robotics and Microelectronics (LIRMM)

 INTRODUCTION

Integrated circuits enable the integration of logic functions on a silicon chip, based on a single element - the transistor. The power of these circuits increases with the number of transistors, but there is a limitation. Indeed, thermal dissipation becomes too high in the presence of a large number of components. Parallel architectures offer an interesting solution to this limitation, since power dissipation no longer varies exponentially with computing power, as in a single-processor machine, but linearly in a multi-processor machine.

Significant developments are also taking place at software and application level. In view of all these changes, the hardware/software "co-design" methodology offers an interesting solution for the efficient implementation of systems-on-chip.

This article provides an overview of the general principles and concepts relating to joint hardware/software design. This is organized around the main stages of a classical design flow: first, we address the issue of specification and modeling; then, we introduce the challenges of hardware/software partitioning, followed by a general presentation concerning synthesis and verification techniques; finally, methodological aspects are discussed through an illustration based on a few model-based joint design environments. As an open discussion on a possible evolution of current practices in hardware/software joint design, we offer a brief reflection on emerging technologies and new computational paradigms.

You do not have access to this resource.

Exclusive to subscribers. 97% yet to be discovered!

You do not have access to this resource.
Click here to request your free trial access!

Already subscribed? Log in!


The Ultimate Scientific and Technical Reference

A Comprehensive Knowledge Base, with over 1,200 authors and 100 scientific advisors
+ More than 10,000 articles and 1,000 how-to sheets, over 800 new or updated articles every year
From design to prototyping, right through to industrialization, the reference for securing the development of your industrial projects

KEYWORDS

embedded system   |   hadware/software codesign   |   system-on-chip


This article is included in

Software technologies and System architectures

This offer includes:

Knowledge Base

Updated and enriched with articles validated by our scientific committees

Services

A set of exclusive tools to complement the resources

Practical Path

Operational and didactic, to guarantee the acquisition of transversal skills

Doc & Quiz

Interactive articles with quizzes, for constructive reading

Subscribe now!

Ongoing reading
Introduction to joint hardware/software design