SlideShare une entreprise Scribd logo
1  sur  29
Systèmes
Embarqués-Temps réel



Master « Instrumentation & Télécommunication »

                                                 1
Introduction

Vous êtes réveillé le matin par votre radio-réveil ; c'est un système embarqué...Vous
programmez votre machine à café pour avoir un bon petit serré ; c'est un système
embarqué...Vous allumez la télévision et utilisez votre télécommande ; ce sont des systèmes
embarqués...Vous prenez votre voiture et la voix du calculateur vous dit que vous n'avez pas
mis votre ceinture; c'est un système embarqué. Vous appelez votre patron avec votre
téléphone portable pour signaler que vous serez en retard; c'est un système embarqué !




    On en croise des dizaines de systèmes embarqués par jour sans le savoir


Ils ne possèdent généralement pas des entrées/sorties standards et classiques comme un
clavier ou un écran d'ordinateur. Le système matériel et l’application sont intimement liés,
le logiciel embarqué étant enfoui, noyé dans le matériel. Le matériel et le logiciel ne sont
pas aussi facilement discernables comme dans un environnement de travail classique de
type ordinateur PC.
                                                                                         2
I. Systèmes embarqués
I.1 définition

1- Système électronique et informatique autonome dédié à une tâche précise
2- Interagit généralement avec son environnement
3- Peu ou pas d’interface utilisateur
4- Fortes contraintes :

            Consommation, encombrement, poids, dissipation thermique, etc.
            Robustesse (sureté et sécurité), fiabilité, etc.
            Temps de réponse
            Coût, maintenance (contraintes sociales)

5- S’oppose à l’informatique généraliste

            Multi-usages et multi-utilisateurs

6- Informatique embarquée :

           Dès les années 80
           Possibilité d’embarquer de l’intelligence       souplesse et évolution
           Aujourd’hui : 5 % des CPU pour PC et 95 % pour embarqué                  3
I.2 Évolution des processeurs

L'omniprésence des systèmes embarqués dans notre vie est liée à la révolution numérique
opérée dans les années 1970 avec l'avènement des processeurs. Les processeurs, de plus en
plus rapides, puissants et bon marché ont permis cette révolution de l'embarqué. Ceci se
confirme au travers de la loi empirique de Moore. La figure 1 montre cette évolution
inexorable.




                        Figure 1: Évolution des processeurs                         4
En 1999: il a été vendu pour le marché de l'embarqué :
1,3 milliard de processeurs 4 bits - 1,4 milliard de 8 bits - 375 millions de 16 bits -
127 millions de 32 bits - 3,2 millions de 64 bits.

A côté de cela, à cette époque, il a été vendu seulement 108 millions de processeurs (famille
x86) pour le marché du PC grand public !

Pour 2004 : il a été vendu environ 260 millions de processeurs pour le marché du PC grand
public à comparer aux 14 milliards de processeurs tout type confondu (microprocesseur,
microcontrôleur, DSP) pour le marché de l'embarqué.



• Moins de 2 % des processeurs vendus sont pour le marché du PC contre 98 % pour
l'embarqué. On utilise massivement pour le PC grand public le système d'exploitation
commercial bien connu.

• Pour les 98 % autres processeurs vendus, on utilisera généralement un autre système
d’exploitation. On trouvera ici dans 60 % des cas un système d'exploitation commercial
spécialisé pour l'embarqué (VxWorks, QNX...). Pour le reste, on opte de plus en plus pour des
systèmes d'exploitation libres comme Linux pour l'embarqué.

                                                                                          5
• Moins de 10 % des processeurs vendus sont des processeurs 32 bits pour près de 31 % du
 chiffre d'affaire sur les processeurs. Cette part du chiffre d'affaire est estimée a près de 48 %
 pour 2008 : cela montre la migration rapide vers ces processeurs 32 bits dans l'embarqué,
 condition nécessaire pour pouvoir mettre en oeuvre Linux.




  Ces quelques chiffres permettent bien de prendre conscience de l'importance du marché de
  l'embarqué.


I.3 Catégories de systèmes embarqués

Calcul généraliste      : Similaire application bureau mais embarqué (assistant personnel,
                          téléphone portable, etc.), Consoles de jeux vidéo, set-top box

Contrôle de systèmes : Moteur, voiture, avion, processus chimique, nucléaire, navigation, etc.

Traitement de signaux : Compression vidéo, radar, flux de données, etc.

Réseaux et communications : Transmission données, commutation, routage, téléphone,
                               Internet, etc.                                                   6
Figure 2: Différents catégories de systèmes embarqués
                                                        7
8
I.4 Schéma typique d’un système embarqué
 La figure 3 présente les caractéristiques principales d'un système embarqué typique.




                      Figure 3 : Système embarqué typique                               9
Evolution de l’architecture



                              10
On retrouve en entrée des capteurs généralement analogiques couplés à des convertisseurs
A/N. On retrouve en sortie des actionneurs généralement analogiques couplés à des
convertisseurs N/A. Au milieu, on trouve le calculateur mettant en oeuvre un processeur
embarqué et ses périphériques d'E/S. Il est à noter qu'il est complété généralement d'un
circuit FPGA jouant le rôle de coprocesseur afin de proposer des accélérations matérielles
au processeur.

I.5 Caractéristique d’un systèmes embarqués

1. Fonctionnement en Temps Réel :

•   Réactivité : des opérations de calcul doivent être faites en réponse à un événement
    extérieur (interruption matérielle).
•   La validité d ’un résultat (et sa pertinence) dépend du moment où il est délivré.
•   Rater une échéance va causer une erreur de fonctionnement.
          -Temps Réel dur : plantage.
          -Temps Réel mou : dégradation non dramatique des performances du système.
•   Beaucoup de systèmes sont « multirate » : traitement d ’informations à différents rythmes.
                                                                                        11
2. Faible encombrement, faible poids :

•   Electronique « pocket PC », applications portables où l ’on doit minimiser la
    consommation électrique (bioinstrumentation...).
•   Difficulté pour réaliser le packaging afin de faire cohabiter sur une faible surface
    électronique analogique, électronique numérique, RF sans interférences.

3. Faible consommation :

•   Batterie de 8 heures et plus (PC portable : 2 heures).

