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