Prsentation PowerPoint - PowerPoint PPT Presentation

1 / 70
About This Presentation
Title:

Prsentation PowerPoint

Description:

Outils informatiques inexistants ou en cours de d veloppement ... affectation de variable en un cycle d'horloge. taille des variables d finies au bit pr s ... – PowerPoint PPT presentation

Number of Views:529
Avg rating:3.0/5.0
Slides: 71
Provided by: BELTE
Category:

less

Transcript and Presenter's Notes

Title: Prsentation PowerPoint


1
LES SYSTEMES SUR PUCES PROGRAMMABLES
Une autre façon de concevoir les systèmes
électroniques
2
GENESE DES SYSTEMES SUR PUCE
Avant
Maintenant
Système sur circuit imprimé
Maintenant
Implantation dans un ASIC
Implantation dans un FPGA
3
AVANTAGES DU SYSTEME SUR PUCE
  • Miniaturisation facilitée
  • Robustesse améliorée (mécanique,électromagnétique,
    radiations)
  • Consommation électrique en baisse
  • Performance en fréquence meilleure
  • Temps de mise sur le marché plus court
  • Coût global en diminution

4
CONTRAINTES DU SYSTEME SUR PUCE
  • Méthodologie de développement plus stricte
  • Outils informatiques inexistants ou en cours de
    développement
  • pour certaines parties du développement
  • Liaison plus forte entre le logiciel et le
    matériel
  • Absence doutil  polyvalent  pour le
    partitionnement
  • Automatique logiciel/matériel

5
TECHNOLOGIES DES COMPOSANTS CIBLES
  • gtASIC ( Application Specific Integrated Circuit
    )
  • gtMer de portes ( Gate Array ou Sea Of Gate )
  • gtFPGA ( Field Programmable Gate Array )

6
ASIC
Avantages gt maîtrise complète des paramètres
temporels et électriques gt système mixte
possible ( analogique/numérique ) gt
flexibilité gt densité très importante
Inconvénients gt coût très élevé gt
technologie très complexe à maîtriser gt
entreprises peu nombreuses ( concurrence faible !
)
7
SEA OF GATE
Avantages gt système mixte possible (
analogique/numérique ) gt flexibilité
interne gt grande densité Inconvénients gt
coût important gt technologie des transistors
imposée et fixe gt technologie difficile à
maîtriser
8
FPGA
Avantages gt technologie  facile  à
maîtriser gt temps de développement réduit gt
reprogrammable pour certains ( idéal pour le
prototypage ) gt coût peu élevé Inconvénients
gt performances non optimisées gt
architecture interne entièrement figée gt
système numérique seul ( avec quelques exceptions
)
9
TECHNOLOGIE DES FPGA
Plusieurs types gt programmés par RAM (
XILINX et ALTERA ) gt programmés par EEPROM
ou FLASH ( LATTICE et ACTEL) gt programmés
par antifusible ( ACTEL )
Les premiers se prêtent particulièrement bien au
prototypage des Systèmes sur puce programmable
(SOPC)
10
LES FPGA DE TYPE SRAM
Caractéristiques dun circuit récent
11
ARCHITECTURE INTERNE DUN FPGA
Stratix dALTERA
12
ARCHITECTURE INTERNE DUN FPGA
Virtex de XILINX
13
CELLULE LOGIQUE DE BASE
Stratix dALTERA
14
CELLULE LOGIQUE DE BASE
Virtex de XILINX
15
BLOCS MEMOIRE EMBARQUES
Stratix dALTERA
16
BLOCS MEMOIRE EMBARQUES
Virtex de XILINX
17
LES FPGA POUR LES SOPC
  • Grand nombre de cellules logiques
  • Quantité de mémoire configurable importante
  • Entrées sorties compatibles avec de multiples
    normes
  • Blocs spécialisés ( multiplieurs, PLLs )
  • Reprogrammable

