13
1 ELE1300 - Circuits Logiques I Laboratoire 1 : Utilisation du logiciel Quartus II d'Altera Information sur le plagiat De plus en plus d’information est disponible par voie électronique (ou autre) et il est parfois tentant d’utiliser un travail réalisé par quelqu’un de « compétent », quelqu’un qui a compris, lui, plutôt que de faire l’effort de comprendre soi-même. Ces laboratoires sont destinés à vous aider à comprendre la matière en vous confrontant à des problèmes qui vous feront réfléchir, poser des questions, chercher de l’information dans le cours ou ailleurs. Leur but est avant tout de vous former plutôt que de vous évaluer même si 20% de la note finale leur est consacrée. Si vous prenez le temps de résoudre les problèmes par vous-même, vous vous assurez les 20% des laboratoires mais aussi une bonne partie des 80% restant car l’évaluation finale de ce cours repose essentiellement sur la compréhension des circuits logiques et la résolution des problèmes qui y font appel. Soyez donc compétents par vous-même et soyez fiers ensuite de réussir par vous-même. Par ailleurs, certains plagiats sont détectables et conduisent au minimum à l’annulation du laboratoire, avec une note au dossier du ou des étudiants impliqués. Cela ne vaut pas la peine ! Quand vous serez sur le marché de l’emploi, vous ne pourrez compter que sur votre propre expertise car vous aurez à résoudre des problèmes dont les solutions n’existent nulle part sur Internet ou ailleurs. Prenez tout de suite le bon réflexe : celui d’apprendre et de comprendre par vous-même. Ceci dit, je vous encourage à utiliser toute information extérieure qui peut vous aider à comprendre la matière, mais ne choisissez jamais la voie de la médiocrité qui consiste à recopier sans comprendre. Votre ambition est de devenir ingénieur(e) ! Introduction Au cours de ce laboratoire, vous apprendrez comment programmer la carte DE2 pour y implémenter un circuit logique. Vous apprendrez la base de l’environnement graphique du programme « Quartus II », qui est le compilateur du FPGA soudé sur la carte. Ce programme vous permet de faire la conception de votre circuit de façon schématique et de le télécharger ensuite sur la carte. Préparation du laboratoire I. Si possible, installer le logiciel Quartus II Web Edition sur votre ordinateur personnel. La procédure est décrite à la fin de ce document. II. Lire tout le document. III. Comprendre le fonctionnement des portes logiques de base : OR, AND, XOR, NOR, NAND, XNOR et préparer les 16 circuits logiques qui sont demandés dans la section V. Remarque : il existe de nombreuses manières différentes d’implémenter ces fonctions. IV. En cas de difficulté, utilisez les outils de simulation de circuits logiques disponibles à partir du site du cours.

ELE1300 - Circuits Logiques I Laboratoire 1 : Utilisation ... · b) Ouverture du logiciel ... Processing-> Start Compilation (Ctrl-L) ... La simulation d'un circuit logique reproduit

  • Upload
    ledan

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

1 ELE1300 - Circuits Logiques I

Laboratoire 1 : Utilisation du logiciel

Quartus II d'Altera

Information sur le plagiat De plus en plus d’information est disponible par voie électronique (ou autre) et il est parfois tentant

d’utiliser un travail réalisé par quelqu’un de « compétent », quelqu’un qui a compris, lui, plutôt que de

faire l’effort de comprendre soi-même. Ces laboratoires sont destinés à vous aider à comprendre la

matière en vous confrontant à des problèmes qui vous feront réfléchir, poser des questions, chercher de

l’information dans le cours ou ailleurs. Leur but est avant tout de vous former plutôt que de vous

évaluer même si 20% de la note finale leur est consacrée. Si vous prenez le temps de résoudre les

problèmes par vous-même, vous vous assurez les 20% des laboratoires mais aussi une bonne partie des

80% restant car l’évaluation finale de ce cours repose essentiellement sur la compréhension des circuits

logiques et la résolution des problèmes qui y font appel. Soyez donc compétents par vous-même et

soyez fiers ensuite de réussir par vous-même. Par ailleurs, certains plagiats sont détectables et

conduisent au minimum à l’annulation du laboratoire, avec une note au dossier du ou des étudiants

impliqués. Cela ne vaut pas la peine ! Quand vous serez sur le marché de l’emploi, vous ne pourrez

compter que sur votre propre expertise car vous aurez à résoudre des problèmes dont les solutions