4 Environnement extérieur

Il doit faire face à un ensemble de paramètres agressifs :
• Température, vibrations, chocs, variations d ’alimentation, interférences RF, corrosion,
   eau, feu, radiations.
• Le système n ’évolue pas dans un environnement contrôlé.
• Prise en compte des évolutions des caractéristiques des composants en fonction de la
  température, des radiations...
                                                                                             12
5. Fonctionnement critique pour la sécurité des personnes (Sûreté)

• Le système doit toujours fonctionner correctement.
• Sûreté à faible coût avec une redondance minimale.
• Sûreté de fonctionnement du logiciel
• Système opérationnel même quand un composant électronique lâche.
• Choix entre un design tout électronique ou électromécanique.


6. Beaucoup de systèmes embarqués sont fabriqués en grande série et doivent avoir des prix

    de revient extrêmement faibles, ce qui induit :

•    Une faible capacité mémoire.
•    Un petit processeur (4 bits). Petit mais en grand nombre !

7. La consommation est un point critique pour les systèmes avec autonomie.

•    Une consommation excessive augmente le prix de revient du système embarqué car il
     faut alors des batteries de forte capacité.

8. Faible coût :                                                                      13
• Optimisation du prix de revient.
9. Communication
les systèmes embarqués sont aujourd'hui fortement communicants. Cela est possible grâce aux
puissances de calcul offertes par les processeurs pour l'embarqué (32 bits en particulier) et grâce
aussi à l'explosion de l'usage la connectivité Internet ou connectivité IP.

La connectivité IP permet fondamentalement de contrôler à distance un système embarqué
par
Internet. Ce n'est en fait que l'aboutissement du contrôle à distance d'un système électronique
par des liaisons de tout type : liaisons RS.232, RS.485...
Cela permet l'emploi des technologies modernes du web pour ce contrôle à distance par
l'utilisateur : il suffit d'embarquer un serveur web dans son équipement électronique pour
pouvoir le contrôler ensuite à distance, de n'importe où, à l'aide d'un simple navigateur. Il n'y
a plus d'IHM spécifique à concevoir pour cela, ce rôle étant rempli par le navigateur web.

Il faut aussi noter la montée en puissance des communications sans fil dans l'embarqué au
détriment des communications filaires pour limiter le câblage et faciliter la mise en place du
système embarqué. Le Wifi et toutes les normes de réseaux sans fil IEEE 802.15 sont de plus en
plus utilisés dans l'embarqué et surtout en domotique (réseaux de capteurs sans fil par exemple).



  La sécurité des systèmes embarqués est donc cruciale aujourd'hui puisque connecté à Internet
                                                                                        14
Tous les systèmes embarqués 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




                                                                                     15
I.6 Systèmes embarqués et Temps réel
 • Généralement, un système embarqué doit respecter :

 – des contraintes temporelles fortes (Hard Real Time).
 – on y trouve alors enfoui un système d'exploitation ou un noyau Temps Réel
             (Real Time Operating System, RTOS).


 • Le Temps Réel est un concept un peu vague. On pourrait le définir comme :


 "Un système est dit Temps Réel lorsque l'information après acquisition et traitement reste
                          encore pertinente".


• Cela veut dire que dans le cas d'une information arrivant de façon périodique (sous forme
  d’une interruption périodique du système), les temps d'acquisition et de traitement doivent
  rester inférieurs à la période de rafraîchissement de cette information.

• Pour cela, il faut que le noyau ou le système Temps Réel soit déterministe et préemptif pour
                                                                                           16

 toujours donner la main durant le prochain tick à la tâche de plus forte priorité prête
- déterministe : les mêmes causes produisent les mêmes effets avec les mêmes temps
  d'exécution.
 - préemptif : la tâche de plus forte priorité prête à être exécutée doit toujours avoir
 accès au processeur.

• Une confusion classique est de mélanger Temps Réel et rapidité de calcul du système
  donc puissance du processeur (microprocesseur, microcontrôleur, DSP).

• On entend souvent : “ Être temps Réel, c’est avoir beaucoup de puissance : des MIPS, des
                                          MFLOPS… ”.
I.6.1 RTOS
.

Un système d'exploitation temps réel (RTOS) est un système d’exploitation multitâche
destiné aux applications temps réel. Ces applications comprennent les systèmes embarqués.
Un RTOS facilite la création d'un système temps réel, fournit des services et des primitives
qui, si elles sont utilisées correctement, peuvent garantir les délais souhaités. Un RTOS
utilise des ordonnanceurs spécialisées afin de fournir aux développeurs des systèmes temps
réel les outils et les primitives nécessaires pour produire un comportement temps réel
souhaité dans le système final.                                                            17
II. Conception des système embarqués
II.1 Évolution de la conception des systèmes embarqués
 • Les systèmes numériques deviennent aujourd'hui de plus en plus complexes au niveau
  intégration et fonctionnalités et l'on est en mesure d'intégrer tout dans un même composant

 • C'est le concept du single chip.

 • Ceci est en fait lié à la loi empirique de Moore qui stipule que pour une surface de silicium
   donnée, on double le nombre de transistors intégrés tous les 18 mois !




                                                                                           18
• On travaille maintenant au niveau système (ou fonctionnalité) et non au niveau porte logique

• Les fonctionnalités peuvent être implantées dans des composants spécifiques de type ASIC
  (Application Specific intregrated Circuit). On parle alors de Système sur Silicium SoC
  (System on Chip).

• Les fonctionnalités peuvent être implantées dans des composants logiques programmables de
  type FPGA (Field Programmable Gate Array). On parle alors de système SoPC (System on
 Programmable Chip).




                                                                                         19
• L'approche « schématique » au niveau porte logique ou fonctionnalités de base RTL
  (Register Transfer Logic) est délaissée pour la conception des systèmes complexes au profit
  d'une approche « textuelle ».

• On utilise des langages de description de matériel comme VHDL (Very high speed
integrated
  circuit Hardware Description Language) ou Verilog pour synthétiser une fonctionnalité
  numérique.

• Ces langages de description de matériel sont en fait de véritables langages de programmation

  informatiques, orientés objet. Ils sont utilisés conjointement avec un synthétiseur
  (compilateur) ou un simulateur.