Pour réussir à implanter un système dans un FPGA
de manière efficace, il est indispensable de
bien connaître sa structure interne et ses
limites du point de vue des Performances.
18
METHODOLOGIE DE DEVELOPPEMENT
Généralités gt systèmes de plus en plus
complexes gt outils évolués et performants
gt méthode spécifique de conduite de projet
gt durée de vérification et de test prépondérante

19
FLOT DE CONCEPTION
20
SPECIFICATION SYSTEME
  • Fonctionnalités attendues
  • Performances souhaitées
  • Coût du développement
  • Calendrier du projet

Dans cette étape, une modélisation du système est
nécessaire pour rester à un niveau dabstraction
élevé. Aucun choix de solution technique ne doit
intervenir à ce stade du projet.
21
MODELISATION DES SYSTEMES
Trois types de systèmes gt flot de
données gt contrôle gt mixte
Actuellement, plusieurs méthodes de modélisation
coexistent. Chacune delle est plutôt adaptée à
un type de système, il nexiste pas encore de
méthode universelle.
22
CONTENU CAHIER DES CHARGES
  • Un système doit être défini de la façon suivante
  • Description des entrées sorties
  • Description de lenvironnement dans lequel se
    trouve le système
  • Description des fonctionnalités attendues
  • Description des caractéristiques électriques et
    temporelles
  • Description des modes de test et de vérification
  • Données techniques générales de fonctionnement

Ce travail a une importance capitale en terme de
durée et de coût de développement du système,
nhésitez pas à prendre le temps nécessaire pour
écrire un cahier des charges clair et précis.
23
DIFFERENTS NIVEAUX DABSTRACTION
Létude et la conception de système nécessite
lutilisation de plusieurs niveaux dabstraction
afin de faciliter le travail des concepteur lors
des différentes phases du développement. Les
différents niveaux dabstraction peuvent
être          niveau 0  description RTL
        niveau 1  niveau transfert ( précision
au cycle)         niveau 2  niveau transaction
( précision au cycle bus )         niveau 3 
niveau fonctionnel avec gestion du temps        
niveau 4  niveau fonctionnel sans gestion du
temps
24
SPECIFICATION COMPORTEMENTALE
A partir des spécifications systèmes, on extrait
de façon manuelle ou automatique le comportement
du système. Le système global étant complexe, on
le scinde en éléments basiques qui assemblés
permettent de réaliser les fonctionnalités
attendues.
Fonction 1
Fonction 2
système
Fonction 3
Fonction i
Fonction n
25
SPECIFICATION COMPORTEMENTALE (2)
  • La modélisation fonctionnelle met deux aspects
    complémentaires
  • en uvre qui sont
  • structure ( organisation du système )
  • comportement ( rôle du système )
  • A ce stade encore, la solution étudiée doit être
    indépendante de la
  • technologie et vérifiée par simulation à laide
    des nouveaux outils
  • permettant la simulation système à différents
    niveaux dabstraction.

26
LES ELEMENTS BASIQUES
  • Les éléments basiques doivent avoir les
    caractéristiques suivantes
  • Taille réduite vis à vis du système
  • Facilement testable et vérifiable
  • Permet la réalisation dune fonctionnalité simple
  • Respect des contraintes liées au système

Fonction i
27
PARTITIONNEMENT LOGICIEL MATERIEL
  • Suivant le type dapplication, plusieurs modèles
    darchitecture
  • sont possibles.
  • partitionnement manuel, automatique ou assisté.
  • Le logiciel induit une souplesse et un coût
    faible
  • Le matériel induit des performances et un coût
    élevés

Le but est de trouver le meilleur compromis
logiciel/matériel afin dobtenir le plus grand
ratio performances/coût. Cette étape est cruciale
pour les performances et le coût global du
système.
Fonction 1 logicielle
Fonction i matérielle
Fonction 3 logicielle
Fonction n matérielle
Fonction 2 matérielle
28
PARTITIONNEMENT LOGICIEL MATERIEL (2)
  • Trois grandes familles dapplication ont été
    classifiées
  • systèmes orientés données
  • systèmes orientés contrôle
  • systèmes mixtes
  • Plusieurs types darchitectures sont utilisables
  • simple ( uP mémoire logique câblée )
  • hétérogène distribuée
  • maître ? esclave
  • multi maîtres

