Travaux pratiques de gestion de périphériques d`une carte FPGA

Transcription

Travaux pratiques de gestion de périphériques d`une carte FPGA
Travaux pratiques de gestion de périphériques d’une carte FPGA Xilinx
Starter-Kit Spartan3-E à l’aide de picoprocesseur (picoBlaze)
Bertrand Le Gal, Lilian Bossuet
[email protected], [email protected],
ENSEIRB – 1, avenue du Dr Albert Schweitzer
BP 99 – 33402 TALENCE Cedex - France
RESUME : L’électronique numérique a connu d’importantes avancées ces dernières années. La place qu’elle prend
dans la formation des ingénieurs en électronique grandie en adéquation avec l’importance croissante des systèmes numériques, embarqués et/ou communicants. C’est donc un des enseignements principales de ces formations et à ce titre
en forte évolution. Dans le milieu des années 80, l’électronique numérique se limitait pour l’enseignement supérieure à
un peu de logique combinatoire réalisée avec de simples portes et de la logique séquentielle réalisée autour de bascules.
Les travaux pratiques se résumaient alors à la délicate opération de câblage de nombreux circuits (type CMOS 4011).
Aujourd’hui, l’électronique numérique associe généralement un langage de description matériel, le VHDL, à des composants reconfigurables FPGA aux densités d’intégration impressionnantes (plusieurs millions de portes élémentaires)
avec des composants programmables (microprocesseurs, DSP) et des langages de haut niveau comme le langage C. Le
travail de l’enseignant de travaux pratiques à donc rapidement évolué, aujourd’hui la grande difficulté est de concevoir
des exercices simples avec du matériel évolué. Nous avons suivi cette évolution à l’Ecole Nationale Supérieure
d’Electronique, Informatique et Radiocommunication de Bordeaux (ENSEIRB). Dans le cadre de l’enseignement
d’électronique numérique nous proposons un TP de gestion de périphérique d’une carte FPGA Xilinx. Cet article peut
permettre une reprise rapide par un enseignant pour des étudiants des IUT, Université ou Ecole d’Ingénieurs, les auteurs sont disposés à fournir pour cela les sources nécessaires (descriptions VHDL, codes assembleur et codes C).
Mots clés : Electronique numérique, FPGA, VHDL, processeur synthétisé.
1 INTRODUCTION
A la fin des années 90, les étudiants électroniciens
connaissaient par cœur le brochage d’un circuit intégré
CMOS 4001 ou CMOS 4011… dix ans plus tard, peu
d’entres eux savent que sous ces noms de codes se cachent respectivement quatre portes NOR et quatre portes NAND à deux entrées. Cette petite histoire de circuit intégré nous révèle de grands changements dans le
domaine de l’électronique numérique. Aujourd’hui, les
méthodes de conception haut niveau, la synthèse logiques, les langages de description matérielle, le VHDL
en premier lieu, et les circuits reconfigurables CPLD et
FPGA, ont remplacés les longues heures de câblages
des portes en circuits intégrés 14 broches !
Cette évolution correspond bien entendu à une évolution de l’offre d’emplois des jeunes électroniciens,
amplifiée par l’explosion du domaine des systèmes
embarqués et/ou communicants.
Au cœur du dispositif pédagogique les enseignants
doivent donc faire évoluer les enseignements. Souvent,
il est nécessaire de s’auto-former et de passer de nombreuses heures à mettre au point des TP. Une des difficultés dans le cas de l’électronique numérique est de
créer des TP simples qui permettent aux étudiants de
développer des compétences sur la maitrise du langage
VHDL, celle des outils de simulation, synthèse et placement routage, et l’utilisation et la mise en œuvre des
FPGA, en utilisant des cartes électroniques modernes
dotées de périphériques comme des liaisons séries,
Ethernet, afficheur LCD …
Dans cet article nous présentons un TP de VHDLFPGA proposé à l’ENSEIRB [1], dans lequel nous
mettons en œuvre la carte Xilinx Stater-Kit Sparten3-E
[2]. Lors de ce TP les étudiants vont gérer l’afficheur
LCD et la liaison série de la carte à partir de deux instanciations d’un microprocesseur élémentaire synthétisées dans le FPGA. Il s’agit du microprocesseur (ou
picoprocesseur) picoBlaze fournit pas Xilinx [3].
L’idée est de fournir aux étudiants les briques de bases
que sont les contrôleurs (picoBlaze) avec le code assembleur nécessaire. Effectivement, il ne s’agit pas de
faire un TP assembleur ou de microprocesseur, mais
bien de se concentrer sur l’architecture du système
numérique, sa description en VHDL (la description
VHDL du picoBlaze est bien entendu fournit aux étudiants) et son implantation dans le circuit FPGA.
En plus des aspects VHDL et FPGA initialement visés,
les étudiants sont ainsi formés au développement par
IP (Intellectual Properties) largement répandu aujourd’hui, à l’architecture d’un système à processeur, à
la notion de processeur embarqué.
La suite de l’article est construite de la façon suivante.
La prochaine partie présente quelques points historiques concernant le développement des circuits FPGA.
Cette partie est largement tirée du cours « Architecture,
conception et utilisation des FPGA » de l’ENSEIRB
[4]. Cette rapide étude historique, nous aide à mieux
comprendre l’intérêt de former les futurs ingénieurs
électroniciens à la maitrise de ces circuits et des outils
qui y sont associés. La partie 3 présente le programme
d’enseignement de l’électronique numérique au département électronique de l’ENSEIRB, ainsi que les séquences pédagogiques concernant l’enseignement du
2 UNE RAPIDE HISTOIRE DES FPGA
Les FPGA (Field Programamble Gate Array) sont des
circuits numériques reconfigurables. En 1984 la société
américaine Xilinx fut précurseur du domaine en lançant le premier circuit FPGA commercial, le XC2000.
Ce composant avait une capacité maximum de 1500
portes logiques. La technologie utilisée était alors une
technologie aluminium à 2µm avec 2 niveaux de métallisation. Xilinx sera suivi un peu plus tard, et jamais
lâché, par son plus sérieux concurrent Altera qui lança
en 1992 la famille de FPGA FLEX 8000 dont la capacité maximum atteignait 15 000 portes logiques.
Ces composants apportent de nouveaux concepts grâce
à leur universalité applicative et à leurs possibilités de
reconfiguration. Longtemps, ils n’ont pu être intégrés
aux produits commerciaux, sauf pour réaliser quelques
fonctions logiques. Ils étaient pourtant très utilisés dans
les bureaux d’études pour le prototypage d’ASIC (Application Specific Integrated Circuit). Leur faculté de
reconfiguration offrait aux concepteurs un processus de
développement avec des possibilités de conception
itérative. Cependant, à leur début ils n’avaient pas des
capacités, en nombre de portes logiques équivalentes,
suffisantes pour permettre la réalisation d’applications
complètes, de plus, leurs performances étaient très en
dessous de celles des ASIC. De plus, les outils dédiés
aux FPGA offraient des performances limitées car ils
étaient issus des outils de conception d’ASIC qui ne
prenaient pas en compte toutes les spécificités des
composants reconfigurables.
Depuis les années 2000 des évolutions majeures ont été
apportées. Tout d’abord les technologies utilisées pour
les FPGA sont les mêmes que celles utilisées pour les
ASIC. Par exemple, la technologie cuivre est utilisée
pour la réalisation des métallisations au sein des
FPGA. Elle permet une réduction d’environ 70% des
temps de propagation des signaux le long des métallisations par rapport à la technologie aluminium. En
2000, les technologies utilisées étaient des technologies
CMOS 0,15µm avec 8 niveaux de métallisation, aujourd’hui la technologie utilisée est la technologie
CMOS 65 nm avec de 8 à 12 niveaux de métallisation
en cuivre.
En 2000 et 2001 les deux concurrents Xilinx et Altera
ont franchi une nouvelle étape au niveau de la densité
d’intégration en proposant respectivement leurs circuits
Virtex et Apex-II dont les capacités maximums avoisinaient les 4 millions de portes logiques équivalentes
avec de plus l’introduction de larges bancs de mémoires embarquées. Aujourd’hui, les fréquences de fonctionnement de ces circuits sont de l'ordre de quelques
centaines de MHz (ces dernières sont en réalité très
dépendantes de l’application). Bien que ces valeurs
soient relativement réduites par rapport aux ASIC, elles sont suffisantes pour une très large majorité
d’applications actuelles comme l’illustre la figure 1.
Cette figure [5] met en évidence qu’à partir des années
2000 les capacités des FPGA ont permis d'offrir aux
concepteurs une solution supplémentaire de réalisation
pour une majorité d’applications. De plus, les outils de
mise en œuvre des FPGA ont évolué et bien qu’encore
pénalisants lors de la conception, ils permettent la réalisation rapide d’applications complexes.
1000M
100M
Nombre de portes (log)
VHDL et des circuits FPGA à l’école. La partie 4 présente techniquement les différentes parties du TP de
gestion de périphériques de la carte Xilinx Stater-Kit
Spartan3-E avec un ou deux picoBlaze.
10M
1M
100k
10k
SIC
xA
a
m
ité
pac
a
C
tion
ilisa
t
u
’
ed
A
en n
PG
F
Moy
ax
té m
i
c
pa 80% des design fonctionnent
Ca
à moins de 200MHZ
1k
1989
2000
2004 année
Figure 1 – Comparaison de l’évolution des capacités des
circuits ASIC et FPGA par rapport à la moyenne d’utilisation
des ressources des applications [5].
Dans un contexte économique mondial incertain les
FPGA apparaissent donc comme une solution flexible
bien adaptée aux contraintes économiques telles que la
réduction du temps de mise sur le marché et le besoin
d’évolution ou de flexibilité des produits.
De plus, le modèle économique lié aux FPGA, qui est
un modèle linéaire devient de plus en plus avantageux
par rapport aux modèles ASIC dont le coût du premier
échantillon fabriqué rend l’amortissement d’une telle
solution long et viable économiquement uniquement
pour de très grandes productions. Dans [6] l’auteur
explique bien ce phénomène et propose la figure 2 qui
montre que le nombre de circuits fabriqués à partir
duquel la solution ASIC est économiquement plus rentable (point de cross-over) tend à augmenter avec
l’évolution des technologies. Les solutions FPGA sont
donc de plus en plus intéressantes tant sur le point
technique qu’économique.
Les FPGA n’ont pas fini d’évoluer, car il y a un rapprochement des systèmes reconfigurables avec les systèmes programmables. Effectivement, de nombreux
fabricants de FPGAs proposent aujourd’hui des circuits
qui embarquent un ou plusieurs microprocesseurs dans
leur matrice. Une des évolutions architecturales possibles et de remplacer les éléments logiques de bases par
des microprocesseurs élémentaires. Ainsi des architectures systoliques reconfigurables seraient développées.
Ce n’est pas qu’une vision futuriste, les architectures
reconfigurables de gros grains existent déjà et sont
promis à un bel avenir avec la réduction des technologies [7].
FPGA
ASIC
19
99
199
7
Coût de
fabrication
01
20
2005
3
200
2003
2005
2001
1999
1997
Nombre de
circuits fabriqués
200 000
1 000 000
Figure 2 – Progression du point de cross-over entre solutions
ASIC et FPGA entre l’année 1997 et l’année 2005 [6].
3 SEQUENCE PEDAGOGIQUE DE
L’ENSEIGNEMENT VHDL-FPGA A L’ENSEIRB
L’ENSEIRB [1] forme en trois ans des ingénieurs, elle
est constituée de quatre départements, par ordre
d’importance en nombre d’élèves : le département
électronique (environ 100 élèves par promotion), le
département informatique (environ 80 élèves par promotion), le département de télécommunication (environ 50 élèves par promotion) et le département réseau
et système d’information qui forme par apprentissage
24 élèves par apprentissage.
Dans cette partie, tout d’abord, nous présentons succinctement le programme d’enseignement de
l’électronique numérique au département électronique.
Les autres départements offrent aussi aux étudiants un
enseignement en électronique numérique dans la formation mais dans une moindre mesure. Puis nous présenterons plus précisément la séquence pédagogique
concernant l’enseignement de VHDL-FPGA en
deuxième année du département électronique.
3.1 Enseignement de l’électronique numérique au
département électronique de l’ENSEIRB
Première année : les étudiants sont sensibilisés à la
conception de systèmes numériques. L’enseignement
couvre tous les aspects "classiques" de l’électronique
numérique : logique combinatoire, logique séquentielle
et systèmes synchrones, machine à états finis, synthèse
logique. De plus une introduction au langage VHDL
pour la synthèse est faite simultanément. Des séances
de travaux pratiques et un projet viennent renforcer les
aspects de conception, description matérielle, synthèse
logique, simulation et implantation sur CPLD (Xilinx
XC 9572). Parallèlement, un cours d’architecture des
microprocesseurs et des travaux pratiques sur le microcontrôleur PIC viennent compléter la formation en microinformatique.
Seconde année : les étudiants renforcent leurs connaissances en conception de systèmes numériques et abordent des systèmes plus complexes. Le VHDL est utilisée pour la synthèse et pour la modélisation en vue de
la simulation. Les étudiants apprennent à écrire des
testbench. L’enseignement est principalement pratique
avec des séances de travaux pratiques et un long projet.
Durant lesquels, les étudiants doivent mettre en œuvre
une carte Xilinx Starter-Kit Spartan3-E. Ils apprennent
à synthétiser un processeur simple dans un FPGA et à
concevoir l’architecture du système. Parallèlement, un
cours de système à microprocesseurs et des travaux
pratiques sur les microprocesseurs ARM viennent
compléter la formation en microinformatique.
Troisième année : les étudiants spécialisent leurs
connaissances et compétences en conception de systèmes numériques en fonction de la spécialité de troisième année choisie. Par exemple, les étudiants choisissant l’option Système Embarqué mettent en œuvre
un système d’exploitation sur un microprocesseur
NIOS synthétisé dans un FPGA Altera Stratix-II. Ou
encore, les étudiants choisissant l’option Traitement
des Images et du Signal à partir de Matlab implantent
des algorithmes de traitement du signal (filtrage, transformée) dans un FPGA Xilinx Virtex4-SX. Ainsi, les
enseignements tentent de suivre la demande industrielle concernant la formation des jeunes ingénieurs.
3.2 Séquence pédagogique pour l’enseignement du
VHDL et FPGA en deuxième année
Concernant l’enseignement de VHDL-FPGA en
deuxième année, la séquence pédagogique se déroule
en trois phases : enseignements intégrés, travaux pratiques et projet. Nous détaillons dans la suite ces trois
aspects dans l’ordre chronologique.
Enseignements Intégrés : ce sont des séquences de
cours et de travaux dirigés d’une durée de 1H20 avec
une trentaine d’élèves. Pour l’enseignement
d’électronique numérique en deuxième année, nous
disposons de trois créneaux pour revoir les notions de
première année et introduire les concepts du VHDL
pour la modélisation et des testbench.
Travaux pratiques : quatre séances de 3H00 permettent à des groupes de 24 étudiants en binôme de prendre en main la carte Xilinx Starter-Kit Spartan3-E et
quelques-uns de ses périphériques (LED, boutons,
écran LCD, liaison série). Les étudiants utilisent le
logiciel Xilinx ISE pour la synthèse, le placement routage et la configuration du FPGA. Ils utilisent le logiciel ModelSim de Mentor Graphic pour les simulations
fonctionnelles et post-placement routage.
Projet : dix séances de 3H00 sont encadrées par un
enseignant, les étudiants en binôme disposent de créneaux supplémentaires non-encadrés pour réaliser leur
projet. Le sujet de projet est laissé libre mais doit répondre à quelques contraintes : utiliser la carte vue en
TP ainsi que tous les périphériques abordés en TP. Les
étudiants peuvent proposer de mettre en œuvre d’autres
périphériques de la carte (liaison Ethernet, CAN, sortie
VGA …). La liberté dans le choix du sujet motive les
étudiants qui sont plus intéressés et fournissent parfois
un travail remarquable.
Dans la suite de l’article nous allons détailler le sujet
du TP n°2 qui correspond à la moitié des séances de
TP et concerne la gestion de la liaison série et de
l’afficheur LCD de la carte Xilinx utilisée (voir la photographie de la carte à la fin de l’article figure 8).
4 PRESENTATION DU TP
A travers le TP que nous proposons plusieurs objectifs
pédagogiques sont visés :
ƒ Savoir développer un projet pour réaliser un système numérique complexe avec un FPGA.
ƒ Savoir utiliser des blocs matériels existants (notion
de Composants Virtuels ou IP) pour la gestion des
périphériques (LCD et port série).
ƒ Savoir utiliser les ressources matérielles avancées
embarquées telles que les blocs de mémoires RAM.
ƒ Etre capable de décrire un système arithmétique
synchrone (initiations aux bibliothèques numériques de calcul) et comprendre les différences fondamentales entre les types de données et de librairies.
Les compétences ainsi développées sont par la suite
mises en œuvre lors de la réalisation du projet au cours
duquel les étudiants sont évalués. Le TP est constitué
de plusieurs étapes décrites dans la suite.
pas un programme « exécutable » mais une entité de
type ROM décrite en VHDL contenant les instructions
que le processeur doit exécuter. Les étudiants doivent
donc réaliser un projet ISE contenant le picoBlaze, la
ROM d’instructions et la liaison avec l’écran LCD. Ce
projet est schématisé par la figure 3.
Figure 3 – Schéma du premier projet ISE – Ecriture LCD.
Les étudiants réalisent l’implantation du projet sur la
carte après avoir analysé les résultats de synthèse. Ainsi ils déterminent la taille (nombre de slices) occupée
par un microcontrôleur 8 bits ainsi que la fréquence
maximale de fonctionnement. Les étudiants sont invités à modifier le code assembleur pour afficher un
nouveau message (aucune notion d’assembleur n’est
nécessaire pour cette étape). Ils observent alors la rigidité de la solution (nécessité de recompiler le code à
chaque nouveau message). Afin de palier à ce problème une nouvelle architecture pour le système leur
est proposée.
4.2 Etape 2 : Externalisation de la gestion des messages, utilisation d’une deuxième ROM
Les étudiants téléchargent de nouveaux fichiers permettant la réalisation d’un projet pour lequel
l’architecture du système dispose d’une ROM qui mémorise les messages à afficher sur l’écran LCD. Cette
nouvelle architecture, schématisée sur la figure 4, introduit la gestion des quatre interrupteurs (switches) de
la carte. Ceux-ci permettre à l’utilisateur de choisir un
message parmi les 15 messages mémorisés au maximum.
4.1 Etape 1 : intégration d’un processeur picoBlaze dans le FPGA pour écrire sur l’écran LCD
Les étudiants débutent le TP avec un certains nombre
de fichiers téléchargés en début de séance : la description VHDL du picoBlaze, le code assembleur de
l’application d’écriture d’un message sur l’écran LCD,
le fichier de contraintes pour le brochage correcte du
FPGA (ficher avec l’extension .ucf).
Les étudiants débutent en analysant le code assembleur
afin d’y observer l’implantation du message et réalisent
la compilation du code assembleur sous forme binaire
avec le logiciel IDE. Le résultat de la compilation n’est
Figure 4 – Architecture du système avec choix du message.
Les étudiants décrivent en VHDL le décodeur transformant l’état des interrupteurs sur la carte en un numéro de message à afficher. Ils décrivent aussi la mémoire ROM contenant les messages (cette dernière
utilise des messages de taille variable). L’étude se ter-
mine par l’assemblage des différents composants, la
simulation du système et une implantation sur la carte.
4.3 Etape 3 : Communication série avec un picoBlaze et un UART
Les étudiants mettent en œuvre un bloc matériel en
charge de la gestion d’une liaison série utilisée pour
recevoir et envoyer des données issues d’un ordinateur
(simulation de l’acquisition de données à traiter au
travers du FPGA). Comme pour l’étape 1, les étudiants
réalisent un projet ISE à partir de fichiers fournis, dont
l’architecture est schématisée à la figure 5.
Figure 5 – Système de gestion de la liaison série.
Le bloc de gestion de la liaison série est basé sur un
microcontrôleur de type PicoBlaze et un UART. Il utilise un protocole de communication simple avec le PC.
Le PC est le seul maitre pour l’émission et la réception.
L’utilisation du port série est transparente pour les étudiants. Les données transmises sont codées sur 32 bits
(type Integer).
L’échange des données entre le bloc de gestion de la
liaison série et le bloc de traitement mathématique (qui
réalise un calcul très simple dans un premier temps) se
fait au travers de deux registres de 8 bits: data_in et
data_out. Lorsqu’une donnée est reçue au niveau de
l’UART, le picoBalze positionne la donnée dans le
registre data_in et met le signal data_valid à l’état
haut durant un cycle d’horloge comme cela est présenté sur le chronogramme de la figure 6.
4.4 Etape 4 : Chaine de compression RLE1
A travers les précédentes parties du TP, les étudiants
ont acquis la maitrise des blocs matériels en charge de
la gestion de la liaison série avec le PC et de
l’affichage de messages sur l’écran LCD. La dernière
partie du TP consiste à mettre en œuvre l’ensemble de
ces compétences pour un système complet de compression RLE.
L’entrée de la chaine est un PC sur lequel les étudiants
rentrent les valeurs à transmettre au système implanté
dans le FPGA. La sortie de la chaine est l’écran LCD
dont l’affichage devient dynamique (disparition des
messages préprogrammés à priori).
La compression RLE, est une méthode de compression
sans perte (on retrouve après décompression exactement le message avant compression). Cette technique
est utilisée principalement dans la compression
d’images (JPEG) et vidéo (MPEG) à cause de sa grande simplicité de mise en œuvre. La compression RLE
permet de supprimer la redondance temporelle des informations dans une suite d’informations à l’aide d’un
couple (nombre de répétitions, donnée émise), comme
nous pouvons le voir dans l’exemple ci-dessous :
122223344444
=>
(1, 1) (4, 2) (2, 3) (5, 4)
Le système à concevoir par les étudiants, schématisé à
la figure 6, intègre deux blocs matériels à développer :
une machine à états finis permettant de réaliser la compression à proprement parlé ainsi qu’une mémoire tampon utilisée afin de spécifier les données à inscrire sur
l’écran LCD. Il utilise de plus les deux blocs à base de
picoBlaze vu précédemment pour la gestion de
l’affichage LCD et de liaison série.
Figure 6 – Architecture du système à concevoir.
Figure 6 – Chronogramme des échanges du picoBlaze vers
le bloc de traitement mathématique.
L’échange de données du bloc de traitement mathématique vers le picoBlaze (envois d’un résultat vers le PC
via l’UART et la liaison série) est similaire en utilisant
le registre data_out.
La difficulté de cette dernière étape du TP se situe à
trois niveaux :
Développement de la machine d’état - Le premier
point bloquant pour les étudiants est la compréhension
de l’algorithme RLE à partir de son algorithme et surtout sa traduction sous forme VHDL en insérant les
cycles d’attente, de lecture et d’écriture des données,
d’incrémentation de compteur, etc. Pour faciliter cette
étape la machine d’état de haut niveau présentée à la
figure 7 est fournie aux étudiants.
1
RLE : Run-Length-Encoding ou Codage à longueur
variable
d’enseignements, il est demandé aux étudiants
d’imaginer un sujet de projet mettant en œuvre
l’ensemble des connaissances acquises.
Le traitement mathématique intégrer dans le cadre de
cet exercice peut être remplacée par des applications
plus complexes ou plus en adéquation avec une séquence pédagogique (intégrateur, dérivateur, filtres
FIR / IIR, etc).
6
Figure 7 – Machine d’état de niveau « algorithmique » fournie aux étudiants.
Création d’une mémoire RAM double port – Il est
effectivement nécessaire d’introduction une mémoire
double port permettant au bloc de compression de stocker des résultats alors que dans le même temps la gestion de l’écran LCD peut venir lire les données pour les
afficher. L’ajout de cette entité permet aux étudiants de
comprendre les problèmes de partage de ressources, de
cohérence des données et de parallélisme entre les taches.
Synchronisation RLE / LCD – Afin d’éviter tout
scintillement de l’écran LCD à cause de réactualisations intempestives des données, il a été décidé de synchroniser la mise à jour des données à l’écran avec la
production d’une nouvelle donnée par le bloc de compression. Le système développé par Les étudiants doit
pour cela respecter un protocole à poignée de main,
représenté à la figure 8, permettant à la machine d’état
qu’ils ont développé de commander une mise à jour de
l’affichage.
REMERCIEMENTS
Nous remercions les enseignants qui participent ou ont
participés avec nous aux enseignements de VHDL et
FPGA en deuxième année : tout d’abord l’initiateur
Patrice Nouel, "Le vieux routard du VHDL" [8] aujourd’hui bien heureux retraité, Sylvie Renaud (PU ENSEIRB), Yannick Bornat (McF - ENSEIRB) et
Guillaume Monnerie (Ingénieur de recherche - NXP).
Bibliographie
[1] http://www.enseirb.fr
[2] http://www.xilinx.com/products/devkits/HW-SPAR3ESK-US-G.htm
[3] http://www.xilinx.com/products/ipcenter/picoblaze-S3V2-Pro.htm
[4] Lilian Bossuet, "Architecture, Conception et Utilisation
des FPGA", Cours de l’ENSEIRB
http://www.lilianbossuet.com/fr/Doc/documents_pedago
giques/Bossuet_cours_FPGA_ENSEIRB.pdf
[5] Altera SOPC Wold Seminar, 2001.
[6] N. Tredennick, B. Shimamoto, "The Rise of Reconfigurable Systems", In proceeding of Engineering of Reconfigurable Systems and Application, ERSA 03. June
23-26, 2003, Las Vegas, Nevada, USA.
[7] Lilian Bossuet, "Exploration de l’espace de conception
des architectures reconfigurables", Thése de Doctorat,
Université de Bretgane Sud, Lorient, Sepetembre 2004.
http://www.lilianbossuet.com/fr/Doc/publications/These
_Lilian_Bossuet.pdf
[8] http://vhdl33.free.fr/
Figure 8 – Protocole de synchronisation RLE/LCD.
5 CONLUSION
Les différentes parties de ce TP permettent aux étudiants de développer leurs compétences et connaissances en conception de systèmes numériques complexes.
Ces exercices les font passer tour à tour de l’état de
concepteur de blocs matériels à celui d’utilisateurs de
blocs existants (blocs possédant leurs contraintes de
fonctionnement propres à respecter). Suite à cette série
Figure 8 – Protocole de synchronisation RLE/LCD.