Simulation de circuits logiques

Transcription

Simulation de circuits logiques
CEG2536 : ARCHITECTURE DES ORDINATEURS I
Laboratoire 21 : Conception et Simulation de Circuits
Logiques – Computer Synchrone
Automne 2007
Professeur : Miguel
Wail Gueaieb
A. Garzón
Notes
•
•
•
Travail individuel seulement.
Une pénalité de 10 points sera appliquée pour chaque jour de retard. Une heure de retard sera
considéré comme un jour!
• Tous les étudiants devraient être au courant du règlement de l’Université d’Ottawa vis-à-vis
de la fraude scolaire:
http://www.uottawa.ca/academic/info/regist/fraud_f.html
1. Objectifs:
Ce laboratoire va permettre aux étudiants se familiariser avec la conversion de critères fonctionnels
en circuits logiques, et avec l’implémentation de ces circuits en utilisant d’appareil de logique
programmable EMP7128S, qui se trouve sur la plaque UP2 de chez Altera.
Le but de ce lab est d’utiliser le logiciel de conception assistée par ordinateur Quartus II afin de:
•
•
•
Entrer le schéma de compteurs synchrones par l’éditeur graphique de Quartus II.
Assigner une location physique aux pins d’entrée et de sortie, et préparer le chargement du
programme dans la plaque UP2.
Tester le compteur:
1
Prof. Wail Gueaieb
-
CEG2536: Architecture des Ordinateurs I
Laboratoire 1
Automne 2007
Afficher les sorties du compteur comme valeur binaire sur des DELs (Diodes ElectroLuminescentes)
Observer et enregistrer les formes d’ondes obtenues en simulation
2. Ce qui est requis dans le Lab:
Les résultats suivants doivent être inclus dans votre rapport:
1. Explications de vos démarches pour arriver au résultat
2. Captures d’écran de tous les schémas et diagrammes (dont les formes d’ondes, ou
waveforms)
3. Références (exemple : « Figure 1 ») pour toutes les figures (incluant tous les schémas
et les diagrammes), et commentaires sur chaque figure (exemple : « Sur la figure 1,
nous voyons … »).
4. Commentaires sur les résultats
3. Equipements:
•
•
•
Le programme Quartus II (student edition ou web edition)
La plaque UP2 d’Altera UP2 avec:
Câble Byte blaster
La puce EMP7128S
Générateur de tension 7 VDC, 250 mA
Outils : bracelets anti-statiques, fils de gage 22, et outils manuels.
4. Références:
i. Chapitres 1 et 2 du livre: Computer Systems Architecture, Morris Mano, 3rd Ed.
ii. Chapitre 1: Rapid Prototyping of Digital Systems: Hamblin & Furman, Kluver Academic,
2nd Ed.
iii. Tutorial pour Quartus II: http://www.altera.com/literature/manual/intro_to_quartus2.pdf
5. PréLab:
Pour chacun des compteurs suivants: (a., b., et c.):
• Faites la table d’excitation de chaque bascule qui intervient dans le compteur (la table
d’excitation du compteur a. est déjà donnée ci-dessous), et
• Ecrivez et simplifiez l’expression booléenne de chaque entrée des bascules en utilisant des
tables de Karnaugh.
a. Compteur synchrone de 3 Bits, Modulo 6, avec bascules JK, qui suit la séquence cidessous:
000 Æ 010 Æ 011 Æ 110 Æ 101 Æ 001 Æ 000 Æ …
Page 2 de 5
Prof. Wail Gueaieb
CEG2536: Architecture des Ordinateurs I
Laboratoire 1
Etat
Prochain
Présent
état
Q1Q2Q3
Q1Q2Q3
000
010
011
110
101
001
010
011
110
101
001
000
Automne 2007
Entrées
synchrones
J1K1 J2K2 J3K3
0x
1x
0x
0x
x0
1x
1x
x0
x1
x0
x1
1x
x1
0x
x0
0x
0x
x1
Table 1: La table d’excitation du compteur modulo 6 avec bascules JK
b. Compteur à rebours synchrone de 4 Bits avec bascules JK
1111 Æ1110 Æ ..... Æ 0001 Æ 0000 Æ 1111Æ…
c. Compteur BCD de 4 Bits
0000 Æ 0001 Æ 0010 Æ 0011 Æ 0100 Æ 0101
Æ 0110 Æ 0111 Æ 1000 Æ 1001 Æ 0000 Æ …
6. Manipulations dans le Lab:
Pour chaque circuit ci-dessus:
1. Dessinez les schémas des circuits sur un fichier schématique (schematic file) de
Quartus II et Sauvegardez le fichier (.bdf). Sauvegardez également le schéma comme
image jpeg à inclure dans votre rapport. Dans le Project Navigator sélectionner le tab
File, vous devez trouver votre schematic file dans l’enveloppe Device Design File.
Cliquer le bouton droit sur votre schematic file et choisissez Set as Top Level Entity.
2. Choisissez le Menu Assignmets, puis Device du Menu général. Dans le Menu
Settings, pour l’option Family, choisissez : MAX7000S.
3. Sous l’option Available Devices choisissez l’appareil EMP7128SLC84-7.
4. Compilez: dans le Menu Processing, choisissez Start Compilation
5. Créez un fichier de simulation (.vwf) avec le même nom que le fichier . bdf.
6. Sélectionnez Edit >> Insert >> Insert Node or Bus… du Menu générale. Cliquez sur
le bouton Node Finder.
Page 3 de 5
Prof. Wail Gueaieb
CEG2536: Architecture des Ordinateurs I
Laboratoire 1
Automne 2007
7. Pour l’option Filter, choisissez ‘Pins : All’, puis cliquez sur le bouton List. Cliquez
sur le bouton
pour sélectionnez tous les signales.
8. Sélectionnez le signal d’horloge (clk) puis cliquez sur Edit >> Value>> Clock….
Cliquez sur le bouton OK. Vous pouvez maintenant faire une simulation et vérifier le
fonctionnement de votre compteur.
9. Pour choisir une taille de grille de 20 ns : Edit >> Grid Size, puis entrer 20 ns pour
l’option Period.
Montrez la simulation à votre instructeur et capturez la en format graphique pour
votre rapport (vous pouvez tout sélectionner, copier et coller dans un fichier .doc;
pour une meilleure visualisation de vos formes d’ondes, vous pouvez changer la base
de temps en changeant la valeur de End Time qui se trouve dans le menu Edit à 0.5
us).
1. Revenez à votre fichier .bdf et par File >> Create/ Update >> Default Symbol >>
Create Symbol Files For Current File vous pouvez créer un symbole pour votre
compteur synchrone.
2. Pour pouvoir piloter manuellement l’horloge du compteur avec un bouton-poussoir, il
est nécessaire d’avoir un dispositif anti-rebonds (debouncer), qui est disponible sur le
site web du cours sous le nom debounce.vhd. Copiez le fichier dans votre répertoire
de travail. Sélectionnez Project >> Add/ Remove Files in Project… et choisissez
debounce.vhd. Cliquez sur Add et puis OK.
3. Selectionnez dans le Project Navigator le fichier debounce.vhd et par File >> Create/
Update >> Default Symbol >> Create Symbol Files For Current File vous pouvez
créer un symbole pour le debouncer.
4. Utilisez l’éditeur graphique (Schematic file) de Quartus II pour créer un circuit de test
pour le compteur. Sauvegardez le fichier et choisissez Set as Top Level Entity.
L’entrée CLK du dispositif anti-rebonds est l’horloge du système, qui vient de
l’oscillateur de la plaque (25.175 MHz pour la UP2 d’Altera) qui est connecté
directement sur la pin 1 (vous n’avez pas besoin de connecter de fils sur cette pin!!!).
MAN correspond à l’entrée d’un bouton poussoir sur la plaque. PB_OUT est une
sortie sans rebonds qui peut être utilisée comme horloge manuelle pour le compteur.
Notez que le compteur a des sorties inversées, ce qui veut dire qu’une sortie basse du
compteur allumera une DEL.
Page 4 de 5
CEG2536: Architecture des Ordinateurs I
Laboratoire 1
Prof. Wail Gueaieb
Automne 2007
Q4
Counter
CLK
PB_Out
Q3
Clock
Debouncer
Q2
Key
Q1
MAN
Maintenant, vous pouvez faire une capture du diagramme logique de ce fichier .bdf,
et la sauvegarder pour votre rapport de lab.
5. Sélectionnez Assignement >> Pins… puis assignez des numéros de pins en vous
référant au tableau ci-dessous (pour chaque signale, cliquez sur la case Location, puis
choisissez le pin).
Si vous voulez éteindre les DELs non utilisées, vous pouvez les désactiver en leur
envoyant un niveau haut (connectez les à des pins dont vous assignerez un numéro, et
que vous enverrez vers Vcc). Compilez le fichier, et chargez le dans la plaque.
Table d’assignation des pins :
Fonction Appareil Pin
MAN
MAX_PB1 11
CLK
GCLK1
83
Q3
LED1
80
Q2
LED2
81
Q1
LED3
4
Q0
LED4
5
6. Vérifiez expérimentalement la table de comptage de votre compteur synchrone en
pressant le bouton MAN jusqu'à ce que vous retourniez à votre point de départ.
Vérifiez que la sortie de votre compteur synchrone correspond bien au diagramme
d’état que vous aviez au départ. Faites une démonstration du fonctionnement de
votre circuit à votre instructeur.
Page 5 de 5