System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik...

56
System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Transcript of System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik...

Page 1: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

System on Chip Co-DesignMR 2005/06

inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik

12, 2003

Page 2: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Caractéristiques des systèmes embarqués (1)

Doit être sûr,(à considérer dès la conception)– Fiabilité R(t) = probabilité pour que le système fonctionne

correctement si c’était satisfait à t=0– Maintenabilité M(d) = probabilité pour que le système

fonctionne correctement d unités de temps après une erreur– Disponibilité: probabilité pour qu’il fonctionne à l’instant t– Sûreté: aucun dommage– Sécurité: confidentialité et authenticité des

communications

Page 3: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Caractéristiques des systèmes embarqués(2)

Doit être efficace– Energie– Taille du Code – Run-time – Poids– Coût

Dédié à certaines applicationsConnaissance du comportement à la conception facilite la minimisation des ressources et la maximisation de la robustesse

User interface dédiée(pas de sourie, clavier , écran…)

Page 4: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Caractéristiques des systèmes embarqués(3)

ES doit répondre à des contraintes real-time – Un système real-time doit réagir à un stimuli dans un

intervalle de temps dépendant de l’environnement.– Un système temps réel qui produit une bonne réponse mais

trop tard est faux.– „A real-time constraint is called hard, if not meeting that

constraint could result in a catastrophe“ [Kopetz, 1997].– Les autres contraintes sont appelées soft.– La réponse d’un système ne peut être statistique, elle est au

pire des cas.

Page 5: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Caractéristiques des systèmes embarqués(4)

Généralement connecté à un environnement physique tels que capteurs, acteurs…

Système hybride(analogique + digital).

ES sont des systèmes réactifs:

„A reactive system is one which is in continual interaction

with is environment and executes at a pace determined by

that environment“ [Bergé, 1995]

Le comportement dépend des entrées à l’instant courrant.

Modèle d’automate approprié,

modèle de fonctions exécutables est inapproprié.

Page 6: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Caractéristiques des systèmes embarqués(5)

Tous les ES ne possèdent pas toutes ces caractéristiques.

Définition: Un système de traitement de l‘information présentant la plupart de ces caractéristiques est appelé système embarqué: embedded system.

Page 7: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Specification des systèmes embarqués(1)

HierarchieL’homme n’est pas capable de comprendre un système contenant plus de ~5 objets.La plupart des ES manipulent plus d’objets

– Comportement hiérarchiqueExemples: states, processes, procédures.

– Structure hiérarchiqueExemples: processors, racks, printed circuit boards

Comportement du temps.

Comportement orienté état :StatePour des systèmes réactifs;Automates classiques sont insuffisants.

Page 8: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Specification des systèmes embarqués(2)

Event-handling (événement interne ou externe) Pas d’obstacles pour une implémentation

efficace Support pour la conception de système sûrs

Sémantique non ambiguë ...

Page 9: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Specification des systèmes embarqués(3)

ConcurrenceSystèmes réels sont concurrents

Synchronisation et communicationComposants doivent communiquer!

Présence d’éléments de programmationPar exemple, opérations arithmétiques, loops, et function calls doivent exister

Exécutable (pas de spécification algébrique) Support pour le design de grands systèmes

( OO) Support spécifique au domaine

Page 10: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Specification des systems embarqués(4)

Lisibilité Portabilité et flexibilité Terminaison

A quel moment tous les calculs sont terminés. Support pour de devices I/O

Accès direct aux switches, displays, ... Propriété non-fonctionelle

fault-tolerance, jetable, poids, taille, user friendly, extensibilité, life time, power consumption...

Modèle adéquate de calcul

Page 11: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Modélisation à différents niveaux d’abstraction

A visiter– http://www.irisa.fr/archi03/Presentations/presentat

ions.htm

Extrait de– http://www.irisa.fr/archi03/Presentations/Calvez.p

df

Et de – http://tima-cmp.imag.fr/~lyonnar2

Page 12: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Objectif : une architecture de SoC

Page 13: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

OMAP 1510

Page 14: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Omap

Page 15: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.
Page 16: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Evolution de l’architecture

Page 17: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Techniques de conception