n’existent nulle part sur Internet ou ailleurs. Prenez tout de suite le bon réflexe : celui d’apprendre et de

comprendre par vous-même. Ceci dit, je vous encourage à utiliser toute information extérieure qui peut

vous aider à comprendre la matière, mais ne choisissez jamais la voie de la médiocrité qui consiste à

recopier sans comprendre. Votre ambition est de devenir ingénieur(e) !

Introduction Au cours de ce laboratoire, vous apprendrez comment programmer la carte DE2 pour y implémenter un

circuit logique. Vous apprendrez la base de l’environnement graphique du programme « Quartus II », qui

est le compilateur du FPGA soudé sur la carte. Ce programme vous permet de faire la conception de

votre circuit de façon schématique et de le télécharger ensuite sur la carte.

Préparation du laboratoire I. Si possible, installer le logiciel Quartus II Web Edition sur votre ordinateur personnel. La

procédure est décrite à la fin de ce document.

II. Lire tout le document.

III. Comprendre le fonctionnement des portes logiques de base : OR, AND, XOR, NOR, NAND, XNOR

et préparer les 16 circuits logiques qui sont demandés dans la section V. Remarque : il existe de

nombreuses manières différentes d’implémenter ces fonctions.

IV. En cas de difficulté, utilisez les outils de simulation de circuits logiques disponibles à partir du

site du cours.

ELE1300 - Circuits Logiques I

a) Créer un dossier pour le projet Quartus IICréer un dossier (répertoire) nommé

contiendra votre projet Quartus II et tous les fichiers associés.

Profitez-en pour y copier les fichiers

Q://Laboratoires/lab1/…. Ces fichiers seront utiles plus tard.

b) Ouverture du logiciel Dans le menu démarrer de l'environnement Windows choisissez:

Programmes -> Altera -> Quartus II 11.0

Lors de l'ouverture du logiciel, l'espace de travail illustré à la Figure 1 est présenté à l'utilisateur

espace de travail contient:

1. La barre des menus.

2. La barre d’outils.

3. Le navigateur de projet permet de voir les fichiers, les projets et leur hiérarchie.

4. La fenêtre de statut vous permet de connaître l’état d’avancement de la compilation de votre

circuit.

5. La fenêtre de message vous avertit des erreurs et autres avertissements durant la compilation

ou la programmation

Si la fenêtre utilitaire "Messages" n'est p

View -> Utility Windows -> Messages (Alt

Figure 1 - Présentation de l'environnement de conception Quartus II

our le projet Quartus II Créer un dossier (répertoire) nommé lab1 dans votre espace de travail (U:\...\

contiendra votre projet Quartus II et tous les fichiers associés.

en pour y copier les fichiers DE2_pins.csv et tb_lab1.vhd, qui se trouvent dans le répertoire

Ces fichiers seront utiles plus tard.

Dans le menu démarrer de l'environnement Windows choisissez:

> Quartus II 11.0 -> Quartus II 11.0

erture du logiciel, l'espace de travail illustré à la Figure 1 est présenté à l'utilisateur

Le navigateur de projet permet de voir les fichiers, les projets et leur hiérarchie.

fenêtre de statut vous permet de connaître l’état d’avancement de la compilation de votre

La fenêtre de message vous avertit des erreurs et autres avertissements durant la compilation

" n'est pas visible, faites-la apparaître en choisissant dans le menu:

> Messages (Alt-3)

Présentation de l'environnement de conception Quartus II

2

\lab1). Ce dossier

dans le répertoire

erture du logiciel, l'espace de travail illustré à la Figure 1 est présenté à l'utilisateur. Cet

Le navigateur de projet permet de voir les fichiers, les projets et leur hiérarchie.

fenêtre de statut vous permet de connaître l’état d’avancement de la compilation de votre

La fenêtre de message vous avertit des erreurs et autres avertissements durant la compilation

la apparaître en choisissant dans le menu:

Présentation de l'environnement de conception Quartus II

3 ELE1300 - Circuits Logiques I

c) Création d'un nouveau projet Pour pouvoir utiliser l’espace de travail, il faut se créer un projet. Pour cela, dans le menu sélectionnez:

File -> New Project Wizard

Passez la première fenêtre;

Dans la seconde indiquez dans quel dossier vous voulez créer le projet. Quartus II ne créera pas un

dossier pour contenir le laboratoire. Spécifiez le dossier lab1 (U:\...\lab1) créé plus tôt comme répertoire

