ÉLECTRONIQUE NUMÉRIQUE - Réalisation et conception

TD Décodage - Méthode

ÉNONCÉ :

1. On veut fabriquer un plan mémoire comprenant :

10 K de PROM entre les adresses D800 et FFFF et

6K de RAM entre les adresses 4000 et 57FF.
adressable par un microprocesseur délivrant 16 bits d'adresse.

Sachant que les boîtiers PROM et RAM contiennent chacun 2K de mots, proposer un schéma utilisant des décodeurs du commerce pour fournir à chaque boîtiers une autorisation à l'état bas.

Nous avons à notre disposition les décodeurs 74 LS 138, qui est un décodeur 3à8  et le 74 LS 139 qui est un double décodeur 2à4, indépendants du point de vue de la sélection du boîtier (Chip Enable).
L'entrée A est l'entrée du LSB (Low State Bit).

                           

                                                                *******************************


Comme nous l'avons vu dans l 'énoncé, nous avons à notre disposition des boîtiers mémoire de 2K ; il nous faut donc 5 boîtiers de 2K pour les PROM et 3 boîtiers de 2K pour les RAM.

1. On commence par faire un tableau

Le processeur délivre 16 bits d'adresse, donc le tableau ira de A0 à A15.
a. Nous avons les adresses en hexadécimal, donc on se sert de l'adresse hexadécimale de début pour en connaître l'équivalent en binaire, et on complète ainsi les bits d'adresse allant de A0 à A15 de la première ligne du tableau.

Nous savons que 1K = 10 fils d'adresse, donc 10 bits.
nous avons donc  2K = 11 fils
4K = 12 fils
8K = 13 fils, etc.

Tableau n°1 :

 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 
 	 	A15	A14	A13	A12	A11	A10	A9	A8	A7	A6	A5	A4	A3	A2	A1	A0	Adressage
RAM	R0	0	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	4000 (début)
 	 	 	 	 	 	 	1	1	1	1	1	1	1	1	1	1	1	47FF (fin)
 	R1	0	1	0	0	1	0	0	0	0	0	0	0	0	0	0	0	4800 (début)
 	 	 	 	 	 	 	1	1	1	1	1	1	1	1	1	1	1	4FFF (fin)
 	R2	0	1	0	1	0	0	0	0	0	0	0	0	0	0	0	0	5000 (début)
 	 	 	 	 	 	 	1	1	1	1	1	1	1	1	1	1	1	57FF (fin)
 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 
PROM	P0	1	1	0	1	1	0	0	0	0	0	0	0	0	0	0	0	D800 (début)
 	 	 	 	 	 	 	1	1	1	1	1	1	1	1	1	1	1	DFFF (fin)
 	P1	1	1	1	0	0	0	0	0	0	0	0	0	0	0	0	0	E000 (début)
 	 	 	 	 	 	 	1	1	1	1	1	1	1	1	1	1	1	E7FF (fin)
 	P2	1	1	1	0	1	0	0	0	0	0	0	0	0	0	0	0	E800 (début)
 	 	 	 	 	 	 	1	1	1	1	1	1	1	1	1	1	1	EFFF (fin)
 	P3	1	1	1	1	0	0	0	0	0	0	0	0	0	0	0	0	F000 (début)
 	 	 	 	 	 	 	1	1	1	1	1	1	1	1	1	1	1	F7FF (fin)
 	P4	1	1	1	1	1	0	0	0	0	0	0	0	0	0	0	0	F800 (début)
 	 	 	 	 	 	 	1	1	1	1	1	1	1	1	1	1	1	FFFF (fin)
 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 

                  
                  

  Espace occupé par 2 K                

b. Pour connaître l'adresse de fin en hexadécimal du boîtier R0 :
Sachant que 2K = 11 fils d'adresse, on force tous les bits allant de A0 à A10 à " 1 ", et on converti alors le chiffre binaire en hexadécimal ; nous avons donc l'adresse de fin du boîtier de 2K commençant à l'adresse (4000)16.

