Vous êtes sur la page 1sur 16

Logique programmable

Mémoires mortes: PROM, EPROM, EEPROM

Conception et implémentation de systèmes numériques


Sujets de ce thème

• Structure interne d’une mémoire morte


programmable PROM
Technologies de circuits intégrés à application spécifique (ASIC)
• Analyse d’une fonction logique implémentée sur
Logique fixe Logique programmable
une PROM
Mémoire morte
• Implémentation d’une fonction logique sur une Programmable Read Only Memory – PROM
Electrically Programmable ROM – EPROM
PROM Erasable EPROM – EEPROM
• EPROM et EEPROM: ASIC sur mesure Réseau de logique programmable
Full-custom ASIC Programmable Logic Array - PLA
les mémoires mortes programmables plusieurs fois Circuit PAL
ASIC à cellules normalisées
Cell-based ASIC Programmable Array Logic™ - PAL
Réseau pré-diffusé de portes Circuit GAL
Gate Array Generic Array Logic™ - GAL
Circuit logique programmable complexe
Complex Programmable Logic Device – CPLD
Réseau prédiffusé programmable par l’utilisateur
Field-Programmable Gate Array – FPGA

Conception et implémentation de systèmes numériques 2


Mémoires mortes programmables : PROM

Exemple: ROM 16 × 8
• Mémoire morte programmable
(Programmable Read Only Memory – PROM) décodeur 4:16

une seule fois m15


m14
(One Time Programmable – OTP). m13
m12
• Une PROM consiste en : A3 m11
m10
– un décodeur avec n signaux d’entrée et 2n sorties; A2 m9
m8
– un réseau d’interconnexions programmables entre A1 m7
2n rangées et m colonnes; et, m6
A0 m5
– m portes OU à 2n entrées. m4
m3
• On indique une connexion entre une ligne m2
horizontale et une ligne verticale par un point. m1
m0

D7 D6 D5 D4 D3 D2 D1 D0

Conception et implémentation de systèmes numériques 3


Mémoires mortes programmables : PROM

• On utilise une représentation compacte des portes


logiques avec plusieurs entrées.

Conception et implémentation de systèmes numériques 4


Rappel : décodeur
A2 A1 A0

• Un décodeur active une sortie unique qui


correspond à la valeur du code binaire en entrée. F0

Décodeur 3:8
F1
F7 # A2 A1 A0 F7 F6 F5 F4 F3 F2 F1 F0
F6 0 0 0 0 0 0 0 0 0 0 0 1
1 0 0 1 0 0 0 0 0 0 1 0 F2
F5 2 0 1 0 0 0 0 0 0 1 0 0
A2
F4 3 0 1 1 0 0 0 0 1 0 0 0 F3
A1 4 1 0 0 0 0 0 1 0 0 0 0
F3 5 1 0 1 0 0 1 0 0 0 0 0
A0 F4
F2 6 1 1 0 0 1 0 0 0 0 0 0
7 1 1 1 1 0 0 0 0 0 0 0
F1
F5
F0 F0 = m0 = A2’A1’A0’
F1 = m1 = A2’A1’A0 F6

F2 = m2 = A2’A1A0’
etc. F7

Conception et implémentation de systèmes numériques 5


PROM : connexions programmables dans un circuit intégré

• Les lignes horizontales et verticales sont reliées


par des diodes et des fusibles connectés en série.
• Au départ, tous les fusibles sont en place.
• On effectue la programmation en faisant passer un
fort courant dans les fusibles des connexions à
couper.
F1
• Les lignes verticales sont mises à la masse par
défaut (configuration pull-down).
• Les portes OU sont implicites par ce circuit.
F0
• Quatre cas à considérer:
– Cas 0: F1 = 0, F0 = 0
– Cas 1: F1 = 0, F0 = 1
– Cas 2: F1 = 1, F0 = 0
– Cas 3: F1 = 1, F0 = 1 D1 D0
Conception et implémentation de systèmes numériques 6
PROM : connexions programmées sur une planchette

