+ All Categories
Home > Documents > generalités sur la technologie FPGA

generalités sur la technologie FPGA

Date post: 29-Nov-2021
Category:
Upload: others
View: 4 times
Download: 0 times
Share this document with a friend
99
Mémoire de fin d’études en vue de l’obtention du diplôme d’Ingénieur en Génie Industriel Présenté par : Samitiana RAMBOAMAMPIANINA Président de Jury : Mr Solofo Hery RAKOTONIAINA, Maître de Conférences à l’ESPA Directeur de mémoire : Mr Harlin Samuel ANDRIATSIHOARANA, Professeur à l’ESPA Examinateurs : Mr Jean André RAJAONARIVELO, Enseignant Chercheur à l’ESPA Mr Haja RALAIVAO, Enseignant Chercheur à l’ESPA Mlle Toky Fanambinana RANAIVOARISOA, Enseignante Chercheur à l’ESPA Date de soutenance : 21 Janvier 2014 UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEURE POLYTECHNIQUE Filière Génie Industriel Département Génie Electrique Promotion 2012 Exploitation de la technologie FPGA pour générer les signaux de commande des onduleurs autonomes triphasés
Transcript
Page 1: generalités sur la technologie FPGA

Mémoire de fin d’études en vue de l’obtention du diplôme d’Ingénieur en Génie Industriel

Présenté par :

Samitiana RAMBOAMAMPIANINA

Président de Jury :

Mr Solofo Hery RAKOTONIAINA, Maître de Conférences à l’ESPA

Directeur de mémoire :

Mr Harlin Samuel ANDRIATSIHOARANA, Professeur à l’ESPA

Examinateurs :

Mr Jean André RAJAONARIVELO, Enseignant Chercheur à l’ESPA

Mr Haja RALAIVAO, Enseignant Chercheur à l’ESPA

Mlle Toky Fanambinana RANAIVOARISOA, Enseignante Chercheur à l’ESPA

Date de soutenance : 21 Janvier 2014

UNIVERSITE D’ANTANANARIVO

ECOLE SUPERIEURE POLYTECHNIQUE

Filière Génie Industriel

Département Génie Electrique

Promotion 2012

Exploitation de la technologie FPGA pour

générer les signaux de commande des onduleurs

autonomes triphasés

Page 2: generalités sur la technologie FPGA
Page 3: generalités sur la technologie FPGA

I

Remerciements

Tout d’abord mes vifs remerciements s’adressent à mon directeur de mémoire, Monsieur

Harlin Samuel ANDRIATSIHOARANA, Professeur à l’École Supérieure Polytechnique

d’Antananarivo, pour la qualité de son encadrement, de ses conseils, de sa disponibilité et de

ses encouragements qui m’ont été précieux pour mener à bien et à terme ce travail.

Je tiens également à remercier Monsieur Philippe Antoine ANDRIANARY, Professeur et

également directeur de l’École Supérieure Polytechnique d’Antananarivo d’avoir autoriser

sans hésiter la tenue de cette séance d’aujourd’hui.

Je voudrais aussi remercier :

Monsieur Solofo Hery RAKOTONIAINA, Maître de Conférences à l’ESPA et Chef de

Département du Génie Electrique

Monsieur RAJAONARIVELO Jean André, Enseignant Chercheur à l’ESPA

Monsieur RALAIVAO Haja, Enseignant Chercheur à l’ESPA

Madame Toky Fanambinana RANAIVOARISOA, Enseignante Chercheur à l’ESPA

de bien vouloir accepter respectivement de présider et d’être membres du jury de ce mémoire.

Je dois ma gratitude à mes très chers parents pour leur soutien moral et financier et

encouragement non seulement pendant l’élaboration de ce projet de mémoire mais aussi

pendant les cinq années d’études que j’ai passées à l’École Supérieure Polytechnique

d’Antananarivo.

J’adresse toute ma reconnaissance aux équipes pédagogiques de la filière Génie

Industriel de l’ESPA qui ont fournis généreusement les bases de mes connaissances et savoirs

durant ces cinq années d’études.

Pour finir, je remercie la GI5 promotion 2012 qui ont été vraiment de collègues de

classe formidable durant ces cinq années d’études.

Page 4: generalités sur la technologie FPGA

II

Table des matières

Remerciements ............................................................................................................................ I

Table des matières ..................................................................................................................... II

Liste des abréviations ............................................................................................................ VIII

Introduction ................................................................................................................................ 1

Chapitre 1 : Généralités sur la technologie FPGA ..................................................................... 3

1.1 Les circuits intégrés ..................................................................................................... 3

1.1.1 Définition ............................................................................................................. 3

1.1.2 Les transistors ....................................................................................................... 3

1.1.3 Historique des circuits intégrés ............................................................................ 4

1.1.4 Les différents types de circuits intégrés ............................................................... 5

1.2 Les circuits FPGA ....................................................................................................... 7

1.2.1 Définition ............................................................................................................. 7

1.2.2 Historique ............................................................................................................. 8

1.2.3 Les principaux fabricants ..................................................................................... 9

1.2.4 Différents types de circuits FPGA ....................................................................... 9

1.2.5 Architecture du FPGA ........................................................................................ 11

1.2.6 Programmation du circuit FPGA ........................................................................ 15

1.2.7 Avantage de l’exploitation du circuit FPGA ...................................................... 16

Chapitre 2 : Conception d’un projet avec FPGA ..................................................................... 20

2.1 Flot de conception du FPGA ..................................................................................... 20

Page 5: generalités sur la technologie FPGA

III

2.1.1 Spécification du design ...................................................................................... 20

2.1.2 Développement du design .................................................................................. 20

2.1.3 Synthèse ............................................................................................................. 20

2.1.4 Placement et routage .......................................................................................... 21

2.1.5 Integration et implementation ............................................................................ 22

2.2 Langage de programmation ....................................................................................... 24

2.2.1 Définition ........................................................................................................... 24

2.2.2 Langage de description de bas niveau ................................................................ 24

2.2.3 Langage de description matériel (VHDL) .......................................................... 25

2.2.4 Historique du VHDL .......................................................................................... 26

2.2.5 Description du VHDL ........................................................................................ 27

2.3 Logiciels de développement ...................................................................................... 33

Présentation ....................................................................................................................... 33

Chapitre 3 : Applications aux onduleurs triphasés ................................................................... 36

3.1 Généralités sur les onduleurs triphasés ...................................................................... 36

3.1.1 Définition ........................................................................................................... 36

3.1.2 Avantages et domaine d’utilisation .................................................................... 36

3.1.3 Etude de quelques cas ........................................................................................ 38

3.2 Commande des onduleurs .......................................................................................... 45

3.2.1 Les différents types de conception de commande .............................................. 45

3.2.2 Stratégies de commande des onduleurs triphasés .............................................. 46

3.2.3 Méthodologie de commande à entreprendre ...................................................... 51

Page 6: generalités sur la technologie FPGA

IV

3.2.4 Programmation de la commande par FPGA ...................................................... 51

3.3 Résultats ..................................................................................................................... 66

3.3.1 Onduleur triphasé en pont classique ................................................................... 66

3.3.2 Onduleur triphasé multiniveau NPC3 ................................................................ 68

3.3.3 Onduleur triphasé nouveau modèle .................................................................... 72

Conclusion ................................................................................................................................ 78

Bibliographies ........................................................................................................................... A

Annexes ..................................................................................................................................... C

Lancement de la simulation ................................................................................................... C

Page 7: generalités sur la technologie FPGA

V

Liste des figures

Figure 1 : Architecture interne du FPGA ................................................................................. 11

Figure 2 : LUT .......................................................................................................................... 13

Figure 3 : Flot de conception du FPGA ................................................................................... 22

Figure 4 : Algorithme de conception avec FPGA .................................................................... 23

Figure 5 : Bascule RS ............................................................................................................... 31

Figure 6 : Schéma bloc d’un onduleur ..................................................................................... 36

Figure 7 : Schéma bloc d’un variateur de vitesse d’un MAS ................................................... 37

Figure 8 : Schéma de principe d’une alimentation de secours ................................................. 38

Figure 9 : Onduleur triphasé en pont classique à six transistors .............................................. 39

Figure 10 : Onduleur multiniveau (trois niveaux) à douze transistors ..................................... 42

Figure 11 : Onduleur nouveau modèle triphasé à douze transistors ....................................... 44

Figure 12 : Principe de fonctionnement d’une MLI naturelle .................................................. 47

Figure 13 : Principe du modulateur numérique ........................................................................ 48

Figure 14 : Tension généralisée à la sortie ............................................................................... 49

Figure 15 : Désignation d’un FPGA de la famille Cyclone d’Altera ....................................... 52

Figure 16 : Carte de développement du Cyclone III FPGA d’Altera ....................................... 56

Figure 17 : Allure de la tension de sortie ................................................................................. 57

Figure 18 : Fenêtre de démarrage de Quartus II ....................................................................... 60

Figure 19 : Création d’un projet sur Quartus II ........................................................................ 61

Figure 20 : Saisie du nom du projet et du répertoire contenant le projet ................................. 62

Figure 21 : Choix du composant .............................................................................................. 63

Figure 22 : Choix de l’entrée du design (textuelle, schématique) ............................................ 64

Figure 23 : Fenêtre de travail ................................................................................................... 64

Figure 24 : Organigramme du programme pour l’onduleur en pont classique ........................ 66

Page 8: generalités sur la technologie FPGA

VI

Figure 25 : Résultat obtenu pour l’onduleur triphasé en pont à 6 transistors ........................... 67

Figure 26 : Allure de la tension de sortie de l’onduleur triphasé en pont classique ................. 68

Figure 27 : Organigramme du programme pour l’onduleur triphasé multiniveau NPC3 ........ 69

Figure 28 : Bloc2 ...................................................................................................................... 70

Figure 29 : Bloc1 ...................................................................................................................... 70

Figure 30 : Résultat obtenu pour l’onduleur triphasé multiniveau NPC3 à 12 transistors ....... 71

Figure 31 : Organigramme du programme pour l’onduleur triphasé nouveau modèle ............ 73

Figure 32 : Bloc 3 ..................................................................................................................... 74

Figure 33 : Bloc 4 ..................................................................................................................... 74

Figure 34 : Résultat obtenu pour l’onduleur triphasé nouveau modèle à 12 transistors .......... 75

Figure 35 : Résultat obtenu en les groupant dans un seul programme ..................................... 77

Page 9: generalités sur la technologie FPGA

VII

Liste des tableaux

Tableau 1 : Répartition du marché des FPGA ............................................................................ 9

Tableau 2 : Exemple de LUT ................................................................................................... 13

Tableau 3 : Fonctionnement d’un onduleur en pont classique à six transistors ....................... 40

Tableau 4 : Fonctionnement d’un onduleur multiniveau NPC3 à douze transistors ................ 43

Tableau 5 : Fonctionnement d’un onduleur nouveau modèle .................................................. 45

Tableau 6 : Les familles proposées par Altera ......................................................................... 52

Tableau 7 : Désignation du « Family Signature » .................................................................... 53

Tableau 8 : Désignation du « Member Code » ......................................................................... 53

Tableau 9 : Désignation du « Package type » .......................................................................... 53

Tableau 10 : Désignation du « Package code » ........................................................................ 54

Tableau 11 : Designation du « Operating Temperature » ........................................................ 54

Page 10: generalités sur la technologie FPGA

VIII

Liste des abréviations

ASIC: Application Specific Integrated Circuit

CLB: Configurable Logic Blocks

CMOS: Complementary MOSFET

CPLD: Complex Programmable Logic Device)

EEPROM: Electrically Erasable Programmable Read-Only Memory

FPGA: Field Programmable Gate Array

IEEE: Institute of Electrical and Electronics Engineers

IOB: Input Output Blocks

LOCOS: localized oxide separation

LUT: Look Up Table

MLI: Modulation Largeur à Largeur d’Impulsion

MOS: Metal Oxide Semiconductor

MOSFET: Metal Oxide Semi-conducteur Field Effect Transistor

NPC: Neutral Point Clamped

PLD: Programmable Logic Device

RAM: Random Access Memory

ROM: Read Only Memory

SOI: Silicon On Insulator

SRAM: Static Random Access Memory

VHDL: Very high speed integrated circuit Hardware Description Language

Page 11: generalités sur la technologie FPGA

INTRODUCTION Promotion 2012

RAMBOAMAMPIANINA Samitiana

1

Introduction

Depuis l’invention du premier composant électronique et jusqu’à présent, l’électronique n’a

cessé de se développer et de se propager partout dans le monde. En effet ce dernier est

