La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Mémoires mortes et circuits programmables

Présentations similaires


Présentation au sujet: "Mémoires mortes et circuits programmables"— Transcription de la présentation:

1 Mémoires mortes et circuits programmables

2 Mémoires mortes on vient d'étudier les mémoires vives
accessibles en lecture et en écriture mais volatiles de nombreuses applications demandent de pouvoir conserver des informations, même si l'alimentation électrique est coupée mémoires mortes, le plus souvent accessibles en lecture seulement ROM (Read Only Memory) les informations stockées ne peuvent être modifiées, ni intentionnellement ni accidentellement accès généralement très rapide

3 Mémoires mortes principe
bloc mémoire sans lignes d'entrée ni commande d'écriture 2k mots de n bits k lignes d'adresse n lignes de sortie CS

4 Mémoires mortes chaque mot peut être considéré comme un code et la mémoire réalisée avec un encodeur de 2k lignes et n sorties associées à un décodeur pour activer une de ces 2k lignes

5 Mémoires mortes exemple d'une mémoire de 4 mots de 4 bits
table de vérité réalisation possible de l'encodeur avec des diodes adresse X1 X0 Y3 Y2 Y1 Y0 1 2 3

6 Mémoires mortes justification de l'utilisation des diodes OU inclusif
DA A B état des diodes S DA et DB bloquées +V DA passante, DB bloquée DA bloquée, DB passante DA et DB passantes A B S DB A B S 1 OU inclusif

7 Mémoires mortes exemple d'une mémoire de 4 mots de 4 bits
table de vérité réalisation possible de l'encodeur avec des diodes adresse X1 X0 Y3 Y2 Y1 Y0 1 2 3

8 Mémoires mortes on préfère le plus souvent une organisation matricielle une partie de l'adresse identifie les lignes l'autre partie identifie les colonnes mêmes remarques pour l'assemblage de blocs mémoires que pour les mémoires vives

9 Mémoires mortes applications des ROMs
stockage de programmes dans des systèmes embarqués téléphonie mobile BIOS calculatrice machine à laver

10 Mémoires mortes réalisation du transcodeur du TD adr. b3 b2 b1 b0 g f
contenu 1 40 79 2 24 3 30 4 19 5 12 6 02 7 78 8 00 9 10 A 08 B 03 C 46 D 21 E 06 F 0E

11 Mémoires mortes génération de fonction numérique
exemple : sin(x), x ∈ [0, /2] l'intervalle [0, π/2] est divisé en N = 2k intervalles, la variable xi prenant les valeurs centrales : chacune des valeurs est identifiée par l'indice i, qui peut être utilisé comme une adresse si on code dans la cellule mémoire associée à l'adresse i le nombre fi = Partie Entière [(2n - 1) sin xi] on obtient une grandeur proportionnelle à sin xi codée sur la totalité de la gamme dynamique des n bits Look-up Table associée à un compteur et un convertisseur numérique- analogique : possibilité de génération de signaux périodiques x i = i+ 1 2  δxaveci∈ 0,N−1 etδx= π 2N

12 Mémoires mortes génération de fonctions logiques
exemple : pouvoir effectuer une des 8 fonctions logiques sur 2 variables facile d'écrire la table de vérité des 8 fonctions par rapport aux 4 combinaisons de a et b, puis de mémoriser les 32 valeurs dans une ROM: f 0 a,b =a.b f 1 a,b =a b f 2 a,b = a.b f 3 a,b =a+b f 4 a,b =a+ b f 5 a,b = a+b f 6 a,b =a⊕b f 7 a,b = a⊕b 32 bits a b fi S

13 Mémoires mortes f2 f1 f0 b a f 1 f2 f1 f0 b a f 1 a⋅b a+ b a⋅ b a+b
1 f2 f1 f0 b a f 1 a⋅b a+ b a⋅ b a+b a⋅b a⊕b a+b a⊕b

14 Mémoires programmables par l'utilisateur
PROM Programmable Read Only Memory pour éviter d'avoir à demander une fabrication spéciale des mémoires mortes coûteux lent intéressant pour la phase de développement d'un produit ou pour de petites séries