• Mémoire ROM 32 × 16 d’un PDP-11.

© David Fischer. Diode Matrix. http://www.cca.org/blog/20120222-Diode-Matrix.shtml. Avec permission.


Conception et implémentation de systèmes numériques 7
PROM : exemple 1 – analyse des fonctions logiques réalisées

• Donner les fonctions logiques réalisées par cette


décodeur 4:16
mémoire PROM.
m15
D7 = m13 + m9 = A3A2A1’A0 + A3A2’A1’A0 m14
m13
m12
D2 = m12 + m8 + m4 + m0 = A1’A0’ A3 m11
m10
A3A2 D2
A2 m9
A1A0 00 01 11 10 m8
A1 m7
00 1 1 1 1 m6
0 4 12 8 A0 m5
m4
01 0 0 0 0 m3
1 5 13 9 m2
m1
11 0 0 0 0 m0
3 7 15 11

10 0 0 0 0
2 6 14 10
D7 D6 D5 D4 D3 D2 D1 D0
Conception et implémentation de systèmes numériques 8
Retour: le problème du vote

A B C D F
Un comité composé de quatre personnes a besoin 0 0 0 0 0
d’un mécanisme de vote secret pour les 0 0 0 1 0
amendements sur la constitution du comité. 0 0 1 0 0
F = A' BCD + AB'CD + ABC' D + ABCD'+ ABCD
Un amendement est approuvé si au moins 3 0 0 1 1 0
= BCD + ACD + ABD + ABC
personnes votent pour. 0 1 0 0 0
Concevoir un circuit logique qui accepte 4 entrées 0 1 0 1 0
représentant les votes. La sortie du circuit doit 0 1 1 0 0
indiquer si l’amendement est accepté. 0 1 1 1 1
1 0 0 0 0
1 0 0 1 0
1 0 1 0 0
1 0 1 1 1
1 1 0 0 0
1 1 0 1 1
1 1 1 0 1
1 1 1 1 1
Conception et implémentation de systèmes numériques 9
PROM : exemple 2 – implémentation d’une fonction logique

F = A' BCD + AB'CD + ABC' D + ABCD'+ ABCD


Programmer la PROM 16 × 8 pour implémenter le
circuit du problème du vote.
= m7 + m11 + m13 + m15
décodeur 4:16
Étapes: m15
1. Choisir les ports d’entrée et de sortie. m14
m13
2. Écrire les équations de sortie en somme de A m12
A3 m11
produits B m10
A2 m9
3. Indiquer quelles connexions établir. C m8
A1 m7
D A0
m6
m5
m4
Observations: m3
• La minimisation des équations n’est pas toujours utile. m2
m1
• L’ordre dans lequel on place les entrées est crucial. m0
• L’utilisation d’une ROM 16 × 8 n’est pas efficace pour ce
circuit.
D7 D6 D5 D4 D3 D2 D1 D0
Conception et implémentation de systèmes numériques F 10
EPROM: Erasable Programmable Read Only Memory
EPROM 32 KB, STMicroelectronics M27C256B

• Une mémoire EPROM est programmable à


plusieurs reprises, et effaçable en exposant son
réseau de connexions à des rayons ultraviolets
• Elle est facile à reconnaître à sa petite fenêtre.

Conception et implémentation de systèmes numériques 11


CC-BY-SA-2.5, Bill Bertram, W ikipédia.
Connexions programmables pour mémoires EPROM (et EEPROM)

• Les connexions programmables des mémoires VCC VCC