29
SYNTHESE DES FONCTIONS LOGICIELLES
  • Méthodologie pour la conception de la fonction
    logicielle
  • Liste des inter actions avec les autres éléments
    du système
  • Écriture de lalgorithme
  • Codage de lalgorithme en langage de haut niveau
    ou de
  • bas niveau suivant les contraintes en
    performances
  • Simulation et test de la fonction pour contrôler
    la conformité
  • de celle-ci

Temps dexécution
Fonction n logicielle
Taille du code
interfaces
30
SYNTHESE DES FONCTIONS MATERIELLES
  • Méthodologie pour la conception de la fonction
    matérielle
  • Liste des inter actions avec les autres éléments
    du système
  • Écriture de la fonction en langage de
    description matérielle tel que Verilog ou VHDL (
    bientôt on pourra utiliser des langages de plus
    haut niveau tel que systemC )
  • Compilation et examen minutieux du rapport de
    synthèse
  • Simulation et test de la fonction pour contrôler
    la conformité
  • de celle-ci

Nombre de ressources Matérielles utilisées
Fonction n matérielle
interfaces
Temps de propagation
31
SYNTHESE DES INTERFACES DE COMMUNICATION
MATERIEL/MATERIEL
  • Méthodologie de conception des interfaces de
    communication
  • matériel/matériel
  • Liste des fonctions  matérielles 
    communicantes
  • Liste des signaux de communication avec leur
    type (entrée,
  • sortie, entrée/sortie)
  • gt choix du protocole de communication entre les
    différentes
  • fonctions

Fonction i matérielle
Fonction 1 matérielle
interfaces
Fonction n matérielle
interfaces
Interfaces
32
SYNTHESE DES INTERFACES DE COMMUNICATION
MATERIEL/LOGICIEL
  • Méthodologie de conception des interfaces de
    communication
  • Matériel/logiciel
  • Liste des inter actions fonctions
    logicielles/fonctions matérielles
  • Liste des signaux dinterface des fonctions
    matérielles avec leur
  • type (entrée, sortie, entrée/sortie)
  • Ecrire routines de bas niveau  pour piloter  la
    partie matérielle
  • à partir du logiciel
  • gt Simulation et test des routines

Fonction i
_fonction_i_lire (params) _fonction_i_écrire(param
s) _fonction_i_init(params)
Interface matérielle
33
SYNTHESE DES INTERFACES DE COMMUNICATION
LOGICIEL/LOGICIEL
  • Méthodologie de conception des interfaces de
    communication
  • logiciel/logiciel
  • Liste des fonctions logicielles qui communiquent
    entre elles
  • Liste des paramètres échangés avec leur type
    (variables)
  • Choix du protocole de communication entre les
    fonctions logicielles
  • Écriture du noyau de la partie logicielle du
    système
  • Simulation et test

34
LES BLOCS DE PROPRIETE INTELLECTUELLE
  • Avantages liés à lemploi des blocs IP
  • Rapidité de mise en uvre
  • Blocs optimisés,validés et testés
  • Offre importante et variée
  • Inconvénients liés à lemploi des blocs IP
  • Difficulté dinterfaçage avec le reste du
    système
  • Coût
  • complexité de certaines licences dutilisation

Cur MPEG
Cur USB2.0
Contrôleur CAN2.0B
Cur ?P 32 bits
35
LA COSIMULATION OBJECTIFS ?
  • Le système étant composé dune partie matérielle
    et dune partie
  • logicielle, il est nécessaire de simuler
    lensemble du système doù
  • le nom cosimulation.
  • Vérification de la fonctionnalité et des
    performances
  • des fonctions logicielles et matérielles
  • Vérification du bon fonctionnement des
    différentes interfaces
  • de communication entre les différentes fonctions
    constituant le
  • système

36
LA COSIMULATION PRINCIPES ?
  • Il existe deux types de cosimulateur
  • Moteur de simulation unique et mixte
  • Moteurs de simulation multiples
  • Le plus répandu est le second dont larchitecture
    est

