Vous êtes sur la page 1sur 7

UPPA – IUT de Mont de Marsan Département Télécommunications et Réseaux

Université de Pau et des Pays de l’Adour


INSTITUT UNIVERSITAIRE DE TECHNOLOGIE
Département Réseaux & Télécommunications
Mont de Marsan

Travaux Pratiques N°1


R106

Logique combinatoire

Objectifs de la manipulation
On souhaite réaliser un circuit permettant d’afficher la valeur décimale d’un mot de 4 bits
(V=V3V2V1V0) sur deux digits (deux afficheurs 7 segment) D=d1d0
La table de vérité est décrite ci-dessous :

Exemple :
- pour V3V2V1V v3v2v1v0=1111 on affichera 15.
- pour V3V2V1V v3v2v1v0=1001 on affichera 9.
Attention : contrairement au tableau ci-dessus, l’afficheur de gauche sera éteint pour les valeurs
inférieurs ou égales à 9.

T P R106 - 1°Année 1/7 TP N°1


UPPA – IUT de Mont de Marsan Département Télécommunications et Réseaux

Matériel utilisé :
Carte DE2 + câble USB + alimentation 9Vdc + PC avec l’outil Quartus II

Déroulement de la séance
Ce TP se déroulera en 2 phases :
- Etude théorique, compréhension et détermination des différents blocs (environ 1,5h)
- Mise en place du programme dans la carte FPGA : (environ 1,5h)

Solution proposée
Le schéma fonctionnel du circuit complet réalisant cette fonction est décrit ci-dessous. Après
l’analyse de tous les blocs, vous devrez être capable de comprendre le fonctionnement de ce schéma
dans sa globalité.
Attaquons-nous donc aux différents blocs ...

T P R106 - 1°Année 2/7 TP N°1


UPPA – IUT de Mont de Marsan Département Télécommunications et Réseaux

Etude théorique

1. Bloc « decodeur 7 segments »


Le but ici est d’afficher sur un afficheur 7 segments un mot de 4 bits en décimal.
Principes de base:
0
1
5
6

4
2

3
Figure n°2 :
décomposition des 10 chiffres en
Figure n°1 : 7 segments
disposition des segments
Dans la pratique, chaque segment est réalisé à l'aide d'une diode électroluminescente; la composition
des segments allumés forme alors un caractère (voir figure n° 2):

A chaque chiffre correspond un sous ensemble de segments à éteindre et un sous


ensemble de segments à allumer:

0 est obtenu en allumant tous les segments sauf 6.


1 est obtenu en allumant seulement les segments 1 et 2,

chaque segment est activé pour certains chiffres et désactivé pour les autres:

le segment 0 doit être allumé pour les chiffres 0, 2, 3, 5, 7, 8, 9,


le segment 1 doit être allumé pour les chiffres 0, 1, 2, 3, 4, 7, 8, 9,

IMPORTANT : La logique d’allumage de segments est inversée. C'est-à-dire pour allumer un


segment il faut mettre 0 dans le tableau ci-dessous et pour l’éteindre il faut mettre un.

Code binaire Les 7 segments


Valeur décimale B[3] B[2] B[1] B[0] H[6] H[5] H[4] H[3] H[2] H[1] H[0]
0 0 0 0 0 0
1 0 0 0 1 1
2 0 0 1 0 0
3 0 0 1 1 0
4 0 1 0 0 1
5 0 1 0 1 0
6 0 1 1 0 1
7 0 1 1 1 0
8 1 0 0 0 0
9 1 0 0 1 0
10 1 0 1 0 0 0 * * * * *
11 1 0 1 1 0 0 * * * * *
12 1 1 0 0 0 0 * * * * *
13 1 1 0 1 0 0 * * * * *
14 1 1 1 0 0 0 * * * * *
15 1 1 1 1 0 0 * * * * *
Table d’ équivalence entre le code décimal et le code 7 segments

T P R106 - 1°Année 3/7 TP N°1


UPPA – IUT de Mont de Marsan Département Télécommunications et Réseaux

• Remplir la table de vérité ci-dessus pour H[5] et H[6].


• En déduire les équations logiques de H[5] et H[6].

H[5]=

H[6]=

2. Comparateur (circuit A)
Les entrées : V3,V2,V1,V0
La sortie : z.
Fonctionnement : Lorsque V dépasse la valeur 9, z devient 1 ; sinon il reste à 0.
Donner la table de vérité et l’équation logique de z. Faites vérifier.
Table de vérité :
z=

3. Circuit C
L’entrée: z
La sortie : HEX1=H0H1H2H3H4H5H6 mot de 7 bits correspondant à l’afficheur d1
Fonctionnement : On souhaite que cet afficheur reste éteint lorsque V≤9 et affiche1 lorsque
V≥10
En déduire la table de vérité et les équations logiques de H1 et H2
Donner la valeur des autres bits de HEX1.

T P R106 - 1°Année 4/7 TP N°1


UPPA – IUT de Mont de Marsan Département Télécommunications et Réseaux

Table de vérité :
HEX1[6] =
HEX1[5] =
HEX1[4] =
HEX1[3] =
HEX1[2] =
HEX1[1] =
HEX1[0] =

4. Multiplexeurs

Les entrées : V3,V2,V1,V0, B3,B2,B1,B0,z


La sortie : m3,m2,m1,m0
En déduire l’expression logique de m3,m2,m1,m0
Table de vérité :
m3 =

m2=

m1=

m0=

T P R106 - 1°Année 5/7 TP N°1


UPPA – IUT de Mont de Marsan Département Télécommunications et Réseaux

5. Circuit B
Les entrées : V3,V2,V1,V0
La sortie : B=B3B2B1B0 (mot de 3 bits)
Fonctionnement : On souhaite afficher la bonne valeur décimale sur l’afficheur d0 lorsque V≥10
Donner les tables de vérité de B3 , B2 , B1 et B0
En déduire les équations logiques
Faites vérifier.
Table de vérité :
B3 = 0

B2 =

B1=

B0=

T P R106 - 1°Année 6/7 TP N°1


UPPA – IUT de Mont de Marsan Département Télécommunications et Réseaux

Manipulation : Implantation du programme dans le FPGA

Pour ne pas perdre du temps à manipuler l’outil de développement QuartusII, nous avons déjà créé le
projet avec les blocs que vous venez d’étudier. Il vous reste cependant à compléter les blocs et les
relier ensemble.
Voici les opérateurs en langage verilog HDL.
& : ET
| : ou
~ : pas
^ : ou exclusif
Attention : les gros fils correspondent à des bus, soit un ensemble de fils (série de bits). Vous ne
pouvez pas connecter un bit avec un bus ou un ensemble de bit avec un petit fil.

Manipulation :
Démarrer la machine physique sur windows XP
Copier le répertoire complet /groupes/rt1/donnees/R106_TP1 dans votre « Mes documents ».
Vous travaillerez désormais impérativement sur « mes documents »
Double cliquez dans ce répertoire, sur le fichier TP1.qpf (quartus project file) pour l’ouvrir
Compléter le schéma
Renseigner les blocs
Compiler : Processing → Start compilation. Ne pas tenir compte des warnings.
Programmer le FPGA : Tool → programmer

Testez le programme
Faire vérifier par l’enseignant

T P R106 - 1°Année 7/7 TP N°1

Vous aimerez peut-être aussi