embarqué dans presque tous les secteurs comme les secteurs : industrielle, automobile,

télécommunication, financier, médecine, etc. On a surtout remarqué ce développement dans le

domaine de la numérisation ces dernières décennies, le traitement numérique est d’autant

plus avancé et plus exploité par rapport au traitement analogique. Face à cette situation, on ne

peut se passer des circuits intégrés qui sont des éléments de base indispensables et

incontournable pour la réalisation de ce type de traitement. Pourtant la réalisation se limitait

souvent aux fonctions proposées par les fabricants de ces circuits ainsi qu’à leurs

performances car la mise en œuvre de fonctions regroupant plusieurs de ces circuits

nécessitait le câblage de nombreuses connexions et éventuellement la réalisation de câblage

imprimé. L'apparition des circuits logiques programmables de type FPGA (Field

Programmable Gate Array) a permis de s'affranchir de cette limitation. En effet, l'utilisateur

peut créer dans ces circuits, toutes les fonctions logiques qu'il souhaite avec comme

limitations : la place disponible dans le circuit choisi et / ou la vitesse de fonctionnement de

celui-ci. C’est pourquoi, dans ce projet de mémoire, on a choisi d’étudier ce circuit FPGA

sous le thème : « Exploitation de la technologie FPGA pour générer les signaux de commande

des onduleurs autonomes triphasés». Ce travail aura donc pour but de maitriser la conception

avec cette nouvelle technologie, pour pouvoir l’exploiter à des applications avec des foncions

compliquées à haute fréquence, difficile à réaliser avec d’autres circuits intégrés. Pour mener

à bien cette étude, on a divisé cet ouvrage en trois grands chapitres :

Le premier chapitre concerne le contexte général à travers lequel on parle des généralités

Page 12: generalités sur la technologie FPGA

INTRODUCTION Promotion 2012

RAMBOAMAMPIANINA Samitiana

2

sur la technologie FPGA.

Le deuxième chapitre illustre la méthodologie de conception d’un projet avec le FPGA

Le dernier chapitre concerne l’application et les résultats de commande d’un onduleur

triphasé en pont, un onduleur triphasé multiniveau NPC3 et un onduleur triphasé nouveau

modèle par FPGA.

Page 13: generalités sur la technologie FPGA

GENERALITES SUR LA TECHNOLOGIE FPGA Promotion 2012

RAMBOAMAMPIANINA Samitiana

3

Chapitre 1 : Généralités sur la technologie FPGA

1.1 Les circuits intégrés

1.1.1 Définition

Un circuit intégré est un circuit électronique réalisant une ou plusieurs fonctions et

comportant plusieurs transistors fabriqués de façon collective. Les techniques de fabrication

collective (Successions d'étapes dépôts – lithographies – gravures - dopages) sont très

sophistiquées et très coûteuses, mais elles permettent de réaliser sur une même tranche de

silicium un grand nombre de circuits intégrés qui comportent eux-mêmes un grand nombre de

transistors.

Le transistor est donc le principal élément constitutif des circuits intégrés, ce dernier est donc

basé sur le principe de fonctionnement des transistors.

1.1.2 Les transistors

Les premiers transistors étaient des transistors bipolaires. Ces transistors sont rapides mais ne

sont pas bien adaptés à la miniaturisation (encombrement et forte consommation). Ils sont

actuellement utilisés pour les circuits analogiques. Ils sont à base de silicium pour les basses

fréquences et les radiofréquences jusqu'à quelques milliards d’Hertz (GHz). Pour les

fréquences plus élevées (hyperfréquences), les matériaux de base sont les semi-conducteurs

composés d'atomes des troisième et cinquième colonnes du tableau de Mendéléïev (composés

III-V de type GaAs), ou SiGe.

Page 14: generalités sur la technologie FPGA

GENERALITES SUR LA TECHNOLOGIE FPGA Promotion 2012

RAMBOAMAMPIANINA Samitiana

4

Au milieu des années 60, grâce aux recherches concernant l'oxyde de silicium, est apparu le

transistor à effet de champ (MOSFET pour Metal Oxide semi-conducteur Field Effect

Transistor). A l'origine, on ne savait fabriquer que des MOSFET dont l'électrode de

commande (la grille) était fabriquée en aluminium.

Dans les années 70, de nouvelles techniques d'isolation entre des transistors (LOCOS pour

localized oxide separation) et la maîtrise des grilles en silicium polycristallin, ont permis de

fabriquer des MOSFET à conduction par électrons.

Enfin, dans les années 80, on a su réaliser sur une même tranche et avec des procédés

technologiques compatibles des MOSFET à conduction par trous et des MOSFET à

conduction par électrons. Les circuits CMOS (« Complementary MOSFET ») étaient nés. Ces

circuits, bien que relativement lents, sont bien adaptés pour une miniaturisation (faible

encombrement, technologie de fabrication relativement simple, faible consommation). Dans

le futur, les performances des circuits pourraient encore être améliorées, à une technologie

comparable, par l'utilisation de substrats de type SOI (silicon on insulator). Compte tenu

du compromis (vitesse, puissance dissipée, densité d’intégration, coût), la plupart des circuits

intégrés sont fabriqués dans cette technologie. Le silicium a donc aujourd’hui le quasi-

monopole. Les circuits intégrés sont actuellement fabriqués sur substrats SOI, et l'utilisation

du silicium- germanium (SiGe).

1.1.3 Historique des circuits intégrés

Les circuits électroniques envahissent le quotidien de manière impressionnante.

Ils sont présents dans les machines à laver, les montres, les voitures, et évidemment dans les

ordinateurs. Qui aurait pensé, le 23 décembre 1947, date de la création du premier transistor

par William Shockley, Walter Braittain et John Bardeen, physiciens des laboratoires Bell,

Page 15: generalités sur la technologie FPGA

GENERALITES SUR LA TECHNOLOGIE FPGA Promotion 2012

RAMBOAMAMPIANINA Samitiana

5

qu’en 66 ans l’électronique allait révolutionner le style de vie de l’humanité ?

En 1952, G. W. A. Dummer, un Anglais expert en radar, publia un article proposant d’utiliser

un bloc de matériel solide pour connecter des composants électroniques, sans fils de

connexions. Le concept de circuit intégré était né, et six ans plus tard, en 1958, Jack Kilby,

travaillant pour Texas Instruments, en réalisa le premier spécimen, sous la forme d’un

oscillateur à décalage de phase, contenant cinq éléments sur une seule pièce de semi-

conducteur. Depuis celà, la complexité des circuits intégrés n’a cessé de croître, pour arriver à

des systèmes jusqu’à 1.7 milliard de transistors pour le processeur d’Intel.

La fabrication d’un circuit intégré spécifique à une application (ASIC) est une tâche ardue et

coûteuse en temps et en argent. En effet, la réalisation d’un prototype, nécessite la création

d’un ou plusieurs masques, qui sont très coûteux s’ils ne sont destinés qu’à une petite

quantité. De plus, une simple erreur dans le design du système, implique la création d’un ou

plusieurs nouveaux masques. Et finalement, l’investissement, en temps de développement est

important, et n’est pas forcément tolérable si un produit doit très rapidement être mis sur le

marché.

Parallèlement à l’avancée des ASICs, divers circuits programmables ont fait leur apparition,

afin de réduire le temps et le coût de développement des circuits électroniques, tout en restant

relativement compétitifs sur le plan de la rapidité d’exécution.

1.1.4 Les différents types de circuits intégrés

On peut classer les circuits intégrés en 3 grandes classes :

Les processeurs

Le Circuit Intégré Spécifique à une Application (ASIC)

Les circuits programmables

Page 16: generalités sur la technologie FPGA

GENERALITES SUR LA TECHNOLOGIE FPGA Promotion 2012

RAMBOAMAMPIANINA Samitiana

6

1.1.4.1 Les processeurs

Un processeur est un circuit intégré permettant d’implémenter n’importe quelle fonction en

exécutant de manière séquentielle un code compilé. Le grand avantage du processeur est sa

généricité, puisque n’importe quel programme peut y être exécuté. De plus, sa réalisation est

très facile.

Malheureusement, cette généricité s’accompagne d’un coût, à savoir le temps d’exécution

d’une tâche. En effet, les instructions sont exécutées une à une (bien que certains processeurs

présentent un certain parallélisme), l’opération nécessitant au minimum trois pas de temps.

Un système matériel peut, lui, effectuer cette opération en un seul pas. De plus, le processeur

étant une unité chargée d’un calcul, une seule erreur compromet l’ensemble de son exécution

à cause de l’exécution séquentielle. Les systèmes parallèles laissent, quant à eux, la porte

ouverte à l’autoréparation, une unité pouvant potentiellement prendre la place d’une autre se

trouvant dans un état défectueux. Les applications intrinsèquement parallèles, telles que les,

réseaux de neurones ou les automates cellulaires sont donc exécutées de manière séquentielle

par un processeur, alors qu’un système matériel a la possibilité d’exploiter tout le parallélisme

possible.

Les systèmes cellulaires, composés de plusieurs cellules effectuant des tâches en parallèle,

sont donc bien plus efficacement réalisés en matériel qu’en logiciel.

1.1.4.2 ASIC

Le Circuit Intégré Spécifique à une Application (ASIC) est une des manières de réaliser un

système de calcul matériel. Pour chaque application, un circuit différent est créé, soit en le

construisant entièrement, soit en configurant une grille d’éléments préconstruits. L’avantage

des ASICs sur les circuits reconfigurables, pour une même technologie, est évidemment leur

Page 17: generalités sur la technologie FPGA

GENERALITES SUR LA TECHNOLOGIE FPGA Promotion 2012

RAMBOAMAMPIANINA Samitiana

7

rapidité, puisque les connexions sont créées physiquement plutôt que programmées.

Toutefois, leur force est également leur faiblesse, puisque leur conception nécessite plus de

temps, étant donné qu’en tout cas une couche de métal, doit être apposée. De plus, ils ne sont

en aucun cas programmables, et une erreur dans le design implique un changement complet

du circuit.

1.1.4.3 Les circuits programmables

Un circuit programmable, est un assemblage d’opérateurs logiques, combinatoires et de

bascules, dans lequel la fonction réalisée n’est pas fixée lors de la fabrication. Il contient

potentiellement la possibilité de réaliser toute une classe de fonctions, plus ou moins large

suivant son architecture. La programmation du circuit consiste à définir une fonction parmi

toutes celles qui sont potentiellement réalisables.

Comme dans toute réalisation en logique câblée, une fonction logique est définie par les

interconnexions entre des opérateurs combinatoires et des bascules, et par les équations des

opérateurs combinatoires. Ce qui est programmable dans un circuit concerne donc les

interconnexions et les opérateurs combinatoires. Les bascules sont le plus souvent de simples

bascules D, ou des bascules configurables en bascules D ou T.

La réalisation d’opérateurs combinatoires utilise des opérateurs génériques.

Par la suite, on va s’intéresser spécialement à ce circuit programmable.

1.2 Les circuits FPGA

1.2.1 Définition

FPGA : Field-Programmable Gate Array, réseau de portes programmables

Page 18: generalités sur la technologie FPGA

GENERALITES SUR LA TECHNOLOGIE FPGA Promotion 2012

RAMBOAMAMPIANINA Samitiana

8

Un FPGA est un circuit intégré composé d’un grand nombre d’éléments logiques

programmables reliés entre eux grâce à une matrice de routage elle aussi programmable. Cette

structure permet au FPGA d’émuler n’importe quel circuit, à la seule condition que celui-ci ne

soit pas trop gros pour ne pas épuiser les ressources logiques et de routage du FPGA.

1.2.2 Historique

En 1984 la société américaine Xilinx fut le premier inventeur du domaine en lançant le

premier circuit FPGA commercial, le XC2000. Ce composant avait une capacité maximum de

1500 portes logiques. La technologie utilisée était alors une technologie aluminium à 2µm

avec 2 niveaux de métallisation. Xilinx sera suivi un peu plus tard, et jamais lâché, par son

plus sérieux concurrent Altera qui lança en 1992 la famille de FPGA FLEX 8000 dont la

capacité maximum atteignait 15000 portes logiques.

En 2000 et 2001, les deux concurrents Xilinx et Altera ont franchi une nouvelle étape au

niveau de la densité d’intégration en proposant respectivement leurs circuits Virtex et Apex-II

dont les capacités maximums avoisinaient les 4 millions de portes logiques équivalentes avec

de plus l’introduction de larges bancs de mémoires embarquées. Aujourd’hui, les fréquences

de fonctionnement de ces circuits sont de l’ordre de quelques centaines de Méga Hertz (ces

dernières sont en réalité très dépendantes de l’application). Bien que ces valeurs soient