de projet. Écrivez ensuite le nom de votre projet et mettre le même nom pour l’entité qui englobe les

autres (la plus haute du projet). Pour ce projet, utilisez le nom « lab1 »;

Dans la troisième page, il vous est possible d’ajouter des fichiers au projet, si vous voulez en réutiliser.

Pour l'instant, nous n’utiliserons pas cette fonctionnalité;

Dans la quatrième page, vous devrez spécifier le FPGA utilisé. Dans le menu déroulant « Family », vous

choisissez « Cyclone II ». Par la suite, dans la liste « Available Devices » sélectionnez « EP2C35F672C6 »,

qui est le FPGA que nous utilisons;

Dans la cinquième page, spécifiez le logiciel de simulation ModelSim-Altera depuis le menu déroulant,

et assurez-vous que le format VHDL est sélectionné. Ne cochez pas l'option Run gate-level simulation

automatically after compilation. Laissez les autres outils et formats à leurs valeurs par défaut (<None>);

Vous pouvez cliquer sur « Finish », car il n’y a plus rien à rajouter.

Assignation des broches

Afin d'associer le nom réel des broches du FPGA (PIN_N50) à des noms plus évocateurs (LEDR[0]),

pouvant être reconnus par le logiciel Quartus II, il faut importer le fichier DE2_pins.csv. Pour ce faire,

dans le menu faites:

Assignments -> Import Assignments

Et spécifiez ensuite l'emplacement du fichier.

Les broches (pins) qui ne seront pas utilisées dans votre montage devront être placées en mode « As

input tri-stated ». Pour ce faire, allez dans le menu :

Assignments → Device

Cliquez le bouton « Device & Pin Options », choisissez la catégorie « Unused Pins » et sélectionnez « As

input tri-stated » dans le menu déroulant.

Création d'un fichier de description schématique

Pour pouvoir créer un circuit, il vous faut un fichier pour y dessiner votre circuit. Créez le fichier avec :

File → New

4 ELE1300 - Circuits Logiques I

Dans l’onglet « Device Design Files », choisissez « Block Diagram/Schematic File ». Sauvegarder votre

fichier sous le nom lab1 (lab1.bdf), qui sera ainsi reconnu comme entité de haut-niveau. Attention,

assurez-vous de sauvegarder le fichier dans votre répertoire de projet.

File -> Save as...

Maintenant, il sera possible de dessiner un circuit donné.

d) Présentation de la carte DE-2 Quand vous voudrez utiliser la carte, il faudra que vous vérifiiez si l’alimentation est branchée et si la

carte s’allume en pesant le bouton de démarrage. Lorsque la carte s’allume, vous verrez toutes les DEL

clignoter et l’affichage hexadécimal incrémenter de 0 jusqu’à F en même temps. Il y aura aussi le LCD qui

affichera « Welcome to the Altera DE2 Board ».

Dans le bas de la carte, il y a 18 boutons de type « Switch » et 4 boutons poussoir. Ce sont les boutons

que nous allons utiliser tout au long de la session. Quand vous voudrez programmer la carte, vous

devrez brancher le port USB dans la prise « USB Blaster Port » en haut à gauche à côté de la prise

d’alimentation.

La documentation venant de la carte peut être trouvée dans le répertoire suivant :

(Q : ) → DE2 → DE2_user_manual → DE2_user_manual.pdf

Figure 2 - Carte DE2 incluant un FPGA Cyclone II d'Altera.

5 ELE1300 - Circuits Logiques I

e) Description schématique d'un circuit Dans la barre d’outils schématique (Figure 3), vous pouvez voir la «Flèche» qui sert à sélectionner les

objets. Le bouton « Symbol Tool » vous permet de choisir l’élément que vous voulez insérer dans le

circuit tel que : porte logique, entrée/sortie ou une macro-fonction. Le bouton « Orthogonal Node Tool »

vous permet de dessiner les connexions entre vos portes logiques. Le bouton « Orthogonal Bus Tool »

vous permet de dessiner un bus (un bus peut être vu comme un câble contenant plusieurs fils). Ensuite,

lorsque l'option « Use Rubberbanding » est activée, les fils sont "soudés" lorsque mis en contact et ils

restent reliés (aux portes notamment) ensembles lorsque des déplacements sont appliqués aux

composants du circuit (évitez de la désactiver).

