You are on page 1of 65

UNIVERSITÉ D'OTTAWA

FACULTÉ DE GÉNIE
ÉCOLE D'INGÉNIERIE ET DE TECHNOLOGIE DE L'INFORMATION

ITI1500
Expériences de Laboratoire

A. Karmouch, V. Groza and A. Al-Dhaher

Hiver 2018
TABLE DES MATIÈRES
Table des Matières ........................................................................................................................ 1
1 - Instruction de Laboratoire ..................................................................................................... 1
1.2 - format des rapports de laboratoire ...................................................................................... 2
2 - Information Générale .............................................................................................................. 4
2.1 - instrumentation ................................................................................................................... 4
2.2 - circuits logiques combinatoires .......................................................................................... 4
3 - Carte Altera-DE2-115 ............................................................................................................. 6
3.1 - anatomie.............................................................................................................................. 6
3.2 - caractéristiques physiques .................................................................................................. 7
3.3 - débogage rapide .................................................................................................................. 7
4 - Introduction à Quartus II ....................................................................................................... 8
4.1 - téléchargement et installation de quartus............................................................................ 8
4.2 - création d'un nouveau projet ............................................................................................. 10
4.3 - création d'un nouveau schéma .......................................................................................... 12
4.4 - compilation du projet ........................................................................................................ 16
4.5 - simuler le circuit ............................................................................................................... 17
4.6 - assigner les broches .......................................................................................................... 23
4.7 - charger le projet sur la carte ............................................................................................. 26
4.8 - utiliser l'afficheur 7 segments ........................................................................................... 28
4.9 - créer un symbole à partir d'un circuit ............................................................................... 30
5 - Expériences de Laboratoire .................................................................................................. 31
5.1 - Lab 1 - portes logiques ..................................................................................................... 31
5.2 - Lab 2 - logique booléenne ................................................................................................ 37
5.3 - Lab 3 - décodeurs, afficheurs et multiplexeurs................................................................. 42
5.4 - Lab 4 - circuits arithmétiques ........................................................................................... 48
5.5 - Lab 5 - verrous et bascules ............................................................................................... 53
5.6 - Lab 6 - compteur synchrone ............................................................................................. 58
6 - annexe ..................................................................................................................................... 62
6.1 - affectation des broches ..................................................................................................... 62
1 - INSTRUCTION DE LABORATOIRE
Présence au Laboratoire

Veuillez être présents au début des séances de laboratoire. La présence est prise au début des
séances de laboratoires, ensuite les Assistants à l’Enseignement (TAs) prendront 15 à 20 minutes
pour expliquer l’expérience. Pendant ce temps, vous pourrez poser des questions concernant
l’expérience. L’absence à une séance de laboratoire entraîne une note de zéro pour le laboratoire
et le rapport ne sera pas accepté.

Équipes

Les groupes de laboratoires comportent deux étudiants seulement. Les étudiants doivent rester
dans le même groupe et avec le même TA pendant toute la durée du semestre. Chaque groupe
doit noter les données de l’expérience sur des feuilles qui seront examinées et signées par
l’assistant à l’enseignement. Ces feuilles de données doivent être attachées au rapport. Un
rapport de laboratoire est requis pour chaque groupe après chaque séance. La rédaction du
rapport doit se conformer aux directives données à la prochaine page. Si vous avez des questions,
veuillez-vous adresser à votre assistant. Les rapports doivent être remis une semaine après
l’expérience. Les rapports corrigés seront retournés au groupe à leur prochaine séance de
laboratoire. Les rapports remis en retard seront pénalisés de 5% par jour de retard.

Règles du Laboratoire

 Ne pas poser les manteaux, sacs et autres articles sur l'espace de travail.
 Utiliser le matériel de laboratoire et les instruments avec prudence pour éviter tout risque
envers vous et vos coéquipiers ainsi qu'éviter d'endommager le laboratoire ou le matériel.
 Faites vérifier votre circuit par l'assistant avant de le mettre sous tension.
 Nettoyez l'espace de travail avant votre départ.
 Demeurez à votre espace de travail et évitez de vous déplacer inutilement.

Page 1 sur 65
1.2 - FORMAT DES RAPPORTS DE LABORATOIRE
Voici une liste et brève description des différentes sections d'un rapport de laboratoire. Notez que
l'objectif d'un rapport de laboratoire est de présenter vos résultats à d'autres. Ils doivent donc être
bien présentés. Les rapports jugés de qualité inacceptable ne seront pas corrigés.

Page Couverture
La page de couverture devrait indiquer le titre de l’expérience, les noms des étudiants, les
numéros d'étudiants et la date à laquelle l’expérience a été effectuée.

Objectifs
Indiquez les objectifs principaux et secondaires. Indiquez aussi chaque loi/règle qui sera vérifié.

Matériel et Composantes Utilisés


Fournir une liste de tous les instruments et composantes utilisés dans l’expérience. Indiquez
clairement le modèle ou type.

Diagramme des Circuits


Dessinez les diagrammes des circuits qui seront testés ou utilisés dans le laboratoire ainsi que
toutes les valeurs et types des composantes utilisées.

Données Expérimentales et Calculs


A l’aide de tables, montrez les données expérimentales correspondant à chaque numéro d’étape.
Présentez les données dans le même ordre que les étapes de l’expérience. Effectuez les calculs en
utilisant les valeurs mesurées. Tous les diagrammes des circuits doivent être tracés en utilisant
une règle.

Comparaison des résultats théoriques et expérimentaux


Mettre les données théoriques et expérimentales l’un à côté de l’autre dans un tableau et faire une
comparaison. Mettez en évidence ou encerclez toute différence importante.

Discussion et Conclusion
Discutez si, en général, les résultats théoriques et expérimentaux concordent et indiquez les lois
qui ont été vérifié, les objectifs secondaires qui ont été atteint et essayez de trouver une
explication logique pour les différences importantes entre les résultats théoriques et pratiques.
Donnez un résumé des résultats dans un tableau si nécessaire et dites si les objectifs principaux
ont été atteints.

Page 2 sur 65
Données de Laboratoire
Attachez au rapport les feuilles de données signées par l’assistant qui a supervisé l’expérience.

Page 3 sur 65
2 - INFORMATION GÉNÉRALE
2.1 - INSTRUMENTATION
Pour effectuer les différents scénarios présentés dans ce manuel de laboratoire, certain appareils
seront nécessaires. Ces derniers seront énumérés et décrit dans cette section.

Carte Altera DE2-115


La carte Altera DE2-115 contient le circuit logique programmable complexe (CPLC) Altera
Cyclone IV E P4CE115 F29C7 FPGA qui sera utilisé pour la simulation des circuits logiques des
laboratoires.

2.2 - CIRCUITS LOGIQUES COMBINATOIRES


Portes Logiques

Une porte logique est l’élément le plus simple utilisé pour construire un circuit numérique. La
tension de sortie ou niveau logique de chaque type de porte est fonction des entrées appliquées à
la porte. Il y a plusieurs types de portes logiques (NON, OU, NON-ET, ET), chacune emplissant
une fonction logique particulière. Les circuits logiques sont construits en branchant différentes
portes logiques pour implémenter une fonction logique donnée.

Tables de Vérité

La fonction logique pour une seule porte ou un circuit complet utilisant un grand nombre de
portes peut être facilement représenté à l’aide d’une table de vérité ou d’une expression logique.
La construction d’une table de vérité ayant 1 et 2 variables d’entrée est illustrée dans les tables
suivantes

Tableau 2.2.1 Exemple de table de vérité (2


variables)
A B Z Tableau 2.2.2 Exemple de table de
vérité (1 variable)
0 0
A X
0 1
0
1 0
1
1 1 Entrée = A Sortie = X
Entrée = A et B, Sortie = Z

Page 4 sur 65
Exemple d'un Circuit Logique Combinatoire
Déterminez l’expression logique pour le circuit donné à la Figure 2.2.1 et prédisez l’opération
théorique de ce circuit. Montrez également comment on peut monter ce circuit sur une plaquette.

Le schéma contient deux portes logique NON-ET à deux entrées et une porte NON.

Figure 2.2.1 : Schéma pour l'exemple

L’expression logique pour la sortie de chaque porte est déterminée comme suit :

X = A B
Y=X
Z = Y C

L’analyse du circuit est effectuée en déterminant théoriquement à l’avance son opération à l’aide
d’une table de vérité. La fonction possède trois variables notées A, B et C. Au total, il y a huit
combinaisons possibles d’entrées pour trois variables.
La table de vérité contient ces combinaisons. Ensuite, les sorties de chaque porte logique sont
déterminées théoriquement et entrées dans la table tel qu’illustré dans le Tableau 2.2.3.

Tableau 2.2.3 : Table de vérité


A B C X Y Z
0 0 0 1 0 1
0 0 1 1 0 1
0 1 0 1 0 1
0 1 1 1 0 1
1 0 0 1 0 1
1 0 1 1 0 1
1 1 0 0 1 1
1 1 1 0 1 0
La fonction réalisée par tout le circuit est représentée par la sortie Z pour les entrées A, B et C.
Comme on peut le constater, la fonction résultante est équivalente à une porte NON-ET à trois
entrées. L’expression est donc:

