Академический Документы
Профессиональный Документы
Культура Документы
! "#
$ $%
% & (
:
:
Ref :
Magister en : Electronique
Option : Signaux et communication
Houari ABBAD
Maitre de Confrences A
Prsident
Maitre de Confrences A
Rapporteur
Universit de Biskra
Universit de Biskra
Maitre de Confrences A
Examinateur
Universit de Biskra
Maitre de Confrences A
Examinateur
Universit de Biskra
Ww|vtvx
Tt ? }x |x xxv|x x u w|x? x |x | yyx x vtzx x
t vxt|x tyyx x w|yyxx wx t |x?
]x ww|x vx wxx tt|
T t xA
T xA
T x yx
T x
x x t yt|xA
T x t| x x vzx wx t | `tz|x
Remerciements
Nous remercions le Dieu de nous avoir donn la force et le courage pour raliser ce modeste
travail.
Nous remercions Monsieur Debilou Abderrazak et Mlle. Gargazi qui on suivi de trs prs
ce travail, pour son aide, ses orientations pdagogiques dans llaboration de ce mmoire, et
tous les conseils quil nous a prodigus pendant toute la dure de ce travail malgr ses
nombreuses occupations.
Nous adressons nos plus vifs remerciements aux membres du jury pour l'honneur qu'ils nous
font en acceptant la charge de juger ce travail.
Nous sommes reconnaissants envers nos enseignants auxquels nous devons notre formation.
Enfin, nous ne pourrons terminer ces remerciements sans remercier notre famille pour leurs
aides, comprhensions, encouragements et soutiens, quelles nous ont apports tout le long de
nos tudes et toutes nos amies.
f|zt x v|vt| A
II
FPGA
Mesure de performances
Commande
Temps rel
Rsum
Lobjectif de ce travail est de trouver une mthodologie pour limplantation des algorithmes
de commande sur cible FPGA, on a fait notre dpart de travail par partager le projet ont deux
grandes parties : une partie thorique et une partie pratique.
Pour la 1re partie, on a fini le premier chapitre qui est consacr sur les rseaux logiques
programmables PLD, le 2me chapitre qui, sera destin la technologie et environnement de
dveloppement des FPGA et le dernier sur la Mthodologie de dveloppement des
algorithmes de commande et l'implantation sur FPGA.
La 2me partie contient le dernier chapitre, notre motivation tait de raliser un dispositif de
commande numrique base dune puce dFPGA pour un onduleur triphas pdagogique,
cest une pratique de ce que nous avant tudient dans la partie thorique, alors ont dbut
dans cette partie par prparer un cahier des charges pour faire une boucle de commande
vectorielle pour moteur asynchrone, et voire ce que nous avant comme matrielle
pdagogique (les cartes FPGA) dans le laboratoire de facult, aprs ont choisir la carte
FPGA DE0 dAltra comme une cible, on mme temps commenc partager la boucle
dacquisition sur des petits blocs dalgorithmes pour faciliter lcriture et la simulation du
programme , finalement ces propositions d'avancement sont valides en simulation.
III
- Key Words
FPGA
Measuring performance
command
real time
Summary
The objective of this work is to find a methodology for the setting-up of the algorithms of
command on target FPGA, we made our working departure to share the project have two big
parts: a theoretical part and a part practises.
For the 1st part, we finished the first chapter which is dedicated on the programmable logical
networks PLD, the 2nd chapter, which,
environment of development of the FPGA and the last one on the Methodology of
development of the algorithms of command and the setting-up on FPGA.
The 2nd part contains the last chapter, our motivation was to realize a digital control system
with a flea of FPGA for an educational three-phase inverter, it is the practice of what we
before study in the theoretical part, then have to begin in this part to prepare a specifications
to make a buckle of vectorial command for asynchronous motor, and even that we before as
material educational (cards FPGA) in the laboratory of faculty, Later have to choose the card
FPGA DE0 of Altera as a target, one the same time begun to share the loop of acquisition on
small blocks of algorithms to facilitate the writing and the simulation of the program, finally
these proposals of progress are validated in simulation.
IV
! "# $ & %
'& "
*
"#
' $
(0 ) . , - * ( )#
4 , 3 8 $. ' " 56, ) 56 <2 56 * 1 ,2
8
F
.4
, PLD B , $ 4 E
, . 32 C
5 A ? >
FPGA G , ' . , # ( $(G 3 . . FPGA " #
FPGA.
G 3 2 -$IJ 4
3 B
G0 , . 0G 2 C
5 42 E . ,E G'
0 4 C$I 5 ) 5 < ( 0 C 2 32 A I 3 M
0 B
3 . $#
2 (# ) 2
* 4 ? " # 5(6 $ J 2 '>
FPGA
FPGA -DE0
4 (AR 4 G.Q$. , 2 $'U G 3
4# -3
4 ,E $ 32 $ T 2
Altera A 3 ) $A T 2 . C A
REMERCIMENT
II
RESUME
III
VI
IX
XI
XIV
INTRODUCTION GENERAL
CHAPITRE I : Les composants rseaux logiques programmables : PAL, PLD, CPLD, FPGA
I.1. Introduction
I.2. Les circuits programmables
I.3. Les oprateurs combinatoires gnriques
I.3.1. Sommes de produits, produits de somme et matrice PLA (Programmable Logic Array)
I. 3.2. Mmoires
I.3.3. Multiplexeur
I.3.4. Ou exclusif
I.3.5. Les Bascules
I.4. Technologie d'interconnexions
I. 4.1. Connexions programmable une seule fois (OTP : One Time Programming)
I.4.1.1. Cellules fusible
I.24.1.2. Cellules antifusible
I. 4.2. Cellules reprogrammables
I.4.2.1. Cellule transistor MOS grille flottante et EPROM (Erasable Programmable Read
Only Mmory)
I.4.2.2. Cellules SRAM transistors MOS classique
I.5. Architectures utilises
I.5.1. PLD (Programmable Logic Device)
I.5.2. CPLD (Complex Programmable Logic Device)
I.5.3. FPGA (Field Programmable Gate Array)
I.5.4. ASIC (Application Spcific Intgrated Circuit)
I. 5.4.1. Les prdiffuss (gate arrays)
I. 5.4.2. Les prcactriss (standard cell)
I.5.4.3. Les "fulls customs"
I.6. Conclusion
5
8
8
9
13
14
16
17
18
19
19
21
23
23
25
26
26
28
29
30
31
31
31
31
34
35
VI
37
37
37
38
38
38
39
46
46
46
47
49
49
50
53
54
55
57
58
60
61
62
63
66
66
66
70
70
71
72
73
75
76
77
VII
79
79
79
79
80
83
85
87
88
90
92
92
94
94
95
95
96
97
99
109
110
112
114
116
116
116
117
117
119
121
122
124
131
133
Conclusion Gnrale
Bibliographie
134
136
VIII
CPU
ALM
LEs
LABs
TSMC
LUT
RISC
PIO
mppSoC
OFDMA
MIMO
IGBT
GFD
JTAG
MLI
PWM
SVpwm
7
10
11
12
12
13
14
14
15
17
18
19
19
20
22
22
23
25
26
27
28
29
30
Chapitre II
Figure II-1.a: Architecture interne du FPGA fabriqu ALTERA (Cyclone II EP2C20)
Figure II-1.b: Architecture interne du FPGA fabriqu Xilinx : XC4000
Figure II-2: Parts de march des fabricants de FPGAs
Figure II-3: Architecture lot de calcul, typique des FPGA actuels
Exemple dArchitecture hirarchique quatre niveaux (circuit, tuiles,
Figure II-4:
clusters, lments configurables) que lon rencontre frquemment dans
les circuits ACTEL
Figure II-5: Architecture Spacetime (socit Tabula)
Elments logiques configurables (simplifis) circuits Xilinx Virtex4 et
Figure II-6:
Virtex6
Figure II-7.a: Elments logiques (LAB) configurables (Logic Blocks, Cyclone II)
dAltera
Figure II-7.b: Elments logiques configurables (simplifis) des circuits XC4000
Configurable (LAB) Logic Blocks de XILINX
Figure II8: lments de mmorisation (M4K RAM) dAltera
Figure II9: lment de routages (Altera)
Figure II-10: lment de routages (Xilinx)
Figure II-11: lment dentres sorties (Altera)
XI
36
36
44
47
48
49
51
51
52
53
54
55
56
56
57
58
59
61
62
63
65
66
67
69
74
76
Chapitre III
Figure III-1: Structure gnrale d'un systme de commande
Figure III-2: schma bloc en boucle ouverte
Figure III-3: Structure gnrale du commande dune machine lectrique
Figure III-4: Diffrence de capacit de calcul entre les solutions (a) logicielles (b)
matrielles
Figure III-5: Migration du mode de fonctionnement entre un FPGA et un DSP
Figure III-6: Les tapes optimises de limplantation dun algorithme de commande
sur FPGA
Figure III-7: Partitionnement modulaire dun algorithme type commande vectoriel
Figure III-8: Fentres de logiciel Matlab-Simulink
Figure III-9: Modle Simulink du moteur asynchrone
Figure III-10: Gnrer du code HDL partir de MATLAB et Simulink
Figure III-11: Fentre de Workflow conseiller
Figure III-12: DSP Builder Conception dbit
Figure III-13: La fentre principale de SOPC-Builder
Figure III-14: Environnement Eclipse pour NIOS-II
Figure III-15: Icne du Navigateur de projet ISE et Quartus disponible sur le bureau
Figure III-16: Droulement de la configuration de composants FPGA
Figure III-17: Interface graphique Quartus II
Figure III-18: Processus de conception dun circuit FPGA
Figure III-19: Organigramme de la conception
Figure III-20: Affichage de la hirarchie (suivant 2 onglets)
Figure III-21: Fentre de Quartus II
Figure III-22: Mode de saisie schmatique
Figure III-23: Mode de saisie Textuel
Figure III-24: Exemple dune feuille de description du projet (LOUVIERS GDF)
Figure III-25: Dbut de processus de compilation
Figure III-26: le rapport affich a la fin de processus de compilation
Figure III-27: Fentre QSim
Figure III-28: Rsultat de la simulation sur le Modelsim
Figure III-29: Les tapes de compilation
Figure III-30: Fentre de fin programmation
XII
80
81
81
85
86
88
89
90
92
93
94
96
98
98
99
100
101
102
103
104
105
105
106
108
109
110
111
111
112
113
Chapitre IV
Figure IV-1: Les diffrentes stratgies de modulation pour la commande des moteurs
Figure IV-2: Le schma de simulation onduleur monophas pont sur PSIM
Figure IV-3: Graphes des signaux dentre /sortie comparateur
Vm : signal de modulation Vp : porteuse K1 : commande de K1
Figure IV-4: Schma de simulation de l'onduleur triphas
Figure IV-5: Graphes dune tension entre phases Us et des courants de sortie
Figure IV-6: Les huit vecteurs tensions de l'onduleur (V 0 to V 7)
Figure IV-7: a) Tableau switching vecteurs de tension b) Plans vecteurs
Figure IV-8: Prsentation de la plate-forme de dveloppement (La carte choisie)
Figure IV-9: l'ensemble de la conception du notre projet SVPWM
Figure IV-10: Programme crit en VHDL
Figure IV-11: Rapport Compilation du programme VHDL
Figure IV-12: Lensemble du projet SVPWM on schma block. (bdf)
Figure IV-13: Schma RTL (Schma fonctionnel) de la SVPWM
Figure IV-14: la structure logique de block Switch
Figure IV-15: Schma GATE
Figure IV-16: Les rsultats de la simulation sur Modelsim du gnrateur propos
SVPWM
Figure IV-17: Zoome pour la zone de Dead time (temps mort) et temps dattente
entre secteur
Figure IV-18: Frquence de commande jusqu 4,27khz (234 us)
Figure IV-19: Mesure de la priode d'onde 0,02s (50Hz)
Figure IV-20: Plan de cblage du FPGA
XIII
117
118
119
120
120
121
122
124
125
126
126
127
128
129
130
131
132
133
133
134
XIV
45
99
Introduction Gnrale
Introduction gnrale
Introduction gnrale
Les entranements lectriques ont fait l'objet d'importantes rvolutions, notamment dans le
cadre de l'amlioration des performances de composants d'lectronique de puissance et dans
l'utilisation de nouvelles solutions numriques comme support pour l'implantation des
algorithmes de commande. Les premires implantations d'algorithmes de commande furent
ralises avec des solutions analogiques. Ces solutions assuraient la ralisation de contrles
ayant une large bande passante vu leur rapidit et leur action en continu. Cependant, elles
manquaient de fiabilit cause de leur sensibilit aux perturbations et aux variations des
paramtres de contrle lies aux contraintes thermiques des circuits analogiques de contrle.
Pour remdier ces inconvnients, les solutions numriques se sont naturellement imposes.
Les premires ralisations numriques d'implantation d'algorithmes de commande de
machines lectriques ont t effectues en utilisant les microcontrleurs, les microprocesseurs
et les DSP (Digital Signal Processor). Ces solutions numriques ont permis de rsoudre les
problmes lis l'utilisation des commandes analogiques. Par ailleurs, elles prsentaient un
grand intrt conomique et une meilleure flexibilit de conception. Cependant, malgr les
avantages offerts par ces solutions numriques, certains avantages offerts par les
implantations analogiques sont perdus. Cela est principalement d au fait que la discrtisation
et la quantification des algorithmes de commande implanter, ainsi que les dlais de temps de
calcul, dtriorent les performances de contrle en termes de rapidit de correction et de
rsolution de contrle.
Avec l'avancement technologique dans le domaine de la microlectronique, de nouvelles
solutions numriques telles que les FPGA (Field Programmable Gate Array ) ou les ASIC
(Application Specific Integrated Circuit ) sont disponibles et peuvent tre utilises comme
cibles numriques pour l'implantation des algorithmes de commande. Le paralllisme inhrent
de ces nouvelles solutions ainsi que leurs grandes capacits de calcul font que les dlais de
temps de calcul sont ngligeables en dpit de la complexit des algorithmes implanter.
L'utilisation de ces solutions matrielles permet donc de retrouver certaines performances
analogiques tout en gardant les avantages des solutions numriques. De plus, ces solutions
permettent de rpondre aux nouvelles exigences des contrles modernes. En effet, outre
l'amlioration des performances de contrle travers la rduction des temps de calcul, le
paralllisme des solutions matrielles permet d'intgrer sur une seule et unique cible plusieurs
algorithmes qui assurent diffrentes fonctionnalits et qui peuvent travailler indpendamment
les uns des autres. Par ailleurs, par rapport aux solutions numriques standard utilises dans
les entranements lectriques vitesse variable, les FPGA offrent au concepteur un accs la
partie architecture matrielle, puisque c'est le concepteur lui-mme qui assure sa conception.
Nanmoins, ce nouveau degr de libert prsente une difficult de plus pour le concepteur
puisque c'est lui de mettre en uvre l'architecture de contrle. Pour ce faire, lors de
l'implantation d'algorithmes sur cible FPGA, il est judicieux de se baser sur une approche
mthodique plus automatise et moins intuitive. Cette approche consiste en une mthodologie
1
Introduction gnrale
de dveloppement qui permet de rsoudre l'adquation entre l'algorithme de commande
implanter et son architecture en vue d'effectuer une implantation optimise en termes de
ressources consommes et de temps de calcul, tout en rduisant le temps de dveloppement.
Pour les entranements lectriques vitesse variable, plusieurs algorithmes de contrle
peuvent tre utiliss. Ces algorithmes comportent souvent plusieurs boucles de rgulation
imbriques. Il s'agit des boucles de rgulation de courant, de vitesse, de position... La boucle
de rgulation du courant est souvent la plus difficile implanter car elle constitue
gnralement la partie la plus complexe et la plus sensible de l'algorithme de commande. Les
autres boucles de rgulation sont relativement plus simples implanter. Dans ce dossier, on
s'intresse particulirement l'implantation sur cible FPGA de techniques de contrle du
command type SVPWM les plus couramment utilises pour la commande d'une machine
asynchrone. Dans ce qui suit, l'apport et l'intrt de l'utilisation des FPGA comme support
pour l'implantation de ces techniques de contrle sont discuts et analyss [42].
Le domaine des FPGA est domin par le duopole que forment Xilinx/Altera, avec Actel et
lattice jouant les solides seconds rles .Cette situation perdure depuis vingt ans mais pourrait
bien sanimer avec lavnement darchitectures originales concoctes par de jeunes pousses
comme Abound Logic, Achronix, Menta, SiliconBlue, Tabula ou Tier Logic [39].
Historique
Depuis 1983 et lavnement des rseaux logiques programmables, plus de cinquante
socits se sont lances dans cette aventure et plus dune quarantaine ont disparu du paysage.
Celles-ci ont t soit rachetes, soit rorientes, voire ont tout simplement mis la clef sous la
porte. Lattrait du caractre programmable des FPGA justifie, entre autres, le dynamisme en
ce domaine. Cependant, malgr ces tentatives, jusquici, rgnait une certaine quitude dans le
monde des FPGA. Les deux acteurs dorigine, Xilinx et Altera, ont ainsi travers cette
vingtaine dannes en ternels frres ennemis, assumant pleinement leur statut incontest de
leaders du domaine. La socit dtude Gartner estime dailleurs 86 % leur emprise sur le
march des FPGA. Les deux acteurs suivants, plus petits mais nanmoins bien tablis, sont
Actel et Lattice qui possdent chacun 6 % de parts de ce march.
En dpit des apparitions et disparitions dintervenants, la situation semblait donc fermement
installe, voire immuable, entre ces quatre socits de FPGA qui, chacune dans leur spcialit,
faisaient voluer leurs matrices en tirant le meilleur parti des avances technologiques. Des
progrs qui savrent plus souvent redevables la loi de Moore qu de profondes
modifications de larchitecture de la matrice elle mme. Vingt ans aprs, six mousquetaires
pourraient changer la donne. En quelques mois, Abound Logic, Achronix, SiliconBlue,
Tabula et Tier Logic, voire Menta (encadr), ont non seulement survcu la crise de 2009
mais osent, pour certaines, prsenter des architectures profondment novatrices associes
des outils de dveloppement qui ne dpaysent pas le concepteur. Le phnomne est trop rare
pour ne pas sy arrter un instant et tudier ces nouvelles offres ainsi que leurs chances de
russite. Dautant plus que de nombreux experts du domaine des FPGA sinterrogent car ces
cinq socits runissent deux des premiers critres dun succs sur ce march : avoir de
2
Introduction gnrale
bons outils associs des avantages technologiques clairs et convaincants. Un point
important car les fournisseurs de logique programmable ont traditionnellement fourni aux
utilisateurs des outils logiciels de dveloppement trs bas cot, voire gratuits. Ainsi, le prix
payer pour entrer sur ce march concerne non seulement la R&D au niveau silicium mais
galement les outils logiciels [39].
Problmatique
Avec lavancement technologique et la complexit des systmes de commande moderne il
est difficile de dfinir dune manire universelle ou une structure gnrale pour de tels
systmes. Les algorithmes des applications de traitement de signal intensif, telles que les
applications de tldtection (radar, sonar, etc.), et de limage deviennent de plus en plus
sophistiqus. Ils mettent en jeu un volume considrable de donnes. Ce domaine
dapplications requiert une grande puissance de calcul, que seules les architectures parallles
spcialises tailles sur mesure peuvent satisfaire les contraintes de vitesse, de performance et
dencombrement. La paralllisation et les architectures parallles semblent tre la voie la plus
prometteuse pour rpondre la complexit applicative. Il est alors ncessaire de faire appel
une mthodologie pour la conception et limplantation des architectures sur les cibles
parallle comme les FPGA et PLD.
Contribution
Cest dans ce cadre que se situe notre travail. Il sagit de trouver une mthodologie de
dveloppement pour limplantation dun algorithme de commande sur puce FPGA, une
mthode facile apprhender par lingnieur lectrotechnicien sans quil soit expert en
microlectronique. Ce travail est bas sur une mthode de dveloppement approprie qui
permet de rpondre aux diffrentes contraintes de conception architecturales des algorithmes
de commande complexe.
Plan
On a fait notre dpart de travail par partager le projet ont deux grandes parties (partie
thorique et partie pratique), le manuscrit est organis selon le plan suivant :
Pour la 1re partie on a fini le premier chapitre qui est consacr sur les rseaux logiques
programmables PLD, la 2me chapitre qui sera destins la technique et environnement de
dveloppement des FPGA et le dernier sur la mthode de dveloppement et d'implantation sur
puce FPGA.
La 2mme partie contient notre dernier chapitre, notre motivation tait de raliser un
dispositif de commande numrique base dune puce d'FPGA pour un onduleur triphas
pdagogique, cest une pratique de ce que nous ayons tudi dans la partie thorique.
On terminera par une conclusion gnrale et d'une bibliographie indiquant quelques sources
d'information utilises.
CHAPITRE I
CHAPITRE I
I.1. Introduction
L'lectronique moderne se tourne de plus en plus vers le numrique qui prsente de nombreux
avantages sur l'analogique : grande insensibilit aux parasites et aux drives diverses,
modularit et (re)configurabilit, facilit de stockage de l'information etc...
Les circuits numriques ncessitent par contre une architecture plus lourde et leur mode de
traitement de l'information met en uvre plus de fonctions lmentaires que l'analogique d'o
dcoule des temps de traitement plus long. Aussi les fabriquants de circuits intgrs
numriques s'attachent-ils fournir des circuits prsentant des densits d'intgration toujours
plus leve, pour des vitesses de fonctionnement de plus en plus grandes.
D'abord ralises avec des circuits SSI (Small Scale Integration) les fonctions logiques
intgres se sont dveloppes avec la mise au point du transistor MOS dont la facilit
d'intgration a permis la ralisation de circuits MSI (Medium Scale Integration) puis LSI
(Large Scale Integration) puis VLSI (Very Large Scale Integration). Ces deux dernires
gnrations ont vu l'avnement des microprocesseurs et microcontrleurs.
Bien que ces derniers aient rvolutionn l'lectronique numrique par la possibilit de raliser
n'importe quelle fonction par programmation d'un composant gnrique, ils traitent
l'information de manire squentielle (du moins dans les versions classiques), ne rpondant
pas toujours aux exigences de rapidit.
Au dbut des annes 70 sont apparus les premiers composants (en technologie bipolaire)
entirement configurable par programmation. La nouveaut rsidait dans le fait qu'il tait
maintenant possible d'implanter physiquement par simple programmation, au sein du circuit,
n'importe quelle fonction logique, et non plus de se contenter de faire raliser une opration
logique par un microprocesseur dont l'architecture est fige.
D'abord ddis des fonctions simples en combinatoire (dcodage d'adresse par exemple), ces
circuits laissent aujourd'hui au concepteur la possibilit d'implanter des composants aussi
divers qu'un inverseur et un microprocesseur au sein d'un mme botier ; le circuit n'est plus
limit un mode de traitement squentielle de l'information comme avec les
microprocesseurs. L'intgration des principales fonctions numriques d'une carte au sein d'un
mme botier permet de rpondre la fois aux critres de densit et de rapidit (les capacits
parasites tant plus faibles, la vitesse de fonctionnement peut augmenter).
5
CHAPITRE I
La plupart de ces circuits sont maintenant programms partir d'un simple ordinateur type PC
directement
sur la carte o ils vont tre utiliss. En cas d'erreur, ils sont reprogrammables
en moins de 10 ans la vitesse de fonctionnement par 6 (40 MHz en 91 pour 240 MHz
en 2000).
les technologies de conception ont fortement volu, tel constructeur initiateur d'un
procd l'abandonne pour un autre, alors que le concurrent le reprend son compte.
Aussi est-il trs difficile de s'y retrouver et de donner des ordres de grandeurs qui puissent tre
compars. Nous tenterons dans cet expos une clarification des choses dont la volont de
simplification pourra tre facilement prise en dfaut.
Paralllement ces circuits, on trouvera les ASIC (Application Specific Integrated Circuits)
qui sont des composants o le concepteur intervient au niveau du dessin de la pastille de
silicium en fournissant des masques un fondeur. On ne peut plus franchement parler de
circuits programmables. Les temps de dveloppement long ne justifient l'utilisation que pour
des grandes sries.
6
CHAPITRE I
Les PLD, CPLD et FPGA sont parfois considrs comme des ASIC par certains auteurs. Le
tableau ci-aprs tente une classification possible des circuits numrique :
CIRCUITS
NUMERIQUES
Circuits
logiques
standards
74 CH ..
Circuits
fonctionnement
programmables
Circuits
architecture
programmable et
faible temps de
dveloppement
Microprocesseurs et
Microcontrleurs
PLD, CPLD,
FPGA
Circuits temps de
dveloppement
important
Asic pr-diffuss
Asic pr-caractriss
Asic full custom
Nous nous intresserons surtout aux circuits architecture programmable faible temps de
dveloppement. Le principe de base des circuits nous intressant ici consiste raliser des
connexions logiques programmables entre des structures prsentant des fonctions de bases. Le
premier problme va donc tre d'tablir ou non suivant la volont de l'utilisateur, un contact
lectrique entre deux points. Aussi, nous intresserons nous, avant de passer aux circuits
proprement dits et leur programmation, ces technologies d'interconnexion. Mais avant
toutes choses, rappelons Quest-ce quun circuit programmable [32].
CHAPITRE I
CHAPITRE I
CHAPITRE I
I3
I2
I1
I0
Matrice OU
fix
Liaison
Fusible intact
Matrice ET
programmable
Q3 Q2
Q1 Q0
10
CHAPITRE I
I3
I2
I1
I0
Matrice OU
Programmable
Fusible intact
Matrice ET
programmable
Q3 Q2
Q1 Q0
Ces circuits constituent la famille de SPLDs (Simple Programmable Logic Device). Ce type
de circuits n'a cess de se sophistiquer au fil du temps. Certains canaux d'entre/sortie peuvent
tre bidirectionnels, les deux portes "3 tats" en commandant le sens pouvant tre
programmable. Par ailleurs, des sorties peuvent tre injectes dans le rseau de portes ET,
offrant ainsi la possibilit d'utiliser des variables intermdiaires. On peut galement trouver un
rseau de bascules de type D avec une horloge commune.
L'entre d'une bascule peut tre programme au niveau des rseaux de portes ET et OU. Sa
sortie peut tre accessible l'extrieur et utilise comme variable interne injecte dans le
rseau de connexions programmables. Il est alors possible de programmer des fonctions
squentielles. La figure I.3 illustre quelques unes de ces possibilits. On y trouve une bascule
11
CHAPITRE I
D dont la sortie est injecte dans le rseau programmable, matrialis par les petits carrs. La
sortie doit tre valide par le signal OE (Output Enable).
L'volution a conduit des composants plus complexes. Ce sont d'abord les CPLDs (Complex
Programmable Logic Device), puis les FPGA (Field Programmable Gate Array). Ce sont de
relativement de gros ensembles de cellules logiques programmables (comparable ce que
nous venons de prsenter) qui peuvent tre connectes de diffrentes matires.
Un CPLD est compos d'un certain nombre de PALs, ou macrocellule. La figure I-4 donne un
exemple de ce que peut tre une macrocellule. Ces macrocellules sont regroupes en blocs
logiques, qui peuvent tre relis via une matrice de connexion programmable (fig. I-5). Les
macrocellules d'un mme bloc sont gnralement interconnectes [33].
CHAPITRE I
I.3.2. Mmoires
Une fonction combinatoire associe chacune de ces combinaisons d'entre une valeur
en sortie dcrite par sa table de vrit. C'est le principe de la mmoire o pour chaque
adresse en entre, on associe une valeur en sortie, sur un ou plusieurs bits. La structure
physique des mmoires fait appelle une matrice PLA dont la matrice ET est fige et
sert de dcodeur d'adresse et dont la matrice OU est programme en fonction de la
sortie dsire (figure I-6).
Lorsqu'une adresse est prsente, par exemple I1 I2 I3 I4 = 1111, la porte ET concerne
passe au NL1 (celle du bas dans l'exemple) et suivant les fusibles laisss intacts sur la
matrice OU, on a un mot diffrent en O0 O1 O2 O3 (0000 si tous les fusibles sont
"grills" par exemple). Ce principe utilis pour les mmoires, l'est aussi dans les
CPLD (Complex Programmable Logic Device), mais surtout dans les FPGA (Field
Programmable Gate Array) sous le nom de LUT (Lock UpTable) [32].
I3
I2
I1
Matrice OU
programmable
I0
Liaison
Fusible intact
Matrice ET fix
O3 O2
O1 O0
CHAPITRE I
I.3.3. Multiplexeur
Le multiplexeur permet galement de coder une fonction combinatoire, comme le montre la
figure suivante (figure I-7).
Entres de
programmation
de la fonction
A chaque valeur des entres E0 et E1 est associ un niveau logique dfini dans la table de
vrit pour la sortie S. Ce niveau logique est impos sur l'entre de programmation
correspondante. Ce principe est utilis dans les FPGA.
Un multiplexeur est un aiguillage dinformations. Dans sa forme la plus simple, il comporte
deux entres de donnes, une sortie et une entre de slection, conformment au symbole de
la figure I-8.
14
CHAPITRE I
Certains constructeurs notent sur le symbole, comme nous lavons fait, la valeur de lentre de
slection en regard de lentre correspondante.
La premire utilisation des multiplexeurs dans les circuits programmables est, videmment, de
crer des chemins de donnes. La programmation consiste alors fixer des valeurs aux
entres de slection.
Une autre utilisation de la mme fonction consiste remarquer quun multiplexeur est, en soi,
un oprateur gnrique. Reprenant lexemple prcdent du ou exclusif, on peut le dcrire sous
forme algorithmique :
si e1= 0 e1 e2 e2 ;
si non (e1 = 1) e1 e2 e2 ;
Lexemple prcdent peut tre gnralis sans peine : un multiplexeur n entres de slection,
soit 2n entres de donnes, permet de raliser nimporte quelle fonction combinatoire de n + 1
entres, pourvu que lune, au moins, de ces entres existe sous forme directe et sous forme
complmente.
Dans un circuit programmable dont les briques de base sont des multiplexeurs (cest le cas
de beaucoup de FPGAs) la programmation consiste fixer des chemins de donnes, cest
dire tablir des interconnexions entre des cellules de calcul et des signaux dentre et de
15
CHAPITRE I
sortie. Cette opration de cration dinterconnexions entre des cellules gnriques sappelle le
routage dun circuit ; laffectation des cellules des fonctions souhaites par lutilisateur
sappelle le placement [35].
I.3.4. Ou exclusif
Loprateur lmentaire ou exclusif, ou somme modulo 2, dont nous avons rappel
lexpression algbrique prcdemment, est disponible en tant que tel dans certains circuits.
Cet oprateur intervient naturellement dans de nombreuses fonctions combinatoires relies de
prs ou de loin larithmtique : additions et soustractions, contrles derreurs, cryptages en
tout genre, etc. Or ces fonctions se prtent mal une reprsentation en somme de produits, car
elles ne conduisent aucune minimisation de leurs quations. Un simple gnrateur de parit
sur 8 bits, qui rajoute un bit de parit un octet de donnes, ne ncessite pas moins de 128
(28-1) produits, quand il est mis plat , pour tre ralis au moyen dune couche de ETs et
dune couche de OUs. De nombreuses familles de circuits programmables disposent, en plus
des PLAs, doprateurs ou exclusifs pour faciliter la ralisation de ces fonctions
arithmtiques.
Une autre application de loprateur ou exclusif est la programmation de la polarit dune
expression. Quand on calcule une fonction combinatoire quelconque sous forme disjonctive, il
peut arriver quil soit plus conomique, en nombre de produits ncessaires, de calculer le
complment de la fonction et de complmenter le rsultat obtenu. Par exemple, si (cba)2
reprsente lcriture en base 2 dun nombre N, compris entre 0 et 7, on peut exprimer par une
quation logique que N est premier avec 3 :
On peut galement remarquer que si N est premier avec 3 cest quil nest pas multiple de 3,
soit :
CHAPITRE I
17
CHAPITRE I
la densit d'intgration
18
CHAPITRE I
I.4.1. Connexions programmable une seule fois (OTP : One Time Programming)
I.4.1.1. Cellules fusible
La programmation consiste dtruire ou garder intact des fusibles, de manire supprimer
ou conserver des connections (figure I-12) :
19
CHAPITRE I
La figure I-13 en illustre le principe, toutes les connexions sont tablies la fabrication. Lors
de la programmation le circuit est plac dans un mode particulier par le programmateur, mode
dans lequel des impulsions de courant sont aiguilles successivement vers les fusibles
dtruire.
Pour programmer un circuit, il faut transfrer dans le programmateur une table qui indique par
un chiffre binaire ltat de chaque fusible (la table des fusibles). Cette table est gnralement
transfre entre le systme de CAO et le programmateur sous forme dun fichier au format
normalis le format JEDEC.
Lexemple ci-dessous est un extrait du fichier JEDEC, gnr par un compilateur VHDL, qui
implmente un compteur binaire 10 bits dans un circuit de type 22V10 :
CHAPITRE I
Pour chacun des 5828 fusibles de ce circuit, un '0' indique un fusible intact, un '1' un fusible
programm.
Lexamen du dbut de la table prcdente met en vidence un dfaut majeur de cette
technologie : la programmation dtruit plus de fusibles quelle nen conserve, et de loin. Cela
se traduit par une mauvaise utilisation du silicium, un temps de programmation important
(quelques secondes) et des contraintes thermiques svres imposes au circuit lors de
lopration. Cette technologie nest donc pas gnralisable des circuits dpassant quelques
centaines de portes quivalentes.
Le lecteur averti aura peut-tre remarqu, la lecture de len-tte du fichier JEDEC, quen
ralit le circuit prcdent ne contient aucun fusible. Il sagit en vrit dun circuit CMOS
grille flottante, mais lancienne terminologie est reste [34].
I.4.1.2. Cellules antifusible
Linverse dun fusible est un anti-fusible. Le principe est, lchelle microscopique, celui de
la soudure lectrique par points.
En appliquant une tension importante (16 V pendant 1 ms) un isolant entre deux zones de
semi-conducteur fortement dopes, ce dernier diffuse dans l'isolant et le rend conducteur.
Cette technologie trs en vogue permet une haute densit d'intgration.
Hormis le non reprogrammabilit, c'est la meilleure technologie (vitesse et surtout densit
d'intgration).
Dans la premire (fig. I-15) on fait fondre un dilectrique en forant un courant important
(environ 5 mA) dans une zone de trs faibles dimensions situe l'intersection de deux
lectrodes l'une en silicium polycristallin et l'autre ralise par un implant fortement dop n+.
Ce dilectrique est constitu de trois couches alternes d'oxyde et de nitrure de silicium : SiO2
- Si3N4 - SiO2. La prsence du nitrure permet de rduire l'paisseur du dilectrique. Lors de
la fusion du dilectrique il y a diffusion de dopants, ce qui diminue la rsistance du contact
ralis.
21
CHAPITRE I
22
CHAPITRE I
CHAPITRE I
de minutes. Ces circuits sont quips d'une fentre en quartz et encapsuls dans un botier en
cramique pour rsister l'chauffement. Cette mise en uvre augmente le prix des
composants, mais cela n'est ncessaire que pour le dveloppement. Pour la production le
mme circuit existe sans fentre et en botier plastique. Cette technique correspond aux
mmoires mortes effaables :
EPROM (Erasable Programmable Read Only Memory). Il est galement possible de
dcharger la grille flottante par effet tunnel en appliquant des tensions suffisamment leves
entre la grille, la source et le drain. Cet effacement est plus rapide et n'impose pas de retirer le
circuit du systme dans lequel il est install. Cela correspond la famille des mmoires
mortes programmables et effaables lectriquement : EEPROM (Electrically Erasable
Programmable Read Only Memory).
La diffrence entre les EEPROM et les mmoires vives rside dans la vitesse d'criture. Le
cycle d'criture d'une EEPROM est environ 1000 fois plus long que celui d'une RAM. Par
Contre rappelons que les temps d'accs en lecture des mmoires RAM, ROM, PROM,
EPROM et EEPROM sont comparables.
Un composant hybride qui associe dans un mme botier une RAM et une EEPROM de mme
capacit : la mmoire NOVRAM (NOn Volatile RAM). L'EEPROM permet de raliser en
moins de 10 ms une sauvegarde globale de la RAM. Cela permet une sauvegarde du contenu
de la mmoire en cas de coupure d'alimentation lectrique.
Flash EPROM
L'utilisation de deux transistors par cellule uniquement (5 pour l'EEPROM) et une
structure verticale permettent une densit d'intgration importante (25 m2 par cellules en
CMOS 0,6 m) trois quatre fois plus importante que l'EEPROM, mais quand mme 10 fois
moins que la technologie antifusible. Le nombre de cycle d'criture (104 106) est
galement plus grand que pour l'EEPROM car l'paisseur de l'isolant est plus importante.
Par contre, la simplicit de la cellule lmentaire n'autorise pas une reprogrammation
slective (ventuellement par secteur), ce qui n'est pas gnant pour le type de circuits qui nous
intresse. La tension de programmation et d'effacement est de 12 V, avec un temps de
programmation de quelques dizaines de s pour un temps d'effacement de quelques
millisecondes.
24
CHAPITRE I
25
CHAPITRE I
26
CHAPITRE I
Le fait que les PLD soient la base de la conception des CPLD, trs en vogue aujourd'hui,
justifie cependant leur tude.
Initialement bipolaire, les cellules de connexions sont aujourd'hui ralises en technologie
MOS grille flottante. La structure de base comprend un circuit PLA dont seule la matrice ET
est programmable.
La partie nomme OLMC (Output Logic MacroCell, dnomination Lattice) sur la figure I-20
peut tre :
versatile, il est alors possible par programmation de choisir entre les deux
configurations prcdentes.
Les PLD de dernire gnration utilisent des OLMC versatiles, dont on donne ci-aprs la
structure (fig. I-21) :
27
CHAPITRE I
28
CHAPITRE I
L'tablissement des liaisons (routage) entre les diffrentes macrocellules est encore moins
critique :
Un seul point de connexion -cause du retard- relie les LAB entre eux. Le temps de
propagation des signaux est parfaitement prdictible avant que le routage ne soit fait. Ce
dernier n'influence donc pas les performances du circuit programm.
Dans l'outil de synthse, la partie s'occupant du placement et du routage est appele le "fitter"
(to fit : placer, garnir).
La technologie de connexion utilise est gnralement l'EEPROM (proche de celle des PLD)
ou EEPROM flash [32].
I.5.3. FPGA (Field Programmable Gate Array)
Les blocs logiques sont plus nombreux et plus simple que pour les CPLD, mais cette fois les
interconnexions entre les blocs logiques ne sont pas centralises (fig. I-23).
29
CHAPITRE I
Ces composants permettent une forte densit d'intgration. La petitesse des blocs logiques
autorise une meilleure utilisation des ressources du composant (au prix d'un routage dlicat) Il
devient alors possible d'implanter dans le circuit des fonctions aussi complexes qu'un
microcontrleur. Ces fonctions sont fournies sous forme de programme par le constructeur du
composant et appeles "megafunction" ou "megacore". Le terme gnrique classiquement
utilis pour les dsigner est "proprit intellectuelle" ou IP (Intelectual Property).
Les FPGA utilisent gnralement les technologies SRAM ou antifusible [32,38].
I.5.4. ASIC (Application Spcific Intgrated Circuit)
Si les composants prcdents pouvaient tre dvelopps avec un simple ordinateur, ceux que
nous abordons maintenant ncessitent l'intervention d'un fondeur qui produira le circuit
demand partir des masques fournis par son client. Ici encore, le terme programmable n'est
pas des plus judicieux, les connexions entre les lments tant dessines sur les masques.
Les temps et cots de productions sont importants. On distingue trois types d'ASIC class par
ordre croissant de configurabilit.
30
CHAPITRE I
I.6. Conclusion
Dans le monde des circuits numriques les chiffres voluent trs vite, beaucoup plus vite que
les concepts. Cette impression de mouvement permanent est accentue par les effets
dannonce des fabricants et par lusage systmatique de la publicit comparative, trs en
vogue dans ce domaine.
Il semble que doivent se maintenir trois grandes familles :
Les PLDs et CPLDs en technologie FLASH, utilisant une architecture somme de produits.
La tendance est la gnralisation de la programmation in-situ, rendant inutiles les
programmateurs sophistiqus. Rservs des fonctions simples ou moyennement complexes,
ces circuits sont rapides (jusqu environ 200 MHz) et leurs caractristiques temporelles sont
pratiquement indpendantes de la fonction ralise. Les valeurs de frquence maximum de
fonctionnement de la notice sont directement applicables.
Les FPGAs SRAM, utilisant une architecture cellulaire. Proposs pratiquement par tous
les fabricants, ils couvrent une gamme extrmement large de produits, tant en densits quen
vitesses. Reprogrammables indfiniment, ils sont devenus reconfigurables rapidement (200 ns
par cellule), en totalit ou partiellement.
Les FPGAs antifusibles, utilisant une architecture cellulaire granularit fine. Ces circuits
stendent remplacer une bonne partie des ASICs prdiffuss. Programmables une fois, ils
prsentent lavantage dune trs grande routabilit, do une bonne occupation de la surface
31
CHAPITRE I
du circuit. Leur configuration est absolument immuable et disponible sans aucun dlai aprs
la mise sous tension ; cest un avantage parfois incontournable [36].
32
CHAPITRE II
Technologie et environnement de
dveloppement des FPGAs
CHAPITRE II
II.1. INTRODUCTION
Les FPGA, sigle anglais qui signifie Field Programmable Gates Arrays traduit en franais
par rseau de portes programmables, sont des circuits intgrs reprogrammables. Ils offrent la
possibilit de raliser des fonctions numriques plus ou moins complexes, tout comme leurs
homologues figs : les ASIC [40].
Les FPGA sont des circuits numriques matriels configurables ddis llectronique
numriques [41].
A ltat initial ils ne peuvent rien faire mais disposent dune importante quantit (dpendant
de la technologie utilise) de ressources matrielles oprationnelles dont on peut configurer la
fonction. Ces ressources sont, principalement, des blocs lmentaires logiques (pour raliser
des fonctions boolennes), des mmoires RAM, des oprateurs arithmtiques (qui travaillent
en virgule fixe), des ressources de routage interne et des entres/sorties. Ces ressources
configurables sont relies par un rseau dense de lignes de routage et de lignes de transport
des horloges. Ces lignes de routage sont aussi configurables. En plus de ces ressources, un
FPGA est compos dune mmoire interne de configuration. Chaque point de cette mmoire
correspond la configuration dun lment dune des ressources oprationnelles. Cette
mmoire est, dans la plupart des cas, ralise avec une des trois technologies suivantes :
ANTIFUSIBLE (la plus ancienne, configurable une seule fois), FLASH (non-volatile) ou
SRAM (volatile, la plus utilise, reprsente plus de 80 % du march). Pour raliser une
application avec un FPGA il faut dcrire le circuit lectronique raliser avec un langage de
description matrielle comme le VHDL (Very High Speed Integrated Circuit Hardware
Description Langage). Puis il faut synthtiser cette description en circuit lectronique. Cette
tape et les suivantes peuvent se faire avec des logiciels gratuits fournies par le fabricant de
circuit. Enfin aprs une tape de placement et routage qui prend en compte larchitecture du
FPGA, un fichier de configuration appel bitstream est gnr. Celui-ci permet de spcifier au
FPGA lors de la configuration la position des points de la mmoire de configuration [41].
La technologie FPGA (Field-Programmable Gate Array) continue de gagner du terrain : selon
les prvisions, le march mondial du FPGA devrait passer d'1,9 milliard de dollars en 2005
2,75 milliards d'ici 2010 [1]. Depuis leur invention par Xilinx en 1984, les FPGA sont partis
d'un simple rle d' interfaage d'appoint pour arriver vritablement remplacer les ASIC
(circuits intgrs application spcifique) et les processeurs personnaliss dans des
applications de contrle et de traitement de signaux. Afin d'expliquer ce succs, cet chapitre
34
CHAPITRE II
35
CHAPITRE II
Figure II1.a : Architecture interne du FPGA fabriqu ALTERA (Cyclone II EP2C20) [55].
36
CHAPITRE II
37
CHAPITRE II
II.3. 3. Cot
Les cots d'ingnierie non rcurrents (NRE) des ASIC personnaliss sont bien suprieurs
ceux des solutions matrielles bases sur du FPGA. L'important investissement de dpart que
requirent les ASIC se justifie largement pour les OEM, par exemple, qui peuvent livrer des
circuits par milliers chaque anne. Cependant, la plupart des utilisateurs finaux ont besoin de
matriels personnaliss pour quelques dizaines ou quelques centaines de systmes en
dveloppement. Par nature, les circuits programmables n'impliquent ni cot de fabrication, ni
longs dlais d'assemblage. Les besoins de la plupart des systmes voluent avec le temps ; or
la modification progressive d'un FPGA reprsente un cot ngligeable compar la dpense
considrable qu'exige la reconception d'un ASIC.
II.3. 4. Fiabilit
Tandis que les outils logiciels fournissent l'environnement de programmation, les circuits
FPGA sont une vritable implmentation matrielle de l'excution logicielle. Les systmes
bass processeur comprennent souvent plusieurs couches d'abstraction, pour aider la
planification des tches et la rpartition des ressources entre les diffrents processus. La
couche de driver contrle les ressources matrielles et le systme d'exploitation gre la
mmoire et la bande passante du processeur. Sur chaque cur de processeur, une seule
instruction peut s'excuter la fois ; c'est pourquoi les systmes bass processeur risquent
toujours de voir des tches prioritaires entrer en conflit. Les FPGA, qui n'utilisent pas de
systme d'exploitation, minimisent les problmes de fiabilit car ils assurent une excution
vritablement parallle et un matriel dterministe ddi chaque tche.
II.3. 5. Maintenance long terme
Comme nous l'avons vu, les circuits FPGA sont volutifs et vous pargnent donc la dpense
de temps et d'argent qu'implique la reconception des ASIC. Les spcifications des protocoles
de communication numriques, par exemple, voluent avec le temps. Or les interfaces bases
sur ASIC peuvent poser des problmes de maintenance et de compatibilit. Comme ils sont
reconfigurables, les circuits FPGA sont capables de s'adapter aux modifications
ventuellement ncessaires. mesure qu'un produit ou qu'un systme volue, vous pouvez y
intgrer des amliorations fonctionnelles sans perdre de temps reconcevoir le matriel ou
modifier l'implantation du circuit [43].
38
CHAPITRE II
II.4. Fabricants
Ayant prsent les caractristiques globales des FPGAS, nous allons rapidement passer en
revue les produits proposs par les diffrents fabricants, savoir, dans lordre alphabtique,
Actel, Altera, Atmel, Lattice Semiconductor, QuickLogic et Xilinx .
Actel
Les principaux circuits dActel sont bass sur des anti-fusibles, les rendant non volatiles,
rapides, et trs srs sur le plan de la proprit intellectuelle. De plus, les anti-fusibles sont
insrs entre les couches de mtal, afin dconomiser la surface de silicium. Toutefois, la
taille des ces circuits nest pas exceptionnelle, la srie Axcelerator contenant au plus
10752 cellules composes dun registre, 21504 cellules combinatoires (quelques
multiplexeurs et portes logiques), et 294912 bits de mmoire ddis, pour un total de 2
millions de portes quivalentes8.
Afin de proposer une alternative leurs prcdents produits tout en maintenant la nonvolatilit, Actel a rcemment introduit la srie ProASIC Plus, base sur une technologie
FLASH. Elle est galement sre, les bits de configuration tant crypts, et va jusqu une
densit de 1 million de portes quivalentes.
Altera
A lheure de la rdaction de ces lignes, Altera, le deuxime plus gros fabricant, se
concentre sur deux sries de base technologie SRAM, Cyclone et Stratix. Loptique de
la srie Cyclone est de disposer dun FPGA bas prix. Bien que les lments de base
(LE, pour Logic Element) des deux sries soient semblables, la version Cyclone a t
optimise, et requiert 30% de moins despace. Il est principalement compos dune LUT
4 entres, dune bascule, et dun systme de propagation de retenue, afin dacclrer les
oprations arithmtiques. Le plus imposant des Cyclones contient 20060 LEs et
288Kbits de RAM, pour un total de 1 million de portes quivalentes.
La srie Stratix est nettement plus imposante, pouvant contenir jusqu 79'040 LEs,
7427Kbits de RAM et 22 blocs DSP (88 multiplicateurs 18 18, 178 de 9 9 ou 22 de 36 36).
39
CHAPITRE II
dernire ne des sries est la Stratix II. Elle est deux fois plus dense que la premire,
notamment grce une redfinition de son lment de base.
Le LE a t remplac par lALM (Adaptive Logic Module), qui contient deux bascules,
deux reports de retenue, et un bloc combinatoire compos principalement de deux 4LUTs et quatre 3-LUTs. A titre de comparaison, le plus gros Stratix II correspond
179400 LEs, 9Mbits de RAM et 384 multiplicateurs 18 18.
Sur le plan des processeurs, la srie Excalibur propose un FPGA de type APEX20KE
(avec un maximum de 38400 LEs, soit 1.7 millions de portes quivalentes), auquel a t
ajout un processeur ARM922T tournant 200MHz. Il semblerait toutefois quil nait pas
obtenu le succs escompt, et cest plutt sur son processeur Nios quAltera mise. Il
sagit dun processeur soft, qui peut tre insr dans nimporte quel design, puis
programm sur le FPGA cible. Sa version 32 bits noccupe que 1400 LEs, et permet donc
den placer plusieurs sur un FPGA.
Finalement, Altera propose la solution HardCopy, qui offre lutilisateur la possibilit de
transformer un design pour FPGA Stratix ou Apex en un ASIC. Bas sur le concept
dASIC rseau structur, le circuit est prdiffus avec les mmes composants que ceux
du FPGA, et seul lapposition de deux couches de mtal supplmentaires est ncessaire
la ralisation physique du design. Lavantage de cette approche est que la consommation
est plus faible et la rapidit plus grande en comparaison de limplmentation sur FPGA,
et que le temps de ralisation est moins lev que pour un ASIC standard.
Atmel
Atmel, fabricant de semi-conducteurs, propose deux architectures de FPGA, la srie
AT6000 et la srie AT40, toutes deux de technologie SRAM. Le bloc de base de la
premire est compos de deux multiplexeurs quatre entres, et de portes logiques
simples, ainsi que dune bascule, alors que celui de lAT40, plus conventionnel, est
compos de deux 3-LUT, dune porte ET et dune bascule. Bien que darchitecture
relativement simple, loriginalit de ces deux circuits rside dans le routage. En effet,
outre un rseau de routage longue distance simple, chaque cellule est directement relie
ces 8 voisines, alors que chez la plupart des autres fabricants les liaisons directes ne sont
que 4. Cette spcificit permet entre autre dimplmenter efficacement des
multiplications de matrice. Concernant la taille, nous pouvons noter que ces circuits sont
40
CHAPITRE II
CHAPITRE II
grande particularit de cette famille concerne sa programmation base sur des cellules de
mmoire E CMOS, offrant la non-volatilit ces circuits. De ce fait aucune mmoire
externe nest ncessaire, et le circuit est automatiquement configur lors du dmarrage.
Suivant la srie 4, Lattice propose des Field Programmable System Chip (FPSC)
composs dun tableau reconfigurable identique celui trouv dans la srie ORCA4 ainsi
que dlments raliss en technologie ASIC, pouvant tre des interfaces 10Gbits/s, ou
backplane transceivers.
Finalement, deux familles, LatticeECP, pour EConomy Plus, et LatticeECPDSP, offrent
une solution bas cots. Leurs lments de base sont relativement semblables ceux de
la srie ORCA4, mais elles offrent plus de modules utiles limplmentation
dapplications DSP, tels que des multiplicateurs (jusqu quarante 18 18), et des blocs de
mmoire. La famille ECP-DSP propose en plus jusqu 10 blocs DSP permettant chacun
limplmentation de huit multiplicateurs 9 bits ou quatre Multiply-Accumulate sur 9 bits,
par exemple. Le plus grand de ces circuits possde 40 multiplicateurs, 5120 PFUs et
645Kbits de RAM.
QuickLogic
Tous les circuits QuickLogic sont de types anti-fusibles (la technologie ViaLink leur
permet dintercaler le fusible entre deux couches de mtal, afin de sauver de lespace sur
le silicium), bass sur un mme lment de base, avec une lgre diffrence pour la srie
Eclipse. Cet lment comprend 2 portes ET 6 entres, 4 portes ET 2 entres, 6
multiplexeurs 2 entres, et une bascule. Cette architecture est particulire en
comparaison des concurrents. En effet, elle semble moins intuitive que lapproche LUT,
mais permet de crer des fonctions grand nombre de variables dentres comme
plusieurs fonctions moins de variables, grce ses 5 sorties. Dans la srie Eclipse, la
principale diffrence rside en la prsence de deux bascules au lieu dune. Dans tous les
circuits, le rseau de routage est compos de lignes et colonnes connects par des
switchboxs.
La srie pASIC consiste en un simple tableau dlments logiques et du routage
correspondant, pour un maximum de 1584 cellules logiques, soit 75000 portes
quivalentes.
42
CHAPITRE II
Augmente de blocs de RAM, la srie QuickRAM propose jusqu 25'344 bits, pour un
total de 176608 portes quivalentes. La srie QuickPCI, toujours sur la mme base,
contient quant elle un contrleur PCI, alors que la srie QuickMIPS, de loin la plus
complexe, possde, outre 1152 cellules, 82944 bits de RAM et 18 ECUs, un processeur
MIPS 32 bits, un contrleur PCI, 2 UARTs, etc. La srie Eclipse, quant elle, pour un
maximum de 662208 portes quivalentes, peut contenir jusqu 82900 bits de RAM et
18 blocs ECU (Embedded Computational Units), chacun tant compos dun
multiplicateur 8X8, dun additionneur 16 bits et dun registre.
Xilinx
A lheure actuelle, Xilinx, le premier fabricant de FPGAs, propose principalement deux
familles, Virtex et Spartan, toutes deux de type SRAM, bases sur une architecture LUT.
La diffrence entre les deux familles est minime, et tient principalement du nombre
dlments proposs ainsi que du type de process utilis, les Spartan tant positionnes
bas cot en comparaison des Virtex. Llment de base, le CLB (Configurable Logic
Block), est compos de deux Slices, eux-mmes comprenant deux 4-LUT et deux
bascules. Les versions Virtex-II, Virtex-4 et Spartan-3 diffrent toutefois, le CLB y
contenant quatre Slices. Les deux familles contiennent des blocs de RAM, pouvant tre
utiliss en single ou dual port.
Alors que les sries Spartan-3, Virtex-II et Virtex-4 sont presque identiques en terme
darchitecture, la srie Virtex-II Pro introduit un ou deux processeurs de type PowerPC.
Contrairement lchec de la solution dAltera faisant intervenir un ARM, Xilinx a su
imposer son produit, et la srie Virtex-II Pro se trouve trs bien positionne dans la
gamme de ses produits.
Le plus imposant de la srie Spartan-3 propose 5M de portes quivalentes, dont 104
multiplicateurs de 18x18 bits et 1872 K bits de RAM. En comparaison, les plus gros
Virtex sont le XC4VLX200, de la famille Virtex-4LX et le XC4VFX140, un Virtex-FX.
Le premier contient 178176 lments logiques, un lment logique tant une LUT 4
entres et une bascule. A ceci sajoutent 6048 Kbits de RAM configurables, ainsi que 96
multiplicateurs 18x18 bits, pour un total de 15M de portes quivalentes (chiffre calcul).
Le deuxime, le XC4VFX140, est compos de 126336 lments logiques, de 9936
KBits de RAM, 192 multiplicateurs, et 2 processeurs de type PowerPC.
43
CHAPITRE II
Nous pouvons finalement noter que Xilinx, linstar dAltera, propose une solution appele
EasyPath, permettant la ralisation en ASIC dun design implment sur un Virtex-II, VirtexII Pro ou un Spartan-3 [46].
Le tableau II-1 de Comparaison des caractristiques des diffrentes FPGAs rsume les
principales caractristiques des FPGAs disponibles sur le march. Nous pouvons observer une
complexification constante de ces circuits qui se voient ajouter de plus en plus de nouvelles
caractristiques. Il devient en effet quasiment impossible den trouver un ne possdant pas de
blocs de mmoire RAM, et la prsence de multiplicateurs devient presque systmatique.
Sur le plan des structures de routage, la tendance est loptimisation. Les technologies
utilises devenant de plus en plus petites, le dlai des portes se rduit dautant, alors que celui
des fils ne diminue pas. Ds lors une nouvelle attention est donne cette partie du circuit, de
manire assurer un fonctionnement correct haute frquence.
Concernant la complexit du routage, nous pouvons noter que les rseaux de routage des gros
FPGAs ne se bornent pas une simple grille de switchboxs, mais quils font intervenir
plusieurs niveaux. La srie Startix dAltera, par exemple, est composs de Logic Array Blocs
(LABs) contenant 10 Logic Elements (LEs), chaque LE tant une LUT, une bascule et
quelques portes logiques. Le LAB y a une connectique interne, et une connectique externe
44
CHAPITRE II
pour des chemins de longue distance entre les LABs. Altera voit ce rseau comme une
structure plusieurs dimensions, lensemble du rseau tant vu comme une grille de sousrseaux interconnects, eux-mmes tant une grille de sous-rseaux, etc [46].
45
CHAPITRE II
CHAPITRE II
Figure II- 3 : Architecture lot de calcul, typique des FPGA actuels [42].
CHAPITRE II
car elle permet de localiser les communications intenses et limite lutilisation de longues
lignes de routage. Cependant, il est ncessaire pour les algorithmes de placement et routage de
prendre en compte les caractristiques Spcifiques de ces architectures.
Figure II-4 : Exemple dArchitecture hirarchique quatre niveaux (circuit, tuiles, clusters,
lments configurables) que lon rencontre frquemment dans les circuits ACTEL [42].
48
CHAPITRE II
49
CHAPITRE II
ultra rapide de la logique, la succession de configurations est stocke localement sur la puce.
Par rapport aux solutions conventionnelles, la socit annonce pour ses FPGA fabriqus dans
le procd 40 nm de TSMC, des gains respectifs de 2,5 pour la densit, de 2 pour la capacit
mmoire et de 3,7 pour les performances DSP. Tabula prcise galement que cette
reconfiguration est transparente pour lutilisateur, celui-ci pourra donc suivre une
mthodologie de conception classique. Dans larchitecture Spacetime, la matrice matrielle
est dcoupe en plusieurs zones de blocs logiques bass sur des LUT, alternant avec des bancs
de mmoire Ram et des multiplexeurs pour distribuer les signaux entre ces diverses entits.
Suivant le mme principe que celui de la logique programmable, laxe des temps donne un
effet de volume la mmoire, multipliant sa capacit initiale ainsi que le nombre de ports.
Lorsquen 2003, Steve Teig, prsident et CTO de Tabula, mit au point le concept de cette
architecture Spacetime, le premier travail de son quipe fut dtudier la faisabilit doutils de
CAO de type classique pour animer cette architecture. Les premiers membres de la famille
Abax (A1EC02,-03,-04,-06) embarquent entre 220 000 et 630 000 LUT par FPGA. Ils
possdent tous 5,5 Mo de Ram, 920 E/S parallles, 44 PLL ainsi que 48 SerDes oprant entre
55 Mbits/ s et 6,5 Gbits/ s. Le FPGA A1EC06 bnficie en plus de 1 280 blocs MAC
(multiplier/accumulate). Lchantillonnage de ces FPGA est prvu en juillet, pour une
production en volume en octobre.
Quelle que soit larchitecture choisie, les lments constitutifs dun FPGA sont toujours peu
prs les mmes. Chaque fabricant ayant ses variantes par rapport un autre. Nous pouvons
citer un certain nombre de ces lments [45].
II.5.2. Ressources fonctionnelles configurables
Dans la plupart des cas llment logique configurable de base des FPGA se compose dune
LUT (Look Up Table5) avec un nombre dentres allant de 4 8 pour les dernires
gnrations, dune chane de propagation rapide de la retenue et dun registre de sortie afin
dassurer la synchronisation des signaux (trs utile pour limplmentation de calculs
pipelins). Ces lments configurables peuvent tre rassembls en clusters hirarchiques afin
de favoriser une connectivit locale et rapide (cas des composants Altera). Les lments
logiques configurables appel SLICE chez Xilinx. Entre deux gnrations successives de
FPGA Xilinx, quun SLICE Virtex4 ne correspond pas un SLICE Virtex6.
50
CHAPITRE II
Figure II-6 : Elments logiques configurables ( circuits Xilinx Virtex4 et Virtex6) [42].
Figure II-7.a : Elments logiques (LAB) configurables (Logic Blocks, Cyclone II) dAltera [55].
Figure II-7.a : Elments logiques (LAB) configurables (Logic Blocks, Cyclone II) dAltera.
51
CHAPITRE II
52
CHAPITRE II
53
CHAPITRE II
CHAPITRE II
55
CHAPITRE II
CHAPITRE II
Figure II-13 : lment de contrle et dacheminement des horloges (Cyclone II Altera) [55].
57
CHAPITRE II
Figure II-14 : lment de contrle et dacheminement des horloges (Xilinx Spartan) [38].
CHAPITRE II
Figure II-15 : Trois architectures possibles de circuits mixtes FPGA microprocesseur(s) [42].
CHAPITRE II
de mmoire cache (instructions et donnes). Cette mme architecture est toujours utilise pour
les composants Virtex de dernire gnration.
Il faut noter quil est possible de raliser un circuit mixte sans disposer physiquement dun
cur de processeur embarqu dans le circuit FPGA. Dans ce cas lutilisation dun cur
synthtisable (dit cur soft), fourni gratuitement par le fabricant de circuit, est une solution
trs efficace. Les curs synthtisables 32 bits Altera NIOS et Xilinx MicroBlaze sont par
exemple trs utiliss. Bien entendu, les performances de ces curs sont infrieures celles
des curs embarqus, mais ils permettent une plus grande flexibilit de configuration [41].
II.5.4. Ressources arithmtiques de gros grain
Nombreuses sont les applications qui ncessitent la synthse doprateurs du type multiplieur,
additionneur et multiplieur/accumulateur. Sil est possible, grce aux chanes de propagation
rapide de la retenu de raliser sur un petit nombre de LUT des additionneurs efficaces, ce
nest pas le cas pour des multiplieurs trs coteux en ressources. Les industriels ont donc
choisi dimplanter de faon matrielle des multiplieurs reconfigurables (la reconfiguration
intervient en particulier sur la taille des donnes traiter) au sein mme de la matrice de grain
fin. En positionnant ces multiplieurs prs des colonnes dlments mmoires et dlments
reconfigurables de grain fin il est possible de synthtiser des oprateurs MAC (Multiplieur
Accumulateur). Cette solution fut retenue par Xilinx pour les composants Virtex-II. Altera a
choisi dimplanter dans les circuits de la famille Stratix des oprateurs cbls plus complexes
pouvant directement tre configurs en oprateurs MAC que lon trouve galement sur les
nouvelles gnrations de FPGA Xilinx.
La figure II-16 donne le schma (simplifi) dun lment arithmtique configurable de
dernire gnration (DSP48E Slice) que lon trouve dans les composants Xilinx Virtex-6.
Ceux-ci comportent, entres autres, un multiplieur prenant en entre un mot de 25 bits et un
mot de 18 bits, une unit arithmtique (opration addition ou soustraction) et logique ainsi que
des chaines de retour pour les calculs itratif (filtre IIR par exemple). En fonction du circuit
choisi le nombre de DSP48E Slice est plus ou moins grand, il atteint 2016 lments pour le
plus gros des circuits Virtex-6 SXT qui est une version spcialise pour le traitement
numrique du signal [41].
60
CHAPITRE II
Le NIOS est un processeur de type firm cest dire exclusivement ddi la famille
APEX dAltera. Cest un processeur 32 ou 16 bits configurable. La performance
maximale est de 50 Mips. Lintrt de ce cur est quil est gratuit, quil pourra suivre
les volutions technologiques dAltera, la souplesse de la solution.
61
CHAPITRE II
62
CHAPITRE II
Ladresse du RESET
CHAPITRE II
UART pour grer une ligne srie, timer, PIO (Parallel Input Output), etc. Hormis ces
priphriques implments par Altera, lutilisateur a la possibilit den ajouter quil aura luimme crits. Ils sont vus par le NIOS comme de simples emplacements mmoires accds
autant en lecture quen criture avec la possibilit de gestion dinterruptions. Ce processeur
embarqu est optimis pour la logique programmable dAltera et lintgration systme sur un
circuit programmable (SOPC). Avec loutil de dveloppement de systme SOPC Builder, les
concepteurs peuvent adapter le processeur NIOS et ses priphriques pour crer le systme
exact dont ils ont besoin.
Larchitecture interne du processeur NIOS est conue pour fournir plusieurs avantages tels
que :
Implmentation efficace dans les composants FPGA dAltera :
Outil SOPC Builder qui cre la logique dinterface du bus Avalon entre lunit
centrale de traitement, les priphriques et la mmoire.
tant donn que le code source de ce processeur est non accessible, la seule mthodologie de
conception quon peut appliquer est celle de rplication. Cette mthodologie est mieux
explique dans le paragraphe suivant. Ladaptation de NIOS aux besoins de mppSoC est aussi
dtaille [7,8].
64
CHAPITRE II
65
CHAPITRE II
66
CHAPITRE II
cran LCD 16 x 2
CHAPITRE II
Port USB 2.0 pleine vitesse pour la configuration FPGA et les transferts de donnes
(en utilisant le logiciel Adept 2.0).
Mmoire ROM Flash de la plateforme XCF02 qui stocke les configurations FPGA
indfiniment.
Frquence de l'oscillateur rglable par l'utilisateur (25, 50 et 100 MHz), plus support
pour un deuxime oscillateur.
Trois rgulateurs de tension intgrs (1,2 V, 2,5 V et 3,3 V) qui permettent l'utilisation
de sources d'alimentation externes de 3,5 V 5,5 V.
68
CHAPITRE II
Quatre embases 6 broches pour les E/S utilisateurs et cartes de circuit des
accessoires PMOD de Digilent.
Figure II-22 : Carte dtude BASYS2 Digilent (Xilinx) avec le Synoptique [22].
69
CHAPITRE II
La majorit des produits mdicaux ont un certain type de semi-conducteurs en elle. Au fil des
ans, le contenu des semi-conducteurs continue d'augmenter dans ces myriades de produits.
Dispositifs logiques programmables (FPGA) continuent voir un taux d'adoption plus lev
que d'autres semi-conducteurs. C'est parce que FPGA offrent une alternative viable et
puissante la fois dans le dveloppement du matriel mdical. FPGA limin les cots
initiaux NRE et les quantits minimales de commande associs aux circuits ASIC et les
risques coteux de multiples itrations de silicium par sa capacit reprogrammable.
Les FPGAs offrent la flexibilit et le conseil possibilits d'intgration de conception de
diffrencier contre les fabricants de matriel mdical concurrents. En outre, FPGAs peuvent
tre mis niveau dans le domaine de l'volution des normes ou exigences de changement. En
outre, la possibilit de rutiliser une plate-forme matrielle commune permet aux concepteurs
de crer des systmes diffrencis qui prennent en charge une varit d'ensemble de
fonctionnalits avec un design de base, ce qui entrane une rduction des cots de fabrication.
Qu'il s'agisse de concevoir une machine CT ou de l'quipement de surveillance des patients, la
logique programmable est un chemin souple et faible risque pour une conception russie du
systme. Logique programmable vous permet d'offrir des conomies de cots optimaux tout
en offrant valeur ajoute capacits de diffrenciation par rapport d'autres fabricants
d'quipements mdicaux.
70
CHAPITRE II
Altera fournit un produit complet et le portefeuille d'outils pour acclrer application mdicale
dveloppement Altera SDK pour OpenCL TM , des conceptions de rfrence industrielles, le
Quartus II et outil d'intgration de systmes Qsys, NiosII processeur intgr 32-bit , mmoire
embarque, un vaste ensemble de broches d'E / S, et un large ventail de la proprit
intellectuelle standard et mdical (IP) de Altera et nos partenaires.
La configurable Nios II processeur embarqu vous permet de crer facilement un systme
bas sur un microprocesseur qui est personnalis pour rpondre vos exigences d'application.
Loutil d'intgration de systmes Qsys automatise la configuration IP et d'intgration. Altera
offre plus de 200 curs d'IP que vous pouvez utiliser dans le commerce pour crer un systme
matriel en quelques minutes. Avec le logiciel de conception Quartus II, vous pouvez rduire
la puissance, la vitesse d'optimiser et de rduire les temps de compilation du systme dans
votre conception de FPGA.
II.8.2. Application Militaire
Aronautique et designers militaires font face une longue liste de dfis, y compris la
ncessit pour la haute performance, une large plage de fonctionnement, et une long dure de
vie du systme , ainsi que les contraintes ajoutes de la taille limite du systme et les budgets
de puissance. FPGA Altera permettent aux concepteurs de rpondre aux exigences de
l'industrie arospatiale et les marchs militaires.
71
CHAPITRE II
ASIC technologie,
cosystme des services filaires. D'Altera 28 nm silicium direction , des outils de soutien et
solutions permettent un niveau lev d'intgration de systme pour les plates-formes
d'infrastructure de communication filaires.
72
CHAPITRE II
73
CHAPITRE II
Figure II-23 : Le taux de diffrentes applications sans fil et la mobilit des donnes [8].
Worldwide Interoperability for Microwave Access (WiMAX) gagne en popularit en tant que
technologie d'accs sans fil large bande avec un potentiel de march important. WiMAX
802.16e-2005 prend en charge un accs Internet haut-dbit mobile dans un rseau
mtropolitain (MAN), et utilise des systmes avancs de traitement du signal tel que la
frquence accs multiple par rpartition orthogonale (OFDMA) et de la technologie entres
multiples sorties multiples (MIMO). WiMAX 802.16e-2005 jouera un rle cl dans les
dploiements vert-terrain et les marchs mergents comme la technologie sans fil fixe.
Avec les avances de la technologie des semi-conducteurs et des techniques de traitement du
signal , les normes sans fil et les systmes sont en constante volution. Une plate-forme
matrielle, qui peut fournir une bande passante leve de traitement, la flexibilit et un
avantage time-to-market est ncessaire pour rpondre ces exigences. Avec un portefeuille
complet de haute performance , faible cot des FPGA et un chemin de migration sans risque
faible cot HardCopy
CHAPITRE II
75
CHAPITRE II
II.9. Tendances
Quelques tendances apparaissent ces dernires annes dont lobjectif est daugmenter
lefficacit des FPGA. Sans vouloir tre exhaustif nous pouvons en dcrire quelques unes. Au
niveau de la mmoire de configuration, les densits de configuration et la maitrise des
technologies ont permis lmergence de composants de technologie mixte FLASH-SRAM, tel
que les composants Lattice XP2 et Xilinx Spartan AN. Loffre commerciale a volu en
proposant de plus en plus des sries spcialises lintrieur dune mme famille de
composants.
II.10. Conclusion
La part de march des FPGA dans le march globale des circuits matriels pour llectronique
numrique ne cesse daugmenter. Les volutions technologiques et architecturales qui ont eu
successivement lieu depuis le dbut des annes 2000 ont fait de ces circuits de rels et
rentables alternatives aux classiques ASIC. Avec ces volutions cest tout un nouveau
domaine de llectronique numrique qui sest ouvert. Aujourdhui les FPGA sont utiliss
76
CHAPITRE II
dans tous les domaines, des systmes embarqus aux systmes de communications, ils sont au
cur dun important champ de recherche acadmique et industrielle.
77
CHAPITRE III
Mthodologie de dveloppement
dun algorithme de commande pour
l'implantation sur puce FPGA
CHAPITRE III
III.1. Introduction
Limplantation des algorithmes de contrle dans leur intgralit sur des cibles matrielles
telles que les FPGA est une dmarche qui ncessite une parfaite matrise des processus de
conception et un travail spcifique dadquation entre lalgorithme et larchitecture de
commande intgrer. Donc, un savoir faire mthodologique est ncessaire aux concepteurs
utilisant les composants de type FPGA afin de satisfaire lensemble des contraintes inhrentes
de limplantation, tout en apportant une flexibilit de dveloppement suffisante. Par ailleurs,
les applications de commande sont des applications qui dcloisonnent un savoir faire dans
plusieurs domaines. En effet, cela ncessite du concepteur la matrise dun savoir faire dans
les domaines de la microlectronique, de llectronique faible et grande puissance, des
machines lectriques et de leur commande. Cette difficult pousse les concepteurs prfrer
les implantations standards des solutions logicielles. Par consquent, limplantation des
algorithmes de contrle sur de nouvelles solutions matrielles tels que les FPGA doit suivre
des tapes bien dtermines afin de guider le concepteur et faciliter le processus de
conception [49].
79
CHAPITRE III
Le systme physique (ou processus) : il gnre la variable que l'on dsire asservir.
CHAPITRE III
Un exemple dune structure gnrale du commande dune machine lectrique est constitu de
quatre parties comme indiquer la figure suivant :
Partie puissance
Source
lectrique
Machine
lectrique
Convertisseur
command
Charge
mcanique
Partie interface
(Puissance /commande)
Partie commande
Partie interface
(homme /machine)
81
CHAPITRE III
Partie Puissance
Cette partie elle-mme inclue quatre lments. Le premier tant une source lectrique.
Cette dernire peut tre fournie via des batteries, des gnrateurs, un rseau lectrique
(monophas ou triphas) Elle peut aussi contenir des composants dlectrotechnique et
dlectronique de puissance tels que les transformateurs, les Autotransformateurs, les
ponts redresseurs (commands ou non commands), les filtres capacitifs Le deuxime
lment est un ou plusieurs convertisseurs commands. Il sagit de dispositifs
dlectronique de puissance incluant des interrupteurs de puissance (IGBTs,
Thyristors,) qui sont commands travers des signaux de commande louverture et/ou
la fermeture. Le rle dun convertisseur command est de convertir lnergie lectrique
fournie par la source lectrique dune forme une autre travers la commande
dinterrupteurs de puissance. Par exemple, il est possible de trouver des convertisseurs
continu-continu tels que les hacheurs, des convertisseurs continu-alternatif tels que les
onduleurs, des convertisseurs alternatif-continu tels que les redresseurs (commands ou
non commands), des convertisseurs alternatif-alternatif tels que les gradateurs Le
troisime lment est une machine lectrique. Cette dernire constitue une charge
lectromcanique qui est alimente via lnergie lectrique fournie la sortie du
convertisseur command. La machine lectrique permet de convertir lnergie lectrique
quelle reoit en une nergie mcanique sous forme de couple. Plusieurs types de
machines sont utiliss dans lindustrie selon lapplication considre et les performances
souhaites. Par exemple, on y trouve les moteurs pas pas, les machines courant
continu, les machines asynchrones, les machines synchrones, les machines rluctance
variable Le quatrime et dernier lment qui constitue la partie puissance est la charge
mcanique. Cette dernire utilise lnergie mcanique dlivre par la machine lectrique
pour remplir une fonctionnalit donne.
vitesse,
position),
llectronique
de
filtrage
des
perturbations,
82
CHAPITRE III
Partie Commande
Cette partie assure le contrle de ltat de la machine lectrique (contrle du courant,
du couple, de la vitesse, de la position,). Ce contrle tant assur par un algorithme
de commande qui est implant sur cible analogique ou numrique. Le contenu
algorithmique de la partie commande dpend du cahier de charge de lapplication
considre et des performances souhaites. La partie commande acquiert dans un sens
les signaux lectriques gnrs par la partie interface et dans un autre, elle envoie les
signaux de commande vers le convertisseur command.
CHAPITRE III
Faible cot.
Avec lavancement technologique, les implantations de nature numrique sont devenues les
plus rpandues. Les principaux avantages des solutions numriques sont les suivants :
Les priodes dchantillonnage utilises sont limites par les dlais de temps de calcul.
84
CHAPITRE III
Au-del des solutions logicielles traditionnelles, les nouvelles solutions matrielles telles que
les FPGA peuvent aussi tre considres comme tant des solutions numriques appropries
pour limplantation des algorithmes de commande. Par ailleurs, le paralllisme inhrent des
composants FPGA ainsi que leurs grandes capacits de calcul permettent de raliser des
techniques de contrle avec des dlais de temps dexcution trs petits en dpit de la
performances analogiques en augmentant la bande passante des contrles et en affinant leur
rsolution temporelle [52].
85
CHAPITRE III
CHAPITRE III
87
CHAPITRE III
Figure III-6 : Les tapes optimises de limplantation dun algorithme de commande sur
FPGA.
CHAPITRE III
A la fin de cette tape, plusieurs modules rutilisables, avec diffrents niveaux hirarchiques
sont extraits afin dtre ajouts ( la fin de leur conception) une bibliothque spcifique
ddie la commande de machines lectriques comme le montre la figure III.7. Trois niveaux
hirarchiques sont suffisants pour caractriser dans son intgralit la bibliothque de modules
ddis la commande de machines lectriques. Le premier niveau hirarchique inclut les
oprateurs de "grain fin" tels que les registres, les multiplexeurs, les additionneurs, les
multiplieurs Ensuite, le deuxime niveau hirarchique comporte les modules des fonctions
les plus communment rencontres dans la commande des machines lectriques tels que les
rgulateurs PI, les techniques de modulation de largeur dimpulsion (MLI), les
transformations de coordonnes Les modules du deuxime niveau hirarchique sont
construits en utilisant les modules du premier niveau hirarchique. Finalement, les
algorithmes de contrle constituent les modules du troisime niveau hirarchique de la
bibliothque. Ces modules dalgorithmes de contrle sont construits en utilisant des modules
du premier et deuxime niveau hirarchique de la bibliothque [9].
Figure III-7 : Partitionnement modulaire dun algorithme type commande vectoriel [50].
89
CHAPITRE III
CHAPITRE III
toolbox "fixed point" de Matlab-Simulink. Ce choix est du au fait que la densit des
composants FPGA ne cesse daugmenter avec lavancement technologique et que les
procdures doptimisation de ressources qui seront prsentes par la suite sont suffisantes
pour satisfaire les contraintes matrielles de la cible FPGA. En effet, de nos jours mme des
algorithmes de contrle complexes peuvent tre implants intgralement sur des cibles FPGA
de faible cot, mme si le format virgule fixe choisi est lev, voire surdimensionn pour
lapplication vise.
Une fois le dveloppement du modle de spcification discret et virgule fixe achev, un
GFD (Graphe de Flot de Donnes) est dfini pour chaque sous algorithme des diffrents
modules de deuxime niveau hirarchique extraits lors de ltape de partitionnement
modulaire. Un algorithme donn peut tre dcrit de diffrentes manires. Le GFD constitue
une description graphique de lalgorithme, o ce dernier est dcompos en plusieurs
oprations lmentaires implantables telles que laddition, la soustraction, la multiplication, le
retard, la comparaison, les fonctions trigonomtriques Le GFD mentionne aussi le format
virgule fixe utilis [9].
Exemple dun modle Simulink de la machine asynchrone
La figure III-9 reprsente le modle SIMULINK du moteur asynchrone dcrit par des
quations. Il est constitu de sept blocs principaux, qui sont [53]:
91
CHAPITRE III
de larchitecture
implanter)
suites
de conception
92
de programmer
CHAPITRE III
93
CHAPITRE III
Figure III-11
III
: Fentre de Workflow conseiller [10].
III.6.3. a.1. Conversion en virgule fixe
Applications de traitement du signal sont typiquement implmentes en utilisant les
oprations en virgule flottante dans MATLAB. Toutefois, pour pouvoir, le cot et le
rendement des raisons, ces algorithmes doivent tre convertis pour utiliser
util
les
oprations en virgule fixe pour cibler matriel. Conversion en virgule fixe peut tre
trs difficile et de longue haleine, exigeant gnralement de 25 50 pour cent de la
conception globale et le temps de mise en uvre. La virgule flottante automatique
autom
point fixe conversion flux de travail dans HDL Coder peut grandement simplifier et
acclrer le processus de conversion. A not que cette tape est facultative. Vous
pouvez sauter cette tape si votre conception MATLAB est dj mise en uvre en
virgule fixe.
III.6.3. a.2. Gnration de code HDL
L'tape de gnration de code HDL gnre du code HDL partir du code MATLAB
en virgule fixe. Vous pouvez gnrer soit VHDL ou Verilog code qui implmente
votre conception MATLAB. En plus de gnrer du code HDL synthtisable, HDL
94
CHAPITRE III
Coder gnre galement diffrents rapports, dont un rapport de traabilit qui vous
permet de naviguer entre votre code MATLAB et le code HDL gnr, et un rapport
d'utilisation des ressources qui vous montre, au niveau de l'algorithme, peu prs ce
ressources matrielles sont ncessaires pour mettre en uvre la conception, en termes
de vipres, des multiplicateurs et RAM.
Lors de la gnration de code, vous pouvez spcifier plusieurs options d'optimisation
pour explorer l'espace de conception sans avoir modifier votre algorithme. Dans la
section Exploration de l'espace de conception et d'optimisation des options ci-dessous,
vous pouvez voir comment vous pouvez modifier les options de gnration de code et
optimiser votre conception de la vitesse ou de la zone.
III.6.3. a.3. Vrification HDL
Standalone test de HDL gnration de banc:
HDL Coder gnre VHDL et Verilog bancs d'essai de vos scripts MATLAB pour
la vrification rapide de code HDL gnr. Vous pouvez adapter un banc d'essai de
HDL en utilisant une varit d'options qui s'appliquent des stimuli du code HDL.
Vous pouvez galement gnrer des fichiers de script pour automatiser le processus de
compilation et de simulation de votre code dans les simulateurs de HDL. Ces mesures
aident s'assurer que les rsultats de la simulation MATLAB correspondent aux
rsultats de la simulation HDL.
III.6.3. a.4. HDL Synthse
Outre les dfis lis la langue, la programmation de FPGA ncessite l'utilisation
d'outils de CAO complexes. Gnration d'un flux binaire de la conception de HDL et
la programmation du FPGA peut tre lourdes tches. HDL Coder offre
automatisation ici, en crant des fichiers de projet pour Xilinx et Altera qui sont
configurs avec le code HDL gnr. Vous pouvez utiliser les tapes du flux de travail
pour synthtiser le code HDL dans l'environnement MATLAB, voir les rsultats de la
synthse, et itrer sur la conception MATLAB pour amliorer les rsultats de synthse
[10].
95
CHAPITRE III
nouvelle
technologie qui appeler le DSP Builder qui nous permet de passer de la dfinition et de la
simulation systme en utilisant les outils MathWorks Simulink standard de l'industrie pour la
mise en uvre du systme en quelques minutes. Le DSP Builder est un signal numrique
traitant l'outil de dveloppement (DSP) qui connecte entre le logiciel de Quartus II et les
outils de MathWorks MATLAB/Simulink. La figure III-12 montre l'coulement de la mise
en uvre de la conception l'aide DSP Builder.
96
CHAPITRE III
DSP Builder intgre une haute performance, faible latence coulement de l'outil virgule
flottante en utilisant la technologie de chemin de donnes fusionne. Cette capacit permet
l'ingnieur de conception pour construire les chemins des donnes de traitement de signaux
qui combinent oprations en virgule flottante et en virgule fixe [8].
III.6.4. Lintgration des priphriques
Deux tapes sont ncessaires la programmation du NIOS. La premire partie concerne la
conception du systme avec le processeur embarqu NIOS II :
Cela se fait grce au logiciel Quartus. Cet ensemble doutils est dvelopp par Altera. Il fourni
plusieurs environnement de conception dont loutil de conception matrielle : SOPC Builder.
La deuxime tape concerne le jeu dinstruction programm au niveau logiciel du NIOS en
langage C. Altera a prvu un environnement de dveloppement appel Eclipse qui permet
cette programmation, ainsi que la compilation et la simulation du programme .
Quartus II intgre l'outil SoPC Builder qui permet de construire un systme SoPC (System on
Programmable Chip). Il permet graphiquement de construire par exemple un microcontrleur
intgrant des priphriques d'E/S divers et varis, On peut ainsi intgrer autant de
priphriques que l'on veut, n'tant limit que par le nombre de broches et de cellules logiques
du circuit FPGA cibl.
Cest loutil SOPC-Builder qui permet de configurer et de gnrer la description matrielle
(en VHDL) du processeur et de ses priphriques. Il gnre galement le code (en assembleur
et en langage C) dun systme dexploitation minimal (chargeur, entres-sorties par liaison
srie) qui sera compil puis excut sur le processeur Nios II, vous pourrez visualiser les
diffrents composants du systme ainsi que leurs configuration (adresses de base, numro
dinterruption, etc.) comme indiqu dans figure III-13.
97
CHAPITRE III
98
CHAPITRE III
Figure III-15 : Icne du Navigateur de projet ISE et Quartus disponible sur le bureau [11,38].
99
CHAPITRE III
Quartus II
Quartus est un logiciel dvelopp par la socit Altera, permettant la gestion complte
d'un flot de conception CPLD ou FPGA. Ce logiciel permet de faire une saisie
graphique ou une description HDL (VHDL ou verilog) d'architecture numrique, d'en
raliser une simulation, une synthse et une implmentation sur cible reprogrammable
(la mme fonction pour ISE de Xilinx) [12].
Altera propose deux versions de Quartus II :
1. Quartus II (version complte).
2. Quartus II (Web Edition) cest une version gratuit qui ne contiens pas tout les
fonctions ncessaire pour le dveloppement du la puce FPGA.
100
CHAPITRE III
101
CHAPITRE III
Le Quartus est un logiciel qui travaille sous forme de projets c'est dire qu'il gre un design
sous forme d'entits hirarchiques. Un projet est l'ensemble des fichiers d'un design que ce
soit des saisies graphiques, des fichiers VHDL ou bien encore des configurations de
composants (affectation de pins par exemple) [12].
102
CHAPITRE III
CHAPITRE III
Dfinition du projet
Quartus II gre des projets, c'est dire des entits hirarchiques, pour lesquels il
effectue les oprations de CAO; pour illustrer cela, prenons notre module (nomm
LOUVIERS), on va d'abord dfinir une feuille le dcrivant et, pour cela, on va faire
appel des feuilles (de niveau hirarchique infrieur) dcrivant les sous-ensembles
(COMPTEUR4, GENE_3 et DECODEUR).
La hirarchie de notre projet est accessible par dans la fentre en haut gauche (il y a
3 onglets sur cette fentre), le rsultat est le suivant :
OU
Figure III-20 : Affichage de la hirarchie (suivant 2 onglets) [13].
CHAPITRE III
Saisie
Le logiciel permet plusieurs modes de saisie :
Schma : mode de saisie graphique par association de symboles fichiers associs :
*.GDF ou *.BDF.
105
CHAPITRE III
langage qui comprend le paralllisme , cest dire que des blocs dinstructions
peuvent tre excuts simultanment, par opposition squentiellement comme dans
un langage procdural traditionnel. Autant ce paralllisme est fondamental pour
comprendre le fonctionnement dun simulateur logique, et peut tre droutant pour un
programmeur habitu au droulement squentiel des instructions quil crit, autant il
est vident que le fonctionnement dun circuit ne dpend pas de lordre dans lequel ont
t tablies les connexions. Lutilisateur de VHDL gagnera beaucoup en ne se laissant
pas enfermer dans laspect langage de programmation, en se souvenant quil est en
106
CHAPITRE III
107
CHAPITRE III
108
CHAPITRE III
III.6.6. Compilation
Le Compilateur de Quartus II est constitu dune srie de modules qui vrifient sil ny a pas
derreurs dans le fichier VHDL et gnrent les fichiers pour la simulation, lanalyse
temporelle et la programmation du composant.
1. Compilez le projet en choisissant la commande Start compilation ( ) du menu
Processing.
109
CHAPITRE III
110
CHAPITRE III
CHAPITRE III
112
CHAPITRE III
La programmation du circuit se fait via le protocole JTAG (Joint Test Action Group). Pour
cela vrifier que les connections entre le PC et la carte via le module ByteBlaster sont
oprationnelles. Si tout est bon et que la carte Altera est sous tension, lancer le
programmateur. Si le PC ne dtecte pas la carte, une erreur doit apparatre du type Unable to
scan device Chain. Hardware is not connected. Vrifier dans la figure que le fichier .sof est
bien l et que la case Program/Configure est coche, puis cliquer sur Start.
Limplantation se lance par le bouton Start de la barre daction (en haut au milieu). Ici
encore cette tape est assez longue (entre 2 et 4 minutes) [12].
113
CHAPITRE III
III.7. Conclusion
La mthodologie dveloppe dans cette travaille de recherche essaie de combler cette lacune :
comment raliser le pont entre d'une part l'algorithme et son architecture d'excution, et
d'autre part les composants hardware de la plateforme qui l'hberge. Le concept
mthodologique adopt est prsent suivi par la description des diffrents lments et outils
dvelopps pour sa mise en uvre (langage de programmation, outil assembleur, modles
virtuel et soft-core).
L'intrt de ce genre d'approche est notamment, comme il a dj t cite, de permettre aux
programmeurs
et
rapide.
Les mthodes slectionnes pour un projet ne sont pas toujours les bonnes. Il est important
dans ce cas de remettre en question ces choix et dvaluer limpact de la mise en uvre dune
nouvelle stratgie.
114
CHAPITRE IV
IV.1. Introduction
Ce chapitre a pour objectif de prsenter comment sont conus les circuits numriques
complexes actuels. Ces systmes peuvent tre de plus autonomes et communicants. Les
systmes embarqus font partie de cette dernire catgorie et lon peut sapercevoir au
quotidien que lon est littralement envahi par eux
De raliser un dispositif de commande numrique base dune puce d'FPGA pour un
onduleur triphas pdagogique pour prouv et pratiqu ce que nous avant tudient dans la
partie thorique, alors on a dbut dans cette partie par voire ce que nous avant comme
matrielle pdagogique, surtout les cartes FPGA dans le laboratoire de facult aprs on va
faire des petits essais sur la carte choisie puis faire tracer la structure gnrale de notre
programme et finalement la simulation de ce dernier.
Figure IV-1 : Les diffrentes stratgies de modulation pour la commande des moteurs [31].
Figure IV-2 : Le schma de simulation onduleur monophas pont sur PSIM [28].
118
119
A
B
C
Figure IV-5 : Graphes dune tension entre phases Us et des courants de sortie [28].
120
121
Vecteur
tension
Vecteur Switch
V0
V1
V2
V3
V4
V5
V6
V7
a)
b)
Figure IV-7 : a) Tableau switching vecteurs de tension. b) Plans vecteurs [31].
Contenu du kit: Carte de dveloppement pour EPCS4, Cble USB, CD ROM, Capot
Plastique, Alimentation
FPGA EP3C16F484C6 Cyclone III avec priphrique de configuration srie EPCS4 4Mo
4 afficheurs 7 segments
123
IV.7. Simulation
La simulation d'un circuit logique reproduit le comportement de ce dernier au sein d'un
environnement contrl, frquemment dnot banc d'essai. Typiquement, il est plus facile de
vrifier le fonctionnement d'un circuit dans un environnement contrl, et d'autre part, la
compilation requise pour raliser une simulation requiert typiquement moins de temps que
celle requise pour raliser un circuit physique.
Loutil ModelSim permet la simulation de circuits dcrits en langages VHDL/Verilog. Afin
de simuler un circuit dcrit schmatiquement, loutil Quartus II permet la conversion
automatique vers une description VHDL [30].
124
FPGA
Gnrateur
secteur
Ajustement
frquence
S1
CLK (50Mhz)
Clk
Q1
Marche/Arrt
Clr
Q2
Consigne
Clk
S2
Clr
S3
frquence
Gnrateur
vecteur
SVpwm
Switch
Clk
Sa
Sa
U+
Clr
Sb
Sb
U-
MA/AR
Sc
Sc
V+
Vers
S1
V-
Onduleur
S2
W+
S3
W-
D [015]
clr
125
Figure IV-10 : Programme crit en VHDL (Quartus II 11.1sp2 Web Edition (32-Bit)).
(32
Figure IV-11
11 : Rapport Compilation du programme VHDL.
VHDL
126
Le projet ayant une description VHDL il est possible deffectuer une simulation fonctionnelle.
La simulation fonctionnelle (RTL) sera effectue par rapport au design du concepteur. La
simulation temporelle (GATE) sera effectu par rapport la compilation et loptimisation
des phases danalyse et de synthse.
127
128
129
CLK (50Mhz)
Arrt de la
commande
Ordre darrt
Les entres
Les sorties
Figure IV-17 : Zoome pour la zone de Dead time (temps mort) et temps dattente entre
secteur.
132
Figure IV-19
IV
: Mesure de la priode d'onde 0,02s (50Hz).
(50Hz)
133
IV.9. Conclusion
Ce chapitre prsente la conception et la ralisation simple base de FPGA un algorithme de
commande type SVPWM, une approche de la diffrence, dans lequel le jugement de secteurs
et du calcul de la dure d'activation pour gnrer le SVPWM forme d'onde simple, et aussi
les pertes de commutation est nulle (pas des harmonies indsirable). Le rgime de SVPWM
propos a t conu et mis en uvre avec succs en utilisant carte DE0 Altera FPGA. Il est
simple et sans calculer les angles de chaque secteur afin de dterminer numro de secteur et la
structure de commutation et qu'elle a programm pour FPGA avec succs dans une frquence
porteuse variable jusqu' 4 kHz pour une priode onde de 50 Hz. En outre, ce rgime a
algorithme simple qu'elle peut tre mise en uvre facilement sans baser sur le FPGA mais
dune manire peu difficile.
Le circuit de commande performant bas autour dun FPGA contribue vhiculer une image
moderne et permet une liaison avec les enseignements dlectronique.
134
Conclusion Gnrale
Conclusion gnrale
Conclusion gnrale
136
Conclusion gnrale
Le dernier chapitre et un projet bas sur une commande directe (boucle ouverte), une table de
commutation utilisant six vecteurs actifs de londuleur de tension a t synthtise au moyen
de la thorie du mode de commande SVPWM, ce dernier est caractris par une frquence de
commutation variable qui nous donne la possibilit de produit des formes d'onde sinusodale
presque parfaites (forme d'onde courant de sortie onduleur), son implantation sur cible FPGA
permis davoir un temps dexcution rduit a quelques microsecondes par rapport aux autres
solutions, cet avantage nous offre une grande bande de frquences de commutation quelle
que soit la complexit du programme avec des impulsions calculer pour respecter les
capacits des barrettes transistor donduleur (pas des harmonies indsirables), alors une trs
bonne stabilit aux systmes de commande .
Pour russie sur un projet de boucle de commande avec une FPGA il faut utiliser des cartes
qui sont ddis la commande des systmes lectrique pour assur un meilleur rsultat
puisque ces nouvelle cartes FPGA embarquent des parties analogiques, dans la plupart des cas
il sagit de convertisseurs analogiques numriques aux performances limites qui permettent
au composant dvaluer son environnement (temprature, pression etc) , ce qui permet de
connecter directement le FPGA un nombre plus important de sources. Il existe aujourdhui
des FPGA spcialiss sur l'acquisition et le traitement numrique du signal, pour lutilisation
de processeurs embarqus, pour les communications trs haut dbit (GigaBits Ethernet) etc
Les mthodes slectionnes pour un projet ne sont pas toujours les bonnes. Il est important
dans ce cas de remettre en question ces choix et dvaluer limpact de la mise en uvre dune
nouvelle stratgie.
Des volutions ont eu lieu dans le domaine des applications, parmi celles-ci il est noter
limportance croissante des FPGA dans le domaine de la scurit et de la cryptographie
applique. Cette volution a entrain dimportantes questions en ce qui concerne la scurit
des FPGA et de leur configuration, de nombreux travaux sont en cours dans ce domaine.
137
Bibliographie
[1].
[3].
[4].
2011. TH16773.mariani.johanna.pdf.
[5].
[6].
uuu.enseirb.fr/~nouel/sopc/textes_apex/cournios.pdf.
[7].
[8].
WWW.ALTERA.COM.
[9].
[10].
WWW.MATHWORK.COM.
[11].
[12].
[13].
[14].
[15].
[16].
[17].
Thse prsente par Fabio Dias Real de Oliveira_ Conception d'une mthodologie
d'implmentation d'applications de vision dans une plateforme htrogne de type
Smart Camera.
135
[18].
[19].
http://www.ni.com/white-paper/8043/fr/.
[20].
[21].
[22].
[23].
[24].
Mise en uvre du SoPC sur composants FPGA Altera et Xilinx_Patrice NOUEL Patrice
KADIONIK_www.enseirb-matmeca.fr/~kadionik.
[25].
[26].
http://www.lembarque.com/le-marche-des-fpga-pourrait-croitre-de-8-5p-par-an-jusquen2019-pour-atteindre-les-9-md$_001151.
[27].
[28].
PSIM / TP6 .Etude de la structure de puissance dun variateur pour moteur asynchrone
[29].
http://fr.farnell.com/terasic-technologies/p0037/carte-de-dev-de0-fpga-cyclone
iii/dp/2217597.
[30].
[31].
Prototypage rapide a base de fpga d'un algorithme de controle avanc pour le moteur a
induction par_boubacar housseini_l'universit du qubec trois-rivires.
[32].
[33].
https://www.google.fr/search?newwindow=1&q=Mmoires+mortes+et+logique+program
mable.pdf&oq=Mmoires+mortes+et+logique+programmable.pdf.
[34].
orange.fr
/telecharge /circ_prog.pdf.
[35].
http://fr.scribd.com/doc/192476088/Introduction-Circuits-Logiques-Programmablespresentation-2010.
[36].
http://lewebdephilou.free.fr/RESEAUX-TELECOM/Cours Telecom/Transmission
/Electronique-Numerique_EISTI_Guy-Almouzni.pdf.
[37].
http://stigen.branly.amiens.free.fr/fiches%20elec/Lescircuitslogiques programmables.pdf.
[38].
http://www.xilinx.com/.
136
[39].
[40].
http://dumas.ccsd.cnrs.fr/dumas-00574220/document.
[41].
http://perso.univ-st- etienne.fr
[42].
www.techniques-ingenieur.fr/.
[43].
http://www.ni.com/white-paper/8043/fr/.
[44].
http://sti.discip.ac-caen.fr/sites/sti.discip.ac-caen.fr/IMG/pdf/plds.pdf.
[45].
Magazine electronique N 4.
[46].
http://www.yannthoma.com/research/these/These_Thoma_chap2.pdf.
[47].
http://www.altera.com/devices/fpga/cyclone2/cy2-index.jsp.
[48].
http://www.xilinx.com/products/silicon-devices/fpga/spartan-6.html.
[49].
http://www.techniques-ingenieur.fr/base-documentaire/energies-th4/convertisseurs
electriques-et-applications-42253210/commande-numerique-a-base-de-composantsfpga-d-une-machine-synchrone-d2902/methodologie-de-developpement-d2902niv
10004.html.
[50].
http://www.schneider-electric.fr/documents/enseignement/intersection-guides/GT1998-la-commande-de-moteur-asynchrone.pdf.
[51].
Michel Bensoam_rgulation2000-2001.pdf.
[52].
http://biblioweb.u-cergy.fr/theses/07CERG0344.pdf.
[53].
http://depot-e.uqtr.ca/1885/1/030166253.pdf.
[54].
http://jacques.weber.pagespersoorange.fr/circuits_numeriques/6VHDL_rev_0703.pdf.
[55].
[56].
[57].
137