32
GELE2442 Chapitre 8 : emoire et logique programmable Gabriel Cormier, Ph.D., ing. Universit´ e de Moncton Hiver 2015 Gabriel Cormier (UdeM) GELE2442 Chapitre 8 Hiver 2015 1 / 32

GELE2442 Chapitre 8 : Mémoire et logique programmable · SSI/MSI et des PLD, et souvent plus rapide qu’un FPGA ou LSI Pour des fonctions de complexit e simples a moyennes, le ROM

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: GELE2442 Chapitre 8 : Mémoire et logique programmable · SSI/MSI et des PLD, et souvent plus rapide qu’un FPGA ou LSI Pour des fonctions de complexit e simples a moyennes, le ROM

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

Page 2: GELE2442 Chapitre 8 : Mémoire et logique programmable · SSI/MSI et des PLD, et souvent plus rapide qu’un FPGA ou LSI Pour des fonctions de complexit e simples a moyennes, le ROM

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

Page 3: GELE2442 Chapitre 8 : Mémoire et logique programmable · SSI/MSI et des PLD, et souvent plus rapide qu’un FPGA ou LSI Pour des fonctions de complexit e simples a moyennes, le ROM

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

Page 4: GELE2442 Chapitre 8 : Mémoire et logique programmable · SSI/MSI et des PLD, et souvent plus rapide qu’un FPGA ou LSI Pour des fonctions de complexit e simples a moyennes, le ROM

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

Page 5: GELE2442 Chapitre 8 : Mémoire et logique programmable · SSI/MSI et des PLD, et souvent plus rapide qu’un FPGA ou LSI Pour des fonctions de complexit e simples a moyennes, le ROM

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

Page 6: GELE2442 Chapitre 8 : Mémoire et logique programmable · SSI/MSI et des PLD, et souvent plus rapide qu’un FPGA ou LSI Pour des fonctions de complexit e simples a moyennes, le ROM

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

Page 7: GELE2442 Chapitre 8 : Mémoire et logique programmable · SSI/MSI et des PLD, et souvent plus rapide qu’un FPGA ou LSI Pour des fonctions de complexit e simples a moyennes, le ROM

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

Page 8: GELE2442 Chapitre 8 : Mémoire et logique programmable · SSI/MSI et des PLD, et souvent plus rapide qu’un FPGA ou LSI Pour des fonctions de complexit e simples a moyennes, le ROM

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

Page 9: GELE2442 Chapitre 8 : Mémoire et logique programmable · SSI/MSI et des PLD, et souvent plus rapide qu’un FPGA ou LSI Pour des fonctions de complexit e simples a moyennes, le ROM

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

Page 10: GELE2442 Chapitre 8 : Mémoire et logique programmable · SSI/MSI et des PLD, et souvent plus rapide qu’un FPGA ou LSI Pour des fonctions de complexit e simples a moyennes, le ROM

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

Page 11: GELE2442 Chapitre 8 : Mémoire et logique programmable · SSI/MSI et des PLD, et souvent plus rapide qu’un FPGA ou LSI Pour des fonctions de complexit e simples a moyennes, le ROM

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

Page 12: GELE2442 Chapitre 8 : Mémoire et logique programmable · SSI/MSI et des PLD, et souvent plus rapide qu’un FPGA ou LSI Pour des fonctions de complexit e simples a moyennes, le ROM

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

Page 13: GELE2442 Chapitre 8 : Mémoire et logique programmable · SSI/MSI et des PLD, et souvent plus rapide qu’un FPGA ou LSI Pour des fonctions de complexit e simples a moyennes, le ROM

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

Page 14: GELE2442 Chapitre 8 : Mémoire et logique programmable · SSI/MSI et des PLD, et souvent plus rapide qu’un FPGA ou LSI Pour des fonctions de complexit e simples a moyennes, le ROM

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

Page 15: GELE2442 Chapitre 8 : Mémoire et logique programmable · SSI/MSI et des PLD, et souvent plus rapide qu’un FPGA ou LSI Pour des fonctions de complexit e simples a moyennes, le ROM

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