Résumé de cette première étape :

On a l'adresse de début du boîtier ; on la converti en binaire
On force les bits représentant l'espace mémoire du boîtier à " 1 ", ici, de A0 à A15 ;
On converti alors le chiffre binaire trouvé en hexadécimal et l'on obtient l'adresse de fin de la mémoire.
Ensuite, par simple déduction, on écrit l'adresse de début du boîtier mémoire suivant en incrémentant l'adresse hexadécimale de fin du boîtier précédent de 1.
( il est absurde d'allouer une même adresse à deux boîtiers, voyons… !)
Et ainsi de suite pour chaque boîtier mémoire…

2. Étude du décodeur

Nous avons un décodeur de " disponible : le 74 LS 138.

Le fonctionnement de ce circuit est conditionné (le boîtier est validé par…)  avec les entrées G1, G2a et G2b ; pour que le boîtier soit validé, il faut que G1 = " 1 ", G2a = " 0 " et G2b = " 0 ".
Si le décodeur n'est pas validé, l'état logique de ses sorties sera à l'état " 1 ".

Fonctionnement du décodeur :

Toutes les sorties sont à " 1 ", sauf celle sélectionnée par le mot binaire présent en entrée.
exemple :(CBA) = (000)2, la sortie correspondante sera Y0
(CBA) = (010)2, la sortie correspondante sera Y2
(CBA) = (101)2, la sortie correspondante sera Y5


                                               

Dans un premier temps, comme nous avons 2 types de mémoire à faire fonctionner (RAM et PROM), on va prendre 2 décodeurs 74 LS 138.

Pour la sélection du boîtier, c'est à dire quand activer le décodeur " RAM " ou le décodeur " PROM ", on doit trouver un moyen de les valider séparément. Pour cela, on regarde le tableau effectué en première étape ; on peut voir que :

- Pour la RAM : A15 = 0 A14 = 1 pour tous les boîtier RAM
- Pour la PROM : A15 = 1 A14 = 1 pour tous les boîtier PROM

On obtient la première étape de construction du schéma :
La sélection des boîtiers.

                               

On remarque ici, que lorsque A15 est à " 0 ", le boîtier RAM est sélectionné car il a besoin d'un " 0 " sur G2a pour être validé et que le boîtier PROM n'est pas sélectionné car un " 0 " sort de la porte logique ET.
Et inversement, lorsque A15 est à " 1 ", le boîtier RAM est inactif car G2a reçoit un " 1 " au lieu d'un " 0 ", et le boîtier PROM est validé par un " 1 " sur G1.

Le décodeur possède 3 entrées A (LSB), B, C
On remarque dans le tableau que les bits d'adresse A13, A12, A11 pourraient représenter un mot binaire d'entrée, donc permettant de sélectionner une sortie du décodeur. On choisi donc d'attribuer ces bits d'adresse aux entrées des deux décodeurs.

                                  

Il nous suffit maintenant d'attribuer les boîtier mémoire sur les sorties correspondantes* au mot binaire présent en entrée du décodeur, en se référant au tableau. (Mot binaire représentatif d'un boîtier mémoire)

* : Voir fonctionnement du décodeur expliqué précédemment

Nous obtenons le schéma final suivant :




Fonctionnement du montage :

1. Données à mémoriser présentes dans le bus d'adresse A0 - A15,
2. Sélection des décodeurs par les entrées G1, G2a et G2b (RAM ou PROM) par A15 - A14,
3. Le mot binaire présent aux entrées C, B, A (A13 - A12 - A11) sélectionne et force la sortie Yn correspondante à " 0 "
4. Cet sortie à l'état " 0 " valide un boîtier mémoire (RAM ou PROM) actif à l'état bas, et permet ainsi à celui-ci de mémoriser les données présentes sur le bus d'adresse A0 - A10.

FIN DE LA MÉTHODE

Retour au sommaire