70-80 : full-custom– Schéma – Dessin des masques– Simulation electronique

80-90 : Précaractérisé FPGA– Réutilisation de briques élémentaires– Modélisation, simulation

00-xx : SoC– Réutlisation du matériel et logiciel– Co-design, vérification

Page 18: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Principes de conception

Une architecture matérielle– Blocs standards (CPU, mem)– Blocs spécifiques– Bus de communication

Des ressources logicielles SoC = cohabitation de ces ressources sur un

même chip, prise en compte globale pour la réalisation hard/soft

Page 19: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Quelle architecture?

Architecture Généraliste ou Spécialisée?

Page 20: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Application Specific Circuits (ASICS)

Circuits custom-designed sont nécessaires pour une recherche de vitesse et d’économie de consommation dans une grosse production.Cette approche nécessite un temps de conception important et un coût de fabrication élevé (e.g. Mill. $ pour le masque).

Page 21: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Conception de SoCConception de SoC

Page 22: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Réalisation d’un SoC

Réutiliser les blocs déjà conçus dans la société ;

Utiliser les générateurs de macro-cellules (Ram, multiplieurs,…)

Acheter des blocs conçus hors de l’entreprise.

Page 23: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Notion d’IP (Intellectual Property)

Blocs fonctionnels complexes réutilisables– Hard: déjà implanté, dépendant de la

technologies, fortement optimisé– Soft: dans un langage de haut niveau (VHDL,

Verilog, C++…), paramétrables Normalisation des interfaces ( OCP) Environnement de développement (co-

design, co-specif, co-verif) Performances moyennes (peu optimisé)

Page 24: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Utilisation d’IP

Bloc réutilisable (IP) – connaître les fonctionnalités– estimer les performances dans un système– être sûr du bon fonctionnement de l’IP– intégrer cet IP dans le système– valider le système

Page 25: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Commerce d ’IP « design & reuse »

Page 26: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Méthodologies de conception

Procédure pour concevoir un système. Comprendre une méthodologie aide à garantir la

sécurité de la conception. Flot de conception : de compilateurs, outils de

développement logiciel, outils de conception assistée par ordinateur (CAD), etc., permettant de:

– aider à automatiser les étapes de la méthodologie;– garder trace de l’application de la méthodologie (gestion de

version, rapports, accélération des itérations).

Page 27: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Buts de la conception

Performances.– Rapidité globale, échéances.

Fonctionnalité et interface utilisateur. Coût de fabrication. Consommation. Divers exigences (encombrements, etc.)

Page 28: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Définition

Méthode:– technique de résolution de problème caractérisée par un

ensemble de règles bien définies qui conduisent à une solution correcte

Méthodologie:– un ensemble structuré et cohérent de modèles, méthodes,

guides et outils permettant de déduire la manière de résoudre un problème

Modèle:– une représentation d'un aspect partiel et cohérent du

«monde» réel – précède toute décision ou formulation d’une opinion – est élaboré pour répondre à la question qui conduit au

développement d’un système

Page 29: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Rôle d’un modèle pour les systèmes

Abstraction– Eliminer des détails, focaliser sur un point de vue du système– Travailler à différentes échelles de complexité et de temps

Analyse– Etude des propriétés du modèle (vérification de propriétés)– Extrapolation au système réel représenté

Communication– Discussion et échanges avec d’autres personnes– Echanges entre outils

Génération/Production– Produire une représentation d’un autre niveau (autre modèle)– Produire le système réel

=> Modèle à retenir: fonction de l’objectif visé

Page 30: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Modèle de cycle de développement en V

Page 31: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Top-down, bottom-up & co.

Conception top-down :– Commencer par une description très abstraite;– Enrichir de détails solutions spécifiques.

Conception Bottom-up :– Assembler des petits composants pour obtenir un

gros système assemblage spécifique.

Conception à base de plate-formes :– Cas réels utilisent ces deux techniques

assemblage et configuration spécifique.

Page 32: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Développement de systèmes

Page 33: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Nouveau développement de systèmes

Page 34: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Flot de conception

Page 35: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Le codesign

Page 36: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Les niveaux d'abstraction