• Ces langages ont permis de travailler avec un niveau d'abstraction plus grand laissant les
  basses besognes au synthétiseur.

• On a pu rapidement développer des bibliothèques de fonctionnalités comme une interface
  USB, un contrôleur MAC Ethernet que l'on appelle blocs IP (Intellectual Property).

• On peut les acheter ou bien utiliser des blocs IP libres (comme du logiciel libre) dont le site
  phare de référence est http://www.opencores.org.

                                                                                            20
• On peut ainsi voir la conception d'un système numérique complexe comme un assemblage
 de blocs IP si bien que les langages de description de matériel sont un peu comme un
 langage assembleur vis à vis d'un langage plus évolué comme le langage C.


• Il est à noter que l’idéal serait de pouvoir générer un circuit numérique à partir d'un
 fichier source écrit en langage informatique comme le langage C : c'est ce que propose
 SystemC mais bien des progrès restent encore à faire dans ce domaine...


• Les langages de description de matériel sont aussi intéressants pour la facilité de
 modification et de réutilisation d'un design précédent pour un nouveau design : c'est le
 design reuse.


• Cela permet de réduire aussi le Time To Market (TTM) !

                                                                                            21
• Lorsque l'on conçoit un système numérique complexe, on met en oeuvre généralement un
  processeur embarqué.


• Ce processeur embarqué est :
           – Soit un bloc IP : on parle de processeur softcore.
           – Soit déjà implanté dans le circuit électronique en « dur » : on parle de processeur
            hardcore. Le processeur de ce type est généralement plus performant que le
            processeur du type précédent.

• Le processeur embarqué allie la souplesse du logiciel à l'accélération du temps d'exécution
 du matériel.


• Une fonctionnalité particulière peut donc être composée d'une partie matérielle couplée à
 une fonctionnalité logicielle dédiée : on a donc une conception conjointe matérielle-
 logicielle ou codesign.
                                                                                            22
• Le codesign implique donc une conception en même temps du matériel et du logiciel, ce qui
 est une nouvelle méthodologie par rapport à la méthodologie de conception classique
 (conception matérielle puis conception logicielle)...




                                                                                       23
24
25
• Les processeurs embarqués comme leurs cousins du grand public sont de plus en plus
  puissants.

• La puissance CPU en MIPS double les 2 ans (loi empirique de Joy) et sont de plus
  communicants.

• On estime que l'on a besoin d'une bande passante réseau de 0,3 à 1 Mb/s par MIPS (loi
  empirique de Ruge).

• La course à la performance gagne aussi le monde de l'embarqué et des systèmes numériques
  complexes !




                                                                                          26
Les processeurs pour les SoPC

• Le choix d'un processeur pour le SoPC peut se faire sur différents critères :

     – Processeur hardcore : pour ses performances au détriment de la flexibilité.
     – Processeur softcore : pour sa flexibilité de mise à jour au détriment de performances
       moindres que le précédent. La portabilité vers n'importe quel circuit FPGA est assurée
       en étant donc circuit FPGA indépendant. Il est aussi possible de migrer vers un circuit
       de type ASIC en cas d'une production en grande série.

• Généralement, on privilégie les processeurs softcore pour s'affranchir des problèmes
  d'obsolescence et pour pouvoir bénéficier facilement des évolutions apportées en refaisant une

  synthèse.
• Le processeur softcore peut être libre :


       – Il est décrit en langage de description de matériel (VHDL, Verilog).
       – Le code source peut être librement distribué et implanté dans n'importe quel
         circuit programmable FPGA.
                                                                                         27
       – On est alors indépendant du type de circuit FPGA.
• Le processeur softcore peut être propriétaire :


– Il est distribué par exemple sous forme d'une netlist pour être implantée dans un circuit FPGA.
– Il est généralement lié à un fondeur de circuit FPGA particulier (comme Altera ou Xilinx).
– On ne peut pas l'utiliser dans un circuit FPGA autre que celui pour lequel il est prévu. On a
 donc ici une boîte noire.

• On trouvera principalement au niveau des processeurs softcores libres:


        – Le processeur Leon (http://www.gaisler.com/index.html)


        – Le processeur OpenRisc      (http://www.opencores.org/projects.cgi/web/or1k/overview)


        – Le processeur F-CPU (http://www.f-cpu.org)


        – Autres processeurs : clones de 6800, 68HC11, 68K, PIC
                  (http://www.opencores.org/browse.cgi/filter/category_microprocessor)
                                                                                            28
• On trouvera principalement au niveau des processeurs softcores propriétaires :
           – Le processeur NIOS et NIOS II d'Altera http://www.altera.com.
           – Le processeur Microblaze de Xilinx http://www.xilinx.com.




                                                                                   29

Contenu connexe

Tendances

Systeme embarque td1
Systeme embarque td1Systeme embarque td1
Systeme embarque td1SinGuy
 
Noyau temps réel freertos cheriet mohammed el amine
Noyau temps réel freertos cheriet mohammed el amineNoyau temps réel freertos cheriet mohammed el amine
Noyau temps réel freertos cheriet mohammed el amineCHERIET Mohammed El Amine
 
cours le routage statique (ipv4 et ipv6)
cours le routage statique (ipv4 et ipv6)cours le routage statique (ipv4 et ipv6)
cours le routage statique (ipv4 et ipv6)EL AMRI El Hassan
 
Typologie des réseaux informatiques
Typologie des réseaux informatiquesTypologie des réseaux informatiques
Typologie des réseaux informatiquesATPENSC-Group
 
Introduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).pptIntroduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).pptMahdiHERMASSI1
 
Cours Master Embarqué 2019-2020.pptx
Cours Master Embarqué 2019-2020.pptxCours Master Embarqué 2019-2020.pptx
Cours Master Embarqué 2019-2020.pptxAbdo Brahmi
 
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...ENSET, Université Hassan II Casablanca
 
Programmation de systèmes embarqués : Bus et périphériques de communication
Programmation de systèmes embarqués : Bus et périphériques de communicationProgrammation de systèmes embarqués : Bus et périphériques de communication
Programmation de systèmes embarqués : Bus et périphériques de communicationECAM Brussels Engineering School
 
Rapport PFE DOUIEB_HMIDANI
Rapport PFE DOUIEB_HMIDANIRapport PFE DOUIEB_HMIDANI
Rapport PFE DOUIEB_HMIDANIOtmaneDouieb
 
TD_complet_reseau__CISCO__Packet Tracer.pdf
TD_complet_reseau__CISCO__Packet Tracer.pdfTD_complet_reseau__CISCO__Packet Tracer.pdf
TD_complet_reseau__CISCO__Packet Tracer.pdfInes Ben Hassine
 
Arm système embarqué
Arm système embarquéArm système embarqué
Arm système embarquéHoussem Rouini
 
Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32Hajer Dahech
 
Conception et réalisation d’un MINI SMART HOME
Conception et réalisation  d’un MINI SMART HOMEConception et réalisation  d’un MINI SMART HOME
Conception et réalisation d’un MINI SMART HOMESoukainawarach
 
Introduction aux systèmes répartis
Introduction aux systèmes répartisIntroduction aux systèmes répartis
Introduction aux systèmes répartisHeithem Abbes
 

Tendances (20)

Systeme embarque td1
Systeme embarque td1Systeme embarque td1
Systeme embarque td1
 
Microcontrôleur
MicrocontrôleurMicrocontrôleur
Microcontrôleur
 
Noyau temps réel freertos cheriet mohammed el amine
Noyau temps réel freertos cheriet mohammed el amineNoyau temps réel freertos cheriet mohammed el amine
Noyau temps réel freertos cheriet mohammed el amine
 
présentation STM32
présentation STM32présentation STM32
présentation STM32
 
cours le routage statique (ipv4 et ipv6)
cours le routage statique (ipv4 et ipv6)cours le routage statique (ipv4 et ipv6)
cours le routage statique (ipv4 et ipv6)
 
Typologie des réseaux informatiques
Typologie des réseaux informatiquesTypologie des réseaux informatiques
Typologie des réseaux informatiques
 
Introduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).pptIntroduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).ppt
 