relativement réduites par rapport aux ASICs, elles sont suffisantes pour une très large majorité

d’applications actuelles.

À partir des années 2000, les capacités des FPGA ont permis d’offrir aux concepteurs une

solution supplémentaire de réalisation pour une majorité d’applications. De plus, les outils de

mise en œuvre des FPGA ont évolué, ils permettent la réalisation rapide d’applications

complexes.

Page 19: generalités sur la technologie FPGA

GENERALITES SUR LA TECHNOLOGIE FPGA Promotion 2012

RAMBOAMAMPIANINA Samitiana

9

1.2.3 Les principaux fabricants

Les fabricants des FPGA ne cessent pas d’améliorer leurs produits par l’efficacité et la

puissance. Les fabricants qui conçoivent ce type de circuits sont : Actel, Altera, Atmel

Cypress, Latice, Minc, QuicLOgic, Xilinx et autres.

Mais les principaux fabricants qui tiennent une place importante sur le marché sont :

Altera

Xilinx

Constructeur Part du marché

Xilinx 35,5%

Altera 32,7%

Lattice 16,1%

Actel 6,7%

Lucent Technologie 4,3%

Autres 4,7%

Tableau 1 : Répartition du marché des FPGA

1.2.4 Différents types de circuits FPGA

On peut classer les FPGA, suivant leurs tehnologie de programmation.

En effet, pour franchir les inconvenients des mémoires, et dans le but de faire un ensemble de

technologie complementaire adaptable suivant l’environnement des cahiers des charges, il

existe trois types d’FPGA reprogrammables suivant la technologie de mémorisation pour

répondre aux differentes applications.

Ces trois principales technologies d’FPGA sont :

Page 20: generalités sur la technologie FPGA

GENERALITES SUR LA TECHNOLOGIE FPGA Promotion 2012

RAMBOAMAMPIANINA Samitiana

10

Technologie de programmation par RAM

Technologie de programmation par EEPROM ou FLASH.

Technologie de programmation par anti-fusible

1.2.4.1 Technologie à base de RAM (Les fabricants sont XILINX et

ALTERA)

Cette technologie permet d’avoir une reconfiguration rapide des FPGA. Les connexions sont

des ensembles de transistors commandés. L’inconvénient majeur de cette technologie c’est

qu’elle nécessite beaucoup de place et il est nécessaire de sauvegarder le design du FPGA

dans une autre mémoire flash.

1.2.4.2 Technologie à base de EEPROM ou FLASH (Les fabricants sont

LATTICE et ACTEL)

Cette technologie garde sa configuration mais un nombre limité de configuration avec une

configuration plus lente par rapport à SRAM

1.2.4.3 Technologie à base d’ANTI-FUSIBLE (Le fabricant est ACTEL)

Les points de connexions sont du type ROM, c’est-à-dire que la modification du point est

inversible. Pour comprendre le mécanisme de connexion sans rentrer dans les détails des

semi-conducteurs, on considère que le point de connexion est le point de rencontre de deux

segments conducteurs ou lignes conductrices. Le non « anti-fusible » vient du fait que l’état

initial du fusible ou la couche isolant est présent et il n’y a pas de contact, pour l’établir il faut

détruire le fusible ce qui est contradictoire au fonctionnement habituel d’un fusible. Des

composants moins génériques mais plus petits et plus rapides ont été développés.

Page 21: generalités sur la technologie FPGA

GENERALITES SUR LA TECHNOLOGIE FPGA Promotion 2012

RAMBOAMAMPIANINA Samitiana

11

1.2.5 Architecture du FPGA

L’architecture interne des FPGA est différente d’un fondeur à un autre et même entre la

différente gamme du même constructeur mais rien n’empêche que leurs ressemblances

peuvent être rassemblées dans le schéma représentatif de la figure suivante :

Figure 1 : Architecture interne du FPGA

En général, un FPGA est composé des blocs principaux électriquement configurables

suivants :

Les blocs logiques configurables (CLB)

Les blocs d’entrée-sortie (IOB)

Les ressources d’interconnexion

Illustration des blocs principaux :

Page 22: generalités sur la technologie FPGA

GENERALITES SUR LA TECHNOLOGIE FPGA Promotion 2012

RAMBOAMAMPIANINA Samitiana

12

1.2.5.1 Les blocs logiques configurables (CLB)

Les blocs logiques configurables sont les principaux éléments d’un FPGA. Ils peuvent avoir

un ou plusieurs générateurs de fonctions réalisées avec des tables de correspondance (LUT

look-up tables) qui peuvent mettre en œuvre une logique arbitraire en fonction de leur

configuration.

Autour d’une LUT, il y a une logique d’interconnexion qui permet les liaisons à destination et

vers la LUT. Elle est mise en œuvre à l’aide de portes logiques et de multiplexeurs.

Pendant le processus de configurations d’un FPGA, les mémoires des LUT sont écrites pour y

implémenter une fonction, et la logique qui l’entoure est configurée pour router correctement

les signaux afin de construire un système complexe. Il existe différents types de CLB en

fonction du FPGA utilisé.

L’architecture des FPGA peuvent être regroupées en:

a Circuits FPGA à base de LUT (Look Up Tables)

Les LUT ressemblent aux tables de vérité des fonctions logiques et réalisables par des

mémoires de type SRAM. Aujourd’hui, la structure la plus utilisée est basée sur ce type

d’FPGA .Les possibilités offertes par les circuits programmables FPGA a SRAM permettent

par ailleurs de mettre en œuvre le concept de prototypage(ou maquette) pour la vérification

fonctionnelle de systèmes sur puce pour certaines applications.

La fonction de la LUT est de stocker la table de vérité de la fonction combinatoire à

implémenter sur des mémoires SRAM (LUT = Look-Up Table).

La table de vérité est alors chargée dans ces LUT. La figure suivante montre le cas de LUT à

Page 23: generalités sur la technologie FPGA

GENERALITES SUR LA TECHNOLOGIE FPGA Promotion 2012

RAMBOAMAMPIANINA Samitiana

13

deux entrées. En général, les FPGA sont équipés de LUT à quatre ou six entrées.

Exemple : S=A+B

Tableau 2 : Exemple de LUT

Les éléments séquentiels (synchrones sur front ou niveau) sont implantés sur des bascules (D

le plus fréquemment).

b Les circuts FPGA à base de mutiplexeurs « MUX »

Les FPGA à base de multiplexeurs qui sont des microcellules à trois entrées capables de

réaliser la fonction suivante :

F = (a AND b) OR (a AND b)

1.2.5.2 Les blocs d’entrée-sortie (IOB)

Les blocs d’entrée-sortie permettent l’interconnexion de la logique interne aux ports d’entrées

et de sorties du FPGA. Les IOB ont leur propre mémoire de configuration, elle stocke les

standards de tension et la direction des ports. Ces blocs sont présents sur toute la périphérie du

circuit FPGA. Chaque bloc IOB contrôle une broche du composant et il peut être défini en

entrée, en sortie, en signaux bidirectionnels ou être inutilisé.

A B S

0 0 0

0 1 1

1 0 1

1 1 1

0

1

1

1

D

é

c

o

d

e

u

r

LUT(SRAM)

Adresses Données

S

A

B

Figure 2 : LUT

Page 24: generalités sur la technologie FPGA

GENERALITES SUR LA TECHNOLOGIE FPGA Promotion 2012

RAMBOAMAMPIANINA Samitiana

14

1.2.5.3 Les ressources d’interconnexion

Les ressources d’interconnexion au sein d’un FPGA permettent la connexion arbitraire des

CLB et des IOB.

Les connexions internes dans les circuits FPGA sont composées de segments métallisés.

Parallèlement à ces lignes, nous trouvons des matrices programmables réparties sur la totalité

du circuit, horizontalement et verticalement entre les divers CLB. Elles permettent les

connexions entre les diverses lignes, celles-ci sont assurées par des transistors MOS dont

l’état est contrôlé par des cellules de mémoire vive ou RAM. Le rôle de ces interconnexions

est de relier avec un maximum d’efficacité les blocs logiques et les entrées/sorties afin que le

taux d’utilisation dans un circuit donné soit le plus élevé possible.

Pour parvenir à cet objectif, Xilinx propose trois sortes d’interconnexions selon la longueur et

la destination des liaisons.

Les interconnexions directes : Ces interconnexions permettent l’établissement des

liaisons entre les CLB et les IOB. Il est possible aussi de connecter directement certaines

entrées d’un CLB aux sorties d’un autre.

Les longues lignes : Ce sont de longs segments métallisés parcourant toute la longueur et

la largeur du FPGA. Elles permettent éventuellement de transmettre avec un minimum de

retard des signaux, entre les différents éléments, dans le but d’assurer un synchronisme

aussi parfait que possible. De plus, ces longues lignes permettent d’éviter la multiplicité

des points d’interconnexion.

Les matrices d’interconnexion : Ce sont des points situés à chaque intersection. Leur

rôle est de raccorder les longues lignes entre elles selon diverses configurations. Ces

interconnexions sont utilisées pour relier un CLB à n’importe quel autre CLB sur le

FPGA. Ceci pour assurer la communication des signaux. Pour éviter l’affaiblissement des

Page 25: generalités sur la technologie FPGA

GENERALITES SUR LA TECHNOLOGIE FPGA Promotion 2012

RAMBOAMAMPIANINA Samitiana

15

signaux traversant les longues lignes, des buffers sont implantés dans chaque matrice

d’interconnexion.

Les trois blocs présentés jusqu’ici sont interconnectés ensemble dans le dispositif pour créer

une infrastructure de communication composée d’un réseau de communication d’IOB autour

des CLB. Des cellules de mémoire liées à chaque bloc détiennent les caractéristiques

principales, de telle sorte que les interconnexions entre l’infrastructure de communication, les

normes de tension des entrées-sorties d’un IOB, et les équations soient commandées par des

valeurs particulières stockées dans une mémoire. Toutes ces configurations sont stockées dans

des SRAM qui sont volatiles : lorsque le composant est mis sous tension, toute sa

configuration est perdue et il doit être redémarré avec une nouvelle configuration.

Habituellement, des dispositifs sur la carte de développement se charge de télécharger la

configuration sur le FPGA via une de ses interfaces de configuration, et envoie une commande

de démarrage pour signaler que la configuration a eu lieu. Certaines cartes ont une mémoire

ROM d’intégrée. Elle permet de stocker la configuration, de sorte qu’elle puisse ensuite être

téléchargée sur le FPGA. Dans ce cas, les données de configuration sont copiées sur la

mémoire SRAM de configuration du FPGA au démarrage de celui-ci.

1.2.6 Programmation du circuit FPGA

Une première étape dans la programmation d’un circuit FPGA consiste à connecter les blocs

logiques entre eux et les entrées/sorties (routage du programme).

Les circuits FPGA disposent de plusieurs ressources de routage. En général, les niveaux

hiérarchiques disponibles sont :

Connexions directes vers les voisins proches.

Connexions générales à travers des matrices de routages et des canaux disposés suivant

Page 26: generalités sur la technologie FPGA

GENERALITES SUR LA TECHNOLOGIE FPGA Promotion 2012

RAMBOAMAMPIANINA Samitiana

16

une topologie simple

Connexions à longue distance

Distribution d'horloge spécifique

Ensuite, la seconde étape de programmation des circuits FPGA est la définition des

connexions entre les switchs et les blocs logiques. Cet outil de design traduit le langage

introduit par l’utilisateur (VHDL, Verilog).

1.2.7 Avantage de l’exploitation du circuit FPGA

1.2.7.1 Par rapport aux processeurs

a Performances

Comme ils bénéficient du parallélisme matériel, les FPGA offrent une puissance de calcul

supérieure à celle des processeurs de signaux numériques (DSP), car ils s'affranchissent du

modèle d'exécution séquentielle et exécutent plus d'opérations par cycle d'horloge. BDTI, une

importante société d'analyse a publié des études montrant que les FPGA peuvent offrir une

puissance de traitement par dollar plusieurs fois supérieure à celle d'une solution DSP dans

certaines applications. Contrôler les entrées et sorties (E/S) au niveau matériel permet

d'obtenir des temps de réponse plus courts ainsi que des fonctionnalités spécifiques, qui

répondent mieux aux besoins de l'application.

Pour avoir une idée sur l’ordre de grandeur, on peut comparer la performance entre les deux

circuits intégrés par les chiffres suivants :

Microprocesseur à 1 GHz :

1 000 000 000 opérations par seconde

Page 27: generalités sur la technologie FPGA

GENERALITES SUR LA TECHNOLOGIE FPGA Promotion 2012