Niveaux d’abstraction:– système– Macro-architecture– µ-architecture– Physiques

Sémantique des objets pour chaque niveau d’abstraction?– Responsabilités?– Destinations?

Page 37: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Le model Y

Page 38: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Model based Codesign

Visual modeling – Intensive Signal Processing Application (ISP-A)– Hardware architecture– Hardware/software association/deployment

Automatic exploitation of metamodel specification – Simulation– Refinement, transformations– Code generation

Reuse of application and Hardware architecture– Other simulation, other middleware…

Page 39: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

MDE/MDA Focus

Proposes– Increase the reuse of existing developments– Reduce the time to market– Increase the lifetime of current and future developments– Ease the integration of new technologies with long proven

business models Means

– Clear separationOf the fundamental logic of the specification From the particular implementation technologies

Page 40: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Model is not new

Languagespec

Model definition

Byte codeskeleton

Application translation

Lex & Yaccanalysis

Execution

Page 41: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

20 years of modeling

New model implies new language– Thousands of dialects– Syntaxic/semantic analyzers (Lex-Yacc like)– Code generators

No reuse No capitalization No tool for automatic production

Page 42: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Model Driven Engineering

Metamodel application

UML Profile

Metamodel execution

Mappingrules

Visual specificationof application mode using TAU G2

Internal representation

SystemC code generationInternal representation

MOF domain

RefinementPlatform Platform

descriptiondescription

PSM

PIM

Ptolemy

Page 43: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Model and Metamodel

Meta-metamodel Described with the MOF (Meta Object Facility) Provides XMI production rules, JMI

specification, … Metamodel

– Can be seen as a “language” definition: Available modeling elements Construction rules

Model – Follow the rules expressed in the “language” – Describe an application

Application– Concrete realization of a model – Example : generated code

meta metamodel M3

metamodel M2

model M1

application M0

Page 44: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

« Y » model In GasPard

3 models– ISP applications– Target architectures– Mapping of applications

on architectures

Model separation allows reuse

Typical programming techniques in SoC design

ApplicationHardware

Architecture

AssociationDeployment

User applications

Compilers VC

Models

Page 45: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Why three levels of formalism

Application:– Complete formal description (a priori validation )– Hardware independent– Simulation and compilation compatibility

Hardware architecture– Functional description : active and passive elements– Iterative refinement– Application independent

Association/deployment– Association of one application on one architecture– Data allocations– Data transfers– Processing distribution (on different platforms)

Page 46: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Metamodels

ISP-UML(application)

PIM

hardwarearchitecture

PIM

Ptolemy IIModel

DPN*Model

SystemCModel

VHDLModel

Mapping rules

use model use model

- Platform specification concepts

PSM

PIM

associationsPIM

deploymentPSM

interoperability Model

- Application and architecture association concepts independently of targeted platforms.

*Distributed Process Network

Page 47: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

hardware architecture

signals frequencies

et :FFT

'signal' frequencies

inTiler:ComplexInputTiler<<aolTiler>>

array pattern

outTiler:ComplexOutputTiler<<aolTiler>>

pattern array

Methodology View

JavaModel

DPNModel

SystemCModel

VHDLModel

Java code C++ codeSystemC

C++ codeVHDL

files

PSM

PIM

interoperability Model

software / hardware interoperability

automatic transformation

inputSignal outputSignal

fft:InfFFT

signals frequencies

abs:InfAbsoluteValue

values

abs

square:InfSquare

values

squares

energy:InfEnergy

values

energies

threshold:InfThreshold levels

thresholds

rejection:InfRejection

inFrequencies

squaredModulesthresholds

outFrequencies

ifft:InfIFFT

frequencies

signals

ISP-UML

association

signals frequencies

et :FFT

'signal' frequencies

inTiler:ComplexInputTiler<<aolTiler>>

array pattern

outTiler:ComplexOutputTiler<<aolTiler>>

pattern array

inputSignal outputSignal

fft:InfFFT

signals frequencies

abs:InfAbsoluteValue

values

abs

square:InfSquare

values

squares

energy:InfEnergy

values

energies

threshold:InfThreshold levels

thresholds

rejection:InfRejection