15 Mémoires programmables par l'utilisateur
techniques de programmation méthode des fusibles une diode et un fusible à chaque noeud de la matrice initialement tous les fusibles sont conducteurs et donc tous les bits sont à 1 la définition des 0 se fait à l'aide d'un programmateur de PROM qui est capable de détruire les fusibles en indiquant l'adresse du bit du mot à modifier et en injectant un courant sur la sortie correspondante mais la manœuvre est risquée pour le circuit...

16 Mémoires programmables par l'utilisateur
méthode des anti-fusibles aucune connexion initialement on fait fondre un diélectrique dans une zone de faibles dimensions située à l'intersection de 2 électrodes 1ère électrode en silicium polycristallin 2ème électrode réalisée dans un implant fortement dopé n+ diélectrique constitué de couches d'oxyde et de nitrure de silicium la fusion du diélectrique entraîne la diffusion des dopants

17 Mémoires programmables par l'utilisateur
d'autres technologies sont possibles, faisant intervenir diverses combinaisons électrodes-diélectrique mais toutes ces technologies sont irréversibles du point de vue de la configuration de la PROM

18 Mémoires programmables par l'utilisateur
multi-programmation des PROM en utilisant des transistors à effet de champ MOS avec une grille flottante la grille permet d'induire un canal entre la source et le drain une tension positive sur la grille va attirer les électrons et repousser les trous. Une partie des électrons va se recombiner avec les trous, créant une inversion de population induisant un canal n entre les implants de la source et du drain Le transistor est alors passant pour programmer le nœud, on fait passer un courant intense entre la source et le drain. Des électrons acquièrent une énergie suffisante pour atteindre la grille flottante où ils sont piégés. Quand la charge piégée est suffisante, elle masque le champ induit par la grille et le transistor est bloqué de façon permanente

19 Mémoires programmables par l'utilisateur
pour "déprogrammer" le circuit, il faut décharger la grille flottante exposition aux rayonnements UV pendant quelques dizaines de minutes Erasable Programmable Read-Only Memory (EPROM) par effet tunnel en appliquant des tensions électriques suffisamment importantes entre la grille, la source et le drain action plus rapide et sans être obligé de retirer le circuit du système où il est monté Electrically Erasable Programmable Read-Only Memory (EEPROM) le cycle d'écriture d'une EEPROM est environ 1000 fois plus lent que celui d'une RAM les temps d'accès en lecture des RAM, ROM, EPROM, EEPROM sont comparables

20 Mémoires programmables par l'utilisateur
mémoires flash EEPROM dans laquelle on peut atteindre plusieurs cellules en parallèle (octet ou mot), diminuant sensiblement les temps d'accès en écriture l'effacement ne peut se faire que par bloc on trouve maintenant des circuits pour lesquels on mesure la quantité d'électrons piégés dans la grille flottante, permettant ainsi de stocker plusieurs bits dans une même cellule (MLC , ou Multi-level cell) 2 grandes familles : mémoires de technologie « NOR » mémoires de technologie « NAND » toutes les 2 basées sur l'architecture EEPROM à grille flottante se différencient par l'organisation logique des cellules

21 Mémoires programmables par l'utilisateur
mémoires flash « NOR » par défaut dans un état logique « 0 » la programmation les met dans un état logique « 1 », qui peut s 'effectuer au niveau de la page, de l'octet ou du mot remises à 0 par un effacement de la grille, qui se fait sur une base d'accès par bloc accès en lecture en mode random au niveau de l'octet utilisées surtout pour stocker du firmware exécutable mémoire flash « NAND » organisation logique différente des cellules en série, qui permet l'adressage également au niveau du bit densité des cellules plus importante, d'où des capacités de stockage plus importantes, mais des risques d'erreur plus grands (nécessité de codes de correction) bien adaptée au stockage de masse (USB)

22 Mémoires programmables par l'utilisateur
limitations gestion complexe des cycles d'écriture on peut mettre un bit individuellement à « 1 » mais l'effacer pour le remettre à « 0 » nécessite d'effacer tout le bloc risques de modification des cellules voisines lors de la lecture il est préférable de gérer le nombre d'opérations effectuées et de réécrire périodiquement les cellules voisines ne peuvent subir qu'un nombre limité de cycles écriture/effacement (détérioration du support sous l'effet des forts courants électriques) de l'ordre de pour la plupart des produits courants peut aller jusqu'à pour les plus récents