EPROM et EEPROM utilisent des transistors au lieu
de diodes et de fusibles.
• Les lignes verticales sont reliées à l’alimentation
par une résistance de rappel vers le niveau haut.
F1
• Les transistors de connexion permettent d’amener
la ligne verticale à zéro si la ligne horizontale
correspondante est à 1.
• Les transistors peuvent être désactivés en les
programmant.
• Quatre cas à considérer: F0
– Cas 0: F1 = 0, F0 = 0
– Cas 1: F1 = 0, F0 = 1
– Cas 2: F1 = 1, F0 = 0
– Cas 3: F1 = 1, F0 = 1

Conception et implémentation de systèmes numériques D1 D1 12


EPROM et grilles flottantes

• Dans un transistor MOS, la tension appliquée à la • Pour effacer le dispositif, on l’expose à un


grille détermine si un canal est formé entre la rayonnement ultra-violet qui dissipe la charge
source et le drain. accumulée sur les grilles flottantes et réactive les
• Un transistor MOS d’une mémoire EPROM inclut transistors.
une grille flottante supplémentaire.
Source Control gate Drain Source Control gate Drain
• On désactive le transistor à grille flottante en terminal terminal terminal terminal terminal terminal

plaçant une tension élevée entre sa grille et l’un de


ses terminaux. Cette tension induit un courant qui
control gate
attire des charges sur la grille flottante. Une fois control gate
Silicon floating gate
dioxide
celle-ci chargée, il n’est plus possible de créer un source drain
Silicon
source drain

canal sous la grille et les deux terminaux sont substrate

effectivement isolés électriquement. (a) Standard MOS transistor (b) EPROM transistor
Maxfield, © Mentor Graphics, 2004

Conception et implémentation de systèmes numériques 13


EEPROM et mémoires Flash

• Les mémoires EEPROM et Flash sont similaires aux • Pour ‘programmer’ la cellule, on place une tension
mémoires EPROM, mais peuvent être effacées élevée sur la grille de contrôle et le drain du
électriquement, sans rayons ultraviolets. transistor. Comme un courant élevé circule dans le
• L’isolant autour de la grille flottante est plus mince canal, des électrons sont attirés par la grille de
que dans le cas d’une cellule EPROM, et la grille contrôle et vont s’emmagasiner sur la grille
flottante chevauche partiellement le drain du flottante, désactivant le transistor.
transistor.

Source: wikipédia
Conception et implémentation de systèmes numériques 14
Vous devriez maintenant être capable de …

• Expliquer, à l'aide d'un diagramme, la structure interne


des mémoires PROM. (B2)
• Expliquer à l’aide d’un circuit électrique comment
programmer une PROM. (B2)
• Donner la fonction logique réalisée par une PROM. (B3)
• Montrer comment programmer une PROM pour réaliser
un circuit combinatoire. (B3)
• Expliquer comment programmer et effacer une
mémoire EPROM et EEPROM/Flash. (B2)

Code Niveau (http://fr.wikipedia.org/wiki/Taxonomie_de_Bloom)


B1 Connaissance - mémoriser de l’information.
B2 Compréhension – interpréter l’information.
B3 Application – confronter les connaissances à des cas pratiques simples.
B4 Analyse – décomposer un problème, cas pratiques plus complexes.
B5 Synthèse – expression personnelle, cas pratiques plus complexes.

Conception et implémentation de systèmes numériques 15


ROM : exemple 3 – implémentation de fonctions logiques – exercice en classe

S=
Programmer la ROM 16 × 8 pour implémenter le
circuit donné ici. Cout =
décodeur 4:16
Étapes: m15
1. Choisir les ports d’entrée et de sortie. m14
m13
2. Écrire les équations de sortie en somme de 0 m12
A3 m11
produits Cin m10
A2 m9
3. Indiquer quelles connexions établir. X m8
A1 m7

Cin
Y A0
m6
m5
S
m4
m3
T3 m2
X T1 m1
Y m0
T2 Cout

D7 D6 D5 D4 D3 D2 D1 D0
Conception et implémentation de systèmes numériques S Cout 16

Vous aimerez peut-être aussi