Simulateur 1
Simulateur i
Simulateur n
Interface 1
Interface i
Interface n
Bus de cosimulation
37
LA COSIMULATION PERFORMANCES ?
  • Ce sont des outils relativement récents et qui
    sont encore en
  • développement dans divers laboratoires dans le
    monde.
  • Leurs principaux inconvénients sont
  • Fiabilité totale non réalisée
  • Lenteur
  • Non disponibilité de certains outils (
    multiprocesseurs
  • Hétérogènes )
  • Grand décalage entre les vitesses de simulation
    du matériel
  • et du logiciel

38
LA COSIMULATION NIVEAU ABSTRACTION ?
39
INTEGRATION SUR CIBLE
Quand toutes les étapes précédentes se sont
déroulées correctement, léquipe de concepteur
implante le système sur une cible. En fonction
des différentes contraintes liées au projet,
léquipe choisit La cible la mieux adaptée. Une
fois le système sur puce réalisé, une
caractérisation complète est Nécessaire pour
valider le travail fourni. Si des erreurs sont
détectées lors de cette phase, les concepteurs
doivent reprendre certaines étapes du flot de
conception, ceci entraînant un coût
important. Pour la caractérisation du système,
lemploi doutils évolués est indispensable au
vu de la taille des cibles générateur de
vecteurs de test auto,Analyse de couverture de
test, etc
40
LES OUTILS DE SIMULATION SYSTEME
  • Ces outils permettent de faire de la cosimulation
    à plusieurs
  • niveaux dabstraction et de répondre à la méthode
    de conception
  • des systèmes sur puce.
  • Les premiers simulateurs ont été développés au
    début des années
  • 2000, ils évoluent encore en ce qui concerne
    lergonomie, les
  • fonctionnalités.
  • Actuellement loffre en cosimulateur est encore
    restreinte
  • SystemC
  • SpecC
  • HandelC
  • Seamless de MENTOR GRAPHICS

41
SystemC
  • Tous les grands acteurs de lindustrie
    microélectronique se sont
  • Fédérés autour de la création dun cosimulateur
    proposant un choix
  • du niveaux dabstraction pour la simulation.
  • Ce langage de description du matériel et logiciel
    sappuie sur le
  • langage C. Son utilisation nécessite donc une
    bonne maîtrise de
  • la notion de classe et de la programmation objet
    en général.
  • Plusieurs niveaux de raffinement sont disponibles
  • untimed
  • timed
  • bus cycle accurate
  • cycle accurate

42
SystemC (2)
  • La description du matériel et logiciel repose sur
    les éléments
  • suivants
  • modules ( encapsulation des composants )
  • ports / signals ( communication )
  • processus ( comportement )
  • clocks ( horloge )

43
SystemC (3)
44
HandelC
Ce langage sappuie sur le langage C ANSI. Il est
particulièrement adapté au portage dalgorithme
sur des structures matérielles. Le parallélisme
et les synchronisations sont facilement
exprimables à laide de ce langage. Cet outil
permet en outre de générer des fichiers au format
EDIF et VHDL à partir de la description de votre
système.
45
HandelC (2)
  • Principales caractéristiques du langage
  • affectation de variable en un cycle dhorloge
  • taille des variables définies au bit près
  • traitement parallèle matériel possible
  • les processus communiquent par des canaux
  • primitives de mémoire pour une gestion fine de
    la mémoire
  • bibliothèques pour les types de variable non
    entier

46
HandelC (3)
47
SpecC
  • Ce langage est un super ensemble du langage C
    ANSI auquel
  • on a rajouté des fonctionnalités permettant de
    décrire le
  • matériel.
  • Tout programme en langage C ANSI est un programme
    SpecC.
  • Un programme est composé de 3 types dentité
  • bloc comportemental
  • canaux de communication
  • interfaces de communication