Figure 3 - Barre d'outils de la fenêtre schématique

En choisissant « Symbol Tool », vous verrez une fenêtre apparaître. Cliquez sur le dossier «

Q:/altera/quartus…/librairies/ » dans la section librairies, à droite. Choisissez « primitive » et vous avez

accès à tous les éléments logiques de base. Le dossier « Logic » contient toutes les portes logiques « and

», « or », « nand » etc. utiles pour le cours. Le dossier « pin » contient les entrées et sorties que vous

pouvez utiliser conformément au fichier d’assignation que nous avons ajouté au projet. Le dossier «

storage » contient les différentes bascules que vous verrez dans le cours.

Sélectionnez une porte ET à 2 entrées (and2) et cliquez sur OK. Vous verrez que l’objet sélectionné est

attaché à votre souris. À chaque fois que vous cliquez, il placera un objet à l’endroit où est situé le

curseur. Pour ne plus placer d’objet, cliquez sur la flèche dans la barre d’outils à gauche de la fenêtre

schématique ou pesez sur « Escape ».

� Notez que l'inverseur est dénommé "not".

Dans un premier temps, il vous est simplement demandé de reproduire le circuit illustré à la Figure 4. Ce

circuit produit simplement à ces 3 sorties le résultat des fonctions logiques ET, OU, et OUX à deux

entrées. Sur la carte, nous allons relier les 2 entrées aux interrupteurs SW[0] et SW[1], et les 3 sorties

aux DELs rouges LEDR[0], LEDR[1], et LEDR[2].

ELE1300 - Circuits Logiques I

Figure

Commencez par aller chercher les portes logiques dont vous avez besoin ainsi que vos entrées et sorties

(Figure 5) en appuyant sur le bouton

Figure 5

Ensuite, il faut nommer les entrées/sorties en utilisant les noms définis dans le fichier utilisé pour

l’assignation des broches (DE2_pins.csv). De cette faço

schéma et les connexions physiques sur la carte. Vous changerez les noms en double

l’entrée ou la sortie (Figure 6).

Figure 4 - Premier circuit à réaliser.

Commencez par aller chercher les portes logiques dont vous avez besoin ainsi que vos entrées et sorties

en appuyant sur le bouton Symbol Tool.

Figure 5 - Ajout de portes et de broches au circuit.

Ensuite, il faut nommer les entrées/sorties en utilisant les noms définis dans le fichier utilisé pour

l’assignation des broches (DE2_pins.csv). De cette façon, Quartus II fera la juste correspondance entre le

schéma et les connexions physiques sur la carte. Vous changerez les noms en double

6

Commencez par aller chercher les portes logiques dont vous avez besoin ainsi que vos entrées et sorties

Ensuite, il faut nommer les entrées/sorties en utilisant les noms définis dans le fichier utilisé pour

n, Quartus II fera la juste correspondance entre le

schéma et les connexions physiques sur la carte. Vous changerez les noms en double-cliquant sur

7 ELE1300 - Circuits Logiques I

Figure 6 - Changement du nom d'une broche dans le circuit.

g) Compilation La compilation est un processus permettant de transformer la description d'un circuit (schématique

dans notre cas) en un fichier de programmation permettant de programmer le FPGA de sorte à

implémenter le circuit décrit. Pour un petit projet comme celui-ci, le processus devrait prendre moins de

30 secondes, mais pour des circuits plus costauds, le processus de compilation peut requérir plus de 30

minutes.

Pour lancer le processus de compilation:

Processing-> Start Compilation (Ctrl-L)

...ou appuyez le bouton "flèche mauve" de la barre d'outil.

À la fin du processus de compilation, une fenêtre vous indiquera s’il y a des erreurs dans votre circuit. Si

tel est le cas, vous pouvez vous référer aux alertes dans la fenêtre des messages en bas de l’écran. Vous

pouvez double-cliquer sur le premier message d'erreur (rouge) pour que l'outil vous pointe la source du

problème rencontré. Une erreur fréquente consiste à court-circuiter deux sorties (sorties de portes

logiques, ou bien d'un composant de type "input". Deux sorties sont court-circuitées si elles sont reliées

par un fil. Sinon, si vous avez seulement des avertissements (warnings), n’en tenez pas compte.

h) Simulation La simulation d'un circuit logique reproduit le comportement de ce dernier au sein d'un environnement

contrôlé, fréquemment dénoté banc d'essai. Typiquement, il est plus facile de vérifier le fonctionnement