Data Centers (Topologies, technologies, Architectures & Models)
Data Centers (Topologies, technologies, Architectures & Models)Data Centers (Topologies, technologies, Architectures & Models)
Data Centers (Topologies, technologies, Architectures & Models)
 
Cours Master Embarqué 2019-2020.pptx
Cours Master Embarqué 2019-2020.pptxCours Master Embarqué 2019-2020.pptx
Cours Master Embarqué 2019-2020.pptx
 
Formation stm32
Formation stm32Formation stm32
Formation stm32
 
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
 
Programmation de systèmes embarqués : Bus et périphériques de communication
Programmation de systèmes embarqués : Bus et périphériques de communicationProgrammation de systèmes embarqués : Bus et périphériques de communication
Programmation de systèmes embarqués : Bus et périphériques de communication
 
Tp n 3 linux
Tp n 3 linuxTp n 3 linux
Tp n 3 linux
 
Rapport PFE DOUIEB_HMIDANI
Rapport PFE DOUIEB_HMIDANIRapport PFE DOUIEB_HMIDANI
Rapport PFE DOUIEB_HMIDANI
 
Soc
SocSoc
Soc
 
TD_complet_reseau__CISCO__Packet Tracer.pdf
TD_complet_reseau__CISCO__Packet Tracer.pdfTD_complet_reseau__CISCO__Packet Tracer.pdf
TD_complet_reseau__CISCO__Packet Tracer.pdf
 
Arm système embarqué
Arm système embarquéArm système embarqué
Arm système embarqué
 
Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32
 
Conception et réalisation d’un MINI SMART HOME
Conception et réalisation  d’un MINI SMART HOMEConception et réalisation  d’un MINI SMART HOME
Conception et réalisation d’un MINI SMART HOME
 
Introduction aux systèmes répartis
Introduction aux systèmes répartisIntroduction aux systèmes répartis
Introduction aux systèmes répartis
 

En vedette

Projet de fin d'etude :Control d’acces par empreintes digitale
Projet de fin d'etude :Control d’acces par empreintes digitaleProjet de fin d'etude :Control d’acces par empreintes digitale
Projet de fin d'etude :Control d’acces par empreintes digitaleAbdo07
 
Linux et les systèmes embarqués
Linux et les systèmes embarquésLinux et les systèmes embarqués
Linux et les systèmes embarquésStéphane Legrand
 
Etat de l'art des systèmes embarqués, utilisation du logiciel libre
Etat de l'art des systèmes embarqués, utilisation du logiciel libreEtat de l'art des systèmes embarqués, utilisation du logiciel libre
Etat de l'art des systèmes embarqués, utilisation du logiciel librePierre Ficheux
 
Identification des empreintes digitales
Identification des empreintes digitalesIdentification des empreintes digitales
Identification des empreintes digitalesSarah
 
IoT (M2M) - Big Data - Analyses : Simulation et Démonstration
IoT (M2M) - Big Data - Analyses : Simulation et DémonstrationIoT (M2M) - Big Data - Analyses : Simulation et Démonstration
IoT (M2M) - Big Data - Analyses : Simulation et DémonstrationCHAKER ALLAOUI
 
Présentation Qsquare
Présentation QsquarePrésentation Qsquare
Présentation QsquareYourSocialCom
 
Formation linux temps réel - Rennes 14 octobre 2014
Formation linux temps réel  - Rennes 14 octobre 2014Formation linux temps réel  - Rennes 14 octobre 2014
Formation linux temps réel - Rennes 14 octobre 2014eurogicielgroup
 
Solutions temps réel sous linux
Solutions temps réel sous linuxSolutions temps réel sous linux
Solutions temps réel sous linuxembedded-linux-bdx
 
Management de l'innovation
Management de l'innovationManagement de l'innovation
Management de l'innovationHervé Padilla
 
124776153 td-automatique-1 a-jmd-2011
124776153 td-automatique-1 a-jmd-2011124776153 td-automatique-1 a-jmd-2011
124776153 td-automatique-1 a-jmd-2011sunprass
 
Demain, l'Internet des objets
Demain, l'Internet des objets Demain, l'Internet des objets
Demain, l'Internet des objets France Stratégie
 
