IV. simulation et implémentation -----22
IV. SIMULATION ET IMPLEMENTATION
Simulations
Nous avons procédé à la validation des fonctions suivantes sous QUARTUS après en avoir validé
la description VHDL :
- Machine à état,
- Séquenceur,
- Diviseur d’horloge,
- Les 3 blocs branchés entre eux.
IV.1 Validation de la machine à état
Circuit de test :
Figure 10 Schéma de machine à état
Chronogrammes obtenus :
Nous attaquons le système par le signal CLK et par le bus de commande C qui correspond au
registre R_Control mis à jour par le microcontrôleur. Nous plaçons les signaux aux moments
opportuns de sorte à parcourir le grafcet que nous avons établit.
Machine à état
CLK
ACQ
EOF
BB
BER
C
TMP
RW
EVT
LAB
S_state
ACQG
IV. simulation et implémentation -----23
Conclusion :
Figure 11 la résulte de la simulation de machine à état
Nous constatons le déroulement correct de la séquence prévue au niveau du vecteur d’état s_state.
IV.2 Validation du bloc séquenceur
Circuit de test :
Figure 12 Schéma de séquenceur
Chronogrammes : Nous attaquons le séquenceur par le signal d’horloge TOP, les registres de
donnée et d’adresse A et D et le vecteur de pilotage de la machine à état S_State. Nous nous
sommes efforcés de se placer dans le contexte de la machine à état qui doit recevoir les signaux de
retour du séquenceur aux moments opportuns. D’autre part la ligne SDA_in (entrée du buffer
attente
Prise de
contrôle
Cond.
start
Attente
acquittement
Emission donnée
Attente
acquittement
Cond.
stop
Séquenceur
SCL
SDA
EOF
BB
BER
ACQ
TMP
RW
EVT
LAB
SDA_IN
TOP
A[0-7]
D[0-7]
ACQG
S_state
IV. simulation et implémentation -----24
tri-state) doit être relâchée à l’état haut, sauf au moment doit être effectué l’acquittement par
l’esclave.
Figure 13 La résulte de la simulation de séquenceur
Conclusion :
Avec l’évolution du bus S_State que nous présentons, le séquenceur reproduit l’ensemble des
étapes de la prise de contrôle jusqu’à la condition de stop. Notons que les trames d’adresses et de
données sont établies sur niveau haut de SCL avec les bonnes valeurs comme convenu. Les
signaux de contrôle (EOF, BB, ACQ, ACQG, EVT, RW, LAB et TMP) réagissent au bon moment.
IV.3 Validation du diviseur de fréquence
Circuit de test :
Figure 14 Schéma de Diviseur
Chronogrammes :
Diviseur
CLK
TOP
R_clock
IV. simulation et implémentation -----25
Figure 15 la résulte de la simulation de diviseur
Nous attaquons le système par une horloge et on place la valeur « 4 » sur l’entrée « R_Clock ».
Le signal TOP change d’état tout les 5 tops d’horloges de CLK. Le retard que nous observons est
à la fréquence de simulation utilisée. (Ici, le temps de propagation du composant n’est pas
négligeable devant la période d’horloge que nous avons employée)
Conclusion :
Nous observons une division correcte de la fréquence d’horloge CLK.
IV.6 Simulation globale
Chronogramme :
Nous plaçons dans le registre C les commandes « Prise de contrôle » et « Condition de start » et
dans les registres A et D les valeurs que le séquenceur serait susceptible de trouver dans les
registres R_Data et R_Adress.
Nous attaquons le système par une horloge CLK.
Figure 16 la résulte de la simulation globale
Prise de contrôle
Condition de start
Envoi de l’adresse
Attente acquittement
IV. simulation et implémentation -----26
IV.5 implémentation
Après finir bien simulation ,nous avons besoin d’implémenter sur une carte test. Ici ,
nous utilisons la carte d’entreprise Altera.
Dans une première phase , nous réalisons l’architecture de nios en logiciel, ici nous
allons construire une processeur dans SOPC builder de quartus et se réaliser la
synthèse IP sur un hardware plate-forme .
Dans une seconde phase, vérifions la communication enter le I2C slave et la
processeur par la synthèse IP.
1) prise en main et architecture primitive
Figure 17
2) description de l’architecture
Nous avons vu bien la figure en haut qui est l’architecture primitive d’un
processeur. Mais nous n’avons pas besoin de tous les blocs.. Le filtre est entièrement
réalisé en logiciel. Dans notre projet, nous avons besoin de la CPU et la ROM
seulement. Donc nous simplifions l’architecture comme ci-dessous :
FPGAnios system
NIOS µp
I2C IP
Controlle
r
SCL
SDA
1 / 7 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !