Travaux Pratiques Avanc ´es (TPA) d’Electronique
Ann ´ee 2015-16
TP 5: Electronique num ´erique
Sergio Gonzalez Sevilla
*
, Antonio Miucci
D ´epartement de Physique Nucl ´eaire et Corpusculaire (DPNC)
Universit ´e de Gen `eve (Facult ´e des Sciences, Section de Physique)
Introduction
Ce labo a pour but de comprendre comment connecter de simples dispositifs d’entr´ee/sortie avec une puce
FPGA et de bˆatir un circuit qui utilise ces ´el´ements. Vous utiliserez les interrupteurs SW17-0 sur la carte DE2
comme entr´ees `a votre circuit. Vous utiliserez des LEDs et les afficheurs `a 7 segments comme sorties.
1. Logique simple
La carte DE2 est ´equip´ee de 18 interrupteurs `a bascule, appel´ees SW17-0, qui peuvent ˆetre utilis´ees comme
entr´ees dans un circuit, et de 18 LEDs rouges, appel´ees LEDR17-0, qui peuvent ˆetre utilis´ees pour afficher les
valeurs de sortie. Le bloc ci-dessous montre un exemple de code VHDL simple qui utilise ces interrupteurs
et affiche leur ´etat sur les LEDs. La carte DE2 poss`ede des connexions imprim´ees entre la puce FPGA et les
interrupteurs et les LEDs. La proc´edure pour r´ealiser un brochage, tel que d´ecrit par l’assistant au d´ebut du cours,
est ´egalement indiqu´ee dans le tutoriel
“Quartus II Introduction using VHDL Design”
.
LIBRARY
ieee
;
USE
ieee.std_logic_1164.all
;
-- Simple module that connects the SW switches to the LEDR lights
ENTITY
part1
IS
PORT
( SW
:
IN
STD_LOGIC_VECTOR
(
17
DOWNTO
0
);
LEDR
:
OUT
STD_LOGIC_VECTOR
(
17
DOWNTO
0
));
-- red LEDs
END
part1
;
ARCHITECTURE
Behavior
OF
part1
IS
BEGIN
LEDR
<=
SW;
END
Behavior
1. Cr´eez un nouveau projet avec Quartus II.
2. Dessinez avec Quartus un sch´ema pour la logique suivante :
(A AND B) OR [(NOT A) AND (NOT B)]
3. Obtenez le code VHDL (
File
→
Create
→
Create VHDL design
) pour le design que vous venez de r´ealiser
et modifiez-le pour obtenir la logique suivante :
(A AND B) OR [A OR (NOT B)]
4. ´
Ecrivez la table de v´erit´e pour votre design.
5. Simulez votre design et v´erifiez la table de v´erit´e pr´ec´edente. Expliquez la diff´erence entre les simulations
“Timing”
et
“Functional”
.
6. Programmez le FPGA Cyclone II sur la carte DE2 et v´erifiez vos r´esultats en jouant avec les interrupteurs.