Z = A B C

Page 5 sur 65
3 - CARTE ALTERA-DE2-115
Cette section contient un survol de la carte Altera DE2-115. Les caractéristiques physiques de la
carte seront décrites ainsi que la façon de faire les connections. Toute autre information que n'est
pas relié au côté logiciel de la simulation se trouve aussi dans cette section.

3.1 - ANATOMIE

Figure 2.2.1: Carte Altera DE2-115

Page 6 sur 65
3.2 - CARACTÉRISTIQUES PHYSIQUES
 Les boutons poussoirs, interrupteurs à bascule, témoins lumineux et afficheurs 7
segments de la carte DE2-115 fonctionnent en logique négative. Les témoins
lumineux et afficheurs 7 segments seront donc allumés si connectés à un niveau
logique HAUT et éteints lors d'un niveau logique BAS. De la même façon, mettre
l'interrupteur à bascule à la position éteinte donnera un niveau logique BAS.

 Toutes les connections sont intégrée dans la carte. Donc il n’y aura pas besoin de
branchage additionnel.

 Voir l’appendice pour les détails sur les interrupteurs, les témoins lumineux, les
afficheurs 7 segments et les boutons poussoirs de la carte.

3.3 - DÉBOGAGE RAPIDE


Si le circuit ne fonctionne pas correctement, utilisez les suggestions ci-dessous pour trouver les
erreurs dans votre circuit défectueux.

o Est-ce la carte Altera DE2-115 est sous tension?


o Quand avez-vous compilé pour la dernière fois?
o Est-ce que le bon numéro de modèle (EP4CE115F29C7N) a été choisi?
o Est-ce que les composantes de votre circuit sont bien celle que vous avez choisi
dans le diagramme?
o Est-ce qu'il y a une erreur dans le design du circuit?

Page 7 sur 65
4 - INTRODUCTION À QUARTUS II
4.1 - TÉLÉCHARGEMENT ET INSTALLATION DE QUARTUS
Le logiciel Quartus II 13.0 Service-Pack 1 utilisé dans les laboratoires est disponible
gratuitement au centre de téléchargement sur le site web d'Altera
(http://dl.altera.com/13.0sp1/?edition=web).
 Dans le menu déroulant, sélectionnez la version 13.0sp1 (Figure 4.1.1)

Figure 4.1.1: Sélection du système d'exploitation

Attention! Il est absolument nécessaire d’installer la version 13 de Quartus. Il se peut que vous
ne puissiez pas compléter les laboratoires avec d’autres versions.

Page 8 sur 65
Inscrivez-vous à « myAltera », suivez les instructions et pour télécharger le logiciel. Une fois
téléchargée rouler l’installateur.

1. Cliquez sur « next ».


2. Dans la page « License Agreement » devez lire les conditions d'utilisations très
attentivement et accepter les termes. Lorsque vous aviez finit cliquez sur « next ».
3. Dans la page « Installation Directory » choisissez une destination pour l'installation ainsi
que le pour l'entrée dans le menu démarrer et cliquez « next ».
4. Dans la page « Select Components » sélectionnez toutes les composants disponibles du
logiciel.

Votre logiciel Quartus est maintenant prêt à être utilisé.

Page 9 sur 65
4.2 - CRÉATION D'UN NOUVEAU PROJET
1. Lancé le logiciel de Quartus II 13.0 sp1. (choisir la version 64-bit sur les ordinateurs de
l’université).
2. À partir de la fenêtre principale cliquer sur le menu « file » et choisissez l’option « New
Project Wizard ». Une nouvelle fenêtre devrait apparaitre.
3. Dans cette nouvelle fenêtre cliquer sur « next ». Rendu à cette étape la fenêtre devrait
ressembler à la Figure 4.2.1.
o Nommer votre projet de façon approprié.
o Si vous utilisiez un ordinateur de l’université il est suggéré que vous choisissiez un
USB, ou vous risqueriez perdre votre progrès lorsque l’ordinateur se redémarre.

Figure 4.2.1: Création d'un projet à partir du


menu
4. Cliquez sur « next » à deux reprises (n'ajoutez pas de fichiers additionnels au projet, vous
auriez le choix de les ajouter plus tard).
o Vous devriez être rendue à la page « Family & Device Settings [page 3 of 5] »
o Configurer cette page exactement comme la Figure 4.2.2
 En premier sélectionnez Cyclone IV E dans le menu déroulant « family »
 Ensuite dans la table de « available devices » sélectionnez EP4CE115F29C7
 Si jamais vous vous trompiez, il est possible de refaire cette sélection en allant
dans le menu « Assignment » et choisir « Devices »
5. Cliquez sur « next » encore une fois et ensuite sur « finish ». Votre projet est maintenant
créé et vous pouvez voir les fichiers appartenant au projet dans la boite du côté gauche de
la fenêtre principale de Quartus.

Page 10 sur 65
Figure 4.2.2: gestionnaire de projet

Page 11 sur 65
4.3 - CRÉATION D'UN NOUVEAU SCHÉMA
Création d'un nouveau schéma
1. À partir de la fenêtre principale de Quartus, accédez au menu « file » et choisissez
« new ».
2. Dans la nouvelle fenêtre qui sera affiché (Figure 4.3.1), choisissez « Block
Diagram/Schematic » et cliquez sur OK.
o Le nouveau fichier schéma apparaît maintenant dans la fenêtre principale de
Quartus (Error! Reference source not found.).
3. Choisissez « File » et « save as ».
4. Entrez ensuite le nom que vous désirez donner au schéma et cliquez « Save ».

Figure 4.3.1: Menu création

Figure 4.3.2: Nouveau schéma

Page 12 sur 65
Ajouter des composantes au schéma
5. Cliquez avec le bouton droit dans la fenêtre de schéma et sélectionnez « insert » et
ensuite « symbol » ou simplement cliquez sur l’icône symbole. La fenêtre « symbol »
sera affiché (Figure 4.3.3).

Figure 4.3.3: Menu pour l'ajout de composantes

6. Naviguez le menu accordéon « Libraries » pour choisir les symboles des composantes
désirées (Figure 4.3.4).
o Les symboles peuvent aussi être retrouvés en entrant leur nom dans la boite
prévue à cet effet mais notez qu'il doit correspondre exactement au nom en
mémoire.

Figure 4.3.4: Composante ajouté

Page 13 sur 65
Les composantes communes peuvent être trouvés dans

 Portes logiques: /primitives/logic/


 Vcc et Gng: /primitives/other/
 Entrées et Sorties: /primitive/pin/
 Verrous et Bascules: /primitive/storage/

7. Lorsque la composante désirée est sélectionnée, cliquez sur « OK ».


o La fenêtre de schéma apparaîtra et la composante choisie sera attaché au curseur.
Cliquez aux endroits désirés pour placer les composantes.
8. Cliquer pour placer les composantes.
9. Lorsque vous avez terminé de placer les composantes, appuyez sur la touche ESC pour
retrouver le curseur normal.

 Il est conseillé de donner un nom significatif aux entrées et sorties utilisés. Ceci peut être fait
en double cliquant sur l'étiquette de nom de la composante dans le schéma et en entrant la
valeur désirée.

Placer les composantes et établir des connections


Les composantes peuvent êtres glissés sur la feuille de schéma pour produire le circuit désiré
(Figure 4.3.5).

Figure 4.3.5: Diagramme à trois composantes

10. Pour connecter les composantes, cliquez sur le symbole de l'outil « Orthogonal node
tool » .
11. Cliquez pour poser l'origine de la connexion et glissez le curseur jusqu'au point d'arrivé et
cliquez pour poser le point d'arrivé (Figure 4.3.6).
o Plusieurs segments peuvent être ainsi tracés pour joindre 2 points.

Page 14 sur 65
Figure 4.3.6: Schematic/block diagram tool bar

Figure 4.3.7: Trois composantes connectées

Page 15 sur 65
4.4 - COMPILATION DU PROJET
Avant de simuler ou charger le projet sur la carte DE2-115, il doit être compilé. Lors de la
compilation, Quartus utilise le fichier racine (Top Level Entry) ayant le même nom que le projet.
1. Si vous avez nommé votre fichier différemment :
 Allez dans l'onglet « file » du côté gauche de l’écran.
 Cliquez droit sur le fichier désiré et choisissez « Set as Top-Level Entry » (Figure
5.4.1).
2. Compiler le projet en sélectionnant « Start Compilation » sous « Processing » dans le
menu principal.
 Les résultats seront affichés dans le bas de la fenêtre.
 Les détails se trouveront dans la boite de dialogue ver le bas de la fenêtre (Figure 4.4.1).

Figure 4.4.1: Résultats de la compilation

 Si la compilation a échoué
1) Lisez les messages d'erreur
2) Déboguez votre schéma.
3) Recompiler le projet

Page 16 sur 65
4.5 - SIMULER LE CIRCUIT
Création d'un Fichier Simulation
Pour simuler un circuit, un fichier de simulation doit être crée.
Pour ce faire :
1. Allez dans le menu « File » et cliquez « new ».
2. Choisissez « University Program VWF» dans la liste (Figure 4.5.1) et cliquez « OK ».
o La fenêtre « Simulation Waveform Editor» devrait s’affiché (Figure 4.5.2)