RAMBOAMAMPIANINA Samitiana

17

FPGA à 300 MHz avec 1000 multiplicateurs :

300 000 000 000 opérations par seconde

b Fiabilité

Tandis que les outils logiciels fournissent l'environnement de programmation, les circuits

FPGA sont une véritable implémentation matérielle de l'exécution logicielle. Les systèmes

basés sur processeur comprennent souvent plusieurs couches d'abstraction, pour aider à la

planification des tâches et à la répartition des ressources entre les différents processus. La

couche de driver contrôle les ressources matérielles et le système d'exploitation gère la

mémoire et la bande passante du processeur. Sur chaque cœur de processeur, une seule

instruction peut s'exécuter à la fois ; c'est pourquoi les systèmes basés sur processeur risquent

toujours de voir des tâches prioritaires entrer en conflit. Les FPGA, qui n'utilisent pas de

système d'exploitation, minimisent les problèmes de fiabilité car ils assurent une exécution

véritablement parallèle et un matériel déterministe dédié à chaque tâche.

1.2.7.2 Par rapport aux autres circuits intégrés comme ASIC

a Temps de mise sur le marché

Face à des préoccupations croissantes concernant les temps de mise sur le marché, la

technologie FPGA représente une solution souple offrant des capacités de prototypage rapide.

Ainsi, on peut tester une idée ou un concept, puis le vérifier sur du matériel sans avoir à

passer par le long processus de fabrication d'un ASIC personnalisé. Une fois le programme

validé cela ne prend que quelques minutes à l’implémenter. A titre de comparaison, la

fabrication d’un circuit ASIC peut prendre plusieurs semaines. Le matériel « sur étagère »

Page 28: generalités sur la technologie FPGA

GENERALITES SUR LA TECHNOLOGIE FPGA Promotion 2012

RAMBOAMAMPIANINA Samitiana

18

actuellement commercialisé propose également différents types d'E/S déjà connectées à un

circuit FPGA programmable par l'utilisateur. La multiplication des outils logiciels de haut

niveau disponibles sur le marché permet de réduire le temps d’exploitation. Ces outils

comprennent souvent des cœurs de propriété intellectuelle (fonctions précompilées) utiles

pour le contrôle avancé et le traitement de signaux.

b Un circuit reprogrammable

L’avantage du FPGA est de pouvoir être reprogrammable contrairement aux circuits intégrés

de type ASIC. Ce qui rend cette solution modulable et donne la possibilité de modifier le

programme générique de base afin de le rendre spécifique au circuit utilisé. Une solution de

validation utilisant le FPGA peut alors convenir à beaucoup de projets et donc diffusée à

plusieurs équipes.

c Un investissement rentable dans la durée

Cela est dû à sa reprogrammation, ce qui implique une réutilisation à destination d’autres

projets, malgré un prix à l’achat supérieur à un circuit ASIC.

d Un coût relativement faible

Les coûts des ASIC personnalisés sont bien supérieurs à ceux des solutions matérielles basées

sur du FPGA. L'important investissement de départ que requièrent les ASIC se justifie

largement pour les OEM, par exemple, qui peuvent livrer des circuits par milliers chaque

année. Cependant, la plupart des utilisateurs finaux ont besoin de matériels personnalisés pour

quelques dizaines ou quelques centaines de systèmes en développement.

Par nature, les circuits programmables n'impliquent ni coût de fabrication, ni longs délais

d'assemblage. Les besoins de la plupart des systèmes évoluent avec le temps ; or la

Page 29: generalités sur la technologie FPGA

GENERALITES SUR LA TECHNOLOGIE FPGA Promotion 2012

RAMBOAMAMPIANINA Samitiana

19

modification progressive d'un FPGA représente un coût négligeable comparé à la dépense

considérable qu'exige la reconception d'un ASIC.

Page 30: generalités sur la technologie FPGA

CONCEPTION D’UN PROJET AVEC FPGA Promotion 2012

RAMBOAMAMPIANINA Samitiana

20

Chapitre 2 : Conception d’un projet avec FPGA

2.1 Flot de conception du FPGA

Plusieurs étapes sont incontournables au développement d’un projet sur la plateforme FPGA :

2.1.1 Spécification du design

Le nombre de broches d’entrée-sortie et leur localisation dans la puce FPGA.

La spécification de la fréquence horloge du système.

La spécification de la mémoire requise pour l’application.

2.1.2 Développement du design

Spécification de la méthodologie de design (outil de développement utilisé).

La saisie du circuit Codage RTL (VHDL, Verilog, …………………….)

Graphique (machine à états)

Saisie HDL (Hardware Description Langage).

La Simulation (Pré et Post synthèse).

2.1.3 Synthèse

La synthèse est le processus qui convertit la représentation du design à partir du code HDL

fourni pour produire une représentation au niveau porte logique. Elle s’occupe de déterminer

quelles sont les structures susceptibles de répondre au cahier de charges étudiées et de

produire un code booléen unique sous forme d’un fichier.

Page 31: generalités sur la technologie FPGA

CONCEPTION D’UN PROJET AVEC FPGA Promotion 2012

RAMBOAMAMPIANINA Samitiana

21

2.1.4 Placement et routage

A partir des fichiers de synthèse, l’outil de conception procède au placement et routage. Un

algorithme de routage est sensé de faire l’aiguillage des donnés qu’il reçoit vers leurs

destination par action sur les nœuds de routage ce qui est équivalent à définir les chemins qui

relient l’ensemble des CLB contenus dans la fonction désirée. Ces algorithmes de routage

sont différents d’un concepteur à un autre. Plusieurs traitements sont nécessaires pour obtenir

fichier de configuration :

2.1.4.1 Partitionnement

Les équations logiques sont partitionnées en un autre ensemble équivalent d’équations.

Chaque équation de ce nouvel ensemble peut être implantée dans un seul bloc logique du

composant cible FPGA

2.1.4.2 Placement

Des blocs logiques sont selectionnés dans la matrice et affectés au calcul des nœuds du réseau

booléen.

2.1.4.3 Routage

Les ressources d’intrconnexion sont affectées à la communication de l’etat des nœuds du

reseau vers les differents blocs logiques qui en ont besoin.

2.1.4.4 Generation des données numériques de configuration

Les informations abstraites de routage, de placement et les equations implantées dans les

blocs sont transformées en un ensemble de valeurs numériques, qui seront chargées sur le

composant FPGA.

Page 32: generalités sur la technologie FPGA

CONCEPTION D’UN PROJET AVEC FPGA Promotion 2012

RAMBOAMAMPIANINA Samitiana

22

2.1.5 Integration et implementation

L’implementation est la realisation proprement dite qui consiste à mettre en œuvre

l’algorithme sur l’architecture du circuit configurable cible, c’est-à-dire à compiler, charger,

puis lancer l’execution sur un ordinateur ou calculateur. C’est une étape de programmation

physique et de tests électriques qui clôture la realisation du circuit. La figure suivante résume

l’ensemble de ces étapes.

Figure 3 : Flot de conception du FPGA

Page 33: generalités sur la technologie FPGA

CONCEPTION D’UN PROJET AVEC FPGA Promotion 2012

RAMBOAMAMPIANINA Samitiana

23

Le flot de conception d’un FPGA est synthétisé par l’algorithme suivant :

OUI

Début du design

Spécification du design

Saisie du design

Synthèse

Placement et routage

Intégration et implémentation

NON Design satisfaisant

Figure 4 : Algorithme de conception avec FPGA

Page 34: generalités sur la technologie FPGA

CONCEPTION D’UN PROJET AVEC FPGA Promotion 2012

RAMBOAMAMPIANINA Samitiana

24

2.2 Langage de programmation

2.2.1 Définition

Pour pouvoir décrire les fonctions à charger dans ce circuit il faudra un langage universel qui

permet à tout concepteur de le modifier en cas d’amélioration.

2.2.2 Langage de description de bas niveau

La saisie de schéma est un moyen puissant pour spécifier un design car le schéma graphique

est une manière naturelle pour un électronicien de créer ou de lire un design. Elle a toutefois

trois inconvénients principaux :

L’incompatibilité entre les librairies qui rend le portage d’un design entre deux fabricants

de FPGA quasiment impossible.

La complexité d’un schéma devient très élevée quand le nombre de portes augmente. Au-

delà de 10000 portes, il devient généralement ingérable.

Une modification importante au milieu d’une page du schéma nécessite généralement la

réécriture complète de la page.

Pour toutes ces raisons, on a essayé de développer des outils spécifiant le design avec une

entrée de type texte plutôt qu’avec une entrée de type graphique. Les premiers langages de

bas niveau ont été créés pour programmer les PAL puis les PLD. Il existe aujourd’hui un très

grand nombre de design élémentaires (et opérationnels) que l’on peut chercher à réutiliser. On

trouve principalement les deux langages suivants :

PALASM : Il s’agit d’un langage de programmation de PAL conçu par AMD/MMI.

Aujourd’hui en version 2, les outils de développement ont l’immense avantage d’être

gratuits.

Page 35: generalités sur la technologie FPGA

CONCEPTION D’UN PROJET AVEC FPGA Promotion 2012

RAMBOAMAMPIANINA Samitiana

25

ABEL: ABEL est un langage de programmation de PAL conçu par Data I/O. Il est très

utilisé aux USA mais les outils de développement demeurent assez coûteux.

2.2.3 Langage de description matériel (VHDL)

Nécessité:

L'évolution des technologies induit une complexité croissante des circuits intégrés qui

ressemblent de plus en plus aux systèmes complets d'hier. Aujourd'hui, on intègre dans une

puce ce qui occupait une carte entière il y a quelques années. La simulation logique globale du

système au niveau "porte" n'est plus envisageable en termes de temps de simulation. C'est

donc tout naturellement que des simulateurs fonctionnels ont commencé à être utilisés en

microélectronique. Dans les années 70, une grande variété de langages et de simulateurs était

utilisée. Cette diversité avait pour conséquence un non portabilité des modèles et donc une

impossibilité d'échange entre les sociétés. Un des rôles de VHDL est de permettre l'échange

de descriptions entre concepteurs. Ainsi peuvent être mises en place des méthodologies de

modélisation et de description de bibliothèques en langage VHDL. L'effort de standardisation

d'un langage tel que VHDL était nécessaire par le fait qu'il ne s'agissait pas de construire un

seul simulateur VHDL (contrairement à la quasi-totalité des autres langages), mais de

permettre l'apparition d'une multitude d'outils (de simulation, de vérification, de synthèse, ...)

de constructeurs différents utilisant la même norme. Ceci garantit une bonne qualité (la

concurrence) et l'indépendance de l'utilisateur vis à vis des constructeurs de ces outils.

Les deux langages précédents (ABEL, PALASM) sont loin d’être assez puissants pour

pouvoir spécifier un ASIC ou un FPGA. Deux langages de description matérielle sont apparus

dans les années 80 : Verilog et VHDL (VHSIC (Very High-Speed Integrated Circuit)

Page 36: generalités sur la technologie FPGA

CONCEPTION D’UN PROJET AVEC FPGA Promotion 2012

RAMBOAMAMPIANINA Samitiana

26

Hardware Description Language). La grande majorité des simulateurs ne travaille plus

aujourd’hui qu’avec un de ces deux langages. Le schéma graphique, quand il est utilisé, est

simplement traduit dans un de ces langages (en netlist VHDL). La synthèse est l’opération

qui consiste, à partir du fichier texte, à produire la netlist contenant le schéma électrique

destiné aux outils de placement-routage. Cette étape est particulièrement délicate dans le cas

des FPGA à cause de la complexité élevée (granularité) de la cellule de base du FPGA. La

portabilité est bien meilleure qu’avec la saisie de schéma (les langages VHDL et Verilog sont

normalisés), mais toute la complexité du processus de développement repose maintenant sur

l’efficacité de la synthèse.

2.2.4 Historique du VHDL

Les langages de description matérielle (HDL ou Hardware Description Language) ont été

inventés à la fin des années 60. Ils s'appuyaient sur les langages de programmation et devaient

permettre la description et la simulation de circuits.

Entre les années 1968 et 1975, une grande diversité de langages et de simulateurs ont vu le

jour. Cependant, leur syntaxe et leur sémantique étaient incompatibles et les niveaux de

descriptions étaient variés. En 1973, le besoin d'un effort de standardisation s'est fait ressentir

et c'est ainsi que le projet CONLAN (pour CONsensus LANguage) a été mis en place. Les

principaux objectifs de ce projet étaient de définir un langage de description matériel

permettant de décrire un système à plusieurs niveaux d'abstractions, ayant une syntaxe unique