Page 16: GELE2442 Chapitre 8 : Mémoire et logique programmable · SSI/MSI et des PLD, et souvent plus rapide qu’un FPGA ou LSI Pour des fonctions de complexit e simples a moyennes, le ROM

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

Page 17: GELE2442 Chapitre 8 : Mémoire et logique programmable · SSI/MSI et des PLD, et souvent plus rapide qu’un FPGA ou LSI Pour des fonctions de complexit e simples a moyennes, le ROM

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

Page 18: GELE2442 Chapitre 8 : Mémoire et logique programmable · SSI/MSI et des PLD, et souvent plus rapide qu’un FPGA ou LSI Pour des fonctions de complexit e simples a moyennes, le ROM

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

Page 19: GELE2442 Chapitre 8 : Mémoire et logique programmable · SSI/MSI et des PLD, et souvent plus rapide qu’un FPGA ou LSI Pour des fonctions de complexit e simples a moyennes, le ROM

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

Page 20: GELE2442 Chapitre 8 : Mémoire et logique programmable · SSI/MSI et des PLD, et souvent plus rapide qu’un FPGA ou LSI Pour des fonctions de complexit e simples a moyennes, le ROM

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

Page 21: GELE2442 Chapitre 8 : Mémoire et logique programmable · SSI/MSI et des PLD, et souvent plus rapide qu’un FPGA ou LSI Pour des fonctions de complexit e simples a moyennes, le ROM

PLA

1

0

CBA

× ×× ×× × ×

× ×

×× ××

× ××

F1

F2

Gabriel Cormier (UdeM) GELE2442 Chapitre 8 Hiver 2015 21 / 32

Page 22: GELE2442 Chapitre 8 : Mémoire et logique programmable · SSI/MSI et des PLD, et souvent plus rapide qu’un FPGA ou LSI Pour des fonctions de complexit e simples a moyennes, le ROM

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

Page 23: GELE2442 Chapitre 8 : Mémoire et logique programmable · SSI/MSI et des PLD, et souvent plus rapide qu’un FPGA ou LSI Pour des fonctions de complexit e simples a moyennes, le ROM

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

Page 24: GELE2442 Chapitre 8 : Mémoire et logique programmable · SSI/MSI et des PLD, et souvent plus rapide qu’un FPGA ou LSI Pour des fonctions de complexit e simples a moyennes, le ROM

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

Page 25: GELE2442 Chapitre 8 : Mémoire et logique programmable · SSI/MSI et des PLD, et souvent plus rapide qu’un FPGA ou LSI Pour des fonctions de complexit e simples a moyennes, le ROM

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

Page 26: GELE2442 Chapitre 8 : Mémoire et logique programmable · SSI/MSI et des PLD, et souvent plus rapide qu’un FPGA ou LSI Pour des fonctions de complexit e simples a moyennes, le ROM

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

Page 27: GELE2442 Chapitre 8 : Mémoire et logique programmable · SSI/MSI et des PLD, et souvent plus rapide qu’un FPGA ou LSI Pour des fonctions de complexit e simples a moyennes, le ROM

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

Page 28: GELE2442 Chapitre 8 : Mémoire et logique programmable · SSI/MSI et des PLD, et souvent plus rapide qu’un FPGA ou LSI Pour des fonctions de complexit e simples a moyennes, le ROM

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

Page 29: GELE2442 Chapitre 8 : Mémoire et logique programmable · SSI/MSI et des PLD, et souvent plus rapide qu’un FPGA ou LSI Pour des fonctions de complexit e simples a moyennes, le ROM

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

Page 30: GELE2442 Chapitre 8 : Mémoire et logique programmable · SSI/MSI et des PLD, et souvent plus rapide qu’un FPGA ou LSI Pour des fonctions de complexit e simples a moyennes, le ROM

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

Page 31: GELE2442 Chapitre 8 : Mémoire et logique programmable · SSI/MSI et des PLD, et souvent plus rapide qu’un FPGA ou LSI Pour des fonctions de complexit e simples a moyennes, le ROM

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

Page 32: GELE2442 Chapitre 8 : Mémoire et logique programmable · SSI/MSI et des PLD, et souvent plus rapide qu’un FPGA ou LSI Pour des fonctions de complexit e simples a moyennes, le ROM

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