ELE1300 - Circuits Logiques I

d'un circuit dans un environnement contrôlé, et d'autre

simulation requiert typiquement moins de temps que celle requise pour réaliser un circuit p

Dans un premier temps, il faut spécifier à l’outil

ModelSim-Altera. Pour ce faire, faites

Tools -> Options…

Puis dans la catégorie General/EDA Tools Options

C:\Altera\11.0\modelsim_ase\win32aloem

Figure 7 – Spécification de l’emplacement de l’outil ModelSim

Création automatique d'une

L’outil ModelSim permet la simulation de circuits décrits en langages VHDL/Verilog. Afin de simuler un

circuit décrit schématiquement, l’outil Quartus II permet la conversion automatique vers une description

VHDL. Pour ce faire, en vous assurant que le focus est placé sur le fichier

File -> Create / Update -> Create HDL Design File from Current File...

Dans la fenêtre qui apparait, assurez

du projet), que le langage VHDL est sélectionné, et appuyez «

Nous avons maintenant une description VHDL (

(lab1.bdf) d’un même circuit dans le répertoire de projet. Toutefois,

contenir qu’une seule description à la fois d’une même entité (circuit), il faut donc inclure le fichier

lab1.vhd et exclure le fichier lab1.bdf

d'un circuit dans un environnement contrôlé, et d'autre part, la compilation requise pour

simulation requiert typiquement moins de temps que celle requise pour réaliser un circuit p

Dans un premier temps, il faut spécifier à l’outil Quartus II l’emplacement de l’outil de simulation

. Pour ce faire, faites :

General/EDA Tools Options, si ce n’est pas déjà fait, spécifiez

win32aloem pour l’outil ModelSim-Altera, tel qu’illustré à la

Spécification de l’emplacement de l’outil ModelSim-Altera.

d'une description VHDL du circuit pour la simulation

permet la simulation de circuits décrits en langages VHDL/Verilog. Afin de simuler un

circuit décrit schématiquement, l’outil Quartus II permet la conversion automatique vers une description

VHDL. Pour ce faire, en vous assurant que le focus est placé sur le fichier lab1.bdf, faites dans le menu

> Create HDL Design File from Current File...

Dans la fenêtre qui apparait, assurez-vous que l’emplacement du fichier à créer est correct

est sélectionné, et appuyez « OK ».

Nous avons maintenant une description VHDL (lab1.vhd) ainsi qu’une description schématique

) d’un même circuit dans le répertoire de projet. Toutefois, un projet Quartus II ne peut

contenir qu’une seule description à la fois d’une même entité (circuit), il faut donc inclure le fichier

lab1.bdf du projet.

8

part, la compilation requise pour réaliser une

simulation requiert typiquement moins de temps que celle requise pour réaliser un circuit physique.

l’emplacement de l’outil de simulation

spécifiez l’emplacement

, tel qu’illustré à la Figure 7.

Altera.

description VHDL du circuit pour la simulation

permet la simulation de circuits décrits en langages VHDL/Verilog. Afin de simuler un

circuit décrit schématiquement, l’outil Quartus II permet la conversion automatique vers une description

, faites dans le menu :

er est correct (répertoire

) ainsi qu’une description schématique

un projet Quartus II ne peut

contenir qu’une seule description à la fois d’une même entité (circuit), il faut donc inclure le fichier

9 ELE1300 - Circuits Logiques I

Pour retirer le fichier lab1.bdf du projet, dans l’onglet « File » du navigateur de projet, faites un clic droit

sur le fichier lab1.bdf et choisissez l’option Remove File from Project du menu contextuel.

Pour ajouter le fichier lab1.vhd au projet, dans le menu faites :

Project -> Add/Remove Files in Project...

Puis dans le champ de saisie « File name », indiquez lab1.vhd ou allez chercher le fichier en utilisant le

bouton « … », puis assurez-vous d’appuyer le bouton « add » avant de faire « Ok » dans la fenêtre de

« Settings ».

Le fichier lab1.vhd devrait ensuite être présent dans la liste de fichiers du projet. Faites un clic droit

dessus pour spécifier que ce fichier correspond à l’entité de haut niveau au moyen de l’option « Set as

Top-Level Entity ». Relancez la compilation dans Quartus II.

Description du banc de test

On peut maintenant inclure le banc de tests qui est également décrit en langage VHDL dans le projet