et une sémantique formelle et non ambiguë. En mars 1980, le département de la défense des

Etats Unis d'Amérique (DoD ou Department of Defense) lançait le programme VHSIC. En

1981, des demandes pour un nouveau langage de description de systèmes matériels,

indépendant de toute technologie et permettant de couvrir tous les besoins de l'industrie

Page 37: generalités sur la technologie FPGA

CONCEPTION D’UN PROJET AVEC FPGA Promotion 2012

RAMBOAMAMPIANINA Samitiana

27

microélectronique, ont été formulées. C'est en 1983, que d'importantes sociétés telles que

IBM, Intermetrics ou encore Texas Instruments se sont investies dans ce projet et à la fin de

l'année 1984, un premier manuel de référence du langage ainsi qu'un manuel utilisateur ont

été rédigés. En 1985, des remises en cause et des évaluations ont donné naissance à la version

7.2 du langage VHDL, et en juillet 1986, Intermetrics a développé un premier compilateur et

un premier simulateur. C'est en mars 1986, qu'un groupe chargé de la standardisation du

langage VHDL a été créé. Il s'agit du groupe américain VASG (VHDL Analysis and

Standardization Group) qui est un sous-comité des DASS (Design Automation Standard

Subcommittees), eux-mêmes émanant de l'IEEE (Institute of Electrical and Electronics

Engineers). La norme VHDL IEEE 1076 a été approuvée le 10 décembre 1987. En tant que

standard IEEE, le langage VHDL évolue tous les cinq ans afin de le remettre à jour,

d'améliorer certaines caractéristiques ou encore d'ajouter de nouveaux concepts. Ainsi en

1991 a débuté le processus de re-standardisation : regroupement et analyse des requêtes,

définition des nouveaux objectifs du langage, spécifications des changements à apporter au

langage. La nouvelle norme du langage VHDL a été votée en septembre 1993. La syntaxe et

la sémantique de cette nouvelle norme ont donné lieu à un nouveau manuel de référence. Il

est à souligner que la nouvelle version du langage VHDL généralement notée VHDL'93 est,

au moins théoriquement, la seule et unique version légale du langage. L'approbation de la

nouvelle norme VHDL en 1993 rend le standard précédent (IEEE Std 1076 voté en 1987)

désuet. Néanmoins, et heureusement, VHDL'93 reste compatible avec VHDL'87.

2.2.5 Description du VHDL

2.2.5.1 Le couple entité architecture

Un design quelconque (circuit intégré, carte électronique ou système complet) est

Page 38: generalités sur la technologie FPGA

CONCEPTION D’UN PROJET AVEC FPGA Promotion 2012

RAMBOAMAMPIANINA Samitiana

28

complètement défini par des signaux d’entrées et de sorties et par la fonction réalisée en

interne. L’élément essentiel de toute description en VHDL est formé par le couple entité

architecture qui décrit l’apparence externe d’un module et son fonctionnement interne.

Entité

L’entité décrit la vue externe du modèle : elle permet de définir les ports par où sont

véhiculés les informations (signaux) et les paramètres génériques.

Architecture

L’architecture définit la vue interne du modèle. Cette description peut être de type structurel,

flot de données, comportemental ou une combinaison des trois. Tous les fonctionnements ne

nécessitent pas le même degré de précision : tantôt une description globale permet d’obtenir

un résultat satisfaisant, tantôt une description très précise s’avère nécessaire. A chaque entité

peut être associée une ou plusieurs architectures, mais, au moment de l’exécution (simulation

ou synthèse), seule une architecture est utilisée. Ceci présente l’intérêt majeur de comparer

plusieurs architectures pour choisir la meilleure. L’architecture comprend aussi une partie

déclarative où peuvent figurer un certain nombre de déclarations (de signaux, de composants,

etc.) internes à l’architecture.

2.2.5.2 Les principaux objets manipulés

Les constantes

Une constante peut être assimilée à un signal interne (au circuit) auquel est associée une

valeur fixe et définitive. La constante peut être de tout type.

Les variables

Une variable est capable de retenir une valeur pendant une durée limitée. Elle ne peut être

Page 39: generalités sur la technologie FPGA

CONCEPTION D’UN PROJET AVEC FPGA Promotion 2012

RAMBOAMAMPIANINA Samitiana

29

employée qu’à l’intérieur d’un process. A l’opposé d’un signal, une variable n’est pas une

liaison concrète et ne doit pas laisser de trace après synthèse.

Les signaux

Les signaux sont spécifiques à la description matérielle. Ils servent à modéliser les

informations qui passent sur les fils, les bus ou, d’une manière générale, qui transitent entre

les différents composants. Les signaux assurent donc la communication.

Les types

Une des principales caractéristiques de VHDL est qu'il s'agit d'un langage fortement typé.

Tous les objets définis en VHDL doivent appartenir à un type avant d'être utilisés. Deux

objets sont compatibles s’ils ont la même définition de type. Un type définit l'ensemble des

valeurs que peut prendre un objet ainsi que l'ensemble des opérations disponibles sur cet

objet. Puisque VHDL s'applique au domaine logique, les valeurs '0' et '1' peuvent être

considérées. L'ensemble de ces deux valeurs définit le type BIT. Il est possible de définir

d'autres valeurs comme par exemple la valeur ‘Z’ désignant la valeur trois états. Un type plus

complet, englobant neuf valeurs logiques différentes décrivant tous les états d’un signal

électronique numérique, a été standardisé dans la librairie std_logic_1164 : le std_logic. Les

valeurs que peut prendre un signal de ce type sont :

‘U’ : non initialisé,

‘X’ : niveau inconnu, forçage fort,

‘0’ : niveau 0, forçage fort,

‘1’ : niveau 1, forçage fort,

‘Z’ : haute impédance,

‘W’ : niveau inconnu, forçage faible,

‘L’ : niveau 0, forçage faible,

Page 40: generalités sur la technologie FPGA

CONCEPTION D’UN PROJET AVEC FPGA Promotion 2012

RAMBOAMAMPIANINA Samitiana

30

‘H’ : niveau 1, forçage faible,

‘-‘ : quelconque. Les valeurs ‘0’ et ‘L’ sont équivalentes pour la synthèse, tout comme

les valeurs ‘1’ et ‘H’. Les valeurs ‘U’, ‘X’ et ‘W’ ne sont utilisables que pour la

simulation d’un design

Il existe quatre familles de type en VHDL :

Les types scalaires, dont la valeur est composée d'un seul élément (integer, bit,

std_logic, boolean, etc.),

les types composés, dont la valeur comprend plusieurs éléments (bit_vector,

std_logic_vector),

Les types accès, qui sont les pointeurs des langages de programmation,

Les types fichiers, qui ne sont utilisés que pour les objets fichiers. Les deux dernières

familles ne sont bien sûr pas utilisables pour le développement d’un circuit intégré.

2.2.5.3 Fonctionnement de traitement

Fonctionnement concurrent

Le comportement d'un circuit peut être décrit par un ensemble d'actions s'exécutant en

parallèle. C'est pourquoi VHDL offre un jeu d'instructions dites concurrentes. Une instruction

concurrente est une instruction dont l'exécution est indépendante de son ordre d'apparition

dans le code VHDL. Par exemple, prenons le cas d'un simple verrou, comme la montre la

figure :

Page 41: generalités sur la technologie FPGA

CONCEPTION D’UN PROJET AVEC FPGA Promotion 2012

RAMBOAMAMPIANINA Samitiana

31

Les deux portes constituant ce verrou fonctionnent en parallèle. Une description possible de