48
SpecC (2)
  • Types de variables supportés
  • tous les types du langage C ANSI
  • vecteur de bit
  • évènements ( synchronisation )
  • Ce langage permet les constructions hériarchisées
    et sépare
  • nettement les opérations et les communications.
  • Plusieurs modes dexécution pour les opérations
  • séquentiel
  • machine détat
  • parallèle ( ou concurrente )
  • pipeline

49
SpecC (3)
50
SpecC (4)
51
Interfaces de communication inter blocs
  • Les interfaces de communication entre les
    différents blocs constituants
  • un système sur puce influencent énormément les
    performances globales
  • du circuit.
  • Les concepteurs devront employer larchitecture
    leur permettant
  • dobtenir le meilleur ratio performances/ressource
    s matérielles utilisées.
  • Trois types dinterface de communication sont
    disponibles
  • bus partagé ( shared bus )
  • réseau maillé ( crossbar )
  • réseau multi étages ( multi level network )

52
Le bus partagé
Cette architecture est la plus couramment
employée du fait de sa relative simplicité de
mise en uvre. Cette solution est assez économe
en ressources matérielles utilisées mais les
performances en terme de bande passante dépendent
en grande partie de larbitrage daccès au bus.
53
Le bus partagé (2)
  • Les grands acteurs du système sur puce emploient
    ce type
  • darchitecture avec chacun une solution
    propriétaire
  • Core Connect dIBM
  • AMBA dARM
  • AVALON dALTERA
  • WHISBONE dopenCores

54
Le bus AVALON (ALTERA)
  • Ses principales caractéristiques sont les
    suivantes
  • fonctionnement totalement synchrone
  • transferts possibles sur 8, 16 et 32 bits
  • architecture maître/esclave ou multi maîtres
  • bus données et adresse séparés
  • optimisé en utilisation de ressources
    matérielles
  • pas de signaux trois états ( pas de haute
    impédance )
  • transfert mot par mot, par bloc, avec gestion
    cycle attente

55
Le bus AMBA (ARM)
La société ARM est le numéro 1 mondial pour la
fourniture de cur de microprocesseur sous forme
de bloc de propriété intellectuelle. Le bus AMBA
est en fait constitué de deux bus distincts
dédiés qui sont les bus AHB et APB.
56
Le bus AMBA (2)
  • Le bus AHB ( Advanced High performance Bus )
    possède les
  • caractéristiques suivantes
  • Multi maître
  • pas de signaux trois états
  • transfert par blocs possible
  • largeur bus donnée variable ( 32 à 128 bits )
  • gestion accès protégé et non protégé
  • plan mémoire 4 giga adresses
  • gestion arbitrage
  • gestion cycles attente pour communication avec
    les
  • Périphériques  lents 
  • ? permet les transferts de données sur 8, 16 et
    32 bits

57
Le bus AMBA (3)
  • Le bus ASP ( Advanced Peripheral Bus ) possède
    les caractéristiques
  • suivantes
  • multi maître
  • transfert par paquets et/ou en mode pipeline
  • largeur bus variable 32 ? 128 bits
  • gestion par accès protégé possible
  • bus de donnée bidirectionnel
  • plan mémoire limité à 4 giga adresses
  • gestion arbitrage accès aux bus
  • transfert des mots codés sur 8, 16 et 32 bits
    possible

58
Le bus AMBA (4)
  • Le bus APB est dédié aux communications avec les
    périphériques
  • exigeant une bande passante modeste. Celui-ci est
    facile à mettre en
  • oeuvre et est conçu pour une consommation
    minimale.
  • Caractéristiques
  • maître unique
  • utilise seulement 4 signaux de contrôle
  • taille du bus dadresse 32 bits
  • bus de donnée de largeur inférieure ou égale à
    32 bits
  • bus de donnée séparé en lecture et écriture

59
Le bus CORECONNECT ( IBM )
La société IBM a développé dans le cadre de ses
activités systèmes sur puce un support de
communication inter blocs nommé bus CoreConnect.
Ce bus regroupe en fait 3 bus particuliers.
60
Le bus CORECONNECT ( 2 )
Le bus PLB ( Processor Local Bus ) est dédié aux
communications entre le(s) processeur(s) et les
périphériques nécessitant une grande bande
passante. Le bus OPB ( On chip Peripheral Bus )
permet de communiquer avec les périphériques
 lents  en gérant en dynamique la taille des