Figure 4.5.1: Création d'un fichier de simulation

Figure 4.5.2: Fichier de simulation

Page 17 sur 65
Assigner des nœuds à la simulation
L'étape suivante consiste à attribuer les entré et sortie du circuit a ceux de la simulation.
Pour ce faire :
3. Allez dans l’éditeur de la simulation et cliquez droit dans l'espace du côté gauche de la
fenêtre.
4. Choisissez “insert” et ensuite « Insert Node or Bus » (Figure 4.5.3).
 Une nouvelle fenêtre apparaîtra.
5. Dans la fenêtre qui sera affiché, cliquez sur « node finder… » (Figure 4.5.4).
6. Dans la fenêtre du « node finder», cliquer sur « List »
 Les nœuds d’entrée/sortie du circuit devront apparaitre dans la fenêtre à gauche
(Figure 4.5.5).
7. Choisissez les points désirés et cliquez sur le bouton « > » pour les ajouter à la simulation
(Figure 4.5.5).
8. Cliquez sur « OK » à deux reprises.
 Vous devriez maintenant être de retour dans la fenêtre « Simulation Waveform
Editor».
Les entrées et sorties sélectionnées précédemment apparaissent maintenant dans le fichier de
simulation (Figure 4.5.6).

Figure 4.5.3: Ajout de nœuds à la simulation

Figure 4.5.4: Recherche de nœuds


Page 18 sur 65
Figure 4.5.5: Ajout de nœuds à la liste

Figure 4.5.6: Nœuds ajoutés

Page 19 sur 65
Création des Signaux
Pour simuler le circuit, nous devons spécifier une valeur pour chacune des entrées. Pour avoir
une simulation dite complète qui inclue la totalité de l'ensemble des combinaisons possible
d'entrer, tous les combinaisons d'entrées possibles doivent être testées.

Pour générer un signal :


9. Dans la fenêtre «Simulation Waveform Editor», choisissez une entrée et cliquez sur
l’icône («Overwrite Clock») dans la liste du côté gauche.
 La fenêtre de la Error! Reference source not found. sera affichée.
10. Choisissez une valeur de base pour la période (« Period») tel que 10 ou 20ns et une
symétrie («Duty Cycle») de 50% (Figure 4.5.7).
11. Cliquez sur « OK » et répétez la procédure avec tous les entrés, chaque fois multipliant la
valeur de base choisie par 2n, la première valeur étant n=0.
 Les entrés auront maintenant une valeur (Figure 4.5.8Error! Reference source
not found.).

Figure 4.5.7 : Menu « Overwrite Clock »


L’étape suivant consiste de choisir un temps final pour la simulation. Pour ce faire :
12. Accédez au menu «Edit » et sélectionnez «End Time».
 Entrez une valeur assez grande pour que le signal ayant la plus grande période
exécute un cycle complet (Figure 4.5.9).
o Vous devriez maintenant être de retour dans la fenêtre «Simulation Waveform
Editor».

Page 20 sur 65
Figure 4.5.8 : Signaux créés

Figure 4.5.9 : Choix de la durée de la simulation

Simulation
Finalement il s’agit de simuler le circuit. Pour ce faire :
13. Dans la fenêtre « Simulation Waveform Editor », sélectionner «options» dans le menu
« Simulation ».
14. Sélectionner « Quartus II Simulator», et cliquer sur ok.
 Ignorer les alertes.
15. Sélectionner « Run Functional Simulation » dans le menu « Simulation ».
 La simulation commencera.
 Lorsqu’il est terminé un rapport apprêtera dans une nouvelle fenêtre, comme dans
la Figure 4.5.10.

Page 21 sur 65
Figure 4.5.10 : Résultat de la simulation

Page 22 sur 65
4.6 - ASSIGNER LES BROCHES
Cette section consiste à assigner les entrées et sorties du schéma aux broches du circuit imprimé.
Pour ce faire l'outil « pin planner » doit être utilisé.
1. Pour accéder à cet outil, allez dans « Assignment » et sélectionnez « Pin Planner »
(Figure 4.6.1).
o La fenêtre du «Pin Planner» sera affiché (Figure 4.6.2).
2. Dans la liste de broches, sous le diagramme du circuit imprimé, assigne des numéros de
pates approprié aux entrées et sortie dans la colonne « Location ».
 Dans le champ « Location », tapez l’ID qui correspond au broche désiré. (ex :
PIN_G19 si vous désirer assigner le premier DEL rouge)
o Sauf si indiqué autrement par l’expérience, utiliser l’annexe 6.1 - pour déterminer
les numéros de pates qui peuvent êtres utiliser pour les entré et sortie du circuit.
o Si vos broches n’apparaissent pas dans la colonne « Location », recompiler le
projet.
3. Lorsque les entrées et sorties du schéma ont été associés avec une patte, la fenêtre peut
être fermée.
4. Recompiler votre projet, pour que vos modifications soient disponibles à être chargées
sur la carte.

Page 23 sur 65
Figure 4.6.1: Accéder au « Pin Planner »

Figure 4.6.2: Fenêtre du « Pin Planner »

Page 24 sur 65
Figure 4.6.3: Attribution des broches

Page 25 sur 65
4.7 - CHARGER LE PROJET SUR LA CARTE

Avant de procéder à charger le projet sur la carte, il est important de vérifier que vous aviez :
 Assigner vos broches d’entrées et sorties (voir sectionassigner les broches 4.6 - ).
 Sélectionner la puce (« device ») approprié (voir étape 4 dans la section 4.2 - )
 Établis votre ficher courant comme « Top Level » (voir étape 1 dans la section 4.4 - ).
 Compiler depuis la dernière modification.

Pour tester votre circuit sur la carte DE2-115, il est nécessaire que votre circuit soit chargé sur la
carte. Pour ce faire :
1. Allumez la carte Altera DE2-115 (voir Figure 2.2.1).
2. Sélectionner «Programmer» dans le menu «Tools».
o La fenêtre « Programmer » devrait apparaitre (Figure 4.7.1).
3. Le champ « Device » doit être « USB Blaster » et le «Mode» « JTAG » (Figure 4.7.1).
 Si le champ « Device » est vide :
 Sélectionner « Hardware Setup ». La fenêtre « Hardware Setup » devrait
apparaitre (Figure 4.7.2).
 Sélectionner « USB-Blaster ». dans le menu déroulant « Currently Selected
Hardware».
 Si jamais « USB-Blaster » n’est pas un choix dans le menu déroulant, fermez
et rouvrez.
4. Assurer vous que le ficher sous la colonne « file » est le ficher approprier de votre projet
(Figure 4.7.1).
5. Placer l’interrupteur (« Programming mode switch ».) de la carte Altera DE2-115 dans le
mode « run » (voir Figure 2.2.1).
6. Cliquer sur « start », dans la fenêtre « Programmer ».

Après que le logiciel confirme que la programmation a eu lieu, le circuit est prêt à être testé.

Page 26 sur 65
Figure 4.7.1: Accéder à l'outil de programmation

Figure 4.7.2: Fenêtre de l'outil de programmation

Page 27 sur 65
4.8 - UTILISER L'AFFICHEUR 7 SEGMENTS
L'afficheur 7 segments de la carte Altera DE2-115 est intérieurement au Cyclone IV.
Pour utiliser l'afficheur, des pattes spécifiques doivent être assignés comme sortie. Pour ce faire :
o Lors de l'attribution des numéros de pattes en utilisant l'outil « Pin Planner » (Figure
4.5.6) assurez-vous que chaque sortie que vous désirez connecter à l'afficheur est
associée aux pattes correspondantes en utilisant le Tableau 4.8.1.
o Les segments de l’afficheur sont présentés dans la Figure 4.8.1.
o Le point « DP » dans l’afficheur ne peut pas être utilisé.

Tableau 4.8.1 : Pates de l’afficheur 7 segments


Segment Digit 0 Digit 1 Digit 2 Digit 3
0 PIN_G18 PIN_M24 PIN_AA25 PIN_V21
1 PIN_F22 PIN_Y22 PIN_AA26 PIN_U21
2 PIN_E17 PIN_W21 PIN_Y25 PIN_AB20
3 PIN_L26 PIN_W22 PIN_W26 PIN_AA21
4 PIN_L25 PIN_W25 PIN_Y26 PIN_AD24
5 PIN_J22 PIN_U23 PIN_W27 PIN_AF23
6 PIN_H22 PIN_U24 PIN_W28 PIN_Y19
Segment Digit 4 Digit 5 Digit 6 Digit 7
0 PIN_AB19 PIN_AD18 PIN_AA17 PIN_AD17
1 PIN_AA19 PIN_AC18 PIN_AB16 PIN_AE17
2 PIN_AG21 PIN_AB18 PIN_AA16 PIN_AG17
3 PIN_AH21 PIN_AH19 PIN_AB17 PIN_AH17
4 PIN_AE19 PIN_AG19 PIN_AB15 PIN_AF17
5 PIN_AF19 PIN_AF18 PIN_AA15 PIN_AG18
6 PIN_AE18 PIN_AH18 PIN_AC17 PIN_AA14