ce circuit est donnée dans le code suivant (seule l'architecture est donnée).

architecture comportement of VERROUis

begin

Q <= S nand NQ;

NQ <= R nand Q;

end comportement;

Ces deux instructions s'exécutent en même temps. Elles sont concurrentes ; leur ordre

d'écriture n'est pas significatif ; quel que soit l'ordre de ces instructions, la description reste

inchangée.

Fonctionnement séquentiel

Les instructions concurrentes qui viennent d’être présentées pourraient suffire à définir un

langage de description matériel. Cependant, certains circuits sont plus faciles à décrire en

utilisant des instructions séquentielles similaires à des instructions de langages classiques de

programmation. En VHDL, les instructions séquentielles ne s’utilisent qu’à l’intérieur des

processus. Un processus est un groupe délimité d’instructions, doté de trois caractéristiques

essentielles :

S Q

R Q

Figure 5 : Bascule RS

Page 42: generalités sur la technologie FPGA

CONCEPTION D’UN PROJET AVEC FPGA Promotion 2012

RAMBOAMAMPIANINA Samitiana

32

Le processus s’exécute à chaque changement d’état d’un des signaux auxquels il est

déclaré sensible.

Les instructions du processus s’exécutent séquentiellement.

Les modifications apportées aux valeurs de signaux par les instructions prennent effet à

la fin du processus.

L’exemple de la description suivante montre une architecture (seule) d’un latch D contenant

un processus qui est exécuté lors du changement d’état de l’horloge CLK.

architecture comportement of basc_D is

begin

Process (CLK)

Begin

If ( CLK= ‘1’) then

Q <= D;

End if ;

End process ;

end comportement;

2.2.5.4 VHDL par rapport aux autres langages

Bien que VHDL soit maintenant largement accepté et adopté, il n'est pas le seul langage de

description matériel. Pendant ces trente dernières années, beaucoup d'autres langages ont été

développés, ont évolués et sont encore utilisés aujourd'hui par les concepteurs de circuits

intégrés. Créé pour être un standard, VHDL doit son succès à la fois à ses prédécesseurs et à

la maturité de ses principes de base.

M et Verilog sont deux langages qui ont été développés par des compagnies privées pour leurs

propres besoins (langage de spécification pour leurs outils de simulation). Verilog a tout

d'abord été décrit par la société Gateway Design Automation qui a ensuite fusionné avec la

compagnie Cadence Design Systems. Pour que Verilog puisse faire face à VHDL, Cadence a

Page 43: generalités sur la technologie FPGA

CONCEPTION D’UN PROJET AVEC FPGA Promotion 2012

RAMBOAMAMPIANINA Samitiana

33

décidé de le rendre public en 1990. L'utilisation de Verilog est promue par le groupe Open

Verilog International (OVI) qui a publié en Octobre 1991 la première version du manuel de

référence du langage Verilog. En 1995, Verilog est devenu un standard sous la référence

IEEE 1364. Contrairement à Verilog, M est toujours un langage privé. Il est la propriété de la

compagnie Mentor Graphics. Du point de vue de leur syntaxe, VHDL s'est largement inspiré

du langage ADA, Verilog ressemble au langage C et Pascal, et M est totalement fondé sur le

langage C. VHDL est certainement le plus difficile à utiliser car il reste très général. De plus,

il demande à l'utilisateur d'avoir des habitudes de programmeur (compilation séparée, langage

fortement typé, notion de surcharge, etc.). Comparé à Verilog et M qui restent proches de la

réalité physique, VHDL est sans aucun doute plus complexe.

2.3 Logiciels de développement

Présentation

Les premiers composants logiques programmables contenaient un nombre de portes limité (de

l’ordre de 4000) et disposait grossièrement au plus d’une vingtaine d’entrées et d’une

douzaine de sortie. Il était possible de calculer n’importe quelle équation combinatoire à partir

de ces entrées et de réaliser des systèmes séquentiels simples.

Avec leur faible densité, il était aisé de les exploiter totalement avec les environnements de

développement rustiques basés sur des langages dits de première génération tels que

PALASM(AMD), AHDL(Altera), Abel HDL, ….

Actuellement la densité de fonctions logiques (portes et bascules) intégrée dans les circuits

programmables comme les FPGA est telle (plusieurs milliers de portes voir millions de

Page 44: generalités sur la technologie FPGA

CONCEPTION D’UN PROJET AVEC FPGA Promotion 2012

RAMBOAMAMPIANINA Samitiana

34

portes) qu’il n’est plus possible d’utiliser les outils tels que les langages de bas niveau comme

ABEL, PALASM, ORCAD/PLD. Le langage de description VHDL a été donc créé pour

pouvoir programmer les FPGA de nos jours. Mais puisqu'on a parlé de programmation, Les

différents fondeurs de composants ont rapidement proposé des outils de développement

intégrés permettant de prendre en charge la conception complète d’un circuit : du design à la

programmation finale du chip en passant par diverses étapes de simulation.

Il existe alors des outils de développements spécifiques proposés par les constructeurs des

circuits programmables. Le langage de description utilisé est pourtant le même, c'est le

langage VHDL. Les outils de développement sur le marché sont:

Actel: Libero (environnement de conception intégré), SmartTime (analyse des délais),

SmartPower (analyse de la consommation), SmartGen,.

Altera: Quartus II (environnement de conception intégré), SOPC Builder (développement

de systèmes), DSP Builder, TimeQuest (analyse des délais), PowerPlay (analyse de la

consommation),

Lattice: ispLever (environnement de conception intégré), ispLeverDSP.

Mentor Graphics: Precision RTL (synthèse logique), Precision Physical (synthèse

physique), ModelSim (simulation numérique), CatapultC (synthèse de haut niveau).

Synplicity: Synplify Pro (synthèse logique), Synplify Premier (synthèse physique),

Synplify DSP, Certify (prototypage des circuits spécifiques), Identify (instrumentation

embarquée et débogage),

Xilinx: ISE (environnement de conception intégré), System Generator for DSP et

AccelDSP, ChipScope Pro (débogage embarqué), PlanHead.

Page 45: generalités sur la technologie FPGA

CONCEPTION D’UN PROJET AVEC FPGA Promotion 2012

RAMBOAMAMPIANINA Samitiana

35

Si on prend par exemple Quartus II

Quartus II est un logiciel développé par la société Altera, L’environnement de développement

permettant la gestion complète d'un flot de conception CPLD ou FPGA plus précisément,

permettant de programmer les composants reconfigurables d’Altera. Ce logiciel permet de

faire une saisie graphique ou une description HDL (VHDL ou verilog) d'architecture

numérique, d'en réaliser une simulation, une synthèse et une implémentation sur cible

reprogrammable.

Il comprend une suite de fonctions de conception au niveau système, permettant d’accéder à

la large bibliothèque d’IP d’Altera et un moteur de placement-routage intégrant la technologie

d’optimisation de la synthèse physique et des solutions de vérification. De manière générale,

un flot de conception ayant pour but la configuration de composants programmables.

Page 46: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

36

Chapitre 3 : Applications aux onduleurs triphasés

Pour appliquer cette nouvelle technologie, on a choisi la commande d’onduleur.

3.1 Généralités sur les onduleurs triphasés

3.1.1 Définition

Un onduleur est un dispositif permettant de transformer en alternatif une énergie électrique de

type continue en agissant successivement sur la commande des interrupteurs commandés.

3.1.2 Avantages et domaine d’utilisation

3.1.2.1 Avantages

La conversion de la tension continue en tension alternative présente les possibilités suivantes :

On peut varier la fréquence fondamentale.

On peut varier la valeur efficace aux bornes des charges, soit en établissant une source

SOURCE DE TENSION

CONTINUE

ONDULEUR

CHARGES

COMMANDE

Réseau

triphasé

50Hz

Figure 6 : Schéma bloc d’un onduleur

Page 47: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

37

réglable, soit en associant de nombreuses sources.

3.1.2.2 Domaine d’utilisation des onduleurs

Les onduleurs sont utilisés dans plusieurs domaines, mais on ne va prendre que deux

exemples pour illustrer ce paragraphe :

Variateur de vitesse d’un MAS (moteur asynchrone)

Alimentation de secours

Variateur de vitesse d’un MAS

La vitesse d’un MAS est fixée par la pulsation des courants statoriques. Pour changer de

vitesse, il faut changer la fréquence des tensions d’alimentation.

Il faut donc redresser la tension du réseau puis l’onduler à la fréquence désirée.

Alimentation de secours

Lors d’une panne d’électricité, un onduleur assure la continuité de l’alimentation des

machines à partir de batteries. Ceci est très utile en informatique professionnelle pour éviter la

perte d’informations en cas de panne de secteur.

Triphasé

f variable

Onduleur Redresseur

Continu

MAS

3

Réseau

triphasé

50Hz

Figure 7 : Schéma bloc d’un variateur de vitesse d’un MAS

Page 48: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

38

3.1.3 Etude de quelques cas

Un onduleur triphasé autonome délivre une tension avec une fréquence fixe, soit ajustable par

l'utilisateur, il impose donc sa propre fréquence à la charge. Exemple un convertisseur de

voyage que l'on branche sur la prise allume-cigare d'une voiture utilise le 12 V continu du

véhicule pour générer du 120 ou 230 V, alternatif en 50 ou 60 Hz ;

Les différents types les plus utilisés pour les onduleurs triphasés autonomes sont :

Les onduleurs triphasés en ponts classiques

Les onduleurs triphasés multiniveaux NPC

Les onduleurs triphasés autonomes nouveaux modèles

Réseau

triphasé

50Hz

Onduleur

Batterie

Contrôle

Figure 8 : Schéma de principe d’une alimentation de secours

Commutateur

Alimentation

sans

interruption Charge

Page 49: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

39

3.1.3.1 Onduleur triphasé en pont classique

Ce type d’onduleur triphasé est très simple, il est composé de deux interrupteurs commandés

par bras, ces derniers sont commandés successivement pour avoir la forme d’onde alternative

à la sortie, il compte donc six interrupteurs commandés.

Circuit d’étude d’un onduleur triphasé en pont à six transistors

T1

T2 T4

T3 T5

T6

E

VA VB VC

-

+

Figure 9 : Onduleur triphasé en pont classique à six transistors

Page 50: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

40

Fonctionnement d’un onduleur triphasé en pont à six transistors

On prend le bras n°1 pour expliquer le fonctionnement de l’onduleur en pont triphasé.

T1 T2 VA

1 0 E

0 1 -E

Tableau 3 : Fonctionnement d’un onduleur en pont classique à six transistors

3.1.3.2 Onduleur triphasé multiniveau à trois niveaux

Définition

On dit qu’un onduleur est multiniveau si on peut recueillir à sa sortie des tensions découpées

de plus de trois niveaux. Le nombre de niveau étant le nombre de différents valeur des

différences de potentiels entre la sortie et un point définie comme référence (Pour les

onduleurs multiphasés, ce point est le point neutre correspondant à un montage en étoile).

Topologies des onduleurs multiniveau :

On peut citer plusieurs topologies pour les onduleurs mutiniveau :

La topologie des onduleurs multiniveaux à potentiel distribué (NPC)

La topologie basée sur la mise en série d’onduleurs monophasés

La topologie multicellulaire (ou Flying capacitors multilevel inverter)

La topologie hybride

Dans la suite, on va se focaliser dans la topologie NPC pour cette étude grâce aux avantages

Page 51: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

41

cités ci-dessous :

La topologie NPC est configurable de façon à obtenir un nombre élevé de niveaux,

permettant de réduire la tension bloquée par chaque interrupteur ; celle-ci est donnée

par EC/(N−1). Ceci offre la possibilité de travailler à des tensions très élevées.

Plus le nombre de niveau est élevé, plus la tension aux bornes de la charge s’approche

du sinus.

Les différents niveaux de tension sont créés par la mise en série de (N-1) condensateurs dans

la boucle d’alimentation.

Le nombre d’interrupteurs par bras est de 2(N-1), et le nombre de diodes amenant les tensions

intermédiaires est de 2(N-2).

Chaque thyristor ou diode de roue libre est soumis à une tension maximale de EC/(N-1) tandis

que certaines diodes amenant les tensions intermédiaires seront soumises à la tension

maximale de Ec-Ec/(N-1).

En se référant à la figure 12, chaque couple d’interrupteurs ( , ) ( , ) forme une

cellule de commutation, les deux interrupteurs sont donc commandés de façon

complémentaire.

N : nombre de niveau

EC : Différence de potentiel de la tension continue

X : numéro du bras

Page 52: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

42

Circuit d’étude d’un onduleur multiniveau NPC3 triphasé à douze transistors

Z1 VA

S24 S34 S14

S12

S33 S23 S13

S22 S32

S11 S21 S31

VB VC Z1 Z1

UC2

UC1

VA

C2

C1

-

+

Figure 10 : Onduleur multiniveau (trois niveaux) à douze transistors

Page 53: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

43

Fonctionnement d’un onduleur multiniveau NPC3 triphasé à douze transistors

Pour bien comprendre le fonctionnement de l’onduleur multiniveau à trois niveaux, on

considère le bras n°1

S11 S12 S13 S14 VA

0 0 1 1 -E

0 1 1 0 0

1 1 0 1 E

1 0 0 1 0

Tableau 4 : Fonctionnement d’un onduleur multiniveau NPC3 à douze transistors

On pourra alors obtenir les trois niveaux de tension : –E, 0 et E.

3.1.3.3 Onduleur autonome nouveau modèle triphasé à douze transistors

Il est constitué de douze interrupteurs commandés dont quatre interrupteurs commandés par

bras.

Page 54: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

44

Circuit d’étude d’un onduleur triphasé nouveau modèle à douze transistors

T13

T14

T11 T21 T31

T24 T34

T32

T23 T33

T12 T22

C2

C1

VA VC VB

-

+

Figure 11 : Onduleur nouveau modèle triphasé à douze transistors

Page 55: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

45

Fonctionnement d’un onduleur triphasé nouveau modèle à douze transistors

Considérons le bras n°1 pour regarder le fonctionnement de l’onduleur autonome triphasé.

T11 T12 T13 T14 VA

1 0 0 0 E

0 1 0 0 E

0 0 0 0 0

0 0 1 0 -E

0 0 0 1 -E

Tableau 5 : Fonctionnement d’un onduleur nouveau modèle

3.2 Commande des onduleurs

3.2.1 Les différents types de conception de commande

Pour la commande d’un onduleur triphasé, on a les conceptions suivantes :

Conception analogique

Conception digitale ou numérique

Conception mixte

La commande en ondes pleines (basse fréquence)

Cette commande permet d’obtenir une tension de sortie alternative dont la valeur est

modifiable. Cependant, cette tension moyenne reste un signal carré et non sinusoïdal comme

espéré.

Les signaux carrés sont mauvais car ils sont constitués d'harmoniques gênantes entrainant des

Page 56: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

46

pertes de puissance non négligeables.

En jouant sur les différentes conceptions citées ci-dessus, avec la commande ondes pleines, on

ne pourra pas avoir les performances voulues. Pour avoir un onduleur très performant, les

harmoniques de rangs inferieurs doivent être minimisés voir même éliminés. En effet, on doit

courir à la stratégie de commande.

3.2.2 Stratégies de commande des onduleurs triphasés

3.2.2.1 Commande par modulation de largeur d’impulsions naturelle ou

MLI naturelle

La commande par MLI consiste à découper la tension de sortie générée par l’onduleur en une

série de motifs élémentaires de période très faible, et de rapport cyclique variable dans le

temps.

Ce type de commande permet de générer une onde d’amplitude et de fréquence variables. Il

est employé pour générer un signal alternatif proche d’une sinusoïde (alimentation sans

coupure, entrainement asynchrones à vitesse variable,…………..)

Modulateur analogique

Les commandes des interrupteurs commandés (transistors, thyristors,……) sont données par

la comparaison directe entre une porteuse triangulaire ou en dent de scie et une consigne

analogique. Lorsque ce dernier est supérieur à la porteuse, le signal qui commande la cellule

de commutation est à l’état haut. Dans le cas contraire, le signal de commande est à l’état bas.

Page 57: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

47

Figure 12 : Principe de fonctionnement d’une MLI naturelle

La fréquence du signal sinus est FS

La fréquence du signal triangulaire est Fd

Le signal consigne est généralement une fonction sinus ou cosinus générée à la fréquence

fondamentale FS. La porteuse est générée à la fréquence de découpage Fd. Le rapport entre la

fréquence de découpage et la fréquence fondamentale est appelé indice de modulation m tel

que ceci doit être supérieur à 20:

m=

Dans le cas de la génération de tensions triphasées, trois signaux de consignes déphasés de

sont nécessaires.

Modulateur numérique

Les signaux de commande sont générés numériquement. En effet il est réalisé à partir de

compteurs programmables pilotés par une fréquence d'horloge FH supérieure à la fréquence de

Page 58: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

48

découpage Fd d’après la relation :

FH=n’Fd

n’ est une constante

Figure 13 : Principe du modulateur numérique

Ces compteurs génèrent des impulsions dont la largeur dépend du mot binaire NB fourni par

une commande numérique. Fec est la fréquence d'échantillonnage de la commande numérique.

En prenant l’exemple d’un onduleur multicellulaire, sa commande par MLI nécessite autant

de porteuses triangulaires qu’il y a de cellules à commander.

3.2.2.2 Commande par MLI calculées

Cette technique est utilisée lorsque le rapport entre la fréquence de découpage et la fréquence

fondamentale est faible, ce qui est fréquent en forte puissance.

On ne peut pas se passer des harmoniques de rang inférieur qui sont indésirables, L’objectif

est alors ici de les éliminer ou de les minimiser en exploitant au mieux le nombre d'impulsions

disponibles sur la période fondamentale.

Pour atteindre cet objectif, on détermine à priori des formes d'ondes optimisées. Cette

méthode consiste à former l’onde de sortie de l’onduleur d’une succession de créneaux de

Page 59: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

49

largeur variable. Généralement, on utilise une onde qui présente une double symétrie par

rapport au quart et à la moitié de la période. Cette onde est caractérisée par le nombre de

créneaux ou d’impulsions par alternance.

angle suffisant pour déterminer la largeur de l’ensemble des créneaux ; représente aussi

le nombre d’angles de commutations par quart de période. Ces angles de commutations sont

déterminés de telle façon à éliminer certains harmoniques.

Développement en série de Fourier

La décomposition en série de Fourier montre l’existence des harmoniques impairs. Nous

avons les équations :

( ) ∑ ( )

∫ ( ) ( )

Figure 14 : Tension généralisée à la sortie

α1 α2 …… αC αC+1 α2C

3𝜋

𝜋

-U

U

ωt 2π

Créneaux

U’

Page 60: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

50

Après intégration, et moyennant quelques calculs, on aboutit à un système algébrique

d’équations non linéaires admettant plusieurs solutions.

{

( ) ( ) ( )

( ) ( ) ( )

( ) ( ) ( )

Avec :

n : nombre entier impair

U : tension d’alimentation

hi : composante harmonique (harmonique de rang i) de la tension U

h1 : harmonique fondamental de la tension U

αi : angle de commutation

Ce système comporte un degré de liberté supplémentaire afin d’attribuer à l’harmonique

fondamental une valeur désirée et permet d’éliminer (C-1) harmoniques de la courbe de la

tension de sortie. Ce système devient par conséquent :

{

( ) ( ) ( )

( ) ( ) ( )

( ) ( ) ( )

En posant :

r=

La solution doit satisfaire la condition suivante :

α1< α2< α3<……… < αC<

Page 61: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

51

La méthode de Newton-Raphson est la plus employée pour résoudre un tel système

3.2.2.3 Commande par paliers ou par gradins

Pour des applications dont le signal a une amplitude et une fréquence fixe, l'onde

fondamentale nous suffit pour générer une tension dont la distorsion harmonique est faible.

La méthode de commande par palier consiste à quantifier cette grandeur de référence, en un

nombre déterminé de paliers.

3.2.3 Méthodologie de commande à entreprendre

Dans cette étude, on a choisi de commander les onduleurs numériquement par la plateforme

FPGA pour avoir plus de performance et plus de précision sur les signaux de commande et

surtout de tester la capacité de traitement de cette nouvelle technologie.

En effet, on a programmé successivement les signaux de commande d’un onduleur triphasé en

pont à six transistors, un onduleur multiniveau trois niveaux à douze transistors et un onduleur

nouveau modèle triphasé à douze transistors dans le logiciel Quartus II.

Pour l’onduleur multiniveau et l’onduleur nouveau modèle, les signaux de commande sont

obtenus par la commande MLI calculée tandis que pour l’onduleur en pont, on a choisi de le

commander en pleine onde.

3.2.4 Programmation de la commande par FPGA

3.2.4.1 Caracteristique du FPGA à éxploiter

On a choisi le constuteur Altera avec un FPGA de référence EP3C25F324 lors de cette étude,

c’est le materiel à disposition.

Description du FPGA

Page 62: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

52

Les différentes familles de FPGA d’Altera

Altera propose plusieurs familles d’FPGA, dont on distingue :

La famille Startix,

La famille Arria,

La famille Cyclone.

Famille cyclone :

Nom complet Introduction Technologie

Cyclone 23 septembre 2002 130nm

Cyclone II 28 juin 2004 90 nm

Cyclone III 19 mars 2007 65 nm

Cyclone IV 2009 60 nm

Cyclone V 2011 28 nm

Tableau 6 : Les familles proposées par Altera

Signification de la reference EP3C25F324 :

XXXX XX X XXX XX

Operating Temperature

Package code

Package type

Member Code

Family Signature

Figure 15 : Désignation d’un FPGA de la famille Cyclone d’Altera

Page 63: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

53

Family Signature

Tableau 7 : Désignation du « Family Signature »

Member Code

Member Code logic elements

5 5,136

10 10,320

16 15,408

25 24,624

25E 24,624

40 39,600

55 55,856

80 81,264

120 119,088

Tableau 8 : Désignation du « Member Code »

Package type

Package type Signification

E Plastic Enhanced Quad Flat Pack (EQFP)

Q Plastic Quad Flat Pack (PQFP)

F FineLine Ball-Grid Array (FBGA)

U Ultra FineLine Ball-Grid Array (UBGA)

M Micro FineLine Ball-Grid Array (MBGA)

Tableau 9 : Désignation du « Package type »

Family Signature Signification

EP2C Cyclone 2

EP3C Cyclone 3

EP4C Cyclone 4

Page 64: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

54

Package code

Package code Number of pin

144 144 pins

164 164 pins

240 240 pins

256 256 pins

324 324 pins

484 484 pins

780 780 pins

Tableau 10 : Désignation du « Package code »

Operating Temperature

Operating Temperature Signification

C Commercial temperature (T J= 0° C to 85° C)

I Industrial temperature (TJ= -40° C to 100° C)

A Automotive temperature (TJ = -40° C to 125° C)

Tableau 11 : Designation du « Operating Temperature »

Speed Grade

6 (fastest); 7 ; 8

Fiche technique:

FPGA Starter Kit, Cyclone III Edition includes:

Cyclone III Starter Development Board :

Cyclone III EP3C25F324 FPGA

Configuration

Embedded USB-Blaster circuitry (includes an Altera MAX 3000A CPLD) allowing

download of FPGA configuration files via the Flash device

Page 65: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

55

Memory

256-megabit (Mb) DDR SDRAM

megabyte (MB) synchronous SRAM

16-MB flash memory

Power and analog devices from Linear Technology

Switching power supply

Switching and step-down regulators

Clocking

50-MHz on-board oscillator

Switches and indicators

Six push buttons total, 4 user-controlled

Seven LEDs total, 4 user-controlled

Connectors

High-speed mezzanine card (HSMC) connector

USB type B

Cables and power

USB cable

External power supply with U.S. adaptor

Page 66: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

56

Figure 16 : Carte de développement du Cyclone III FPGA d’Altera

3.2.4.2 Calcul des angles de commutation pour l’onduleur triphasé

multiniveau et l’onduleur nouveau modèle

En fixant le nombre d’angle de commutation à C=5,

On se propose alors de générer une tension modulée de la forme suivante à la sortie de

l’onduleur mutiniveau et de l’onduleur autonome :

Page 67: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

57

Comme le signal défini sur la figure précédente présente une double symétrie par rapport au

quart et à la demi-période, on ne considèrera par la suite que les angles de commutations

contenues dans le quart de période. La décomposition en série de Fourier du signal montre

une harmonique de rang impair de la forme :

( ) ∑ ( )

∫ ( ) ( )

Puisqu’on a fixé le nombre d’angle de commutation à C=5.

On se propose d’étudier la commande qui élimine les harmoniques de rang 3, de rang 7, de

rang 9 et de rang 15.

Afin d’éliminer ces harmoniques, l’équation devient :

𝜋

α1 α5

α4

α3

α2

3𝜋

-U

U

U’

ωt

Figure 17 : Allure de la tension de sortie

Page 68: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

58

{

( ) ( ) ( ) ( ) ( )

(3 ) (3 ) (3 ) (3 ) (3 )

( ) ( ) ( ) ( ) ( )

( ) ( ) ( ) ( ) ( )

( ) ( ) ( ) ( ) ( )

Avec,

n: Nombre impair (cas monophasé) et impair non multiple de trois (cas triphasé)

U: Tension d’alimentation

hi : Composant harmonique (harmonique de rang i) de la tension de sortie U’

h1 : Fondamental de la tension de sortie U’

αi : Angle de commutation

C : Nombre d’angle de commutation ou nombre des αi

Proposé dans le cours d’électronique de puissance GI5 à l’ESPA Vontovorona, la résolution

de ce système conduit aux résultats :

{

3 3 3

On note par W=5,4545° l’angle de commutation élémentaire tel que :

{

Page 69: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

59

3.2.4.3 Les étapes à suivre jusqu’à la simulation fonctionnelle

Création d’un projet sur Quartus II puis entré du code VHDL

Synthèse (voir s’il y a des « warning » ou des erreurs)

Placement/routage.

Créer le fichier .WVF pour stimuler le circuit

Simuler

Étape 1 : Création du projet

Création d’un dossier spécifique au projet

Pour chacun des projets ou des versions de projets sur lesquelles on travaille, il est très

fortement conseillé de créer un dossier spécifique, dans lequel seront sauvegardés le projet et

les différents fichiers créés. On veillera donc à changer de dossier dès qu’on change de projet

ou de version de projet.

Page 70: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

60

Lancement du logiciel Quartus II 9.0 Web Edition

Figure 18 : Fenêtre de démarrage de Quartus II

Quartus II fonctionne par projet, il est alors nécessaire de commencer par créer un projet à

chaque début de conception.

Page 71: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

61

Création du projet proprement dit

Figure 19 : Création d’un projet sur Quartus II

Entrer ensuite dans le champ « Project Wizard » le nom choisi pour le projet :

Spécifier le dossier crée pour le projet dans le champ « directory for this project ».

Page 72: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

62

Figure 20 : Saisie du nom du projet et du répertoire contenant le projet

Choisir le FPGA présent sur la carte de développement en sélectionnant:

La famille de FPGA : Cyclone III

Le modèle : EP3C25F324I7

Page 73: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

63

Figure 21 : Choix du composant

Création du fichier décrivant le projet

Un projet est généralement constitué de plusieurs fichiers décrivant chacun une ou plusieurs

fonctions numériques. Parmi les possibilités proposées par Quartus II pour créer des fichiers,

nous avons 2 choix:

Création sous forme schématique : on parle alors de Block Diagramm/Schematic File

(extension des fichiers .bdf)

Création sous forme textuelle en utilisant un langage de programmation de circuits :

Langage VHDL (extension des fichiers .vhd) ou bien langage Verilog (extension des

fichiers .v, langage non enseigné à l’IOgs),

C’est la création sous forme textuelle qui va nous intéresser

File>New (ou Ctrl N) ou puis sélectionner le type de fichier : VHDL File.

Page 74: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

64

Figure 22 : Choix de l’entrée du design (textuelle, schématique)

Entré du code VHDL

Figure 23 : Fenêtre de travail

Étape 2 : On veut maintenant convertir notre code en portes logiques. Pour ce faire, l’outil

Page 75: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

65

QUARTUS II va être sévère avec la façon qu’on écrit le code VHDL. Il va dire si le style de

code VHDL n’est pas compréhensible (ou ne correspond pas aux normes). C’est au

concepteur de modifier le code pour qu’il soit satisfait.

Autrement dit, c’est l’étape de l’analyse et compilation

Étape 3 : Après la synthèse, on a transformé le code VHDL en une série de portes logiques.

Cependant, on ne sait pas où se trouvent ces portes logiques dans le FPGA. Le

placement/routage est l’étape qui nous permet de le déterminer. Cela va aider à déterminer le

délai de façon plus précise.

Étape 4 : On va ensuite commencer à créer le stimulus pour le circuit. On a, par exemple,

une horloge à l’entrée. Comment se comporte l’horloge ? Quelle fréquence a-t-elle ? Quand

sera-t-il actif ? Ce sont tous des choses à spécifier dans le stimulus.

Étape 5 : On va ensuite faire rouler la simulation et regarder les résultats.

Page 76: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

66

3.3 Résultats

3.3.1 Onduleur triphasé en pont classique

Fonctionnement

Le fonctionnement est présenté dans le paragraphe §3.1.3.1

Schéma d’etude

Le schéma d’étude est présenté dans le paragraphe §3.1.3.1

Algorithme du programme qui genère les signaux

T1 niv 0 et T2 niv 1

Début

Signal Clk,G,T1,T2

G=T

Front montant

G<T/2

G=G+1

Lire signal Clk

Signal G=00000000

T1 niv 1 et T2 niv 0

Figure 24 : Organigramme du programme pour l’onduleur en pont classique

Page 77: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

67

Signaux de commande

Figure 25 : Résultat obtenu pour l’onduleur triphasé en pont à 6 transistors

Page 78: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

68

Allure de la tension de sortie

3.3.2 Onduleur triphasé multiniveau NPC3

Fonctionnement

Le fonctionnement est présenté dans le paragraphe §3.1.3.2

Schéma d’etude

Le schéma d’étude est présenté dans le paragraphe §3.1.3.2

2π ωt π

U

E

-E

Figure 26 : Allure de la tension de sortie de l’onduleur triphasé en pont classique

Page 79: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

69

Algorithme du programme qui genère les signaux

NON

NON

NON

OUI

OUI

OUI

S12 niv 1 et S14 niv 0

S11 niv 0 et S13 niv 1

Début

Signal Clk,D,S11,S12,S13,S14

D=T

Front montant

A<T/2

D=D+1

Lire signal Clk

Signal D=00000000

Bloc 1 Bloc 2

Figure 27 : Organigramme du programme pour l’onduleur triphasé multiniveau NPC3

Page 80: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

70

OUI

OUI

OUI

OUI

OUI

OUI

OUI

OUI

OUI

D>=a4 et D<a5

S11 niv 0 et S13 niv 1

D>=a5 et D<a6

S11 niv 1 et S13 niv O

D>=a3 et D<a4

S11 niv 1 et S13 niv O

D>=a6 et D<a7

S11 niv 0 et S13 niv 1

D>=a7 et D<a8

S11 niv 1 et S13 niv O

D>=a8 et D<a9

S11 niv 0 et S13 niv 1

D>=a9 et D<a0

S11 niv 1 et S13 niv O

D>=a2 et D<a3

S11 niv 0 et S13 niv 1

D>=a1 et D<a2

S11 niv 1 et S13 niv O

NON

NON

NON

NON

NON

NON

NON

NON

NON

OUI

OUI

OUI

OUI

OUI

OUI

OUI

OUI

OUI

D>=a13 et D<a14

S14 niv 0 et S12 niv 1

D>=a14 et D<a15

S14 niv 1 et S12 niv O

D>=a12 et D<a13

S14 niv 1 et S12 niv O

D>=a15 et D<a16

S14 niv 0 et S12 niv 1

D>=a16 et D<a17

S14 niv 1 et S12 niv O

D>=a17 et D<a18

S14 niv 0 et S12 niv 1

D>=a18 et D<a19

S14 niv 1 et S12 niv O

D>=a11 et D<a12

S14 niv 0 et S12 niv 1

D>=a0 et D<a11

S14 niv 1 et S12 niv O

NON

NON

NON

NON

NON

NON

NON

NON

NON

Figure 29 : Bloc1 Figure 28 : Bloc2

Page 81: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

71

Signaux de commande

Figure 30 : Résultat obtenu pour l’onduleur triphasé multiniveau NPC3 à 12 transistors

Page 82: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

72

Allure de la tension de sortie

L’allure de la tension de sortie est présenté dans la figure 17

3.3.3 Onduleur triphasé nouveau modèle

Fonctionnement

Le fonctionnement est présenté dans le paragraphe §3.1.3.3

Schéma d’étude

Le shéma d’étude est présenté dans le paragraphe §3.1.3.3

Page 83: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

73

Algorithme du programme qui genère les signaux

NON

NON

NON

OUI

OUI

OUI

T13 niv 0 et T14 niv 0

T11 niv 0 et T12 niv 0

Début

Signal Clk,A,T11,T12,T13,T14

A=T

Front montant

A<T/2

A=A+1

Lire signal Clk

Signal A=00000000

Bloc 3 Bloc 4

Figure 31 : Organigramme du programme pour l’onduleur triphasé nouveau modèle

Page 84: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

74

OUI

OUI

OUI

OUI

OUI

OUI

OUI

OUI

OUI

A>=a4 et A<a5

T11 niv 0 et T12 niv 1

A>=a5 et A<a6

T11 niv 1 et T12 niv O

A>=a3 et A<a4

T11 niv 1 et T12 niv O

A>=a6 et A<a7

T11 niv 0 et T12 niv 1

A>=a7 et A<a8

T11 niv 1 et T12 niv O

A>=a8 et A<a9

T11 niv 0 et T12 niv 1

A>=a9 et A<a0

T11 niv 1 et T12 niv O

A>=a2 et A<a3

T11 niv 0 et T12 niv 1

A>=a1 et A<a2

T11 niv 1 et T12 niv O

NON

NON

NON

NON

NON

NON

NON

NON

NON

OUI

OUI

OUI

OUI

OUI

OUI

OUI

OUI

OUI

A>=a13 et A<a14

T13 niv 0 et T14 niv 1

A>=a14 et A<a15

T13 niv 1 et T14 niv O

A>=a12 et A<a13

T13 niv 1 et T14 niv O

A>=a15 et A<a16

T13 niv 0 et T14 niv 1

A>=a16 et A<a17

T13 niv 1 et T14 niv O

A>=a17 et A<a18

T13 niv 0 et T14 niv 1

A>=a18 et A<a19

T13 niv 1 et T14 niv O

A>=a11 et A<a12

T13 niv 0 et T14 niv 1

A>=a0 et A<a11

T13 niv 1 et T14 niv O

NON

NON

NON

NON

NON

NON

NON

NON

NON

Figure 32 : Bloc 3 Figure 33 : Bloc 4

Page 85: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

75

Signaux de commande

Figure 34 : Résultat obtenu pour l’onduleur triphasé nouveau modèle à 12 transistors

Allure de la tension de sortie

L’allure de la tension de sortie est présenté dans la figure 17

Page 86: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

76

Dans ce quatrième programme, on a rassemblé la commande de ces 3 onduleurs dans un

même programme pour tester la performance de l’FPGA.

Page 87: generalités sur la technologie FPGA

APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012

RAMBOAMAMPIANINA Samitiana

77

Figure 35 : Résultat obtenu en les groupant dans un seul programme

Interprétation

Le FPGA donne bien les résultats voulus

Page 88: generalités sur la technologie FPGA

CONCLUSION Promotion 2012

RAMBOAMAMPIANINA Samitiana

78

Conclusion

D’après les études menées durant ce mémoire, le FPGA permet au concepteur d’établir

des fonctions compliquées, sans passer ni à des câblages, ni à l’association des circuits à part,

en ayant la meilleure performance.

On a pu vérifier la souplesse de l’exploitation et le traitement à haute fréquence de l’FPGA

durant la commande des onduleurs autonomes, exemple concret de son application.

Ce travail nous a permis de connaitre l’architecture de l’FPGA, de maitriser la conception

avec un FPGA et il nous a aussi donné l’opportunité de nous familiariser avec le langage de

description matériel VHDL.

Dans ce mémoire, on a pris comme application, la commande des onduleurs autonomes, mais

vu le prix relativement cher de l’FPGA, il est difficile dans ce cas de l’amortir. Il est alors

préférable de l’appliquer à des investissements rentables comme le trading à haute fréquence.

Page 89: generalités sur la technologie FPGA

A

Bibliographies

[1] :Zahir Ait Ouali, « Appication des FPGA à la commande d’un moteur asynchrone »

Mémoire Magister en Automtique.

[2] : Johanna MARIANI, « Programmation et Utilisation du FPGA Pour la validation et la

vérification De circuits électroniques » Mémoire d’ingénieur en Electronique, Février 2011.

[3] : Jérémie DETREY, « Arithmétiques réelles sur FPGAVirgule fixe, virgule flottante et

système logarithmique » These pour l’obtention du grade de Docteur Janvier 2007

[4] : J. VILLEMEJANE, « Composants programmables complexes » Cours 2013

[5] : Eric PERONNIN, « Composants logiques reconfigurables » Cours, Octobre 2012

[6] : J.Weber, «Circuits logiques programmables», 2007

[7] : SANTATRA Fiorenantsoa, «CONCEPTION MATERIELLE D’INSTRUMENT

BIOMEDICAL : ACQUISITION, TRAITEMENT, ET TELE-MONITORING DE SIGNAL

ECG » Mémoire d’ingénieur à l’ESPA 2012

[8] : Eduardo Sanchez, «Le langage VHDL »

[9] : Jacques WEBER - Maurice MEAUDRE, «Circuits numériques et synthèse logique, un

outil : VHDL»

[10] : Patrice NOUEL, « Langage VHDL et conception de circuits »

[11] : Denis Giacona, « VHDL - Logique programmable, Partie 2- La structure d’un

programme VHDL »

[12] : Pierre Leray - Patrice Quinton - Olivier Sentieys - Lucien Ungaro, « Le langage Vhdl-

Modélisation de composants digitaux »

Page 90: generalités sur la technologie FPGA

B

[13] : Hervé Le Provost, «Initiation au langage VHDL » Cours Juin 2008

[14] : Didier Duffaud, « VHDL »

[15] : Pierre LEFRANC, « Étude, conception et réalisation de circuits de commande d'IGBT

de forte puissance »

[16] : Violaine Didier, « Les Onduleurs pour Systèmes Photovoltaïques Fonctionnement,

Etat de l ’Art et Etude des Performances »

[17] : Jean Noël Fiorina « onduleurs et harmoniques (cas des charges non linéaires) »

[18] : Davida Natolotra RAZAFINDRATSARAVAHY, « Conception de commande

programmées d’onduleur triphasé multiniveau NPC3.Simulations sous PROTEUS ISIS et

sous Matlab/Simulink-Simpowersystems » Mémoire d’ingénieur 2012

[19] : Harlin S ANDRIATSIHOARANA, « Les convertisseurs d’énergie intégrés dans

l’automatisme industriel » HDR à l’ESPA, 2010

Webographies

[1] : http://www.altera.com/

[2] : http://www.eda.org/

[3] : http://www.actel.com/

Page 91: generalités sur la technologie FPGA

ANNEXES Promotion 2012

C

Annexes

Lancement de la simulation

Lancer le logiciel Quartus II version 9

>fichier

Page 92: generalités sur la technologie FPGA

ANNEXES Promotion 2012

D

>open project

Allez dans le dossier contenant le projet

Sélectionnez le fichier onduleur

>Ouvrir

Page 93: generalités sur la technologie FPGA

ANNEXES Promotion 2012

E

>>Onduleur (se trouvant sur le côté gauche de la fenêtre dans le paquet Project Navigator)

>Processing

Page 94: generalités sur la technologie FPGA

ANNEXES Promotion 2012

F

>Start compilation

Attendre jusqu’à la fin de la simulation

>OK

>File

Page 95: generalités sur la technologie FPGA

ANNEXES Promotion 2012

G

>Open

Changer les types de fichier en Waveform/Vector files.

Page 96: generalités sur la technologie FPGA

ANNEXES Promotion 2012

H

>Waveform/Vector files

Sélectionnez le fichier onduleur

>ouvrir

Page 97: generalités sur la technologie FPGA

ANNEXES Promotion 2012

I

>Processing

>Start simulation

Page 98: generalités sur la technologie FPGA

ANNEXES Promotion 2012

J

Page 99: generalités sur la technologie FPGA

Titre: « Exploitation de la technologie FPGA pour générer les signaux de commande des

onduleurs autonomes triphasés »

Auteur : Samitiana RAMBOAMAMPIANINA

Contact : (+261)331796566

E-mail : [email protected]

Nombre de pages : 99

RESUME

Dans ce projet de mémoire, l’objectif principal est la maitrise de l’exploitation de la

technologie FPGA. Pour y arriver, on a développé les circuits intégrés programmables, plus

précisément les circuits intégré FPGA. Des recherches ont été menées sur la généralité et la

conception des projets avec ce circuit FPGA. Pour appliquer ces théories, on s’est proposé de

concevoir par programmation, dans le logiciel de développement Quartus II, conçu par le

constructeur Altera, les signaux de commandes pour commander trois onduleurs autonomes

dont : un onduleur triphasé en pont à six transistors commandés en ondes pleines, un onduleur

triphasé multiniveau à douze transistors NPC3 commandés en MLI avec élimination des

harmoniques calculées et enfin un onduleur triphasé nouveau modèle à douze transistors

commandés également en MLI calculée.

ABSTRACT

In this dissertation project, the main objective is the control of the operating FPGA

technology. To achieve this, we developed the programmable integrated circuits, specifically

integrated circuits FPGA. Research has been conducted on the generality and design projects

with this circuit FPGA. To apply these theories, it was proposed to develop programmatically

in the Quartus II development software, designed by the manufacturer Altera, the signals of

commands to control three autonomous inverters including: a three-phase bridge with six

transistors controlled in full wave inverter, a triple phase inverter multilevel with twelve

transistors NPC3 controlled PWM with harmonic elimination calculated and finally a new

triple phase inverter models with twelve transistors also controlled PWM calculated.

Directeur de mémoire: Monsieur Harlin S ANDRIATSIHOARANA, Professeur à l’ESPA


Recommended