Guide pratique d’utilisation d’Active-HDL 8 · Guide pratique – Active–HDL 8.3 sp1 update 3...
Transcript of Guide pratique d’utilisation d’Active-HDL 8 · Guide pratique – Active–HDL 8.3 sp1 update 3...
Guide pratique – Active–HDL 8.3 sp1 update 3 (v. 0.9, 13 janvier 2014)
École Polytechnique de Montréal page 1 de 20 Département de génie informatique et de génie logiciel
Guide pratique d’utilisation d’Active-HDL 8.3
1 Introduction
1.1 Survol
Active-HDL, de la compagnie Aldec, est un environnement intégré de développement de systèmes numé-
riques décrits :
avec un langage de description matérielle (comme VHDL, Verilog et SystemC);
par schémas;
par diagrammes d'états; ou,
avec une combinaison des trois.
Active-HDL inclut entre autres :
des outils de description de designs;
des compilateurs pour plusieurs langages de description matérielle;
un simulateur;
des outils de débogage; et,
des outils de profilage et de vérification.
Le logiciel intègre de plus des outils de synthèse et d'implémentation d'autres compagnies, permettant
ainsi de travailler avec différentes technologies dans un environnement unifié. Dans ce guide, on suppose
que la suite d'outils ISE de Xilinx est installée en conjonction avec Active-HDL.
Au département de génie informatique et de génie logiciel, une version complète d’Active-HDL est ins-
tallée dans les laboratoires Windows. Une version étudiante peut être téléchargée du site web de la
compagnie (www.aldec.com).
1.2 Objectif de ce guide
L'objectif de ce guide est d'énumérer et de décrire les étapes pour :
créer un espace de travail dans Active-HDL;
créer un projet et l'ajouter à un espace de travail;
décrire un circuit numérique à l'aide de code VHDL;
simuler le circuit numérique en lui appliquant des signaux d'entrée désirés et en observant sa sortie;
et,
décrire un circuit numérique à l’aide d’une description hiérarchique, basée sur un schéma, et conte-
nant plusieurs modules décrits en VHDL dans des fichiers séparés.
Guide pratique – Active–HDL 8.3 sp1 update 3 (v. 0.9, 13 janvier 2014)
École Polytechnique de Montréal page 2 de 20 Département de génie informatique et de génie logiciel
1.2.1 Lancement de Active-HDL
Lancez Active-HDL en choisissant la commande
correspondante dans le menu Démarrer.
Si une fenêtre « License Configuration » s’ouvre,
cliquez simplement sur Next.
2 Création d’un espace de travail (workspace)
Un espace de travail (workspace) peut regrouper plusieurs projets (designs) logiquement reliés entre eux.
Par exemple, dans le contexte d'un programme universitaire, on pourrait avoir un espace de travail pour
chaque cours, et un projet pour chaque laboratoire de ce cours. Un espace de travail différent pourrait
regrouper les laboratoires d'un cours différent, d'un projet intégrateur, ou de projets personnels.
La première fois que vous lancez le programme,
une fenêtre apparaît. Choisissez OK pour créer
un nouvel espace de travail. Sinon, choisissez
File > New > Workspace.
Choisissez un nom représentatif pour un premier
espace de travail.
Il faut aussi spécifier un répertoire dans lequel
l'espace de travail sera sauvegardé. Il est impor-
tant que le chemin de ce répertoire ne contienne
pas d'espaces, parce que certains outils invoqués
par Active-HDL ne les supportent pas bien.
Dans les laboratoires du GIGL, il est donc re-
commandé de travailler dans un répertoire
personnel sur C:\temp\votrenom. Une fois le tra-
vail terminé, il est important d'archiver ce
répertoire et d'en emporter une copie avec vous.
Le répertoire C:\temp\ des ordinateurs des labo-
ratoires est régulièrement effacé.
Guide pratique – Active–HDL 8.3 sp1 update 3 (v. 0.9, 13 janvier 2014)
École Polytechnique de Montréal page 3 de 20 Département de génie informatique et de génie logiciel
3 Création d’un projet (design)
Un projet permet de regrouper plusieurs fichiers-sources pour un laboratoire ou un module en particulier.
Lors de la création du premier espace de travail,
l'outil vous propose immédiatement de créer un
nouveau projet.
Pour les projets suivant, il suffit de choisir File >
New > Design.
Cliquez sur Next pour invoquer l'assistant.
Vérifiez que les bons outils ont été préalablement
choisis. Si ce n'est pas le cas, informez votre chargé
de laboratoire ou cliquez sur Flow Settings pour
faire les bons choix.
Pour la case Default Family, le choix devrait cor-
respondre à la famille du type de FPGA utilisé dans
votre laboratoire. Le choix indiqué ici correspond
au cours INF3500. Vérifiez avec votre chargé de
laboratoire dans le cas contraire.
Cliquez sur Next.
Guide pratique – Active–HDL 8.3 sp1 update 3 (v. 0.9, 13 janvier 2014)
École Polytechnique de Montréal page 4 de 20 Département de génie informatique et de génie logiciel
Choisissez un nom représentatif pour votre projet.
Cliquez sur Next, puis sur Finish.
4 Description d’un circuit numérique en VHDL
4.1 Circuit en exemple
Dans les instructions qui suivent, on construit un circuit arithmétique de base : un additionneur à 3 bits.
Ce circuit accepte 3 bits en entrée et les additionne. Il a deux sorties : une retenue ainsi qu’une somme.
Les sorties possibles sont donc (retenue, sortie) {(0, 0), (0, 1), (1, 0), (1, 1)}, correspondant respective-
ment aux cas où les trois bits d’entrée sont 0, un seul bit est 1, deux bits sont 1, et trois bits sont 1. Ce
circuit indique donc le nombre de bits d’entrée qui valent 1.
Le tableau de vérité de ce circuit est donné ici :
bit0 bit1 bit2 retenue somme
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1
Guide pratique – Active–HDL 8.3 sp1 update 3 (v. 0.9, 13 janvier 2014)
École Polytechnique de Montréal page 5 de 20 Département de génie informatique et de génie logiciel
On peut dériver les équations pour les sorties retenue et somme grâce à un tableau de Karnaugh. Un
schéma d’un circuit réalisant ces deux fonctions est donné ici :
Le circuit est composé des composantes suivantes :
deux portes OU-exclusif à deux entrées;
deux portes ET à deux entrées;
une porte OU à deux entrées; et,
trois terminaux d’entrée et deux terminaux de sortie.
4.2 Procédure
Lancez Active-HDL. Ouvrez l’espace de travail dans lequel se trouve le design sur lequel vous voulez
travailler. Si votre espace de travail comporte plus d’un design, cliquer sur celui sur lequel vous voulez
travailler avec le bouton de droite, et choisissez Set as Active Design.
Suivez les instructions suivantes:
Dans l’explorateur de projets (Design Brow-
ser), cliquez sur le ‘+’ à gauche de votre
projet, puis deux fois sur Add New File.
Guide pratique – Active–HDL 8.3 sp1 update 3 (v. 0.9, 13 janvier 2014)
École Polytechnique de Montréal page 6 de 20 Département de génie informatique et de génie logiciel
Choisissez l’icône VHDL Source Code de
l’onglet Empty Files. Donnez un nom repré-
sentatif au fichier (ici add3bits).
Cliquez sur OK.
Dans l’éditeur de texte, entrez le code VHDL
suivant, et sauvegarder le (soit avec Ctrl+S ou
dans File > Save).
------------------------------------
-- add3bits.vhd
-- additioneur à 3 bits
------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity add3bits is
port (
bit0 : in std_logic;
bit1 : in std_logic;
bit2 : in std_logic;
retenue : out std_logic;
somme : out std_logic
);
end add3bits;
architecture flotdonnees of add3bits is
signal T1 : std_logic;
signal T2 : std_logic;
signal T3 : std_logic;
begin
somme <= T1 xor bit0;
retenue <= T3 or T2;
T1 <= bit1 xor bit2;
T2 <= bit1 and bit2;
T3 <= bit0 and T1;
end flotdonnees;
5 Compilation du projet
Lors de la compilation, le projet est vérifié de façon à confirmer que toutes les règles de syntaxe du lan-
gage sont respectées.
Une compilation correcte ne signifie pas que le circuit fonctionne, mais plutôt que sa description est
conforme à des règles précises.
Choisissez Design > Compile, ou pesez sur la touche F11.
Corrigez toutes les erreurs (si nécessaire).
Guide pratique – Active–HDL 8.3 sp1 update 3 (v. 0.9, 13 janvier 2014)
École Polytechnique de Montréal page 7 de 20 Département de génie informatique et de génie logiciel
6 Simulation du projet
La simulation du projet permet de vérifier qu’il fonctionne de la façon prévue par les spécifications.
Tout d'abord, choisissez Tools > Preferences
et vérifiez pour la catégorie Waveform Vie-
wer/Editor que Standard Waveform
Viewer/Editor est bien l'affichage de chrono-
gramme par défaut.
Choisissez Simulation > Initialize Simula-
tion.
Choisissez File > New > List.
Choisissez File > New > Waveform.
Cliquez sur le symbole de l’entité à simuler
(add3bits ici) de la fenêtre de l’explorateur de
design à gauche.
Dans la fenêtre des signaux, choisissez, en
pesant sur la touche Shift, les signaux bit0,
bit1, bit2, retenue et somme. Traînez ces si-
gnaux dans la fenêtre Waveform.
Répétez pour la fenêtre List.
Guide pratique – Active–HDL 8.3 sp1 update 3 (v. 0.9, 13 janvier 2014)
École Polytechnique de Montréal page 8 de 20 Département de génie informatique et de génie logiciel
À l’aide de la souris et de la touche Shift, sé-
lectionnez les signaux bit0, bit1 et bit2 dans la
fenêtre Waveform.
Cliquez sur le bouton de droite et choisissez
Stimulators.
Choisissez le signal bit0, puis le type Clock,
puis fixez la fréquence à 10 MHz. Cliquez sur
Apply.
Répétez pour les signaux bit1 et bit2, en fixant
leurs fréquences à 20 MHz et 40 MHz, respec-
tivement.
Avec un temps de simulation de 100 ns, cliquez
sur le bouton Run For.
Vérifiez le fonctionnement correct de votre
additionneur à 3 bits à l’aide de la fenêtre Wa-
veform….
Guide pratique – Active–HDL 8.3 sp1 update 3 (v. 0.9, 13 janvier 2014)
École Polytechnique de Montréal page 9 de 20 Département de génie informatique et de génie logiciel
… et de la fenêtre List. Affichez le menu
contextuel (clic-droit) et activez sur Collapse
Deltas.
Guide pratique – Active–HDL 8.3 sp1 update 3 (v. 0.9, 13 janvier 2014)
École Polytechnique de Montréal page 10 de 20 Département de génie informatique et de génie logiciel
7 Trois outils pratiques pour écrire du code VHDL
Active-HDL contient trois outils particulièrement pratiques pour écrire du code VHDL.
L’assistant du langage (Language Assistant) est
invoqué en cliquant sur l’ampoule électrique.
L’assistant comporte plusieurs catégories
d’éléments VHDL et il est facile de copier-
coller du code dans un module.
Du menu Help > Online Documentation, on
lance l’aide de Active-HDL. Dans la section
References, on trouve un guide du langage
VHDL qui est très complet.
Du menu Help > Interactive VHDL Tutorial,
on lance le programme Evita qui est un tutorial
très convivial pour l’apprentissage de VHDL.
Guide pratique – Active–HDL 8.3 sp1 update 3 (v. 0.9, 13 janvier 2014)
École Polytechnique de Montréal page 11 de 20 Département de génie informatique et de génie logiciel
8 Synthèse et implémentation du projet
8.1 Description
La synthèse d’un circuit consiste à traduire la description du circuit en blocs disponibles dans la technolo-
gie utilisée. Par exemple, pour un circuit décrit avec un schéma et qui doit être réalisé sur un FPGA, le
processus de synthèse convertit et regroupe les portes logiques du schéma en composantes réalisables sur
le FPGA choisi.
L’implémentation du circuit est divisée en quatre sous étapes:
la transformation (mapping) : regrouper les composantes obtenues lors de la synthèse dans des blocs
spécifiques du FPGA;
la disposition (placement) : choisir des endroits spécifiques sur le FPGA où disposer les blocs utilisés,
et choisir les pattes du FPGA correspondant aux ports d’entrée et de sortie;
le routage (routing) : établir des connexions électriques entre les blocs utilisés; et,
la configuration (configuration) : convertir toute cette information en un fichier pouvant être téléchar-
gé sur le FPGA pour le programmer.
8.2 Ports d’entrée et de sortie
Pendant l’étape de disposition de l’implémentation, il faut assigner des pattes spécifiques du FPGA à des
ports d’entrée et de sortie de son design. Pour le design présent, les ports d’entrée sont bit0, bit1 et
bit2, et les ports des sortie sont retenue et somme.
L’assignation des ports se fait par l’entremise d’un fichier de contraintes avec l’extension « .ucf » (pour
user constraints file).
Ouvrez un éditeur de texte (comme Notepad++ ou l’éditeur de texte d’Active-HDL) et copiez-y les lignes
suivantes. On suppose que vous utilisez la planchette Digilent Genesys.
# add3bits.ucf
# pour planchette Digilent Genesys
# LEDs
NET "retenue" LOC = "AH8"; # LD1
NET "somme" LOC = "AG8"; # LD0
# commutateurs
NET "bit0" LOC = "J19"; # SW0
NET "bit1" LOC = "L18"; # SW1
NET "bit2" LOC = "K18"; # SW2
On note que chaque port est listé dans le fichier, exactement comme il apparaît dans le code. Le symbole
du dièse (#) indique que le reste de la ligne est un commentaire (ne s’applique pas dans un fichier vhdl).
Sauvegardez le fichier dans le même répertoire que les autres fichiers source de votre design, sous le nom
de add3bits.ucf.
Consultez le manuel de l'utilisateur de votre planchette de développement pour plus de détails.
Guide pratique – Active–HDL 8.3 sp1 update 3 (v. 0.9, 13 janvier 2014)
École Polytechnique de Montréal page 12 de 20 Département de génie informatique et de génie logiciel
8.3 Procédure
Activez la fenêtre design flow. Si elle n’est pas
visible, choisissez View > Flow.
Double-cliquez sur le bouton options à gauche de
l’icône synthesis.
Pour Top-Level Unit choisissez le nom de votre
entité du plus haut niveau, ici add3bits.
Pour Family et Device, pour la planchette Genesys,
il faut choisir Xilinx13x VIRTEX5 et
5vlx50tff1136. Pour Speed Grade, choisir -1.
Pour les autres options, on peut prendre les valeurs
par défaut.
Cliquez sur OK.
Cliquez sur l’icône synthesis.
Une nouvelle fenêtre devrait apparaître, et, après un
certain temps, le message Synthesis finished suc-
cessfully devrait apparaître. Sinon, consultez les
messages d’erreur et apportez les corrections né-
cessaires à vos fichiers.
En cas de doute, consultez votre chargé de labora-
toire.
Cliquez sur Close.
Cliquez sur le bouton options à gauche de l’icône
implementation.
Guide pratique – Active–HDL 8.3 sp1 update 3 (v. 0.9, 13 janvier 2014)
École Polytechnique de Montréal page 13 de 20 Département de génie informatique et de génie logiciel
Sous l’onglet Main, à la ligne Constraint File
(UCF) Support, choisissez Custom constraint
file.
Cliquez sur Browse, et choisissez votre fichier
add3bits.ucf.
Sous l’onglet Post-Map STR, choisissez Do Not
Run Post-Map STR.
STR signifie Static Timing Report, ou rapport des
délais statiques. Enlever cette option accélère le
processus.
Sous l’onglet Post-PAR STR, choisissez Do Not
Run Post-PAR STR.
Guide pratique – Active–HDL 8.3 sp1 update 3 (v. 0.9, 13 janvier 2014)
École Polytechnique de Montréal page 14 de 20 Département de génie informatique et de génie logiciel
Sous l’onglet BitStream, désélectionnez Do Not
Run Bitgen sélectionnez Create Bit File.
Cliquez sur OK.
Cliquez sur l’icône implementation.
Une nouvelle fenêtre devrait apparaître, et, après
un certain temps, le message Implementation
completed successfully devrait apparaître.
Sinon, consultez les messages d’erreur et appor-
tez les corrections nécessaires à votre diagramme.
En cas de doute, consultez le chargé de laboratoi-
re.
Cliquez sur Close.
9 Programmation du FPGA et vérification
Mise en garde :
Les instructions suivantes sont particularisées pour la planchette Digilent Genesys.
Voir le lien web suivant pour travailler avec la carte :
http://digilentinc.com/Products/Detail.cfm?NavPath=2,400,819&Prod=GENESYS
Si tout s’est bien passé à l’étape précédente, un fichier add3bits.bit est maintenant placé dans votre réper-
toire \espaceDeTravail\design1\implement\ver1\rev1 et est prêt à être téléchargé dans le FPGA de la
planchette de développement.
Guide pratique – Active–HDL 8.3 sp1 update 3 (v. 0.9, 13 janvier 2014)
École Polytechnique de Montréal page 15 de 20 Département de génie informatique et de génie logiciel
Au laboratoire, la planchette devrait être déjà
allumée et reliée au poste de travail par le câble
USB2. Dans ce cas, passez à l’étape suivante. Si
la planchette n’est pas allumée, informez le char-
gé de laboratoire.
Dans Active-HDL, activez la fenêtre design
flow. Si elle n’est pas visible, choisissez View >
Flow.
Cliquez sur le bouton Analysis, en bas à droite,
puis sur l’icône de l’outil iMPACT.
Si la fenêtre « Automatically create and save a
project » s’affiche, cliquez sur No. Choisissez
create a new project, cliquez sur OK, puis assu-
rez-vous de mettre l’option de branchement
automatique avant de cliquer de nouveau sur OK.
Cliquez sur Yes si la fenêtre « Auto Assign
Configuration Files Query Dialog » s’affiche.
Choisissez le fichier add3bits.bit que vous trou-
verez dans le dossier implement/ver1/rev1 et
cliquez sur Open. Si le logiciel vous demande
d’attacher un SPI ou un BPI PROM, répondez
par No. Cette option sert à charger la mémoire
PROM de la planchette.
Guide pratique – Active–HDL 8.3 sp1 update 3 (v. 0.9, 13 janvier 2014)
École Polytechnique de Montréal page 16 de 20 Département de génie informatique et de génie logiciel
Cliquez sur le symbole représentant le FPGA,
puis sur le bouton de droite de la souris. Choisis-
sez Program …
Cliquez sur OK dans la fenêtre Device Pro-
gramming Properties (si elle s’affiche), sans
rien changer.
Voilà! Vous pouvez maintenant vérifier votre
design sur le FPGA.
Essayez toutes les combinaisons possibles
d’entrées et confirmez que les sorties sont bien
conformes au tableau de vérité de la section 4.1.
Note : Si l’espace est blanc, cliquez sur le bouton
de droite de la souris et choisissez Initialize
Chain. Vous pourrez ensuite suivre les instruc-
tions pour y ajouter votre fichier .bit.
Guide pratique – Active–HDL 8.3 sp1 update 3 (v. 0.9, 13 janvier 2014)
École Polytechnique de Montréal page 17 de 20 Département de génie informatique et de génie logiciel
10 Description hiérarchique d’un projet comportant plusieurs modules
10.1 Principes de base et circuit en exemple
Les circuits numériques ne sont jamais décrits à l’aide d’un seul fichier contenant du code VHDL. La
plupart regroupent plusieurs modules indépendants qui sont tirés de bibliothèques existantes ou bien qui
sont développés sur mesure pour un projet en particulier. Quand un projet regroupe un grand nombre de
modules décrits dans autant de fichiers, il peut devenir difficile de s’y retrouver. De plus, il est nécessaire
de décrire les interconnexions entre les différents modules, et encore là il peut devenir difficile de s’y
retrouver. Une description hiérarchique utilisant des schémas permet de gérer à la fois la complexité du
projet et de décrire les interconnexions de façon efficace.
Dans cette section, vous allez créer un projet et y ajouter des fichiers VHDL existants. Vous allez ensuite
relier les modules décrits dans ces fichiers à l’aide d’un schéma. Vous allez aussi effectuer toutes les
connexions nécessaires pour une implémentation sur la planchette de développement. Les instructions
suivantes illustrent la description hiérarchique d’un projet avec Active-HDL à l’aide d’un exemple.
10.2 Procédure à suivre
Créez un nouveau projet en suivant les instructions de la section 3, et donnez-lui le nom « tutoriel ».
Copiez du site web du cours INF3500 dans le dossier « src » de votre projet les fichiers :
addsub.vhd
hd44780_8chars_1line.vhd
hd44780_simple.vhd
equal_ascii.vhd
signed_to_lcd.vhd
addsub_to_lcd.vhd
addsub.ucf
Dans l’explorateur de projets (Design Browser), cliquez sur le ‘+’ à gauche de votre projet, puis deux fois
sur Add New File. Cliquez sur Add Existing File et ajoutez les fichiers que vous venez de copier.
Inspectez les fichiers que vous avez copiés. Le fichier addsub.vhd décrit un module qui peut additionner
ou soustraire deux nombres A et B selon la valeur d’un signal de sélection choix. Il a une sortie F repré-
sentant le résultat et V indiquant si un débordement a lieu. Le paramètre W indique la largeur des
opérandes et du résultat.
Dans l’explorateur de projets (Design Browser),
cliquez sur le ‘+’ à gauche de votre projet, puis deux
fois sur Add New File. Sous l’onglet Empty File,
choisissez Block Diagram. Donnez le nom « add-
sub_top » au diagramme.
Guide pratique – Active–HDL 8.3 sp1 update 3 (v. 0.9, 13 janvier 2014)
École Polytechnique de Montréal page 18 de 20 Département de génie informatique et de génie logiciel
En cliquant sur l’icône des ports ou en choisissant
Diagram > Terminal, ajoutez les terminaux sui-
vants au diagramme.
Ports d’entrée : clk, reset, choix, A(3:0) et B(3:0).
Ports de sortie : lcd_db(7:0), lcd_rw, lcd_rs, lcd_en
et V.
Les ports avec des indices entre parenthèses sont des
bus, les autres sont des fils. Assurez-vous que les
ports A et B sont de type signed
Choisissez Diagram > Code Generation Settings
...
Sous l’onglet Design Unit, compléter la fenêtre
Design Unit Header.
Dans cette fenêtre, il faut ajouter les librairies utili-
sés par les différents modules du circuit.
Sous l’onglet Conversion Functions, désélection-
nez toutes les options. Cliquez sur OK.
Guide pratique – Active–HDL 8.3 sp1 update 3 (v. 0.9, 13 janvier 2014)
École Polytechnique de Montréal page 19 de 20 Département de génie informatique et de génie logiciel
Choisissez Design > Compile All.
Cliquez sur l’icône « Show Symbol Tool-
box »(petite porte ET dans la barre d’outil). Dans la
libraire tutoriel, cliquez sur le module addsub, puis
traînez le symbole dans le diagramme.
Répétez pour les modules signed_to_lcd, add-
sub_to_lcd, equal_ascii et hd44780_8char_1line.
Reliez les modules et les terminaux tels que montré à l’image suivante. Il faut instancier trois copies du
module signed_to_lcd.
Le module addsub est défini avec une largeur par
défaut de 8 bits. Il faut spécifier une valeur de 4 ici.
À l’aide du bouton de droite, cliquez sur le symbole
addsub et choisissez Properties. Sous l’onglet Ge-
nerics, entrez la valeur ‘4’ pour le paramètre W.
Par défaut, les bus et les fils reliant les modules sont des types std_logic_vector et std_logic,
respectivement. Les bus ont une largeur de 8 bits par défaut.
Il faut donc effectuer des conversions explicites de type dans certains cas. Pour ce faire, il faut inspecter
les définitions des différents modules dans leurs fichiers pour voir où c’est nécessaire. Dans les prochains
Guide pratique – Active–HDL 8.3 sp1 update 3 (v. 0.9, 13 janvier 2014)
École Polytechnique de Montréal page 20 de 20 Département de génie informatique et de génie logiciel
laboratoires, il vous faudra jouer avec ces paramètres pour que la synthèse réussisse.
Par exemple, la sortie F du symbole addsub a le type
signed. Il faut donc changer le type et la largeur
du bus qui y est connecté. Cliquez deux fois sur ce
bus, puis ajustez ses propriétés comme montré ici
Dans certains cas, un bus (qui est de type
std_logic_vector) est connecté à une entrée de mo-
dule de type signed. Pour faire la conversion de
std_logic_vector vers signed au niveau de l’entrée
comme tel, il faut faire un clique-droit sur le bloc,
puis Properties… Dans l’onglet Port Mapping, on
choisit le mode Function, et on indique le type si-
gned. Pour plus de renseignements, voir le
supplément de ce guide disponible sur le site moodle
du cours INF3500.
10.3 Simulation d’un circuit hiérarchique
La simulation d’un circuit hiérarchique peut parfois être lourde. Par exemple, le module ssdDriver ne sert
ici qu’à décoder les signaux pour l’affichage, et l’interprétation de ses sorties est difficile à faire.
Au minimum, chaque module devrait être vérifié indépendamment. Dans un laboratoire, il est essentiel de
vérifier complètement chaque nouveau module développé. La vérification complète du circuit devrait être
faite par simulation quand c’est possible, ou par implémentation sur la planchette dans le cas où un affi-
chage est effectué.
10.4 Implémentation du circuit et programmation du FPGA
Suivez les instructions des sections 8.3 pour faire l’implémentation du circuit, puis de la section 9 pour en
faire l’implémentation sur la planchette.
Il se peut que vous voyiez des avertissements (warnings) lors de la synthèse. Assurez-vous simplement
que ces avertissements ne concernent que le bloc hd44780_8chars_1line.vhd (hd44780_simple).
Notez que pour l’implémentation vous devez utiliser le fichier addsub.ucf qui est particularisé pour les
noms de terminaux montrés sur le diagramme de la section 10.2.
Pour obtenir le fichier VHDL de votre .bde, ouvrez votre projet ActiveHDL ainsi que votre .bde. Cliquez
ensuite, dans la barre de menu supérieure, sur Diagram > Generate HDL Code. Un code VHDL qui
instancie tous vos blocs selon vos connexions est généré. Vous pouvez alors le récupérer (dans le dossier
compile de votre dossier de projet ActiveHDL).