Page 28 sur 65
Figure 4.8.1: DE2-115, 7 segments display

Page 29 sur 65
4.9 - CRÉER UN SYMBOLE À PARTIR D'UN CIRCUIT
Il est parfois utile de représenter un circuit qui est utilisé à plusieurs reprises dans le schéma par
un symbole. Pour ce faire :
 Accédez au menu « file » et, sous « create/update » cliquez sur « Create Symbol file for
current file ».
o Le circuit peut maintenant être utilisé en tant que symbole pour utilisation future.
Pour utiliser le nouveau symbole :
 Lors de votre choix de symbole (voir étape 6 de la section 4.3 - ) il y aura un nouveau
choix dans le menu déroulant « Libraries », nommée « Project ».
 Votre symbole se trouveras sous dans « Project ».

Page 30 sur 65
5 - EXPÉRIENCES DE LABORATOIRE
5.1 - LAB 1 - PORTES LOGIQUES
Objectifs:

 Construire un circuit logique combinatoire simple à partir d'un schéma.


 Déterminer expérimentalement le fonctionnement d'un circuit logique combinatoire
simple.
 Identifier les différentes fonctions logiques communes (équivalent) produites par des
circuits logiques en utilisant la table de vérité.
 Connecter différents types de portes logiques pour créer des fonctions logiques
simples.
 Analyser des circuits logiques combinatoires et prédire leur fonctionnement.
 Construire et tester des circuits logiques combinatoires plus complexes.

Matériel et Composantes
 Logiciel QUARTUS II 13.0 Service Pack 1
 Carte Altera DE2-115

Partie I – Construction de Circuits Logiques Combinatoires

Préparation
1. Écrivez les expressions logiques des circuits présentés dans les Figure 5.1.1, Figure
5.1.2 et Figure 5.1.3
2. Trouvez leurs tables de vérité.