La réalité augmentée dans les systèmes embarqués
La réalité augmentée dans les systèmes embarquésLa réalité augmentée dans les systèmes embarqués
La réalité augmentée dans les systèmes embarquésMicrosoft Décideurs IT
 
Les solutions libres pour les systèmes embarqués
Les solutions libres pour les systèmes embarquésLes solutions libres pour les systèmes embarqués
Les solutions libres pour les systèmes embarquésAlexandre LAHAYE
 
Spéciale Internet des Objets La French Mobile Décembre 2012
Spéciale Internet des Objets La French Mobile Décembre 2012Spéciale Internet des Objets La French Mobile Décembre 2012
Spéciale Internet des Objets La French Mobile Décembre 2012servicesmobiles.fr
 

En vedette (20)

Projet de fin d'etude :Control d’acces par empreintes digitale
Projet de fin d'etude :Control d’acces par empreintes digitaleProjet de fin d'etude :Control d’acces par empreintes digitale
Projet de fin d'etude :Control d’acces par empreintes digitale
 
Les systèmes embarqués arduino
Les systèmes embarqués arduinoLes systèmes embarqués arduino
Les systèmes embarqués arduino
 
Linux et les systèmes embarqués
Linux et les systèmes embarquésLinux et les systèmes embarqués
Linux et les systèmes embarqués
 
Chap1 intro 1pp
Chap1 intro 1ppChap1 intro 1pp
Chap1 intro 1pp
 
Etat de l'art des systèmes embarqués, utilisation du logiciel libre
Etat de l'art des systèmes embarqués, utilisation du logiciel libreEtat de l'art des systèmes embarqués, utilisation du logiciel libre
Etat de l'art des systèmes embarqués, utilisation du logiciel libre
 
Identification des empreintes digitales
Identification des empreintes digitalesIdentification des empreintes digitales
Identification des empreintes digitales
 
IoT (M2M) - Big Data - Analyses : Simulation et Démonstration
IoT (M2M) - Big Data - Analyses : Simulation et DémonstrationIoT (M2M) - Big Data - Analyses : Simulation et Démonstration
IoT (M2M) - Big Data - Analyses : Simulation et Démonstration
 
Présentation des IoT
Présentation des IoTPrésentation des IoT
Présentation des IoT
 
Présentation Qsquare
Présentation QsquarePrésentation Qsquare
Présentation Qsquare
 
SEMS-bassdef
SEMS-bassdefSEMS-bassdef
SEMS-bassdef
 
Formation linux temps réel - Rennes 14 octobre 2014
Formation linux temps réel  - Rennes 14 octobre 2014Formation linux temps réel  - Rennes 14 octobre 2014
Formation linux temps réel - Rennes 14 octobre 2014
 
Solutions temps réel sous linux
Solutions temps réel sous linuxSolutions temps réel sous linux
Solutions temps réel sous linux
 
Management de l'innovation
Management de l'innovationManagement de l'innovation
Management de l'innovation
 
Formations en Aeronautique - Espace - Systèmes Embarqués
Formations en Aeronautique - Espace - Systèmes EmbarquésFormations en Aeronautique - Espace - Systèmes Embarqués
Formations en Aeronautique - Espace - Systèmes Embarqués
 
Qt5 embedded
Qt5 embeddedQt5 embedded
Qt5 embedded
 
124776153 td-automatique-1 a-jmd-2011
124776153 td-automatique-1 a-jmd-2011124776153 td-automatique-1 a-jmd-2011
124776153 td-automatique-1 a-jmd-2011
 
Demain, l'Internet des objets
Demain, l'Internet des objets Demain, l'Internet des objets
Demain, l'Internet des objets
 
La réalité augmentée dans les systèmes embarqués
La réalité augmentée dans les systèmes embarquésLa réalité augmentée dans les systèmes embarqués
La réalité augmentée dans les systèmes embarqués
 
Les solutions libres pour les systèmes embarqués
Les solutions libres pour les systèmes embarquésLes solutions libres pour les systèmes embarqués
Les solutions libres pour les systèmes embarqués
 
Spéciale Internet des Objets La French Mobile Décembre 2012
Spéciale Internet des Objets La French Mobile Décembre 2012Spéciale Internet des Objets La French Mobile Décembre 2012
Spéciale Internet des Objets La French Mobile Décembre 2012
 

Similaire à Embarqués temps réel

ch1_introduction_aux_systemes_embarques.pdf
ch1_introduction_aux_systemes_embarques.pdfch1_introduction_aux_systemes_embarques.pdf
ch1_introduction_aux_systemes_embarques.pdfHoudaBezziane
 
Embedded intro 2006
Embedded intro 2006Embedded intro 2006
Embedded intro 2006mcbinene
 
Cours en maintenance pc
Cours  en maintenance pcCours  en maintenance pc
Cours en maintenance pcmohamednacim
 
Introduction aux systèmes d'exploitation mobile
Introduction aux systèmes d'exploitation mobileIntroduction aux systèmes d'exploitation mobile
Introduction aux systèmes d'exploitation mobileHoussem Rouini
 
Cours sys 2PPT20.pdf
Cours sys 2PPT20.pdfCours sys 2PPT20.pdf
Cours sys 2PPT20.pdfC00LiMoUn
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).pptAbdo Brahmi
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).pptAbdo Brahmi
 
Le wearable computing.ppt
Le wearable computing.pptLe wearable computing.ppt
Le wearable computing.pptssuser0c0cdf
 
Chap 1 Intro Microcontroleurs et Interruptions.pdf
Chap 1 Intro Microcontroleurs et Interruptions.pdfChap 1 Intro Microcontroleurs et Interruptions.pdf
Chap 1 Intro Microcontroleurs et Interruptions.pdfDAPcreat
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitWassim Smati
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitWassim Smati
 
Composants hardware du mainframe
Composants hardware du mainframeComposants hardware du mainframe
Composants hardware du mainframeSoukaina Boujadi
 
cours_AzabouMaha_GIINF_chap1-2020-2021.pptx
cours_AzabouMaha_GIINF_chap1-2020-2021.pptxcours_AzabouMaha_GIINF_chap1-2020-2021.pptx
cours_AzabouMaha_GIINF_chap1-2020-2021.pptxGhorbelOmar2
 

