Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
GELE2442 Chapitre 8 :Memoire et logique programmable
Gabriel Cormier, Ph.D., ing.
Universite de Moncton
Hiver 2015
Gabriel Cormier (UdeM) GELE2442 Chapitre 8 Hiver 2015 1 / 32
Contenu
1 RAM
2 Decodage de memoire
3 ROM
4 PLA
5 PAL
6 Dispositifs sequentiels programmables
Gabriel Cormier (UdeM) GELE2442 Chapitre 8 Hiver 2015 2 / 32
Memoire
Memoire: element cle des systemes numeriques
Tout traitement d’information necessite une memoire
Deux types de memoire utilisees dans les systemes numerique: RAM(Random-Access Memory, ou memoire a acces aleatoire) et ROM(Read-Only Memory)
RAM: lecture et ecriture
ROM: lecture seulement
Gabriel Cormier (UdeM) GELE2442 Chapitre 8 Hiver 2015 3 / 32
ROM
Dispositif logique programmable. Autres types:
PLA: programmable logic array
PAL: programmable array logic
FPGA: field-programmable gate array
Gabriel Cormier (UdeM) GELE2442 Chapitre 8 Hiver 2015 4 / 32
RAM
Memoire
Memoire: ensemble de cellules de stockage avec les circuitscomplementaires necessaires pour transferer l’information d’undispositif
L’architecture de la memoire est concue de sorte que l’informationpeut etre accedee a n’importe quel endroit
Gabriel Cormier (UdeM) GELE2442 Chapitre 8 Hiver 2015 5 / 32
RAM
Memoire
Stocker de l’information en groupes de bits appeles des mots
Mot: groupe de 1 et 0 qui represente un chiffre, une instruction, uncaractere alphanumerique ou autre
La capacite d’une memoire est normalement donnee en fonction dunombre total de bytes de la memoire.
Gabriel Cormier (UdeM) GELE2442 Chapitre 8 Hiver 2015 6 / 32
RAM
Memoire
Communication entre la memoire et son environnement obtenue parune entree et une sortie, une adresse, et des lignes de controlelecture/ecriture
Unite memoire2n mots
n bits par mot
n lignes d’entree
n lignes de sortie
k lignes d’adresse
Lecture
Ecriture
Figure 1 : Schema bloc d’une memoire
Gabriel Cormier (UdeM) GELE2442 Chapitre 8 Hiver 2015 7 / 32
RAM
Memoire
n lignes d’entree permettent d’ecrire dans la memoire lorsque Ecritureest a 1
n lignes de sortie permettent de lire les valeurs en memoire lorsqueLecture est a 1
Choix du mot a lire ou ecrire est effectue par les k bits d’adresse (oun = 2k normalement)
Ex: memoire de 10 bits aura une capacite maximale de 1024 bits(210) ou 1K
Ex: memoire de 32 bits a une taille maximale de 4Gb
Gabriel Cormier (UdeM) GELE2442 Chapitre 8 Hiver 2015 8 / 32
Decodage de memoire
Exemple de cellule de 1 bit
QS
R
EntreeSortie
Lire/Ecrire
Select
CM
Select
Sortie
Lire/Ecrire
Entree
Figure 2 : Cellule de memoire et schema bloc
Gabriel Cormier (UdeM) GELE2442 Chapitre 8 Hiver 2015 9 / 32
Decodage de memoire
Exemple de cellule de 1 bit
Composee d’un verrou SR avec des portes logiques qui forment unebascule D.
Normalement, une cellule a 4 ou 6 transistors
Pour activer la cellule (pour la lecture ou l’ecriture) on doit activerl’entee Select (Select=1)
Pour faire la lecture, Lire/Ecrire = 1, et pour faire l’ecriture,Lire/Ecrire = 0
Cette cellule de base permet de construire des memoire pluscomplexes
Gabriel Cormier (UdeM) GELE2442 Chapitre 8 Hiver 2015 10 / 32
Decodage de memoire
Exemple de memoire 4×4
CM CM CM CM
CM CM CM CM
CM CM CM CM
CM CM CM CM
Decodeur2x4
Mot 0
Mot 1
Mot 2
Mot 3
In0
Out0
In1
Out1
In2
Out2
In3
Out3
A0
A1
ENEnable
Lire/Ecrire
Gabriel Cormier (UdeM) GELE2442 Chapitre 8 Hiver 2015 11 / 32
Decodage de memoire
Memoire RAM
Deux types de memoire volatile:
SRAM (statique): conserve l’information en memoire aussi longtempsqu’elle est alimentee
SRAM: necessite normalement 4 ou 6 transistors
DRAM (dynamique): perd sa charge au fil du temps. Il faut rafraıchirla memoire periodiquement (un minimum de millisecondes). Il fautdonc lire et re-ecrire tous les bits en memoire a toutes lesmillisecondes
DRAM: necessite 1 seul transistor
DRAM: occupe beaucoup moins d’espace
Gabriel Cormier (UdeM) GELE2442 Chapitre 8 Hiver 2015 12 / 32
ROM
ROM
Circuit combinatoire avec k entrees et n sorties
Entrees: adresses
Sorties: donnees
Un ROM memorise la table de verite d’une fonction logique a kentrees et n sorties
Ex: un ROM a 3 entrees et 4 sorties serait appele un ROM 8× 4(8 = 23)
ROM est une memoire non volatile: l’information est conservee memesi le ROM n’est pas sous tension.
Gabriel Cormier (UdeM) GELE2442 Chapitre 8 Hiver 2015 13 / 32
ROM
ROM
Mecanismes internes utilises pour stocker l’information varient selonle fabriquant du ROM
En general, la presence ou l’absence d’une diode ou d’un transistorfait la difference entre un 0 ou un 1
Gabriel Cormier (UdeM) GELE2442 Chapitre 8 Hiver 2015 14 / 32
ROM
ROM
1
0
WL
BL
WL
BL
Diode
WL
BL
VDD
WL
BL
MOS OR
WL
BL
WL
BL
MOS NOR
Figure 3 : Exemple de cellules ROM
Gabriel Cormier (UdeM) GELE2442 Chapitre 8 Hiver 2015 15 / 32
ROM
ROM
Il existe plusieurs types de ROM:
PROM: Programmable ROM. On utilise un programme pourenregistrer les valeurs sur le ROM.
EPROM: Erasable PROM. Comme le PROM, sauf qu’on peut effacerle programme en l’exposant a de la lumiere UV pour 5 a 10 minutes.
EEPROM: Electrically Erasable PROM. Comme un EPROM, saufqu’on peut effacer les bits electroniquement. Le nombre de cycleslecture/ecriture est limite. Utilise lorsque les donnees ne changerontpas souvent, comme le BIOS d’un ordinateur.
FLASH: transistors programmables. Nombre de cycles lecture/ecriturelimite, mais un peu plus que le EEPROM. Permet d’obtenir desdensites (MB/mm2) tres elevees.
Gabriel Cormier (UdeM) GELE2442 Chapitre 8 Hiver 2015 16 / 32
ROM
Avantages et desavantages
Pour des fonctions de complexite moyenne, un ROM esthabituellement plus rapide qu’un circuit avec plusieurs appareilsSSI/MSI et des PLD, et souvent plus rapide qu’un FPGA ou LSI
Pour des fonctions de complexite simples a moyennes, le ROM estgeneralement plus couteux, consomme plus d’electricite ou est pluslent qu’un circuit concu avec des SSI/MSI.
Gabriel Cormier (UdeM) GELE2442 Chapitre 8 Hiver 2015 17 / 32
ROM Types de PLD
Types de PLD
Trois types principaux de PLD: le PROM, le PAL et le PLA. Le PLA offreplus de flexibilite.
Matrice ANDfixe
(decodeur)
Matrice ORprogrammable
Matrice ANDprogrammable
Matrice ORfixe
Matrice ANDprogrammable
Matrice ORprogrammable
Entrees Sorties
Entrees Sorties
Entrees Sorties
a) PROM
b) PAL
c) PLA
Gabriel Cormier (UdeM) GELE2442 Chapitre 8 Hiver 2015 18 / 32
PLA
PLA
Similaire au PROM
Ne permet pas de decoder completement les variables d’entree
Ne genere pas tous les mintermes
Constitue d’une serie de portes AND programmables et de portes ORprogrammables, et normalement une serie de portes XOR a la sortie
Les portes XOR permettent d’obtenir une fonction complementee sinecessaire
Gabriel Cormier (UdeM) GELE2442 Chapitre 8 Hiver 2015 19 / 32
PLA
PLA: exemple
On veut programmer les deux fonctions suivantes:
F1 = AB′ +AC +A′BC ′
F2 = (AC +BC)′
Gabriel Cormier (UdeM) GELE2442 Chapitre 8 Hiver 2015 20 / 32
PLA
1
0
CBA
× ×× ×× × ×
× ×
×× ××
× ××
F1
F2
Gabriel Cormier (UdeM) GELE2442 Chapitre 8 Hiver 2015 21 / 32
PLA
Tableau de programmation
Representation de la programmation du PLA
SortiesEntrees V C
Produit A B C F1 F2
AB′ 1 1 0 – 1 –AC 2 – 1 1 1 1BC 3 – 1 1 – 1A′BC ′ 4 0 1 0 1 –
Figure 4 : Tableau de programmation PLA
Gabriel Cormier (UdeM) GELE2442 Chapitre 8 Hiver 2015 22 / 32
PAL
PAL
Dispositif programmable qui a une serie de portes OR fixe et unematrice de portes AND programmables
Plus facile a programmer, mais moins flexible
Exemple a la diapo suivante
Gabriel Cormier (UdeM) GELE2442 Chapitre 8 Hiver 2015 23 / 32
PAL
F1
F2
F3
1
2
3
4
5
6
7
8
9
I1
I2
I3
Gabriel Cormier (UdeM) GELE2442 Chapitre 8 Hiver 2015 24 / 32
PAL
Exemple
Donner le circuit et le tableau de programmation pour les fonctionssuivantes, si on utilise le PAL de la diapo precedente.
W =∑ABC
(1, 3, 6, 7)
X =∑ABC
(1, 3, 4, 5, 6)
Y =∑ABC
(0, 1, 3, 6, 7)
Gabriel Cormier (UdeM) GELE2442 Chapitre 8 Hiver 2015 25 / 32
PAL
Exemple (suite)
On peut simplifier les fonctions avec des diagrammes de Karnaugh, et ainsiobtenir:
W = A′C +AB
X = C +AB′
Y = A′C +AB +A′B′ = W +A′B′
Gabriel Cormier (UdeM) GELE2442 Chapitre 8 Hiver 2015 26 / 32
PAL
Exemple (suite)
On obtient alors le tableau de programmation de la figure 5, et le circuitde la figure 6.
Entrees ANDProduit A B C W Sorties
1 0 – 1 – W = A′C +AB2 1 1 – –3 – – – –4 – – 1 – X = C +AB′
5 1 0 – –6 – – – –7 – – – 1 Y = W +A′B′
8 0 0 – –9 – – – –
Figure 5 : Tableau de programmation PAL de l’exemple
Gabriel Cormier (UdeM) GELE2442 Chapitre 8 Hiver 2015 27 / 32
PAL
1
2
3
4
5
6
7
8
9
I1
I2
I3
A A’ B B’ C C’ W’ W
W
X
Y
× ×× ×
×
×× ×
×
×× ×
×
Figure 6 : Circuit PAL de l’exempleGabriel Cormier (UdeM) GELE2442 Chapitre 8 Hiver 2015 28 / 32
Dispositifs sequentiels programmables
Dispositifs sequentiels programmables
Constitues de portes logiques et des bascules:
Dispositif logique sequentiel programmable (SPLD)
Dispositif logique programmable complexe (CPLD)
Matrice de portes programmables a effet de champ (FPGA,field-programmable gate array)
Gabriel Cormier (UdeM) GELE2442 Chapitre 8 Hiver 2015 29 / 32
Dispositifs sequentiels programmables
SPLD
Matrice AND-OR(PAL ou PLA)
Bascules
Entrees Sorties
Figure 7 : Schema-bloc d’un SPLD
Gabriel Cormier (UdeM) GELE2442 Chapitre 8 Hiver 2015 30 / 32
Dispositifs sequentiels programmables
CPLD
Matrice programmable
PLD PLD PLD PLD
PLD PLD PLD PLD
BlocIO
BlocIO
Figure 8 : Schema-bloc d’un CPLD
Gabriel Cormier (UdeM) GELE2442 Chapitre 8 Hiver 2015 31 / 32
Dispositifs sequentiels programmables
FPGA
Circuit VLSI qui peut etre programme
Possede normalement des millions de blocs logiques et des blocsd’entres et de sortie programmables, le tout branche ensemble par desinterconnexions programmables
Un bloc logique typique d’un FPGA contient des multiplexeurs,portes, bascules et SRAM
Le SRAM permet de programmer n’importe quelle fonction logique.
Gabriel Cormier (UdeM) GELE2442 Chapitre 8 Hiver 2015 32 / 32