inFrequencies

squaredModulesthresholds

outFrequencies

ifft:InfIFFT

frequencies

signals

deployment

signals frequencies

et :FFT

'signal' frequencies

inTiler:ComplexInputTiler<<aolTiler>>

array pattern

outTiler:ComplexOutputTiler<<aolTiler>>

pattern array

inputSignal outputSignal

fft:InfFFT

signals frequencies

abs:InfAbsoluteValue

values

abs

square:InfSquare

values

squares

energy:InfEnergy

values

energies

threshold:InfThreshold levels

thresholds

rejection:InfRejection

inFrequencies

squaredModulesthresholds

outFrequencies

ifft:InfIFFT

frequencies

signals

automatic generation

1 1b2

3

4

5

2b

2ctransformations

SynDEx AAA

refinement6

Page 48: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

PIM/PSM and transformations

“A platform is the specification of an execution environment for models. The term platform is used to refer to technological and engineering details that are irrelevant to the fundamental functionality of a system.'' -- OMG Architecture Board

A system described at the Platform Independent level Can be mapped to several Platform Specific Models By the way of mapping rules

– Transformations from model to model– Defined between the metamodels– Allow to keep the models in sync

PIM PSM

metamodel metamodel

mappingrules

is defined by

is defined by

based on

Page 49: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

PSM and model transformations

Definition of the abstraction models for different platforms– SystemC– SpecC– Ptolemy– Esterel/scade– …

Tool for model transformation (MODTransf)– Transformation rule definition for each PSM

Page 50: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Model to ModelTransformation Engine

Home made and working ;-)– http://www.lifl.fr/west/mdaTransf

Open source and customizable– Others can use it, improve it, provide other rule

representation, …

Takes into account the remarks on OMG-QVT proposals

Page 51: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Transformation Engine:Basic Principle

Models contain concepts– Defined in metamodel

A transformation == submit a concept to the engine– The engine chooses the appropriate rule– The rule performs the transformation of the concept– The rule calls the engine for nested concepts

rules

modelmodelmodel model

rules

transformationengine

Page 52: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

A Model to Model TransformationsISP (Ptolemy II; SystemC)

Application High Level

Modeling (UML 2)

Ptolemy II Simulation,code generation

save /

load

UML2 metamodel

is defined by

ISP metamodel

import / export

Ptolemy II

metamodel

model transformation

hardware metamodel

SystemC metamodel

model transformatio

n

SystemC

hardware

drivesapplication Pt II

transf. rulestransf.engine

transf.engine SystemC

transf. rules

transf.

engine

UML2 applicationtransf. rules

drives

is defined by

Ptolemy II

application

is defined by

drives

C++ Code

Page 53: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

TLM & Caba

Interop Bridge

Interop Bridge

AppliPIM

archiPIM

JavaPSM

CorbaPSM

SystemCPSM

VHDLPSM

Java codeCorba code

SystemC code

VHDL files

Association PIMPIM

produce

- Specify platform for each part

- Map application on architecture independently of targeted platforms

TLM PIM

RTL PIM

VerilogPSM

Verilog files

SystemCPSM

SystemC code

- Refining the PIM models

Page 54: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Towards standardization…

A part of the UML2.0 profile dedicated to Real-Time and Embedded systems

RFP at OMG call MARTE…. Collaboration with a lot of partners is

starting… Presentation in UML for SoC workshop,

(DAC 05) available

Page 55: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

General Requirements

UML Profile for modeling and analysis of real-time and embedded (MARTE) systems including its software and hardware aspects

– The Proposals will define a UML profile Relying on a conceptual model definition

– It shall be possible to use independently software and hardware parts of the profile

– It shall comply with standards UML 2.0 UML profiles for QoS&FT, Testing Forthcoming UML profile for SE (SysML)

– It shall update the SPT profile 1.1

Page 56: System on Chip Co-Design MR 2005/06 inclus des extraits de P. Marwedel, Univ. Dortmund, Informatik 12, 2003.

Roadmap

RFP voted at Burlingame (February 2005) LOI: June 05 (Boston meeting) Initial submission: November 0 Revised submission: June 06 Vote : September 2006