23 Mémoires programmables par l'utilisateur
de plus en plus de technologies de stockage basées sur ces mémoires Solid State Drives (SSD) NVRAM (Non volatile RAM) Flash associée à une RAM. Sert à sauvegarder rapidement (< 10ms) le contenu de la RAM en cas de coupure de courant recherche très active en ce moment pour avoir la non volatilité et une vitesse d'accès comparable aux SRAM RAM ferroélectriques (FRAM) structure analogue aux DRAM mais basées sur la polarisation électrique d'un alliage Zr/Ti RAM magnétorésistives (MRAM) utilisent des éléments magnétiques (cf mémoires à tore) plusieurs technologies en cours de développement Mémoires Millipedes nanotechnologie (encore trop lent)

24 Circuits logiques programmables
la famille des circuits logiques programmables (Programmable Logic Device, ou PLD) est vaste et variée PAL, PLA, SPLD, EPLD, CPLD, FPGA peuvent être purement combinatoires ou contenir des éléments de logique séquentielle

25 Circuits logiques programmables
« ancêtre » des PLD : Programmable Logic Array (PLA) combinaison de portes ET et OU permettant de réaliser de façon programmable des somme canoniques de produits caractérisés par le nombre d'entrées n le nombre de sorties m le nombre de minterms p PLA n x m avec p produits généralement p << 2n

26 Circuits logiques programmables
exemple d'un PLA 4x3 avec 6 produits 4 lignes d'entrée Ek 6 portes ET à 8 (2x4) entrées pouvant recevoir ou fabricant les minterms Pk 3 portes OU à 6 entrées fabricant les sorties On, à partir des minterms Pk E k E k

27 Circuits logiques programmables
exemple d'un PLA 4x3 avec 6 produits E1 E2 E3 E4 P1 P2 P3 P4 P5 P6 O1 O2 O3

28 Circuits logiques programmables
exemple d'un PLA 4x3 avec 6 produits E1 E2 E3 E4 P1 P2 P3 P4 P5 P6 O1 O2 O3

29 Circuits logiques programmables
exemple d'un PLA 4x3 avec 6 produits E1 E2 E3 E4 exemple P1 P2 P3 P4 P5 P6 O1 O 1 = E 1 . E 2 + E E E E 4 O 2 = E 1 . E E 1 . E 3 . E 4 + E 2 O 3 = E 1 . E 2 + E 1 . E E E E 4 O2 O3

30 Circuits logiques programmables
exemple d'un PLA 4x3 avec 6 produits E1 E2 E3 E4 exemple O1 O 1 = E 1 . E 2 + E E E E 4 O 2 = E 1 . E E 1 . E 3 . E 4 + E 2 O 3 = E 1 . E 2 + E 1 . E E E E 4 O2 O3

31 Réseaux logiques programmables
Programmable Array Logic (PAL®) matrices des connexions OU figée Fixed-OR element (FOE) matrice des connexions ET programmable

32 Réseaux logiques programmables
toujours plus de sophistication dans les catalogues des fabricants canaux d'entrée/sortie bidirectionnels grâce à des portes 3- états qui permettent de commander le sens d'utilisation possibilité de ré-injecter des sorties dans le réseau des ET (variables intermédiaires) utilisation d'un réseau de bascules D avec une horloge commune entrée programmable au niveau des portes ET et OU sortie accessible à l'extérieur et pouvant être utilisée comme variable interne injectée dans le réseau de connexions programmables → programmation de fonctions séquentielles

33 Réseaux logiques programmables
exemple d'une PLA combiné à une bascule D

34 Réseaux logiques programmables
Complex Programmable Logic Devices (CPLD) plusieurs PLD rassemblés en cellules (macrocellules) macrocellules regroupées en blocs logiques qui peuvent être reliés par une matrice de connexions programmable Interconnection programmable PLD PLD PLD PLD blocs d'entrée-sortie PLD PLD PLD PLD

35 Réseaux logiques programmables
plus efficaces que un "gros" PLD problèmes de connectique capacité importante, courants de fuite → temps de réponse plus long

36 Réseaux logiques programmables
Field Programmable Gate Arrays (FPGA) blocs d'entrée/sortie blocs logiques constitués de portes et de bascules D matrices de connexions programmables techniques de programmation analogues à celles des ROMs peut se faire aussi avec une SRAM blocs d'entrée/sortie blocs logiques réseau de connexion programmable

37 CPU


Télécharger ppt "Mémoires mortes et circuits programmables"

Présentations similaires


Annonces Google