Similaire à Embarqués temps réel (20)

ch1_introduction_aux_systemes_embarques.pdf
ch1_introduction_aux_systemes_embarques.pdfch1_introduction_aux_systemes_embarques.pdf
ch1_introduction_aux_systemes_embarques.pdf
 
Embedded intro 2006
Embedded intro 2006Embedded intro 2006
Embedded intro 2006
 
Ccna1
Ccna1Ccna1
Ccna1
 
Cours en maintenance pc
Cours  en maintenance pcCours  en maintenance pc
Cours en maintenance pc
 
Introduction aux systèmes d'exploitation mobile
Introduction aux systèmes d'exploitation mobileIntroduction aux systèmes d'exploitation mobile
Introduction aux systèmes d'exploitation mobile
 
Grid computing
Grid computingGrid computing
Grid computing
 
Cours sys 2PPT20.pdf
Cours sys 2PPT20.pdfCours sys 2PPT20.pdf
Cours sys 2PPT20.pdf
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).ppt
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).ppt
 
systèmes distribues
systèmes distribuessystèmes distribues
systèmes distribues
 
ccna1-3.pdf
ccna1-3.pdfccna1-3.pdf
ccna1-3.pdf
 
Le wearable computing.ppt
Le wearable computing.pptLe wearable computing.ppt
Le wearable computing.ppt
 
Chapitre 1 sem
Chapitre 1 semChapitre 1 sem
Chapitre 1 sem
 
Chap 1 Intro Microcontroleurs et Interruptions.pdf
Chap 1 Intro Microcontroleurs et Interruptions.pdfChap 1 Intro Microcontroleurs et Interruptions.pdf
Chap 1 Intro Microcontroleurs et Interruptions.pdf
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kit
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kit
 
Composants hardware du mainframe
Composants hardware du mainframeComposants hardware du mainframe
Composants hardware du mainframe
 
cours_AzabouMaha_GIINF_chap1-2020-2021.pptx
cours_AzabouMaha_GIINF_chap1-2020-2021.pptxcours_AzabouMaha_GIINF_chap1-2020-2021.pptx
cours_AzabouMaha_GIINF_chap1-2020-2021.pptx
 
Ccna1
Ccna1Ccna1
Ccna1
 
Cours se chap1_2
Cours se chap1_2Cours se chap1_2
Cours se chap1_2
 