données échangées. Le bus DCR ( Device Control
Register ) permet une communication Directe
entre les registres du processeur et les
registres de contrôle Des différents
périphériques connectés au bus PLB afin
daugmenter La bande passante de ce dernier.
61
Le bus WISHBONE ( OpenCores )
Ce bus a été développé dans le cadre du logiciel
libre et est utilisé par un groupe de développeur
de blocs IP qui sont mis à la disposition
du public sur le site www.opencores.com
62
Le bus WISHBONE ( 2 )
  • Caractéristiques essentielles
  • bus unique, simple et compact
  • permet tous les types de transfert
  • taille modulaire des bus et des opérandes
  • supporte mémorisation little et big endian
  • implantation protocole poignée de main possible
  • différents types de connections inter blocs
  • permet le transfert sur un cycle dhorloge
  • gère les erreurs de transmission

63
Le réseau maillé
Ce type de communication est très performant car
les liaisons se font de point à point. Cependant
la complexité et la quantité des ressources
matérielles nécessaires limitent son utilisation
à des systèmes de taille modeste.
64
Le réseau multi étages
Cette architecture convient aux systèmes
nécessitant une bande passante importante et qui
soit extensible facilement.
65
Techniques avancées pour lembarqué
Les choix de conception pour les SOC destinés à
lembarqué sont fortement contraints du point de
vue consommation électrique. Plusieurs
techniques permettent de juguler la consommation
tout en maintenant un niveau de performance
élevé. Des solutions existent tant au niveau
matériel que logiciel. En général léquipe de
concepteur travaille sur les deux aspects
simultanément .
66
Techniques avancées pour lembarqué ( 2 )
Actuellement la grande majorité des circuits
intégrés est fabriquée en technologie CMOS. La
puissance dissipée par un tel circuit est P
Pstatique Pdynamique Pstatique Ifuites
Vdd Pdynamique Pcourtcircuit
Pcommutation Pcommutation ? CL Vdd² f
67
Techniques avancées pour lembarqué ( 3 )
  • Pour réduire la puissance statique et la
    puissance de court circuit, on
  • emploie la technologie la plus récente ( taille
    des transistors de plus
  • en plus réduite ).
  • Les concepteurs ont beaucoup plus de latitude
    pour minimiser la
  • puissance de commutation
  • nombre de transitions logiques par cycle
    dhorloge
  • Vdd tension alimentation
  • f fréquence du signal dhorloge du système
  • Le paramètre CL dépend plutôt de la technologie
    du circuit.

68
Techniques avancées pour lembarqué ( 4 )
  • Techniques matérielles
  • verrouillage des signaux dhorloge ( Gated Clock
    )
  • activation des unités fonctionnelles uniquement
    lors du travail
  • utilisation du pré et post calcul si possible
  • codage adjacent pour les machines détat
  • utilisation mémoire cache pour les données les
    plus utilisées
  • utilisation parallélisme et/ou pipeline
  • utilisation architecture reconfigurable

69
Techniques avancées pour lembarqué ( 5 )
  • Techniques logicielles
  • mise en veille de toutes les unités ayant
    terminées leur travail
  • gestion dynamique de la tension dalimentation
    en fonction de
  • la charge du système.
  • gestion dynamique de la fréquence
  • ordonnancement optimisé des tâches
  • répartition des tâches sur différents processeurs

70
CONCLUSION
Les systèmes sur puce seront omniprésents dans le
monde de la microélectronique et bientôt dans
celui de la nanoélectronique. Les concepteurs de
ces systèmes devront avoir une solide
formation en matériel et logiciel pour pouvoir
travailler de façon efficace. La réalisation
avec succès dun système sur puce est due aux
bons choix technologiques et aussi surtout grâce
à une bonne maîtrise de la méthodologie.
Write a Comment
User Comments (0)
About PowerShow.com