Procédure
1. Créez un nouveau projet dans Quartus (voir section 4.2 - création d'un nouveau
projet)
2. Ajoutez un fichier de schéma au projet et dessinez le diagramme logique des circuits
présentés dans la Figure 5.1.1. (voir section 4.3 - création d'un nouveau schéma)
3. Compilez le projet (voir section 4.4 - compilation du projet)
4. Créez une simulation et notez les résultats (voir section 4.5 - simuler le circuit)
5. Assignez des broches aux entrées (interrupteurs) et sorties (témoins lumineux) (voir
section 4.6 - assigner les broches)
6. Recompilez et téléchargez le fichier compilé a la carte Altera DE2-115 (voir section
4.7 - charger le projet sur la carte)
7. Trouvez expérimentalement la table de vérité du circuit logique chargé sur la carte :
o Utilisez chaque combinaison de la table de vérité en tant qu'entré à votre circuit.
o Vérifiez si la sortie observée correspond à celle indiqué dans la table de vérité que
vous avez trouvée théoriquement.
Page 31 sur 65
8. Répétez les étapes 2 à 8 pour les circuits des Figure 5.1.2 et Figure 5.1.3.
9. Identifiez les différentes fonctions logiques équivalentes qui peuvent produire
chèques circuits.

A
B
C R

Figure 5.1.1: Circuit logique utilisant un type de


portes

A
B
U
C
D
Figure 5.1.2: Circuit logique utilisant deux types de portes

A
B

Figure 5.1.3: Circuit logique utilisant 3 types de portes

Partie II – Analyse de Circuit Logique Combinatoires

Information Pertinente
Le fonctionnement théorique d’un circuit à logique combinatoire peut être prédit en analysant la
sortie du circuit pour chaque combinaison possible des variables d’entrée. L’analyse de circuit
pour chaque combinaison est effectuée en déterminant la sortie de chaque porte logique, en
partant des entrées et en progressant vers la sortie. Nous allons voir plus tard des raccourcis pour
accélérer ce processus.
Page 32 sur 65
Les circuits logiques peuvent être équivalents d’après la fonction qu’ils réalisent. Il se peut qu’ils
réalisent la même fonction (i.e. leurs tables de vérité sont identiques) mais sont montés à partir
de portes logiques différentes ou interconnectées de manières tout à fait différentes. Nous
verrons qu’un circuit logique complexe peut être remplacé par un autre plus simple qui réalise la
même fonction.

Exemple d'Analyse de circuits logiques combinatoires

Analysez le circuit de la Figure 5.1.4 et déterminez sa table de vérité.

B
A

C
Figure 5.1.4: Schéma pour l'exemple

L’expression logique pour le circuit donné est :

J = AB+ A C

Puisque le circuit possède trois variables d’entrée, une table de vérité (Tableau 5.1.1) contenant
les 8 combinaisons possibles est construite. Pour ce faire :
 Créer une colonne de sortie séparée dans la table de vérité pour chaque porte logique
dans le circuit.
 Indiquer la fonction correspondante à chaque colonne ou le nom de la sortie.
 Déterminez la sortie de chaque porte logique, pour chacun des 8 combinaisons possibles
des variables d’entrées.
 Déterminez la sortie du circuit complet, pour chacun des 8 combinaisons possibles des
variables d’entrées.

Page 33 sur 65
Tableau 5.1.1 : Table de vérité utilisée dans l'exemple
A B C Ā AB ĀC J
0 0 0 1 0 0 0
0 0 1 1 0 1 1
0 1 0 1 0 0 0
0 1 1 1 0 1 1
1 0 0 0 0 0 0
1 0 1 0 0 0 0
1 1 0 0 1 0 1
1 1 1 0 1 0 1

Préparation
1. Écrivez l'expression logique des circuits des Figure 5.1.5, Figure 5.1.6, Figure 5.1.7 et
Figure 5.1.8.
2. Trouvez leur table de vérité.

Procédure

1. Ajoutez un fichier de schéma au projet et dessinez le diagramme logique des circuits


présentés à la Figure 5.1.5 (voir section 4.3 - création d'un nouveau schéma)
2. Compilez le projet (voir section 4.4 - compilation du projet)
3. Créez une simulation et notez les résultats (voir section 4.5 - simuler le circuit)
4. Assignez des broches aux entrées (interrupteurs) et sorties (témoins lumineux) (voir
section 4.6 - assigner les broches)
5. Chargez le fichier compilé à la carte Altera DE2-115 (voir section 4.7 - charger le
projet sur la carte)
6. Trouvez expérimentalement la table de vérité du circuit logique chargé sur la carte.
 Utilisez chaque combinaison de la table de vérité en tant qu'entré à votre circuit.
 Vérifiez si la sortie observée correspond à celle indiqué dans la table de vérité que
vous avez trouvée théoriquement.
7. Répétez les étapes 1 à 7 pour les circuits des Figure 5.1.6, Figure 5.1.7 et Figure 5.1.8

Page 34 sur 65
A

B
Figure 5.1.5: Circuit OU EXCLUSIF

C
A

V
D
B

Figure 5.1.6: Circuit ET

A
C

P
B
A

C
Figure 5.1.7: Circuit OU

Page 35 sur 65
A
B S

Co

Figure 5.1.8: Circuit à sorties multiples

Page 36 sur 65
5.2 - LAB 2 - LOGIQUE BOOLÉENNE
Objectifs:

 Simplifier des fonctions logiques à partir de leurs tables de vérité ou expression


booléennes.
 Déterminer, implémenter et tester des circuits logiques combinatoires minimaux.
 Concevoir des circuits logiques combinatoires à partir de spécifications.
 Implémenter des circuits logiques combinatoires en utilisant n'importe quelles portes
logiques disponibles.
 Implémenter des circuits logiques combinatoires en utilisant des portes NON_ET
seulement.

Matériel et composantes
 Logiciel QUARTUS II Édition Étudiante
 Carte Altera UP-1

Partie I – Minimisation de Circuits Logiques Combinatoire avec l'Algèbre


Booléenne
Une fonction logique est donnée par l'expression Booléenne suivante:

Y = ABC D+ (A+ B)(CD)+ A+ B

Préparation
1. Dessinez le diagramme du circuit logique implémentant cette fonction.
2. Dérivez la table de vérité de Y en fonction des variables logiques A, B, C et D.
3. Utilisez les règles de l'algèbre booléenne pour simplifier l'expression obtenue en (1)
autant que possible.

Procédure
1. Créez un nouveau projet dans Quartus.
2. Ajoutez un fichier de schéma au projet et dessinez le diagramme logique du circuit
implémentant la fonction minimale trouvé.
3. Compilez le projet.
4. Créez une simulation et notez les résultats.
5. Assignez les broches aux entrées (interrupteurs) et sorties (témoins lumineux) (voire
l’annexe 6.1 - ).
6. Recompilez et chargez le fichier compilé à la carte Altera DE2-115.
7. Trouvez expérimentalement la table de vérité du circuit en appliquant chaque
combinaison possible des variables logiques A, B, C et D en entrée.

Page 37 sur 65
 Vérifiez que la sortie du circuit minimal correspond à celle indiqué par la
table de vérité trouvée initialement.

Partie II – Utilisation des tables de Karnaugh pour minimiser des circuits


logiques combinatoires

Préparation
Une fonction logique est décrite par la table de vérité suivante:

Tableau 5.2.1 : Truth table of Part II logic function


A B C D Y
0 0 0 0 0 1
1 0 0 0 1 0
2 0 0 1 0 1
3 0 0 1 1 0
4 0 1 0 0 0
5 0 1 0 1 0
6 0 1 1 0 0
7 0 1 1 1 0
8 1 0 0 0 1
9 1 0 0 1 1
10 1 0 1 0 1
11 1 0 1 1 1
12 1 1 0 0 0
13 1 1 0 1 0
14 1 1 1 0 1
15 1 1 1 1 0

1. Dérivez l'expression canonique somme de produit (SDP) de la fonction Y(A, B, C, D)


à partir de le Tableau 5.2.1.
2. En utilisant les tables de Karnaugh (Error! Reference source not found.), réduisez
l'expression canonique SDP en sa forme SDP la plus simple.

Page 38 sur 65
Tableau 5.2.2 : Table de Karnaugh
CD 00 01 11 10
AB
0 1 3 2
00
4 5 7 6
01
12 13 15 14
11
8 9 11 10
10

3. Dessinez le diagramme logique du circuit implémentant la forme SDP minimisé de la


fonction.
4. Utilisez les théorèmes de De Morgan pour exprimer la forme SDP la plus simple en
termes de portes NON-ET.
5. Utilisez la table de Karnaugh pour trouver la forme produit de somme (PDS) la plus
simple de la fonction Y(A, B, C, D).
6. Dessinez le diagramme logique du circuit qui implémente l'expression minimale PDS.
Analysez le circuit et déterminez sa table de vérité.

Procédure
1. Ajoutez un fichier schéma au projet et dessinez le diagramme logique du circuit SDP
minimisé en utilisant des portes NON-ET seulement.
2. Compilez le projet
3. Assignez des broches aux entrées (interrupteurs) et sorties (témoins lumineux) (voir
l’annexe 6.1 - ).
4. Chargez le fichier compilé à la carte Altera DE2-115.
5. Trouvez la table de vérité du circuit en appliquant chaque combinaison possible des
variables d'entrée A, B, C et D.
 Vérifiez que la sortie concorde avec celle de la table de vérité donnée.
6. Répétez l’expérience avec le circuit PDS minimisé.
7. Montrez que le circuit PDS minimisé est équivalent à celui implémentant la forme
SDP simplifié.

Partie III – Conception d'un circuit logique combinatoire


Des nombres de 4 bits (N) sont appliqués aux entrées (D3, D2, D1, D0) du circuit logique montré
dans le diagramme en bloc de la Figure 6.2.2. D3 est le bit le plus significatif de la représentation
binaire de N tandis que D0 est le bit le moins significatif. La sortie (P) de ce circuit doit être
HAUTE si N à l’entrée est un nombre premier et BASSE dans le cas contraire.

Page 39 sur 65
Figure 5.2.1: Diagramme de bloc d'un détecteur de nombre premier
utilisant les portes AND

Préparation
1. Écrivez la table de vérité de P en fonction des variables logiques D3, D2, D1 et D0 en
utilisant le Tableau 5.2.3 .

Tableau 5.2.3 : Table de vérité d'un détecteur de nombre


premier
N D3 D2 D1 D0 P
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
10 1 0 1 0
11 1 0 1 1
12 1 1 0 0
13 1 1 0 1
14 1 1 1 0
15 1 1 1 1

2. Trouvez la forme canonique somme de produit (SDP) de la fonction P(D3, D2, D1, D0)
à partir de sa table de vérité.
3. Utiliser les tables de Karnaugh pour réduire cette expression SDP canonique à sa
forme SDP la plus simple.
4. Utilisez les théorèmes de De Morgan pour exprimer l'expression SDP simplifié en
utilisant que L'opération NON-ET.
5. À l'aide de l'algèbre booléenne, essayez de simplifié la forme SDP obtenu à l'aide des
tables de Karnaugh au dépend d'augmenter le nombre de niveau logiques.
Page 40 sur 65
Procédure
1. Ajoutez un fichier schéma au projet et dessinez le diagramme logique du circuit en
utilisant des portes NON-ET seulement.
2. Compilez le projet.
3. Assignez des broches aux entrées (interrupteurs) et sorties (LED) (voir l’annexe 6.1).
4. Recompilez et chargez le fichier compilé à la carte Altera DE2-115.
5. Trouvez expérimentalement la table de vérité du circuit en appliquant à l'entrée tous
les nombre de 0 à 15 sous forme binaire.
 Vérifiez que la sortie du circuit simplifié correspond à la sortie prédite par la table
de vérité trouvée précédemment.
6. Assurez-vous que la sortie de votre circuit PDS minimisé correspond à la sortie de
votre table de vérité.
7. Ajoutez un fichier schéma au projet et dessinez le diagramme logique du circuit
simplifié à l'aide de l'algèbre Booléenne
8. Compilez le projet
9. Assignez des broches aux entrées et sorties.
10. Chargez le fichier compilé à la carte Altera DE2-115
11. Effectuez les connections sur la carte en connectant les sorties aux témoins lumineux
et les entrés aux interrupteurs à bascule.
12. Montrez que le circuit minimisé avec l'algèbre booléenne est équivalent à celui que
vous avez celui implémentant la forme SDP simplifié en vérifiant expérimentalement
si leurs tables de vérité sont identiques.

Page 41 sur 65
5.3 - LAB 3 - DÉCODEURS, AFFICHEURS ET MULTIPLEXEURS
Objectifs:

 Analyser, construire et tester un décodeur 2-à-4.


 Construire et tester un circuit utilisant un afficheur 7 segments.
 Analyser, construire et tester un multiplexeur.

Matériel et composantes
 Logiciel QUARTUS II Édition Étudiante
 Carte Altera UP-1

Partie I – Décodeur 2-à-4

Information Pertinente
Un décodeur est un circuit à logique combinatoire qui possède une ou plusieurs sorties. Chacune
des sorties est activée par une entrée binaire unique. Par exemple le décodeur 2 à 4 montrée à la
Figure 6.3.1 possède deux entrées D0 et D1 et quatre sorties Y0, Y1, Y2 et Y3. Seulement une
sortie est active à tout instant.

D1 Y0
D0 Y1
2-to-4 decoder
Y2
Y3
Figure 5.3.1:Décodeur 2-à-4

Le circuit du décodeur 2 à 4 est montré dans la Figure 5.3.2. Chaque porte ET est configurée de
manière que sa sortie soit HAUTE pour une valeur particulière de D1D0. En général, la sortie qui
sera active est celle dont l’indice est équivalent à la valeur en binaire de l’entrée. Par exemple, si
D1D0 = 10, seulement la porte ET pour la sortie Y2 aura deux entrées au niveau HAUT et ainsi
une sortie HAUTE. Toutes autres sorties (Y0, Y1, et Y3) serons BAS.

Préparation
Pour le circuit de la Figure 5.3.2,

1. Écrivez l'expression logique de chaque sortie Y0, Y1, Y2 et Y3.


2. Donnez la table de vérité de chaque sortie Y0, Y1, Y2 et Y3.

Page 42 sur 65
D1
D0

Y0

Y1

Y2

Y3

Figure 5.3.2: Diagramme de circuit d'un décodeur 2-à-4

Procédure
1. Créez un nouveau projet dans Quartus
2. Ajoutez un fichier schéma au projet et dessinez le diagramme du circuit représenté à
la Figure 5.3.2.
3. Compilez le projet
4. Assignez des broches aux entrées (interrupteurs) et sorties (témoins lumineux) (voir
l’annexe 6.1).
5. Chargez le fichier compilé à la carte Altera DE2-115.
6. Obtenez la table de vérité en utilisant chaque combinaison des entrées de la table de
vérité en tant qu'entrée pour votre circuit.
 Vérifiez que la sortie obtenue correspond avec celle de la table de vérité.
7. À partir du circuit, déterminez la sortie lorsque D1D0 = 01.

Partie II – Décodeur et Afficheur Sept Segment

Information Pertinente
Les décodeurs sont utilisés dans différents types d’afficheurs tels que les afficheurs à 7 segments.
Un afficheur à 7 segments est habituellement utilisé pour afficher les chiffres décimaux de 0 à 9.
Les segments de l’afficheur sont souvent construits à partir de diodes électroluminescentes
(DEL) où seulement les segments appropriés sont allumés pour représenter le symbole désiré. Un
circuit décodeur contrôle les DEL pour afficher le caractère correspondant aux données
appliquées à l’entrée. La disposition des pattes d’un afficheur 7 segments à anode typique est
montrée à la Figure 5.3.3.
Page 43 sur 65
Figure 5.3.3: Afficheur 7 segment, DE2-115

Des décodeurs standards DCB à 7 segments sont disponibles pour fournir le signal qui est
nécessaire à un afficheur à 7 segments pour produire les chiffres de 0 à 9. Puisque nous avons à
notre disposition des afficheurs 7 segments, nous devons choisir un circuit décodeur convenable
adapté à ce type d’afficheur. Pour nos expériences nous utilisons le circuit 7447 montré dans la
Figure 5.3.4.

Figure 5.3.4: Décodeur standard et circuit d'affichage pour afficheur 7 segment

Page 44 sur 65
Procédure
Pour le circuit de la Figure 5.3.4:

1. Créez un nouveau projet dans Quartus.


2. Ajoutez un fichier schéma au projet et dessinez le diagramme du circuit (Figure 5.3.4)
3. Compilez le projet
4. Assignez des broches aux entrées (interrupteurs) et sorties (7-segment). Notez que
certaines broches spécifiques doivent être choisies. Référez-vous à la section sur les
afficheurs 7 segment pour plus de détail sur leur utilisation.
5. Chargez le fichier compilé à la carte Altera DE2-115.
6. Assignez des broches aux entrées (interrupteurs) et sorties (afficheur 7-segments) (voir
l’annexe 6.1).
 Chaque segment de l’afficheur 7-segment a son propre broche.
 Les segments sont identifiés avec les nombres de 0 à 6.
 Dans le circuit de la Figure 5.3.4: Décodeur standard et circuit d'affichage pour
afficheur 7 segment Dec0 sera associe avec le segment 0 de l’afficheur, Dec1 avec le
segment 1, et ainsi si de suite.
7. Complétez le Tableau 5.3.1 avec l'affichage généré par l'afficheur 7 segment pour les
entrés D3D2D1D0 données.
8. Vérifiez que l'affichage généré est valide en le comparant à la table de vérité donnée à la
page 174 du manuel.

Tableau 5.3.1 : Affichage correspondant aux chiffres 0-9


D3D2D1D0 Affichage D3D2D1D0 Affichage
correspondant correspondant
0000 0001
0010 0011
0100 0101
0110 0111
1000 1001

Partie III – Multiplexeurs

Information Pertinente
Un multiplexeur (abréviatif : MUX) possède plusieurs entrées et une sortie. C’est un élément qui
sert choisir une parmi les entrées et à faire apparaître celle-ci à la sortie. Ceci est contrôlé par un
autre ensemble d’entrées binaires. Les entrées parmi lesquelles on choisit la sortie sont appelées
les entrées d’information. Celles qui déterminent le signal qui sera présent à la sortie sont
appelées les entrées de commande.

Page 45 sur 65
Le multiplexeur représenté à la Figure 5.3.5: Multiplexeur possède des entrées d’informations
marquées D3 à D0 et les entrées de commandes sont notées S1 et S0.

S0
S1

D0

D1

Y
D2

D3

Figure 5.3.5: Multiplexeur

Préparation
Pour le circuit de la :

1. Déterminez le type de multiplexeur représenté par le circuit (i.e. est-ce un MUX 2-1 ou
un MUX 4-1?).
2. Écrivez l'expression Booléenne décrivant le fonctionnement de ce MUX.
3. À partir de l'expression booléenne, déterminez la valeur de Y lorsque S1S0 = 01.
4. Déterminez la table de vérité avec S1 et S0 étant les entrés de sélection, D0, D1, D2 et D3
les entrés de données et Y la sortie (en utilisant « X» pour désigner les conditions « Don’t
Care»)

Procédure
1. Créez un nouveau projet dans Quartus.
2. Ajoutez un fichier schéma au projet et dessinez le diagramme du circuit (Figure 5.3.5:
Multiplexeur).
3. Compilez le projet.
4. Assignez des broches aux entrées (bascules) et sorties (DEL).
5. Chargez le fichier compilé à la carte Altera DE2-115

Page 46 sur 65
6. Obtenez la table de vérité en utilisant chaque combinaison des entrées de la table de
vérité en tant qu'entrée pour votre circuit.
 Vérifiez que la sortie obtenue correspond avec celle de la table de vérité obtenue
théoriquement.

Page 47 sur 65
5.4 - LAB 4 - CIRCUITS ARITHMÉTIQUES
Objectifs:

 Créer et simuler un additionneur complet


 Tester un additionneur complet sur la carte Altera DE2-115.
 Utiliser des additionneurs complets pour implémenter un additionneur/soustracteur 8-
bit.
 Créer un schéma hiérarchique incluant des composants additionneurs complets et
décodeur 7 segment.
 Implémentez un détecteur de débordement utilisé dans un additionneur soustracteur à
complément à 2.

Matériel et composantes
 Logiciel QUARTUS II 13.0 Service Pack 1
 Carte Altera DE2-115

Information Pertinentes

Circuits Arithmétiques
Les circuits utilisés pour effectuer des opérations arithmétiques binaires sont basés sur des demi-
additionneurs (qui peuvent additionner deux bits et produisent une somme et une retenue) et des
additionneurs complets (qui ont une entrée de plus pour la retenue venant d’un autre additionneur
d’un bit moins significatif).
o Les additionneurs complets peuvent être groupés ensemble pour former un
additionneur binaire en parallèle. Ainsi n additionneurs complets permettent
d’additionner deux nombres de n bits, produisant une somme de n bits et un bit de
retenue.
o Un additionneur en parallèle peut être converti en un additionneur/soustracteur
utilisant le complément à 2 en introduisant des opérateurs OU-EXCLUSIF à une des
entrées binaires (par exemple B) ce qui permet d’effectuer les opérations A + B et A –
B.
o Une entrée de commande SUB.

Tableau 5.4.1 : Les fonctions de l’additionneur/soustracteur


SUB C_IN0 Math Equation Description
0 0 A+B Addition
0 1 A+B+1 Addition plus 1
1 0 ( A + B = A  B  1) Soustraction avec le complément à un
1 1 ( A + B +1= A  B) Soustraction

Page 48 sur 65
o Quand SUB est HAUT et la retenue est BAS l’OU-EXCLUSIF vas convertir le B a
son complément. ( B )
o Quand SUB est HAUT et la retenue est HAUT l’OU-EXCLUSIF vas convertir le B a
son complément, et la retenue ajoutera 1 sur le complément donnant la négation de B
(-B)
o Quand SUB est BAS et la retenue est BAS, B est transférer avec aucun changement.
o Quand SUB est BAS et la retenue est BAS, B et une addition de 1 sera transférer.
o Il y a débordement lorsque la somme ou la différence utilisant le complément à 2
excède l’intervalle de valeurs qui peuvent être représentées pour un nombre de bits
donné.
o Ceci peut être détecté par un circuit en somme de produits qui compare les deux
opérandes.

Partie I – Additionneur Complet

Procédure

C
_OU
T

A
B S
UM
C
_I
N
Figure 5.4.1: Circuit d'un additionneur complet


1. Créez un nouveau projet dans Quartus.
2. Ajoutez un fichier schéma au projet et dessinez le diagramme du circuit représenté
dans la Figure 5.4.1.
3. Compilez le projet.
4. Créez une simulation pour l'additionneur complet et montrez le à l'assistant.
5. Assignez des broches aux entrées (interrupteurs) et sorties (témoins lumineux).
6. Chargez le fichier compilé à la carte Altera DE2-115
7. Déterminez expérimentalement la table de vérité de l'additionneur complet pour
vérifier son fonctionnement. Montrez les résultats à l'assistant.

Page 49 sur 65
Partie II – Additionneur 8 bit

Préparation
1. Suivez les exemples suivants pour additionner les nombres binaires non signés
présentés dans le Tableau 5.4.2. Donnez la somme à la fois en binaire et hexadécimal.
Montrez la retenu séparément

Ex.: 10111111 + 10000001 = 01000000 (retenue = 1)

Équivalent hexadécimal: (BF)16 + (81)16 = (40)16 (retenue = 1)

Ex.: 00111111 + 0000001 = 01000000 (retenue = 0)

Équivalent hexadécimal: (3F)16 + (01)16 = (40)16 (retenue = 0)

Procédure
1. Utilisez le circuit de la partie I pour créer un bloc additionneur complet (voir section
4.9 - créer un symbole à partir d'un circuit).
2. Ajoutez un fichier schéma au projet et dessinez le diagramme de l'additionneur
parallèle 8 bit en utilisant le bloc additionneur complet.
3. Simulez votre circuit avec les entrés du Tableau 5.4.2 et comparez vos résultats.
Montrez vos résultats à l'assistant.
4. Compilez le projet
1. Pour les affectations :
 Assignez les entrées aux interrupteurs.
 Assignez les sorties numériques aux témoins lumineux (DEL) rouges.
 Assignez la sortie retenue à un témoin lumineux (DEL) vert
 Assurez-vous que les broches de vos entre et sortie sont en ordre décroissants.
5. Chargez le fichier compilé à la carte Altera DE2-115.
6. Testez le fonctionnement de l'additionneur parallèle 8 bit en appliquant les
combinaisons d'entrés A et B du Tableau 5.4.2. Montrez les résultats à votre
instructeur.

Page 50 sur 65
Tableau 5.4.2 : Quelques additions pour un additionneur parallèle 8 bits
Équivalent
Entrés binaires Retenue Somme Binaire
Hexadécimal
01111111 + 00000001
11111111 + 00000001
11000000 + 01000000
11000000 + 10000000

Partie III – Additionneur/soustracteur complément à deux (Optionnel)

Préparation
1. Suivez les exemples suivants pour additionner les nombres signés du Tableau 5.4.3,
en donnant le résultat à la fois en binaire et hexadécimal. Montrez la retenu et le
débordement séparément.
o La retenue conserve la même fonctionnalité qu’avant et n’a pas besoin
d’être modifier pour les nombres signés.

Ex: 01111111 + 01000001 = 11000000 (débordement = 1, retenue = 0);

Équivalent hexadécimal: (7F)16 + (41)16 = (C0)16

Ex: 00000000 - 00000011 = 11111101 (débordement = 0, retenue = 0);

Équivalent hexadécimal: (00)16 – (03)16 = (FD)16

(Complément à deux: (FD)16 = 11111101 = (-310))

Procédure
1. Modifiez l'additionneur 8-bit créé à la partie II pour faire un additionneur/soustracteur
complément à deux de 8-bit.
2. Incluez un détecteur de débordement qui allumera un témoin lumineux lorsque le
résultat de l'additionneur/soustracteur excède la limite permise pour un nombre signé
complément à deux de 8 bit. Affichez le résultat sur les témoins lumineux comme à la
partie II.
3. Compilez le projet
2. Pour les affectations :
 Garder la même affectation que dans la partie II.
 Assignez la sortie retenue à un témoin lumineux (DEL) vert
 Assignez l’entrée additionneur/soustracteur à un interrupteur.
4. Chargez le fichier compilé à la carte Altera DE2-115

Page 51 sur 65
5. Testez le fonctionnement du circuit en appliquant les entrés A et B du Tableau 5.4.3.
Montrez les résultats à l'assistant.

Tableau 5.4.3 : Quelques additions et soustractions pour un additionneur/soustracteur 8 bits

Entrés Binaires Débordement Retenue Somme Équivalent Complément


Binaire Hexadécimal à deux
01111111 + 00000001

11111111 + 00000001

00000000 - 00000001

00000000 - 01111111

11000000 + 01000000

11000000 + 10000000

Page 52 sur 65
5.5 - LAB 5 - VERROUS ET BASCULES
Objectifs:
 Apprendre les caractéristiques de plusieurs types important de bascules et verrous.
 Construire des verrous et bascules à partir de portes logiques de base.
 Expliquer les concepts de verrouillage et commutation sur le front.
 Tester des verrous et des bascules bistables pour comprendre leur fonctionnement.

Matériel et composantes
o Logiciel QUARTUS II 13.0 Service Pack 1
o Carte Altera DE2-115

Information Pertinente
Un circuit séquentiel est un circuit digital dont la sortie à un instant dépend non seulement de la
combinaison à l’entrée à cet instant mais aussi des entrées dans les instants précédents.

Un élément de circuit séquentiel est une composante de mémoire simple qui peut sauvegarder un
bit. Il y a deux sortes d’éléments de circuit séquentiel: le verrou « latch » et la bascule bistable
« flip-flop ». La différence réside dans la manière avec laquelle le changement d’état se fait.

Partie I – verrou SR

Information Pertinente

L’élément de circuit séquentiel le plus simple est le verrou SR. Il possède deux entrées
asynchrones (SET – pour stocker le bit 1 et RESET – pour stocker le bit 0) et deux sorties
complémentaires Q et Q qui possèdent toujours des niveaux logiques opposés (Figure 5.5.1)

Figure 5.5.1: Verrou SR

Page 53 sur 65
Le verrou SR possède deux états stables:
o SET ou ON lorsque Q= 1 et Q= 0 .
o RESET ou OFF lorsque Q= 0 et Q= 1 .

Les quatre combinaisons possible des entrés produisent les changements suivant pour le verrou:
Tableau 5.5.1 : Table de vérité d'un verrou SR
S R Action
0 0 La sortie reste la même que précédemment
0 1 RESET
1 0 SET
1 1 Combinaison interdite

Un verrou SR peut être implémenté soit avec des portes NON-OU, soit avec des portes NON-ET
(Figure 5.5.2)

Figure 5.5.2: Verrou SR implémenté avec des portes NON-OU

Procédure
1. Créez un nouveau projet dans Quartus.
2. Ajoutez un fichier schéma au projet et dessinez le diagramme du circuit d’un verrou
SR implémenté avec des portes NON-ET.
3. Compilez le projet.
4. Assignez des broches aux entrés (interrupteurs) et sorties (témoins lumineux).
5. Chargez le fichier compilé à la carte Altera DE2-115
6. Trouvez expérimentalement la table d'excitation du verrou SR que vous avez
construit, i.e., Qt+1= f(S, R, Qt)) en appliquant chaque combinaison valide en entrée.

Page 54 sur 65
Partie II – Verrou D

Information Pertinente
Il n’y a pas de combinaison interdite pour le verrou D (Figure 5.5.3). Ce verrou possède deux
modes de fonctionnement contrôlés par l’entrée ENABLE (EN).
o Lorsque EN est au niveau logique 1, la sortie du verrou prend la valeur de l’entrée D
o Lorsque EN est au niveau logique 0, le verrou conserve la dernière valeur de l’entrée
juste avant que EN passe de 1 à 0.

Figure 5.5.3: Verrou D implémenté avec un verrou SR

Le comportement du verrou D est présenté dans la Tableau 5.5.2:


Tableau 5.5.2: Table de vérité d'un verrou D
EN D Qt + 1 Qt + 1 Action Commentaire
0 x Qt Qt La sortie ne change pas Sauvegarde
1 0 0 1 RESET
1 1 1 0 SET

Page 55 sur 65
Procédure
1. Créez un nouveau projet dans Quartus.
2. Ajoutez un fichier schéma au projet et dessinez le diagramme du circuit du verrou D
implémenté avec des portes NON-ET.
3. Compilez le projet.
4. Assignez des broches aux entrées (interrupteurs) et sorties (témoins lumineux).
5. Chargez le fichier compilé à la carte Altera DE2-115.
6. Trouvez la table d'excitation du verrou D que vous avez construit et comparez cette
dernière dans celle donnée dans le Tableau 5.5.2.
7. Démontrez expérimentalement que la sortie du verrou suit l'entrée D lorsque EN est
au niveau logique haut mais ne change pas avec D lorsque EN est au niveau logique
bas.

Partie III – Bascule D

Information Pertinente
Une bascule bistable est un verrou muni d’une entrée d’horloge. La sortie de la bascule change
lorsque son entrée d’horloge (CLK) détecte une transition. Cet élément de logique séquentielle
est sensible aux transitions (contrairement au verrou qui est sensible aux niveaux).

Figure 5.5.4: Bascule D avec commutation sur (a) front montant et (b) front descendant

Le Tableau 5.5.3 montre l’opération d’une bascule D commutant sur le front antérieur. Elle
montre que l’entrée D est échantillonnée durant le front antérieur du signal d’horloge (CLK),
sauvegardée par la bascule et présentée à sa sortie.
o Tout changement à l’entrée D n’a aucun effet sur l’état de la bascule et la sortie du circuit
tant que l’entrée CLK est stable (à 0 ou 1) ou bien si CLK effectue une transition de 1 à
0.

Page 56 sur 65
Tableau 5.5.3 : Table de vérité d'une bascule D commutant sur front
montant
CLK D Qt + 1 Qt + 1 Fonction
↑ 0 0 1 RESET
↑ 1 1 0 SET
0 X Qt Qt Aucun changement
1 X Qt Qt Aucun changement
Procédure
3. Ajoutez un fichier schéma au projet et dessinez le diagramme d'une bascule D
commutant sur front montant(74715)
4. Utilisez le circuit stabilisateur pour générer l'entrée CLK.
5. Compilez le projet.
6. Pour les affectations :
 Assignez la bascule D à un interrupteur.
 Assignez CLK à un bouton poussoir
 Assignez la sortie à un témoin lumineux
7. Chargez le fichier compilé à la carte Altera DE2-115
8. Déterminez expérimentalement sur quel front de CLK la commutation du signal a
lieu. Notez dans votre laboratoire la procédure que vous avez utilisé.
9. Trouvez expérimentalement la table d'excitation de la bascule D commutant sur front
montant que vous avez construit et comparez-la avec le Tableau 5.5.3.

Partie IV – Bascule T

Information pertinente
Une bascule bistable T est une bascule dont la sortie change alternativement du niveau HAUT au
niveau BAS à chaque impulsion d’horloge lorsque l’entrée T est active.
 Une bascule bistable T peut être construite en utilisant une bascule D.

Procédure
1. Ajoutez un fichier schéma au projet et dessinez le diagramme du circuit d'une bascule
T basé sur la bascule D commutant sur front montant de la partie III.
2. Compilez le projet
10. Pour les affectations :
 Assignez la bascule T à un interrupteur.
 Assignez CLK à un bouton poussoir
 Assignez la sortie à un témoin lumineux
3. Chargez le fichier compilé à la carte Altera DE2-115.
4. Trouvez expérimentalement la table d'excitation de la bascule T que vous avez
construite.

Page 57 sur 65
5.6 - LAB 6 - COMPTEUR SYNCHRONE
Objectifs:
 Concevoir un compteur synchrone
 Simuler les fonctions de différents compteurs.
 Afficher la sortie du compteur exprimés en binaires à l'aide de témoins lumineux.
 Tester des compteurs.

Matériel et composantes
o Logiciel QUARTUS II 13.0 Service Pack 1
o Carte Altera DE2-115

Information Pertinente
La séquence de comptage est le point de départ dans la conception de compteurs. Elle peut être
spécifiée à l’aide d’une table de transition ou d’un diagramme d’état.
Dans l’exemple suivant nous allons illustrer le processus habituel pour la conception d’un
compteur synchrone.
o La séquence de comptage est donnée par le diagramme d’état de la Figure 5.6.1:
Diagramme d'état de la séquence de comptage.

Figure 5.6.1: Diagramme d'état de la séquence de comptage

Puisque les états sont représentés par des nombres de 4 bits, 4 bascules bistables seront
nécessaires pour implémenter le compteur synchrone.

La table de transition est déterminée à partir de ce diagramme d’état :


o Les deux premiers groupes (qui comptent chacun 4 colonnes) de la Figure 6.6.2 décrivent
l’état présent et l’état suivant des 4 bascules bistables du compteur (Q3, Q2, Q1, Q0).
o Les quatre groupes qui suivent (qui comptent chacun 2 colonnes) de la compteur
correspondent au entrée (Q3, Q2, Q1, Q0). du circuit.

 Les compteurs synchrones peuvent être implémentés à l’aide de n’importe quel type de
bascule bistable, par contre les bascules JK et D sont utilisées le plus souvent.
Dans notre exemple, des bascules bistables JK sont utilisées.

Page 58 sur 65
Les entrées des JK correspondantes à chaque transition sont tirées de la table d’excitation de la
bascule JK.
Tableau 5.6.1: Table de vérité du compteur
(n)
État Présent Prochain État (n+1) Entrée Q3 Entrée Q2 Entrée Q1 Entrée Q0
Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0
0 0 0 0 1 0 0 0 1 x 0 x 0 x 0 x
0 0 0 1 0 0 0 0 0 x 0 x 0 x x 1
0 0 1 0 0 0 1 1 0 x 0 x x 0 1 x
0 0 1 1 0 0 0 1 0 x 0 x x 1 x 0
0 1 0 0 x x x x x x x x x x x x
0 1 0 1 x x x x x x x x x x x x
0 1 1 0 0 0 1 0 0 x x 1 x 0 0 x
0 1 1 1 x x x x x x x x x x x x
1 0 0 0 1 1 0 0 x 0 1 x 0 x 0 x
1 0 0 1 x x x x x x x x x x x x
1 0 1 0 x x x x x x x x x x x x
1 0 1 1 x x x x x x x x x x x x
1 1 0 0 1 1 0 1 x 0 x 0 0 x 1 x
1 1 0 1 1 1 1 1 x 0 x 0 1 x x 0
1 1 1 0 0 1 1 0 x 1 x 0 x 0 0 x
1 1 1 1 1 1 1 0 x 0 x 0 x 0 x 1

Les équations des entrées synchrones sont déterminées en utilisant les tables de Karnaugh.
o Les conditions « don’t care » sont marquées d’un x.
o Les conditions non définies sont marquées d’un x en gras.

Tableau 5.6.2 : Table de Karnaugh de la bascule 3

Q1Q0 00 01 11 10 Q1Q0 00 01 11 10
Q3Q2 Q3Q2
0 1 0 0 0 00 x x x x
01 x x x 0 01 x x x x
11 x x x x 11 0 0 0 1
10 x x x x 10 0 x x x
J 3 = Q1  Q0 K 3 = Q1  Q0

Page 59 sur 65
Tableau 5.6.3 : Table de Karnaugh de la bascule 2

Q1Q0 00 01 11 10 Q1Q0 00 01 11 10
Q3Q2 Q3Q2
00 0 0 0 0 00 x x x x
01 x x x x 01 x x x 1
11 x x x x 11 0 0 0 0
10 1 x x x 10 x x x x
J 2= Q 3 K 2= Q3

Table 5.6-1:

Tableau 5.6.4 : Table de Karnaugh de la bascule 1

Q1Q0 00 01 11 10 Q1Q0 00 01 11 10
Q3Q2 Q3Q2
00 0 0 x x 00 x x 1 0
01 x x x x 01 x x x 0
11 0 1 x x 11 x x 0 0
10 0 x x x 10 x x x x
J 1 = Q3  Q0 K1 = Q3  Q0

Table 5.6-2:

Tableau 5.6.5 : Table de Karnaugh de la bascule 0

Q1Q0 00 01 11 10 Q1Q0 00 01 11 10
Q3Q2 Q3Q2
00 0 x x 1 00 x 1 0 x
01 x x x 0 01 x x x x
11 1 x x 0 11 x 0 1 x
10 0 x x x 10 x x x x
J 0= Q 2 xor Q 1 J 1 = Q3 xorQ1

Page 60 sur 65
Compteur synchrone 4 bits

Procédure
1. Créez un nouveau projet dans Quartus.
5. Ajoutez un fichier schéma au projet et dessinez le diagramme du compteur synchrone
de 4 bit donnée à la Figure 5.6.2.
6. Compilez le projet.
7. Simulez le circuit.
8. Assignez des broches aux entrées (buttons poussoirs) et sorties (témoins lumineux).
9. Chargez le fichier compilé à la carte Altera DE2-115.
10. Trouvez expérimentalement la table de comptage du compteur synchrone en appuyant
sur le bouton poussoir jusqu’à ce que la séquence se répète.
 Vérifiez que la sortie du compteur synchrone concorde avec le diagramme
d'état donnée. Démontrez l'opération de votre circuit à l'assistant.

Figure 5.6.2: Diagramme du compteur

Page 61 sur 65
6 - ANNEXE
6.1 - AFFECTATION DES BROCHES
Tableau 6.1.1 : Numéros de broches pour les témoins lumineux (DEL)
Nom du témoin DEL Numéros de Nom du témoin DEL Numéros de broche
broche FPGA FPGA
LEDR0 PIN_G19 LEDR9 PIN_G17
LEDR1 PIN_F19 LEDR10 PIN_J15
LEDR2 PIN_E19 LEDR11 PIN_H16
LEDR3 PIN_F21 LEDR12 PIN_J16
LEDR4 PIN_F18 LEDR13 PIN_H17
LEDR5 PIN_E18 LEDR14 PIN_F15
LEDR6 PIN_J19 LEDR15 PIN_G15
LEDR7 PIN_H19 LEDR16 PIN_G16
LEDR8 PIN_J17 LEDR17 PIN_H15
LEDG0 PIN_E21 LEDG5 PIN_G20
LEDG1 PIN_E22 LEDG6 PIN_G22
LEDG2 PIN_E25 LEDG7 PIN_G21
LEDG3 PIN_E24 LEDG8 PIN_F17
LEDG4 PIN_H21

Tableau 6.1.2 : Numéros de broches pour les interrupteurs à bascules


Nom de la bascule Numéros de Nom de la bascule Numéros de broche
broche FPGA FPGA
SW0 PIN_AB28 SW9 PIN_AB25
SW1 PIN_AC28 SW10 PIN_AC24
SW2 PIN_AC27 SW11 PIN_AB24
SW3 PIN_AD27 SW12 PIN_AB23
SW4 PIN_AB27 SW13 PIN_AA24
SW5 PIN_AC26 SW14 PIN_AA23
SW6 PIN_AD26 SW15 PIN_AA22
SW7 PIN_AB26 SW16 PIN_Y24
SW8 PIN_AC25 SW17 PIN_Y23

Tableau 6.1.3 : Numéros de broches pour les boutons poussoirs


Nom du bouton Numéros de Nom du bouton Numéros de broche
broche FPGA FPGA
KEY0 PIN_M23 KEY2 PIN_N21
KEY1 PIN_M21 KEY3 PIN_R24

Page 62 sur 65
Tableau 6.1.4 : Numéros de boches pour l’afficheur 7-segments
Segment Digit 0 Digit 1 Digit 2 Digit 3
0 PIN_G18 PIN_M24 PIN_AA25 PIN_V21
1 PIN_F22 PIN_Y22 PIN_AA26 PIN_U21
2 PIN_E17 PIN_W21 PIN_Y25 PIN_AB20
3 PIN_L26 PIN_W22 PIN_W26 PIN_AA21
4 PIN_L25 PIN_W25 PIN_Y26 PIN_AD24
5 PIN_J22 PIN_U23 PIN_W27 PIN_AF23
6 PIN_H22 PIN_U24 PIN_W28 PIN_Y19
Segment Digit 4 Digit 5 Digit 6 Digit 7
0 PIN_AB19 PIN_AD18 PIN_AA17 PIN_AD17
1 PIN_AA19 PIN_AC18 PIN_AB16 PIN_AE17
2 PIN_AG21 PIN_AB18 PIN_AA16 PIN_AG17
3 PIN_AH21 PIN_AH19 PIN_AB17 PIN_AH17
4 PIN_AE19 PIN_AG19 PIN_AB15 PIN_AF17
5 PIN_AF19 PIN_AF18 PIN_AA15 PIN_AG18
6 PIN_AE18 PIN_AH18 PIN_AC17 PIN_AA14

Page 63 sur 65