Embarqués temps réel

  • 1. Systèmes Embarqués-Temps réel Master « Instrumentation & Télécommunication » 1
  • 2. Introduction Vous êtes réveillé le matin par votre radio-réveil ; c'est un système embarqué...Vous programmez votre machine à café pour avoir un bon petit serré ; c'est un système embarqué...Vous allumez la télévision et utilisez votre télécommande ; ce sont des systèmes embarqués...Vous prenez votre voiture et la voix du calculateur vous dit que vous n'avez pas mis votre ceinture; c'est un système embarqué. Vous appelez votre patron avec votre téléphone portable pour signaler que vous serez en retard; c'est un système embarqué ! On en croise des dizaines de systèmes embarqués par jour sans le savoir Ils ne possèdent généralement pas des entrées/sorties standards et classiques comme un clavier ou un écran d'ordinateur. Le système matériel et l’application sont intimement liés, le logiciel embarqué étant enfoui, noyé dans le matériel. Le matériel et le logiciel ne sont pas aussi facilement discernables comme dans un environnement de travail classique de type ordinateur PC. 2
  • 3. I. Systèmes embarqués I.1 définition 1- Système électronique et informatique autonome dédié à une tâche précise 2- Interagit généralement avec son environnement 3- Peu ou pas d’interface utilisateur 4- Fortes contraintes : Consommation, encombrement, poids, dissipation thermique, etc. Robustesse (sureté et sécurité), fiabilité, etc. Temps de réponse Coût, maintenance (contraintes sociales) 5- S’oppose à l’informatique généraliste Multi-usages et multi-utilisateurs 6- Informatique embarquée : Dès les années 80 Possibilité d’embarquer de l’intelligence souplesse et évolution Aujourd’hui : 5 % des CPU pour PC et 95 % pour embarqué 3
  • 4. I.2 Évolution des processeurs L'omniprésence des systèmes embarqués dans notre vie est liée à la révolution numérique opérée dans les années 1970 avec l'avènement des processeurs. Les processeurs, de plus en plus rapides, puissants et bon marché ont permis cette révolution de l'embarqué. Ceci se confirme au travers de la loi empirique de Moore. La figure 1 montre cette évolution inexorable. Figure 1: Évolution des processeurs 4
  • 5. En 1999: il a été vendu pour le marché de l'embarqué : 1,3 milliard de processeurs 4 bits - 1,4 milliard de 8 bits - 375 millions de 16 bits - 127 millions de 32 bits - 3,2 millions de 64 bits. A côté de cela, à cette époque, il a été vendu seulement 108 millions de processeurs (famille x86) pour le marché du PC grand public ! Pour 2004 : il a été vendu environ 260 millions de processeurs pour le marché du PC grand public à comparer aux 14 milliards de processeurs tout type confondu (microprocesseur, microcontrôleur, DSP) pour le marché de l'embarqué. • Moins de 2 % des processeurs vendus sont pour le marché du PC contre 98 % pour l'embarqué. On utilise massivement pour le PC grand public le système d'exploitation commercial bien connu. • Pour les 98 % autres processeurs vendus, on utilisera généralement un autre système d’exploitation. On trouvera ici dans 60 % des cas un système d'exploitation commercial spécialisé pour l'embarqué (VxWorks, QNX...). Pour le reste, on opte de plus en plus pour des systèmes d'exploitation libres comme Linux pour l'embarqué. 5
  • 6. • Moins de 10 % des processeurs vendus sont des processeurs 32 bits pour près de 31 % du chiffre d'affaire sur les processeurs. Cette part du chiffre d'affaire est estimée a près de 48 % pour 2008 : cela montre la migration rapide vers ces processeurs 32 bits dans l'embarqué, condition nécessaire pour pouvoir mettre en oeuvre Linux. Ces quelques chiffres permettent bien de prendre conscience de l'importance du marché de l'embarqué. I.3 Catégories de systèmes embarqués Calcul généraliste : Similaire application bureau mais embarqué (assistant personnel, téléphone portable, etc.), Consoles de jeux vidéo, set-top box Contrôle de systèmes : Moteur, voiture, avion, processus chimique, nucléaire, navigation, etc. Traitement de signaux : Compression vidéo, radar, flux de données, etc. Réseaux et communications : Transmission données, commutation, routage, téléphone, Internet, etc. 6
  • 7. Figure 2: Différents catégories de systèmes embarqués 7
  • 8. 8
  • 9. I.4 Schéma typique d’un système embarqué La figure 3 présente les caractéristiques principales d'un système embarqué typique. Figure 3 : Système embarqué typique 9
  • 11. On retrouve en entrée des capteurs généralement analogiques couplés à des convertisseurs A/N. On retrouve en sortie des actionneurs généralement analogiques couplés à des convertisseurs N/A. Au milieu, on trouve le calculateur mettant en oeuvre un processeur embarqué et ses périphériques d'E/S. Il est à noter qu'il est complété généralement d'un circuit FPGA jouant le rôle de coprocesseur afin de proposer des accélérations matérielles au processeur. I.5 Caractéristique d’un systèmes embarqués 1. Fonctionnement en Temps Réel : • Réactivité : des opérations de calcul doivent être faites en réponse à un événement extérieur (interruption matérielle). • La validité d ’un résultat (et sa pertinence) dépend du moment où il est délivré. • Rater une échéance va causer une erreur de fonctionnement. -Temps Réel dur : plantage. -Temps Réel mou : dégradation non dramatique des performances du système. • Beaucoup de systèmes sont « multirate » : traitement d ’informations à différents rythmes. 11
  • 12. 2. Faible encombrement, faible poids : • Electronique « pocket PC », applications portables où l ’on doit minimiser la consommation électrique (bioinstrumentation...). • Difficulté pour réaliser le packaging afin de faire cohabiter sur une faible surface électronique analogique, électronique numérique, RF sans interférences. 3. Faible consommation : • Batterie de 8 heures et plus (PC portable : 2 heures). 4 Environnement extérieur Il doit faire face à un ensemble de paramètres agressifs : • Température, vibrations, chocs, variations d ’alimentation, interférences RF, corrosion, eau, feu, radiations. • Le système n ’évolue pas dans un environnement contrôlé. • Prise en compte des évolutions des caractéristiques des composants en fonction de la température, des radiations... 12
  • 13. 5. Fonctionnement critique pour la sécurité des personnes (Sûreté) • Le système doit toujours fonctionner correctement. • Sûreté à faible coût avec une redondance minimale. • Sûreté de fonctionnement du logiciel • Système opérationnel même quand un composant électronique lâche. • Choix entre un design tout électronique ou électromécanique. 6. Beaucoup de systèmes embarqués sont fabriqués en grande série et doivent avoir des prix de revient extrêmement faibles, ce qui induit : • Une faible capacité mémoire. • Un petit processeur (4 bits). Petit mais en grand nombre ! 7. La consommation est un point critique pour les systèmes avec autonomie. • Une consommation excessive augmente le prix de revient du système embarqué car il faut alors des batteries de forte capacité. 8. Faible coût : 13 • Optimisation du prix de revient.
  • 14. 9. Communication les systèmes embarqués sont aujourd'hui fortement communicants. Cela est possible grâce aux puissances de calcul offertes par les processeurs pour l'embarqué (32 bits en particulier) et grâce aussi à l'explosion de l'usage la connectivité Internet ou connectivité IP. La connectivité IP permet fondamentalement de contrôler à distance un système embarqué par Internet. Ce n'est en fait que l'aboutissement du contrôle à distance d'un système électronique par des liaisons de tout type : liaisons RS.232, RS.485... Cela permet l'emploi des technologies modernes du web pour ce contrôle à distance par l'utilisateur : il suffit d'embarquer un serveur web dans son équipement électronique pour pouvoir le contrôler ensuite à distance, de n'importe où, à l'aide d'un simple navigateur. Il n'y a plus d'IHM spécifique à concevoir pour cela, ce rôle étant rempli par le navigateur web. Il faut aussi noter la montée en puissance des communications sans fil dans l'embarqué au détriment des communications filaires pour limiter le câblage et faciliter la mise en place du système embarqué. Le Wifi et toutes les normes de réseaux sans fil IEEE 802.15 sont de plus en plus utilisés dans l'embarqué et surtout en domotique (réseaux de capteurs sans fil par exemple). La sécurité des systèmes embarqués est donc cruciale aujourd'hui puisque connecté à Internet 14
  • 15. Tous les systèmes embarqués 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 15
  • 16. I.6 Systèmes embarqués et Temps réel • Généralement, un système embarqué doit respecter : – des contraintes temporelles fortes (Hard Real Time). – on y trouve alors enfoui un système d'exploitation ou un noyau Temps Réel (Real Time Operating System, RTOS). • Le Temps Réel est un concept un peu vague. On pourrait le définir comme : "Un système est dit Temps Réel lorsque l'information après acquisition et traitement reste encore pertinente". • Cela veut dire que dans le cas d'une information arrivant de façon périodique (sous forme d’une interruption périodique du système), les temps d'acquisition et de traitement doivent rester inférieurs à la période de rafraîchissement de cette information. • Pour cela, il faut que le noyau ou le système Temps Réel soit déterministe et préemptif pour 16 toujours donner la main durant le prochain tick à la tâche de plus forte priorité prête
  • 17. - déterministe : les mêmes causes produisent les mêmes effets avec les mêmes temps d'exécution. - préemptif : la tâche de plus forte priorité prête à être exécutée doit toujours avoir accès au processeur. • Une confusion classique est de mélanger Temps Réel et rapidité de calcul du système donc puissance du processeur (microprocesseur, microcontrôleur, DSP). • On entend souvent : “ Être temps Réel, c’est avoir beaucoup de puissance : des MIPS, des MFLOPS… ”. I.6.1 RTOS . Un système d'exploitation temps réel (RTOS) est un système d’exploitation multitâche destiné aux applications temps réel. Ces applications comprennent les systèmes embarqués. Un RTOS facilite la création d'un système temps réel, fournit des services et des primitives qui, si elles sont utilisées correctement, peuvent garantir les délais souhaités. Un RTOS utilise des ordonnanceurs spécialisées afin de fournir aux développeurs des systèmes temps réel les outils et les primitives nécessaires pour produire un comportement temps réel souhaité dans le système final. 17
  • 18. II. Conception des système embarqués II.1 Évolution de la conception des systèmes embarqués • Les systèmes numériques deviennent aujourd'hui de plus en plus complexes au niveau intégration et fonctionnalités et l'on est en mesure d'intégrer tout dans un même composant • C'est le concept du single chip. • Ceci est en fait lié à la loi empirique de Moore qui stipule que pour une surface de silicium donnée, on double le nombre de transistors intégrés tous les 18 mois ! 18
  • 19. • On travaille maintenant au niveau système (ou fonctionnalité) et non au niveau porte logique • Les fonctionnalités peuvent être implantées dans des composants spécifiques de type ASIC (Application Specific intregrated Circuit). On parle alors de Système sur Silicium SoC (System on Chip). • Les fonctionnalités peuvent être implantées dans des composants logiques programmables de type FPGA (Field Programmable Gate Array). On parle alors de système SoPC (System on Programmable Chip). 19
  • 20. • L'approche « schématique » au niveau porte logique ou fonctionnalités de base RTL (Register Transfer Logic) est délaissée pour la conception des systèmes complexes au profit d'une approche « textuelle ». • On utilise des langages de description de matériel comme VHDL (Very high speed integrated circuit Hardware Description Language) ou Verilog pour synthétiser une fonctionnalité numérique. • Ces langages de description de matériel sont en fait de véritables langages de programmation informatiques, orientés objet. Ils sont utilisés conjointement avec un synthétiseur (compilateur) ou un simulateur. • Ces langages ont permis de travailler avec un niveau d'abstraction plus grand laissant les basses besognes au synthétiseur. • On a pu rapidement développer des bibliothèques de fonctionnalités comme une interface USB, un contrôleur MAC Ethernet que l'on appelle blocs IP (Intellectual Property). • On peut les acheter ou bien utiliser des blocs IP libres (comme du logiciel libre) dont le site phare de référence est http://www.opencores.org. 20
  • 21. • On peut ainsi voir la conception d'un système numérique complexe comme un assemblage de blocs IP si bien que les langages de description de matériel sont un peu comme un langage assembleur vis à vis d'un langage plus évolué comme le langage C. • Il est à noter que l’idéal serait de pouvoir générer un circuit numérique à partir d'un fichier source écrit en langage informatique comme le langage C : c'est ce que propose SystemC mais bien des progrès restent encore à faire dans ce domaine... • Les langages de description de matériel sont aussi intéressants pour la facilité de modification et de réutilisation d'un design précédent pour un nouveau design : c'est le design reuse. • Cela permet de réduire aussi le Time To Market (TTM) ! 21
  • 22. • Lorsque l'on conçoit un système numérique complexe, on met en oeuvre généralement un processeur embarqué. • Ce processeur embarqué est : – Soit un bloc IP : on parle de processeur softcore. – Soit déjà implanté dans le circuit électronique en « dur » : on parle de processeur hardcore. Le processeur de ce type est généralement plus performant que le processeur du type précédent. • Le processeur embarqué allie la souplesse du logiciel à l'accélération du temps d'exécution du matériel. • Une fonctionnalité particulière peut donc être composée d'une partie matérielle couplée à une fonctionnalité logicielle dédiée : on a donc une conception conjointe matérielle- logicielle ou codesign. 22
  • 23. • Le codesign implique donc une conception en même temps du matériel et du logiciel, ce qui est une nouvelle méthodologie par rapport à la méthodologie de conception classique (conception matérielle puis conception logicielle)... 23
  • 24. 24
  • 25. 25
  • 26. • Les processeurs embarqués comme leurs cousins du grand public sont de plus en plus puissants. • La puissance CPU en MIPS double les 2 ans (loi empirique de Joy) et sont de plus communicants. • On estime que l'on a besoin d'une bande passante réseau de 0,3 à 1 Mb/s par MIPS (loi empirique de Ruge). • La course à la performance gagne aussi le monde de l'embarqué et des systèmes numériques complexes ! 26
  • 27. Les processeurs pour les SoPC • Le choix d'un processeur pour le SoPC peut se faire sur différents critères : – Processeur hardcore : pour ses performances au détriment de la flexibilité. – Processeur softcore : pour sa flexibilité de mise à jour au détriment de performances moindres que le précédent. La portabilité vers n'importe quel circuit FPGA est assurée en étant donc circuit FPGA indépendant. Il est aussi possible de migrer vers un circuit de type ASIC en cas d'une production en grande série. • Généralement, on privilégie les processeurs softcore pour s'affranchir des problèmes d'obsolescence et pour pouvoir bénéficier facilement des évolutions apportées en refaisant une synthèse. • Le processeur softcore peut être libre : – Il est décrit en langage de description de matériel (VHDL, Verilog). – Le code source peut être librement distribué et implanté dans n'importe quel circuit programmable FPGA. 27 – On est alors indépendant du type de circuit FPGA.
  • 28. • Le processeur softcore peut être propriétaire : – Il est distribué par exemple sous forme d'une netlist pour être implantée dans un circuit FPGA. – Il est généralement lié à un fondeur de circuit FPGA particulier (comme Altera ou Xilinx). – On ne peut pas l'utiliser dans un circuit FPGA autre que celui pour lequel il est prévu. On a donc ici une boîte noire. • On trouvera principalement au niveau des processeurs softcores libres: – Le processeur Leon (http://www.gaisler.com/index.html) – Le processeur OpenRisc (http://www.opencores.org/projects.cgi/web/or1k/overview) – Le processeur F-CPU (http://www.f-cpu.org) – Autres processeurs : clones de 6800, 68HC11, 68K, PIC (http://www.opencores.org/browse.cgi/filter/category_microprocessor) 28
  • 29. • On trouvera principalement au niveau des processeurs softcores propriétaires : – Le processeur NIOS et NIOS II d'Altera http://www.altera.com. – Le processeur Microblaze de Xilinx http://www.xilinx.com. 29