Quartus II. Ce fichier se nomme tb_lab1.vhd. Pour ajouter le fichier tb_lab1.vhd au projet, dans le menu

faites :

Project -> Add/Remove Files in Project...

Puis dans le champ de saisie « File name », indiquez lab1.vhd ou allez chercher le fichier en utilisant le

bouton « … », puis assurez-vous d’appuyer le bouton « add » avant de faire « Ok » dans la fenêtre de

« Settings ».

Une fois ajouté, ouvrez-le, et portez attention à la section suivante, décrivant les stimulations d’entrées

par le banc de test :

-- *** Début de stimulation des entrées *** --

SW(0) <= '0';

SW(1) <= '0';

wait for 10 ns;

SW(0) <= '1';

SW(1) <= '1';

wait for 10 ns;

-- *** Fin de stimulation des entrées *** --

Cette séquence aura pour effet de stimuler le circuit avec les entrées SW(0) et SW(1) à ‘0’ et ‘0’

respectivement, pendant une durée de 10 ns, et puis ensuite avec les valeurs ‘1’ et ‘1’ (respectivement)

pendant un autre 10 ns (Si on lance une simulation plus longue que 20 ns, la séquence sera répétée plus

d’une fois).

� Ajoutez les combinaisons d'entrées manquantes afin de tester le circuit avec tous les cas

possibles en une seule simulation. Faites attention à la syntaxe.

ELE1300 - Circuits Logiques I

Spécification du banc de test

Afin de spécifier le banc de test dans le logiciel Quartus II, dans le menu

Assignments -> Settings...

Dans la catégorie EDA Tool Settings

configuration illustrée à la Figure 8, et appuyez le bouton

Figure 8 - Spécification du banc d'essai à utiliser pour la simulation (1 de 2).

Dans la fenêtre qui s'ouvre appuyez

configuration illustrée à la Figure 9, en n'oubliant pas d'ajouter le ficher

de la fenêtre.

e test dans Quartus II

Afin de spécifier le banc de test dans le logiciel Quartus II, dans le menu faites:

EDA Tool Settings, sélectionnez la sous-catégorie Simulation

, et appuyez le bouton Test Benches...

Spécification du banc d'essai à utiliser pour la simulation (1 de 2).

Dans la fenêtre qui s'ouvre appuyez New... pour spécifier un banc de test. Reproduisez ensuite la

, en n'oubliant pas d'ajouter le ficher tb_lab1.vhd avec le bouton

10

Simulation. Reproduisez la

Spécification du banc d'essai à utiliser pour la simulation (1 de 2).

pour spécifier un banc de test. Reproduisez ensuite la

avec le bouton Add

ELE1300 - Circuits Logiques I

Figure 9 - Spécification du banc d'essai à utiliser pour la simulatio

Lancement de la simulation

Il est possible de lancer 3 différents types de simulations avec

premier type de simulation est dit de type RTL

simulations au niveau des portes logiques. Il vous sera demandé d'identifier ce qui différencie ces types

de simulations.

Commencez par lancer une simulation fonctionnelle:

Tools -> Run EDA Simulation Tool

Le logiciel ModelSim-Altera sera lan

(chronogrammes) devraient être visible

ajuster la vue du chronogramme, cliquez dans l'espace noir et puis appuyez la touche clavier "F".

Spécification du banc d'essai à utiliser pour la simulation (2 de 2).

Lancement de la simulation

Il est possible de lancer 3 différents types de simulations avec ModelSim-Altera depuis Quartus II. Le

premier type de simulation est dit de type RTL (ou fonctionnelle), tandis que les deux autres sont des

au niveau des portes logiques. Il vous sera demandé d'identifier ce qui différencie ces types

Commencez par lancer une simulation fonctionnelle:

> Run EDA Simulation Tool -> EDA RTL Simulation...

Altera sera lancé automatiquement, et les résultats de simulation

t être visibles dans la fenêtre sur fond noir, illustrée à la F

ajuster la vue du chronogramme, cliquez dans l'espace noir et puis appuyez la touche clavier "F".

11

n (2 de 2).

depuis Quartus II. Le

, tandis que les deux autres sont des

au niveau des portes logiques. Il vous sera demandé d'identifier ce qui différencie ces types

cé automatiquement, et les résultats de simulation

fond noir, illustrée à la Figure 10. Pour

ajuster la vue du chronogramme, cliquez dans l'espace noir et puis appuyez la touche clavier "F".

