Académique Documents
Professionnel Documents
Culture Documents
Objectif :
https://fpgasoftware.intel.com/13.0sp1/
a. Création du projet
Les outils de développement pour FPGA utilisent la notion de projet :
Cliquer sur «New project wizard ». Le wizard (assistant) va nous guider dans la construction
du projet.
Il est indispensable de structurer les projets dans des dossiers, l’outil QUARTUS générant un
grand nombre de fichiers. Cliquer sur « Next »
Dans la Page 2/5, « Add Files » permet d’ajouter des fichiers sources (schéma, MAE ou VHDL)
au projet, ici il n’y en a pas.Cliquer sur « Next »
La page 3/5 permet de choisir le composant cible. La carte DK-START-3C25N - Starter Kit est
équipée d’un FPGA Cyclone II, EP3C25F324C6 disposant de 24624 LEs (Logics Elements) en boitier
PGA avec 216 broches, fonctionnant entre 0°C et 85°C.
On doit Choisir la famille cyclone III, sous le nom de EP3C25324C6 puis cliquer sur « Next »
Vérifier la configuration sur la page 5/5 puis « Finish » Le projet est créé et configuré, il est
maintenant possible d’ajouter des fichiers de description schéma, MAE ou VHDL.
Il est évident que le projet choisi sera implémenté dans la cible configurée précédemment avec
toutes les tâches de conception
Nous proposons la réalisation d’une fonction XOR à l’aide de quatre portes NAND à deux entrées.
Cliquer puis dans la fenètre « Symbol » choisir « primitives » puis «logic » et sélectionner
une fonction NAND2.
Par défaut, l’icône « repeat insert mode » est couchée, elle permet de répéter l’insertion du
symbole NAND2 autant de fois. Dans la fenêtre principale, placer quatre fonctions NAND puis
désactiver cette insertion par outil de selection . Cet outil permet aussi de déplacer
librement les portes dans la fenêtre de saisie
Cliquer et pour faire les liaisons entre les portes afin de réaliser le logigramme de la
fonction XOR avec des NAND.
Cliquer puis et pour placer les entrées et sorties (doubles clics pour éditer une
connexion).
Nommer les entrées par A et B et la sortie par S (clic-droit sur le pin, properties, puis pin
name), de même, nommer les signaux internes S1, S2, S3 (clic-droit sur le fil, properties, puis
Name) en cas où les variables ne sont pas lisibles déplacer avec les NAND et les fils de
connexion.
Vérifier que la compilation est en mode « full design » ( la boite de selection « Tasks » est
située sur la gauche de l’écran)
QUARTUS vérifie le schéma, crée un fichier VHDL correspondant, puis effectue un routage dans le
FPGA cible. Il crée des rapports pour toutes les étapes de la compilation. Si tout est correct, La fenêtre
de messages « Processing » indique : 0 errors, 12 warnings .
Les « warnings » indiquent que le compilateur a dû prendre des décisions qui peuvent influer sur le
résultat attendu ou que la description (design) est peut être incomplète. Ici par exemple aucune
horloge n’est utilisée. Généralement ( !) les « warnings » peuvent être ignorés.
Le test du projet peut être effectué par le simulateur ModelSim.
c. Simulation
Les variables d’entrée et de sortie sont sélectionnées dans la fenêtre de simulation. Il est
possible de déplacer les signaux simplement avec la souris, afin de les visualiser dans un ordre
particulier. Nous choisissons pour A un signal d’horloge avec d’une période 10 ns
Lancer une simulation fonctionnelle avec qui ne tient pas compte du temps de
propagation dans les portes logiques NAND. Elle obéit intégralement la table de vérité de la
fonction XOR
Lancer une simulation fonctionnelle avec qui tient compte du temps de propagation
dans les portes logiques NAND (temps de propagation total est de l’ordre de 6.184ns). Elle
obéit la table de vérité de la fonction XOR avec un certain retard
Ce fichier peut lui-même être transformé en un nouveau composant qui pourra être inséré dans un
schéma, cela permet de conserver la possibilité de synthèse par schéma dans le FPGA.
Depuis la fenêtre de saisie de schéma, cliquer « File – Create/Update – Create symbol files for
current file »
Le fichier LFEEA2TP1.bsf est créé lors de l’enregistrement. (bsf est l’extension des symboles
graphiques des composants)
Pour vérifier la création de ce symbole LFEEA2TP1 réalisant la fonction XOR avec NAND2,
Cliquer puis dans la fenêtre « Symbol » choisir « project » puis sélectionner le symbole
LFEEA2TP1.
e. Schéma RTL
f. Schéma GATE :
L’outil « PIN PLANER » permet d’attribuer des broches physiques à des ntrées/sorties
Pin Planer affiche un plan de câblage du FPGA et permet l’assignement des entrées/sorties
Configurer le brochage de a, b, s comme suit : (glisser – déposer) puis vérifier l’assignement par
Enable
Recompiler le projet.
Placer un câble entre l’USB Blaster Port du KIT sur un port USB du PC. Alimenter le KIT et
appuyer sur le bouton ON/OFF, (L’application par défaut du KIT teste les LEDs et les
afficheurs). Sur QUARTUS, dans la fenêtre Tasks, double-clique « Program Device »
Cliquer Start, le FPGA est programmé. Tester alors la fonction XOR sur les interrupteurs SW0, SW1
et la LED0.