laboratoire III

Connaissance des circuits combinatoires de base et de décodeurs .... Il va de soit
, si l'étudiant désire concrètement réaliser les exercices proposés, qu'une bonne
connaissance des circuits logiques est .... Corriger les erreurs s'il y a lieu.

Part of the document



Laboratoire 3 : Synthèse logique : présentation du logiciel de synthèse
Quartus.



Objectifs


Général

Initiation aux outils de conception assistée par ordinateur (CAO)

Spécifiques

1. Familiarisation avec la carte UP2
2. Familiarisation avec Quartus II

Préalables

Connaissance des circuits combinatoires de base et de décodeurs
Consultation d'un document de référence de carte UP2 d'Altera



Équipement


. Le logiciel Quartus II d'Altera
. Carte UP2 d'Altera


Introduction

La carte d'Altera UP2 contient deux circuits programmables soit un CPLD et
un FPGA. Un CPLD conserve sa programmation quand on enlève l'alimentation,
par contre il y a une limite sur le nombre de fois que l'on peut le
programmer. De plus il est de petite taille, soit de 128 cellules macro,
l'équivalent de 2500 portes logiques.


Le FPGA perd sa programmation quand on enlève l'alimentation mais on peut
le programmer autant de fois qu'on le désire et elle contient 14 fois plus
de portes, soit environ 70,000 portes logiques.


On va utiliser le FPGA dans le cadre de ce cours ainsi que le logiciel
Quartus II d'Altera qui va nous permettre de télécharger la programmation
des circuits sur la carte.


Le logiciel Quartus II permet la programmation sous forme graphique ou sous
forme de description HDL. Dans le cadre de ce cours seul l'aspect de
programmation graphique est abordé, des éléments de base du langage VHDL
seront fournit si nécessaire pour la réalisation de certains travaux
pratiques.



Manipulations



Partie A : Réalisation d'une porte logique


Dans cette partie on va réaliser la conception d'une porte logique
élémentaire.

. Réaliser la démarche telle que décrite dans l'annexe A, Partie I,
Étapes I-V.


Partie B : Simulation d'un circuit simple


Dans cette partie on va réaliser la simulation d'un additionneur à 1 bit.

. Réaliser la démarche telle que décrite dans l'annexe A, Partie II,
Étape I.


Partie C : Conception hiérarchique

Dans cette partie on va réaliser la conception hiérarchique d'un
additionneur soustracteur à 4 bits.
[pic]
Étape I : Mise en place de l'environnement du projet
Créer un nouveau projet dans un nouveau répertoire sur le disque dur où
vous avez accès d'écriture.
Étape II : Symbole
Si vous n'avez pas déjà créé un symbole, faites comme dans la partie I pour
créer un symbole avec l'additionneur à 1 bit.
Étape III : Schéma
Créer un nouveau fichier graphique et réalisez le circuit.
Étape IV : Simulation
Simuler le circuit.
Étape V : Téléchargement
Télécharger ce circuit sur la carte et vérifier son fonctionnement.



Rapport


Avant la fin de la séance, vous devrez remettre un journal de bord. Vous
pouvez, si vous le souhaitez, apporter des précisions, des contributions au
présent document.


Vous devrez compléter tout le travail demandé dans les parties de ce
laboratoire et tirer vos propres conclusions des résultats.


Annexe



Guide de l'utilisateur pour Quartus II



Introduction


Cette documentation a été produite afin de permettre à des étudiants de
l'UQO de faire la synthèse de circuits numériques dans le cadre des travaux
pratiques et de projets qu'ils doivent réaliser durant leur formation.


Historique


Le tableau suivant présente l'historique des modifications faites à ce
document.

|Historique des révisions de ce document |
|Date |Description |Auteur (par ordre |
| | |alphabétique) |
|2006-06-12 |L'apparence de Quartus |Shaneen, Antoine |
|2005-07-12 |Quartus II version 5.0 |Shaneen, Antoine |
|2005-04-20 |Première version |McGirr, Stéphane et |
| | |Shaneen, Antoine |


Préalables


Il va de soit, si l'étudiant désire concrètement réaliser les exercices
proposés, qu'une bonne connaissance des circuits logiques est requise pour
aborder ce tutorial. La disposition d'un environnement de conception de
circuits digitaux est aussi souhaitable. Enfin, les notions de vérification
et de simulation sont abondamment utilisées. Une bonne connaissance de ces
notions est donc requise.

Ce tutorial utilisera la carte UP2 d'Altera alors il est nécessaire d'avoir
au moins eu une introduction à cette dernière avant de procéder la
présentation de la plate-forme de développement UP2 (9,15 Mo). La
description technique de la carte est disponible dans le fichier : upds.


Distribution


Ce tutorial peut être librement distribué.





Manipulations



Partie I





Étape I : Démarrage de Quartus II


Note : Il se pourrait que la fenêtre suivante s'affiche au démarrage pour
vous demande la licence :

[pic]

Dans ce cas, cocher Specify valid licence file et cliquer sur OK. Saisir
ensuite @metis.uqo.local dans le champ Licence file de la fenêtre qui
apparaîtra, comme l'indique la figure ci-dessous, puis cliquer sur OK.

[pic]


Voici la fenêtre d'application telle qu'elle paraît lors du démarrage.
[pic]

Ceci est la fenêtre de Quartus les outils sont disponibles dans le menu
« Tools » .

Parmi ces outils se trouvent :

. Un compilateur pour compiler le(s) unité(s) de conception.
. Un simulateur qui permet de simuler l'action de votre code à
l'intérieur de la carte (puce) cible en lui fournissant des stimuli
externes et des horloges, etc.
. Un éditeur de forme d'ondes pour créer les fichiers de stimuli
nécessaires à la simulation.
. Un programmeur pour télécharger votre code compilé sur la carte cible.
. Un afficheur de hiérarchie pour visualiser les modules de votre projet
hiérarchiquement.
. Un éditeur graphique pour le développement par schémas.
. Un éditeur texte pour l'entrée de VHDL, Verilog, etc.
. Un éditeur de symbole pour la création de symboles personnifiés.
Nous allons maintenant voir comment utiliser ces outils dans la conception
d'un projet en utilisant l'apparence de Quartus.




Étape II : Conception Graphique


QuartusII à la manière de Max+PlusII nous permet de concevoir graphiquement
un module de haut niveau (Top level module) qui en contient d'autres de
plus bas niveau.

Cliquer sur File - New Project Wizard

[pic]

Entrer dans cette boite à dialogue le nom de votre projet : combinatoire,
ainsi qu'un répertoire auquel vous avez accès d'écriture sur votre
ordinateur de travail. Donnez le nom porteEt à l'unité de conception de
plus haut niveau (Top-level).

Cliquer sur Next deux fois.

[pic]
Pour la carte UP2, choisir Flex10K comme Family et EPF10K70RC240-4 comme
Device.

Pour la carte UP3, choisir Cyclone comme Family et EP1C6Q240C8 comme
Device.

Cliquer sur Next deux fois et ensuite Finish.

Cliquer sur File - New et choisir Block Diagram/Schematic File sous
l'onglet Device Design Files.
[pic]

Vous verrez maintenant une nouvelle fenêtre avec un fond en pointillé. Ce
grillage sert à placer les composantes. Les outils de dessin se trouvent à
gauche de la fenêtre de QuartusII. Sauvegarder le fichier sous le nom
porteEt.bdf.

Maintenant vous devez dire à QuartusII que ce fichier deviendra le fichier
de plus haut niveau pour la compilation commence par celui-ci. Cliquer sur
Project - Set as Top-Level Entity dans le menu.

Double-cliquer sur le fond de la fenêtre de porteEt.bdf.

[pic]

Vous verrez apparaître une fenêtre vous offrant, en haut à gauche, les
symboles de votre projet sous Project et quelques centaines de symboles
prédéfinis sous c:/altera/quartus50/libraries.

Chercher dans c:/altera/quartus50/libraries/primitives/logic et
sélectionner le and2. Cliquer sur OK. Vous verrez alors la silhouette du
symbole se promener avec votre curseur de souris. Cliquer sur le fond de
porteEt.bdf. Une instance de la porte ET sera placée à cet endroit. Si vous
n'avez pas décoché Repeat-insert mode dans la fenêtre de sélection de
symboles, appuyez sur Esc pour sortir du mode placement multiple. Ce mode
sert à placer plusieurs instances à la fois. Continuer le dessin en
ajoutant deux broches INPUT et un OUTPUT nommées A, B et C respectivement,
comme suit :
[pic]
Sauvegarder votre conception.

Étape III : Compilation

Sélectionner Tools - Compiler Tool dans le menu.

[pic]

Cliquer sur Start. Une fois la compilation est terminée vous pouvez
consulter le rapport en cliquant sur l'icône. Il faut à ce moment corriger
les erreurs s'il y a lieu.

Étape IV : Assignation des broches

Faites l'assignation des ces broches aux broches suivantes de la carte :

Pour la carte UP2 :
|Entrée / |Broche |Fonctionnalité sur la |
|Sortie | |carte |
|A |28 |PB1 Bouton poussoir |
|B |29 |PB2 Bouton poussoir |
|C |14 |DEL |

Pour la carte UP3 :
|Entrée / |Broche |Fonctionnalité sur la |
|Sortie | |carte |
|A |48 |SW4 Bouton poussoir |
|B |49 |SW5 Bouton poussoir |
|C |56 |D3 DEL |

Si vous aviez seulement la puce FPGA à programmer, vous auriez accès à
toutes les broches pour les entrées/sorties. Malheureusement, la puce est
installée sur une carte et