12 ELE1300 - Circuits Logiques I

Figure 10 - Résultats de simulation RTL sous ModelSim-Altera

Lorsque vous avez terminé, assurez-vous de fermer ModelSim-Altera avant de lancer une nouvelle

simulation, sans quoi une erreur se produira depuis l'environnement Quartus II.

Lancez ensuite les deux types de simulations au niveau des portes:

Tools -> Run EDA Simulation Tool -> EDA Gate Level Simulation...

Et choisissez ensuite l'une ou l'autre des deux options "Slow Model" ou "Fast Model".

Programmation de la carte DE2 Maintenant, vous êtes prêt à programmer la carte. Assurez-vous qu’elle soit allumée avant de

commencer, sinon Quartus II n’effectuera rien et vous verrez que deux messages d’erreurs apparaîtront

dans la fenêtre de message. De plus, vérifiez que le bouton à gauche de l’écran LCD est en position «

Run ».

Cliquez sur le bouton « programmer » , Quartus II vous ouvrira un nouvel onglet où vous verrez

l’image de la Figure 11.

Figure 11 - Fenêtre de programmation de la carte DE2

Si vous ne voyez pas le fichier « lab1.sof », cliquez sur le bouton « Add File… » (Figure 11.) et allez dans

le répertoire du projet dans lequel vous travaillez. Choisissez le fichier « lab1.sof ». Vous activez la

programmation en cochant la case « program/configure ». Ensuite, cliquez le bouton « Start » pour

lancer la configuration de votre DE2. Vous pouvez voir l’avancement de la programmation en regardant

la barre de progression en haut à droite. Quand il est à 100 %, vous pouvez utiliser votre carte. Dans

d’autres laboratoires, vous aurez à utiliser des fichiers « .sof » venant de l’extérieur. Vous pourrez les

ajouter de la même façon.

Si le bouton « Start » n’est pas sélectionnable, il se peut que le port USB ne soit plus détecté.

Débranchez-le de la carte et rebranchez-le à nouveau. Ensuite, cliquez sur le bouton « Hardware Setup…

» au dessus du bouton « Start ». Dans l’onglet « Hardware Settings », vous devriez voir dans la section «

Available Hardware items » le « USBBlaster ». Sélectionnez-le et fermez la fenêtre. Le bouton « Start »

devrait être disponible.

13 ELE1300 - Circuits Logiques I

Maintenant, effectuez vos tests et vérifiez si le circuit effectue ce qui est attendu de lui. Sinon, «

debuggez » votre circuit !

Conception de circuits logiques combinatoires à 2 entrées Combien de fonctions à deux entrées différentes existe-t-il ? Deux entrées, cela signifie qu’il y a quatre

combinaisons possibles des valeurs d’entrée (00 – 01 – 10 – 11). Pour chaque combinaison d’entrée, on

peut avoir une sortie qui vaut 1 ou 0. Cela donne donc 16 tables de vérité possibles …

Implémentez toutes les 16 tables de vérité (voir Table 1) et affichez-les avec les DELs rouges. Si la porte

logique correspondante à une table de vérité existe, vous pouvez l’utiliser directement. Sinon vous

devez l’implémenter avec les portes vues au cours. Voici le tableau des affectations :

Table 1 - Table de vérité de chaque DEL rouge (de LEDR[0] à LEDR[15])

Utilisez les DELs vertes (LEDG[0] et LEDG[1]) pour afficher l’état de chacune des entrées. Repérez les

fonctions logiques suivantes : XNOR – NAND – NOR.

On vous demande d'implémenter le circuit résultant dans un (seul) nouveau fichier schématique que

vous nommerez lab1_partie2.bdf. Une fois le fichier ajouté au projet, n'oubliez pas d'indiquer à Quartus

II que ce fichier doit maintenant être pris comme étant l'entité hiérarchique de haut-niveau lors de la

compilation avec l'option Set as Top-Level Entity.

Il ne vous est pas demandé de simuler les 16 circuits réalisés.

Bon travail !

Remise finale 1) Faites une archive .zip du répertoire contenant votre projet Quartus II.

2) Nommez cette archive lab1_XXXXXXX_YYYYYYY.zip, où XXXXXXX et YYYYYYY représentent vos

numéros de matricule.

3) Déposez le tout dans le répertoire "Remise". Attention, une fois déposé, vous n'y avez plus

accès et vous ne pouvez plus le modifier ou l'écraser.