SEm/laboratoires/05 gpio

(Difference between revisions)
Jump to: navigation, search
(Undo revision 1321 by Oliver.gubler (talk))
Line 9: Line 9:
 
Dans un périphérique, les valeurs écrites par le microprocesseur dans les registres doivent être mémorisées.
 
Dans un périphérique, les valeurs écrites par le microprocesseur dans les registres doivent être mémorisées.
 
Par contre, les registres lus par le microprocesseur sont accèdés de manière purement combinatoire et le chemin ne doit pas être retardé par des bascules.
 
Par contre, les registres lus par le microprocesseur sont accèdés de manière purement combinatoire et le chemin ne doit pas être retardé par des bascules.
 
== Conception ==
 
 
Le périphérique met à disposition du processeur des entrées-sorties bidirectionnelles.
 
Ces entrées-sorties peuvent par exemple servir à lire des boutons et controller des LEDs.
 
 
Le nombre d'entrées/sorties et spécifié par le paramètre générique <code>ioNb</code>.
 
Chaque ligne peut être configurée dynamiquement en entrée ou en sortie.
 
  
 
=== Accès au bus AMBA ===
 
=== Accès au bus AMBA ===
Line 33: Line 25:
 
* <code>hwdata</code>
 
* <code>hwdata</code>
 
* <code>hrdata</code>}}
 
* <code>hrdata</code>}}
 +
 +
== Specification ==
 +
 +
Le périphérique met à disposition du processeur des entrées-sorties bidirectionnelles.
 +
Ces entrées-sorties peuvent par exemple servir à lire des boutons et controller des LEDs.
 +
 +
Le nombre d'entrées/sorties et spécifié par le paramètre générique <code>ioNb</code>.
 +
Chaque ligne peut être configurée dynamiquement en entrée ou en sortie.
  
 
=== Registres ===
 
=== Registres ===
Line 43: Line 43:
 
: adresse 00:  registre des données, met à disposition les valeurs des entrées
 
: adresse 00:  registre des données, met à disposition les valeurs des entrées
  
=== Code VHDL ===
+
== Conception ==
  
 
{{TaskBox|content=
 
{{TaskBox|content=
 
Dessinez le diagramme-bloc du périphérique AHB-Lite <code>ahbGpio</code>.
 
Dessinez le diagramme-bloc du périphérique AHB-Lite <code>ahbGpio</code>.
 
}}
 
}}
 +
 +
=== Réalisation ===
  
 
{{TaskBox|content=
 
{{TaskBox|content=

Revision as of 08:58, 16 April 2015

Contents

Périphérique GPIO

Introduction

Dans ce laboratoire, nous allons réaliser un périphérique très simple pour le bus AMBA-Lite: un port d'entrée-sortie bidirectionnel.

Le bus AMBA-Lite est une variante simple de la famille Advanced Microcontroller Bus Architecture (AMBA). Il est caractérisé par le fait qu'il ne comporte qu'un seul maître.

Dans un périphérique, les valeurs écrites par le microprocesseur dans les registres doivent être mémorisées. Par contre, les registres lus par le microprocesseur sont accèdés de manière purement combinatoire et le chemin ne doit pas être retardé par des bascules.

Accès au bus AMBA

Les accès se font en deux cycles, le premier pour l'adressage et le deuxième pour le transfert des données.


View-pim-tasks.png

Simuler le banc de test ahbGpio_tb avec la configuration abhGpio.do.


View-pim-tasks.png

Observez les signaux:

  • haddr
  • htrans
  • hsel
  • hwrite
  • hwdata
  • hrdata

Specification

Le périphérique met à disposition du processeur des entrées-sorties bidirectionnelles. Ces entrées-sorties peuvent par exemple servir à lire des boutons et controller des LEDs.

Le nombre d'entrées/sorties et spécifié par le paramètre générique ioNb. Chaque ligne peut être configurée dynamiquement en entrée ou en sortie.

Registres

Les registres accédés en écriture par le microprocesseur sont:

adresse 00: registre des données, contient les valeurs qui sont appliquées sur les sorties
adresse 01: registre de direction, définit la direction des entrées/sorties: le '1' indique une ligne en sortie

Le registre accédé en lecture est:

adresse 00: registre des données, met à disposition les valeurs des entrées

Conception

View-pim-tasks.png

Dessinez le diagramme-bloc du périphérique AHB-Lite ahbGpio.

Réalisation

View-pim-tasks.png

En se basant sur ce diagramme-bloc, écrivez le code VHDL du périphérique ahbGpio.

Vérification

View-pim-tasks.png

A l'aide du banc de test à disposition, simulez le système et vérifiez le bon fonctionnement du périphérique ahbGpio.


Navigation
Arrow left.gif 04 Synthèse automatique Arrow up.gif Travaux de laboratoire 06 Périphérique UART pour bus AMBA Arrow right.gif

Personal tools
Namespaces
Variants
Actions
Navigation
Modules / Projects
Browse
Toolbox