Ecole National d’Ingénieurs de Monastir
Département de Génie Electrique
Circuits Programmables
TP 2 : Initialisation à Quartus II
Réalisée par :
Ammous Yosra
Abdaui Maram
Classe : GE 1 Groupe 2
Année universitaire : 2022/2023
~1~
Sommaire :
I. BUT :
II. INTRODUCTION :
III. MANIPULATION
1. Création d’une bascule D
2. Création d’une mémoire ROM
3. Création d’une mémoire RAM
3.1. RAM_Ip
3.2. RAM_Iq
4. Extension des mémoires de type RAM
~2~
I. BUT :
Le but de ce TP est de familiariser avec le logiciel Quartus II. Dans la première partie nous
allons réaliser un nouveau symbole graphique puis le simuler. La deuxième partie est la
création des mémoires ROM programmable et RAM à 1 port. Les chronogrammes
correspondants seront générés.
II. INTRODUCTION :
Quartus II est un logiciel développé par la société Altera, permettant la gestion complète d'un
flot de conception CPLD (Complex Programmable Logic Device, un type de circuit complexe
programmable) ou FPGA (field-programmable gate array, réseau de portes programmables in
situ). Ce logiciel permet de faire une saisie graphique ou une description HDL (VHDL ou
verilog) d'architecture numérique, d'en réaliser une simulation, une synthèse et une
implémentation sur cible reprogrammable. Il comprend une suite de fonctions de conception
au niveau système, permettant d'accéder à la large bibliothèque d'IP d'Altera et un moteur de
placement-routage intégrant la technologie d'optimisation de la synthèse physique et des
solutions de vérification. De manière générale, un flot de conception ayant pour but la
configuration de composants programmables.
Le TP présente les étapes suivantes :
Création d’un projet
Saisie de projet
Compilation
Simulation
!!! Ces étapes se répéteront à chaque fois qu’on réalise un nouveau projet.
III. MANIPULATION :
1. Création d’un bascule D :
Après avoir créé un nouveau projet, on lance un nouveau fichier graphique dans lequel
on crée à l’aide des portes NAND une bascule D :
~3~
Figure 1: Bascule D avec des portes NAND
Après faire enregistrer ce nouveau composant sous le nom de bascule_D_Symbole.bsf
nous avons Créé un fichier graphique « bascule [Link] » puis insérer
bascule_D_Symbol :
Figure
2: Bascule D
Pour vérifier le fonctionnement du bascule D, on passe à la compilation et simulation.
On crée un « vector waveforme file» toute en suivant les étapes nécessaires pour avoir
le chronogramme ci-dessous :
Figure 3: chronogramme de Bascule D
Rappelant que la bascule D fonctionne comme suit :
-si CLK=0 elle mémorise l’état précédente (Qn+1=Qn)
-si CLK=1 la sortie est identique à D (Q=D)
Puis on réalise un registre à l’aide de Bascule D :
~4~
Figure 4: Registre à décalage à droite et à chargement série
En réalisant la compilation et la simulation de ce dernier dans les différents cas, on
obtient les chronogrammes suivants :
* cas 1 :
Figure 5:Fonctionnement normale
*Cas 2 : forçage à 0 :
Figure 6: forçage à 0.
*cas 3 : forçage à 1 :
~5~
Figure 7: forçage à 1.
2. Création d’une mémoire ROM :
Après avoir créé un nouveau projet « ROM_TEST », on lance un nouveau fichier
graphique dans lequel on insère une ROM IP :
Figure 8:Mémoire RAM
Puis on compile et simule le projet :
Figure 9:Chronnogramme d'une mémoire RAM
D’après le waveform ci-dessus on tire le temps d’accès TAA et le temps de cycle TCL :
Temps d’accès : c'est le temps qui s'écoule entre le lancement d'une opération d'accès
(lecture ou écriture) et son accomplissement.
TAA=508.47ns
Temps de cycle : c’est le temps minimal s’écoulant entre deux accès successifs à la
mémoire. Il est plus long que le temps d’accès.
TCL=998.53ns
3. Création d’une mémoire RAM :
3.1-RAM_Ip :
On lance un nouveau fichier dans le projet récemment crée et on importe le composant
RAM_Ip :
~6~
Figure 10: Mémoire RAM_Ip
On compile et simule ce fichier, afin de réaliser le forçage :
*cas 1 :
Figure 11: forçage à 0
*cas 2 :
Figure 12:forçage à 1.
*cas 3:
Figure 13: mode binaire.
On regroupe le TAA et TCL dans ce tableau :
~7~
TAA TCL
Forçage à 1 2.506µs 998 ns
Forçage à 0 0 0
Binaire à 1 1.001 µs 2..516 µs
Binaire à 0 0 0
Tableau 1 : TAA et TCL de la mémoire RAM_Ip.
3.1-RAM_Iq :
De la manière , on importe la Ram _Iq :
Figure 14:Mémoire RAM -Iq
On compile et simule :
*cas 1 :
Figure 15: forçage à 0
*Cas 2 :
Figure 16: forçage à 1
*cas 3 :
~8~
Figure 17: mode binaire à 1
On regroupe le TAA et TCL dans ce tableau :
TAA TCL
Forçage à 1 504.75ns 1 µs
Forçage à 0 0 0
Binaire à 1 1.505 µs 0.0047 ns
Binaire à 0 0 0
Tableau 2 : TAA et TCL de la mémoire RAM_Iq.
4 Extension des mémoires de type RAM :
Pour obtenir une RAM2 de capacité 256 x 16 bit, à partir d’une RAM1 de capacité
256 x 8 bits, il nous faut 2 puces.
Bus d’adresse contient 8 lignes. (256=28)
Bus data contient 16 lignes. (16 bits)
Schéma :
Figure 18: Extension des mémoires de type RAM
On compile et simule :
*cas 1 :
~9~
Figure 19: forçage à 0.
*cas 2 :
Figure 20: forçage à 1.
*Cas 3 :
Figure 21: binaire à 1
~ 10 ~