TPA ´
Electronique (2015-16)
TP 5: Electronique num ´erique — 4/
F
IGURE
4.
Multiplexeur “5 vers 1” de 3 bits.
3. Additionneur
Note : Afin d’utiliser SW17-0 et LEDR17-0, il est n´ecessaire d’inclure dans votre projet Quartus II le
brochage exact (“pin assignment“), qui vous sera donn´e dans le classeur d’instructions de labo. Par exemple, le
manuel sp´ecifie que SW0 est connect´e `a la broche N25 du FPGA et que LEDR0 est connect´e `a la broche AE23.
[Importez le fichier
“DE2 pin assignments.csv”
dans le logiciel Quartus II. Le brochage dans ce fichier est utile
seulement si les noms des broches list´es dans le fichier sont exactement les mˆemes que les noms de ports utilis´es
dans votre entit´e VHDL.]
1. R´ealisez avec Quartus II un “additionneur complet” qui prend 3 entr´ees de 1 bit (2 nombres, SW0 et SW8,
et 1 “retenue”, SW1) et affichez les r´esultats sur LEDG0 et LEDG1 en utilisant seulement des portes MUX
et OU-exclusif (XOR). [Voir par example l’intro par E. Cortina, pages 10-11]
2. Simulez votre design et comparez vos r´esultats avec la table de v´erit´e attendue.
3. Programmez le FPGA Cyclone II sur la carte DE2 et v´erifiez vos r´esultats.
4. Cr´eez un objet ´a partir du programme que vous venez d’ecrire : cr´eez un fichier .bsf (File
→
create
→
export symbol) ; incluez le fichier dans la biblioth`eque [library] (assignments
→
settings
→
...). Pour
utiliser l’objet apr`es, choisissez : edit
→
insert object (or symbol)
→
choose from file.
5. R´ealisez un “additionneur parall`ele” qui prend 2 entr´ees de 8 bits (SW0-SW7 et SW8-SW15) et affichez
les r´esultats sur LEDR0-LEDR8 en utilisant seulement des portes MUX et OU-exclusif (XOR).
6. Simulez votre design et comparez vos r´esultats avec la table de v´erit´e attendue. Combien de combinaisons
logiques diff´erentes avez vous dans la table de verit´e ?
7. Programmez le FPGA Cyclone II sur la carte DE2 et v´erifiez vos r´esultats en jouant avec les interrupteurs.
4. Affichage digital
La figure
montre un d´ecodeur de 7 segments avec 7 sorties qui sont utilis´ees pour afficher un caract`ere sur
un affichage `a 7 segments. Les 7 segments de l’affichage sont identifi´es par les chiffres 0-6 comme indiqu´e sur la
figure. Chaque segment est illumin´e lorsque la valeur logique 0 lui est assign´ee.
1. Cr´eez un nouveau projet avec Quartus II “affich digit”.
2. Si une entr´ee de 3 bits (c
2
, c
1
, c
0
) est utilis´ee, comme dans la figure, combien de caract`eres diff´erents
peuvent ˆetre affich´es sur chaque affichage ?
3. Afin de garder le design le plus simple possible, vous utiliserez 2 entr´ees (c
1
et c
0
) et vous afficherez des
nombres en base 4. Rappelez-vous qu’en base 4, les relations suivantes sont respect´ees : 1+2=3, 2+2=10,
10+30=100 et 33
(
4
)
=
15
(
10
)
=
1111
(
2
)
, o`u le chiffre apr`es la parenth`ese indique la base utilis´ee. Faˆıtes
une table avec les colonnes suivantes : les deux entr´ees c
1
et c
0
, le nombre `a afficher, et les 7 segments