Brevet FR3086788A1 — publié le 20200403

CIRCUIT MEMOIRE IMC A CELLULES 6T DESCRIPTION DOMAINE TECHNIQUE ET ART ANTÉRIEUR La présente demande se rapporte au domaine des dispositifs de calcul en mémoire (en anglais « In Memory Computing »), c'est-à-dire des dispositifs dotés d'un circuit mémoire adapté pour mettre en oeuvre des opérations de calculs. De façon classique un dispositif de calcul numérique tel que par exemple un microprocesseur est doté d'une mémoire interne et d'une unité arithmétique et logique (ALU) adaptée à la mise en oeuvre des opérations arithmétiques et/ou logiques de base pour traiter des données contenues dans la mémoire interne. Pour permettre d'augmenter la vitesse de certains traitements de données et/ou limiter la consommation énergétique liée à ces traitements, des circuits mémoires configurés pour réaliser des opérations de calculs, en particulier des opérations logiques, sont apparus. Le document FR 3 051 960 Al prévoit par exemple un circuit mémoire avec des cellules SRAM à 10 transistors agencées en lignes et en colonnes, les cellules d'une même ligne partageant 3 lignes de mots, tandis que les cellules d'une même colonne sont couplées à 4 lignes de bits. Ce circuit mémoire est doté : - d'un étage de commande pour activer simultanément une paire de cellules d'une même colonne, - d'un étage de lecture pour lire une valeur représentative d'une opération logique ayant pour opérandes des données stockées dans les cellules. L'étage de lecture est ici connecté aux lignes de bits comme pour une lecture en mode SRAM classique. Il se pose le problème de trouver un nouveau dispositif de mémoire adapté pour réaliser des opérations logiques et présentant des améliorations en termes de consommation et/ou d'encombrement. 2 EXPOSÉ DE L'INVENTION Selon un aspect, la présente demande vise à protéger un circuit mémoire adapté à mettre en oeuvre des opérations de calcul, en particulier des opérations logiques, le circuit mémoire comportant : 5 - une pluralité de cellules mémoires agencées en lignes et en colonnes le circuit mémoire étant doté : - d'un étage de commande configuré pour activer une pluralité de cellules d'une même colonne donnée de cellules mémoires, - d'au moins un étage de lecture pour détecter, consécutivement à 10 ladite activation et à partir d'une ligne d'alimentation basse de ladite colonne donnée, un signal représentatif, en particulier un courant représentatif ou une tension représentative du résultat d'une opération logique ayant pour opérandes des données stockées dans des noeuds de stockage de ladite pluralité de cellules ou pour opérandes des données stockées des noeuds de stockage complémentaires de ladite pluralité de cellules. Les cellules 15 peuvent être effet des cellules mémoires dotées de 2 noeuds de stockage amenés à stocker une information logique et une information logique complémentaire. On lit donc ici un signal issu de la ligne d'alimentation basse plutôt que de lignes de bits pour détecter une opération logique entre des cellules connectées à cette ligne d'alimentation basse. 20 Un mode de réalisation prévoit un circuit mémoire adapté à mettre en oeuvre des opérations de calcul, en particulier des opérations logiques, le circuit mémoire comportant : - une pluralité de cellules mémoires agencées selon des lignes et des colonnes de cellules, chaque cellule mémoire étant dotée 25 - d'un premier inverseur et d'un deuxième inverseur connectés de façon croisée entre un premier noeud de stockage de donnée et un deuxième noeud de stockage de donnée complémentaire, le premier inverseur et le deuxième inverseur étant connectés entre une ligne d'alimentation haute et une ligne d'alimentation basse partagées par des cellules d'une même colonne de cellules et, 3 - d'un premier transistor d'accès au premier noeud de stockage contrôlé par un premier signal de commande véhiculé par une première ligne de mot, - d'un deuxième transistor d'accès au deuxième noeud de stockage contrôlé par un deuxième signal de commande véhiculé par une deuxième ligne de mot, 5 le circuit mémoire comprenant en outre : - un étage de commande configuré pour activer au moins les premiers transistors d'accès ou au moins les deuxièmes transistors d'accès d'une pluralité de cellules d'une même colonne donnée de cellules mémoires, - un étage de lecture pour détecter, consécutivement à ladite activation 10 et à partir de la ligne d'alimentation basse de ladite colonne donnée, un signal représentatif du résultat d'une opération logique ayant pour opérandes des données stockées dans ladite pluralité de cellules. Un tel circuit peut être mis en oeuvre avec des cellules élémentaires à 6 transistors, ce qui lui permet d'avoir un encombrement nettement réduit en particulier par 15 rapport à un circuit mémoire doté de cellules 10T. Par rapport notamment à un circuit mémoire doté de cellules 10T, un tel circuit mémoire peut permettre également d'avoir un nombre de lignes de mots réduits par rangée horizontale ou ligne de cellules, ce qui permet notamment un gain de place, ainsi qu'une consommation réduite. 20 Un tel circuit mémoire permet avantageusement de s'adapter à de cellules mémoires SRAM standard ou ayant une structure très proche d'une cellule SRAM standard, en particulier d'une cellule 6T standard. Un tel circuit mémoire permet également de s'adapter à d'autres modes de fonctionnement et en particulier à un fonctionnement pour réaliser des opérations de 25 lecture CAM dans lesquels on effectue une comparaison entre au moins un mot de donnée d'entrée et un mot de données qui est stocké par des cellules dudit circuit mémoire. Selon une réalisation particulière pour laquelle le signal représentatif est un courant issu de ladite ligne d'alimentation basse : - lorsque ledit courant est inférieur ou égal à une valeur minimale, ladite opération logique peut être d'un premier type, en particulier de type ET, 4 - et/ou lorsque ledit courant atteint une valeur maximale, ladite opération logique peut être d'un deuxième type, en particulier de type NON OU, - et/ou lorsque ledit courant a une valeur comprise entre ladite valeur minimale et ladite valeur maximale et différente de ladite valeur minimale et de ladite 5 valeur maximale, ladite opération logique ladite opération logique peut être d'un troisième type, en particulier de type OU EXCLUSIF. On se réfère ici à des opérations logiques de base AND, NOR, XOR, mais il est également possible de la même manière de détecter ou d'établir une distinction entre une opération de type NON ET, une opération de type OU et une opération de type NON 10 OU EXCLUSIF. Selon un mode de réalisation, la détection dudit signal représentatif comprend une comparaison d'une tension provenant de la ligne d'alimentation basse à une tension de référence prédéterminée, de sorte à détecter, lorsque les premiers transistors d'accès sont activés, 15 un état indiquant que les premiers noeuds reliés aux premiers transistors d'accès activés sont tous au niveau logique '1' ou sont tous au niveau logique '0', ou de sorte à détecter, lorsque les deuxièmes transistors d'accès sont activés, un état indiquant que les deuxièmes noeuds reliés aux deuxièmes transistors d'accès activés sont tous au niveau logique '1' ou sont tous au niveau logique '0'. 20 La tension de référence prédéterminée peut être produite par un bloc de circuit programmable ou par une colonne factice de cellules. Avantageusement, le circuit mémoire peut être pourvu d'au moins une colonne factice (dummy) de cellules mémoires factices connectées à une ligne d'alimentation basse factice, ledit étage de lecture comprenant en outre au moins un 25 comparateur pour comparer ledit signal représentatif issu de ladite ligne d'alimentation basse de ladite colonne donnée à un signal de référence issu de la ligne d'alimentation basse factice connectée à ladite colonne factice. Dans ce cas, lorsque ladite pluralité de cellules compte K (avec K 2) cellules, l'étage de commande est configuré en outre pour, lors de ladite activation des 5 transistors d'accès desdites K cellules, activer concomitamment K cellules de ladite colonne factice. L'étage de lecture peut être également doté d'un bloc d'identification permettant d'identifier une opération logique effectuée, ledit bloc d'identification étant 5 configuré pour générer au moins un signal indicateur d'un type d'opération logique parmi une pluralité d'opérations logique prédéterminées, en particulier parmi une opération logique OU EXCLUSIF (ou sa complémentaire NON OU EXLUSIF), une opération logique NON ET (ou sa complémentaire ET), une opération logique NON OU (ou sa complémentaire OU). 10 Avantageusement, l'étage de lecture est doté d'au moins un amplificateur de détection, qui peut être de type à une entrée ou bien de type différentiel. Selon une possibilité de mise en oeuvre du circuit mémoire pour laquelle ledit signal représentatif est un courant issu de ladite ligne d'alimentation basse, l'étage de lecture peut comprendre en outre : une portion de circuit configurée pour convertir ledit 15 courant en une tension de lecture, ladite tension de lecture étant transmise à un amplificateur de détection, cet amplificateur de détection étant de type à une entrée ou bien étant un amplificateur de détection de type différentiel amené à comparer la tension de lecture à une tension de référence. Dans le deuxième cas, la tension de référence peut être 20 avantageusement produite par une colonne factice formée de cellules factices, ladite tension de référence étant produite consécutivement à l'activation d'une cellule de ladite colonne factice concomitamment à ladite activation par ledit étage de commande des premiers transistors d'accès ou des deuxièmes transistors d'accès. Selon une possibilité de mise en oeuvre, l'étage de commande est 25 configuré pour, selon une première phase, activer les premiers transistors d'accès de ladite pluralité de cellules puis selon une deuxième phase, activer lesdits deuxièmes transistors d'accès de ladite pluralité de cellules, l'étage de lecture étant configuré pour, lors de la première phase, détecter un courant issu de la ligne d'alimentation basse et provenant des premiers noeuds respectifs de ladite pluralité de cellules et pour, lors de ladite deuxième 6 phase, détecter un courant issu de la ligne d'alimentation basse et provenant des deuxièmes noeuds respectifs de ladite pluralité de cellules. Une telle activation en deux phases est obtenue typiquement par une commande en deux phases de premières lignes de mots reliées à ladite pluralité de cellules 5 puis de deuxièmes lignes de mots reliées à ladite pluralité de cellules ou de deuxièmes lignes de mots puis de premières lignes de mots. Cette activation ou commande en deux phases permet d'établir une détection précise de l'opération logique réalisée et/ou du résultat de cette opération. Avec une telle détection en deux phases, on vise notamment à détecter, 10 si tous les premiers noeuds sont dans un même premier état logique '1' ou '0', puis, dans le cas contraire, si tous les deuxième noeuds sont dans un même état logique '0' ou '1', complémentaire du premier état. Une telle détection en deux phases s'applique tout particulièrement à une détection ou identification de plus de deux opérations logiques différentes. 15 Du fait que l'état du premiers noeud de stockage est complémentaire de celui du deuxième noeud, une activation des deuxièmes lignes de mots WL2 et la détection, à partir de cette activation, d'un cas par exemple où tous les deuxièmes noeuds F des cellules activées sont à '0', est équivalente à une détection que les premiers noeuds T des cellules activées sont à '1', cette détection pouvant faire suite à une activation des 20 premières lignes de mots WL1. Selon une possibilité de mise en oeuvre du circuit mémoire, l'étage de commande peut être configuré pour, selon une première phase de fonctionnement, activer lesdits premiers transistors d'accès aux premiers noeuds respectifs de ladite pluralité de cellules, l'étage de lecture étant alors configuré pour, lors de la première phase, lorsqu'un 25 signal issu de la ligne d'alimentation basse indique que les premiers noeuds sont tous à un même niveau logique donné, par exemple un niveau logique '1' : produire un premier signal indicateur d'un premier type d'opération logique, en particulier d'opération logique de type ET (ou NON ET). L'étage de commande peut être également configuré pour, selon une 30 deuxième phase consécutive à ladite première phase, activer lesdits deuxièmes transistors 7 d'accès aux deuxièmes noeuds respectifs de ladite pluralité de cellules, l'étage de lecture étant configuré pour, lors de la deuxième phase, lorsqu'un signal issu de la ligne d'alimentation basse indique que les deuxièmes noeuds sont tous à un niveau logique donné, par exemple un niveau logique '1': produire un deuxième signal indicateur d'un 5 deuxième type d'opération logique, en particulier de type NON OU (ou OU). L'étage de lecture peut être configuré en outre pour, lorsque ni le premier signal ni le deuxième signal n'a été produit à l'issue de la deuxième phase, produire un troisième signal indicateur d'un troisième type d'opération logique, en particulier de type OU EXCLUSIF (ou NON OU EXCLUSIF). 10 Avantageusement, l'étage de lecture peut être doté d'un bloc d'identification, le bloc d'identification comprenant un premier bloc verrou apte, à partir d'un signal d'entrée dudit bloc d'identification, à produire et maintenir en sortie le premier signal indicateur d'un premier type d'opération logique et un deuxième bloc verrou apte, à partir du signal d'entrée dudit bloc d'identification, à produire et maintenir en sortie le 15 deuxième signal indicateur d'un deuxième type d'opération logique, l'étage de commande étant configuré pour préalablement à la première phase, - appliquer un signal de réinitialisation au premier bloc et au deuxième bloc verrou, puis, - appliquer un premier signal d'activation au premier bloc verrou 20 concomitamment à l'activation de premiers transistors d'accès, - appliquer un deuxième signal d'activation au deuxième bloc verrou concomitamment à l'activation de deuxièmes transistors d'accès. Selon une possibilité de mise en oeuvre, l'étage de lecture peut être doté d'un multiplexeur à recevoir un premier signal indicateur d'un premier type d'opération 25 logique, un deuxième signal indicateur d'un deuxième type d'opération logique, un troisième signal indicateur d'un troisième type d'opération logique, et pour transmettre en fonction d'une instruction relative à une sélection d'opération logique parmi lesdites premier type, deuxième type et troisième type d'opérations logiques, l'un desdits premier signal indicateur ou deuxième signal indicateur ou troisième signal indicateur. 8 Ainsi, selon un autre aspect, on prévoit un dispositif de mémoire adressable par contenu comprenant un circuit mémoire tel que défini plus haut. BRÈVE DESCRIPTION DES DESSINS La présente invention sera mieux comprise à la lecture de la description 5 d'exemples de réalisation donnés, à titre purement indicatif et nullement limitatif, en faisant référence aux dessins annexés sur lesquels: - les figures 1A-113 servent à illustrer un circuit mémoire tel que mis en oeuvre suivant un mode de réalisation de la présente invention, adapté à la mise en oeuvre d'opérations de calcul et en particulier d'opérations logiques ; 10 - la figure 2 sert à illustrer un exemple de réalisation particulier dans lequel le circuit mémoire est doté d'une matrice de cellules et d'au moins une colonne factice (« dummy ») servant de référence afin d'établir une comparaison avec un signal issu d'une colonne de la matrice ; - les figures 3, 4, 5 servent à illustrer différents exemples de réalisation 15 particuliers d'un étage de lecture configuré pour lire un signal généré en pied d'une colonne de la matrice lorsqu'on effectue une opération logique entre des cellules de cette colonne ; - la figure 6 sert à illustrer un exemple de réalisation de module permettant de générer des signaux de type drapeaux (flags) indicateurs d'une opération 20 logique effectuée sur des cellules de la matrice ; - la figure 7 sert à illustrer un exemple de multiplexeur qui, en fonction d'une instruction relative à une opération logique donnée parmi une pluralité d'opérations logiques prédéterminées permet de transmettre en sortie un signal de type drapeau indicateur du type d'opération logique donnée et le résultat de cette opération logique ; 25 - la figure 8 sert à illustrer un exemple particulier d'un étage ou bloc permettant de générer un signal drapeau indicateur d'une opération logique de type ET; - la figure 9 sert à illustrer un exemple particulier d'un étage ou bloc permettant de générer un signal drapeau indicateur d'une opération logique de type NON OU; 9 En outre, dans la description ci-après, des termes qui dépendent de l'orientation du dispositif comme par exemple « verticale », « horizontale », s'appliquent en considérant que le dispositif est orienté de la façon illustrée dans les figures. Des parties identiques, similaires ou équivalentes des différentes figures 5 portent les mêmes références numériques de façon à faciliter le passage d'une figure à l'autre. EXPOSÉ DÉTAILLÉ DE MODES DE RÉALISATION PARTICULIERS On se réfère à présent à la figure 1A, donnant un exemple de réalisation d'un circuit mémoire doté d'un ensemble de cellules mémoires C élémentaires et adapté 10 non seulement à stocker des données mais également à effectuer in situ des opérations, en particulier des opérations logiques à partir de données stockées dans les cellules mémoires C élémentaires. Les résultats de ces opérations peuvent être transmis à des circuits externes au circuit mémoire ou bien enregistrés dans ce circuit mémoire. 15 L'ensemble de cellules mémoires C élémentaires est agencé selon une matrice 2 comportant une pluralité de colonnes (dans l'exemple illustré des rangées verticales) de cellules et de lignes (dans l'exemple illustré des rangées horizontales) de cellules. Dans cet exemple de réalisation, le circuit mémoire peut être également 20 utilisé comme une mémoire à accès aléatoire RAM, en particulier SRAM, dans laquelle on vient notamment lire ou écrire des mots de données SRAM WORD formés par, ou compris dans des lignes (ici des rangées horizontales) de cellules mémoires élémentaires de la matrice. Le circuit mémoire peut être également utilisé comme une mémoire 25 adressable par contenu (CAM). Chaque colonne de cellules forme par exemple un mot de mémoire CAM. Une telle mémoire CAM notamment capable de comparer un mot de données d'entrée à un mot de données CAM_WORD mémorisé dans une colonne de cellules mémoires élémentaires. Typiquement, une information d'échec est susceptible d'être renvoyée par le circuit mémoire à chaque fois qu'un mot CAM_WORD dans la 10 mémoire ne concorde pas avec le mot de données d'entrée, et une information de succès à chaque fois qu'un mot CAM_WORD dans la mémoire concorde avec le mot de données d'entrée. L'opération CAM et en particulier la détection de succès ou d'échec CAM peut être réalisée par exemple comme dans le document US9679649B2 émanant de la 5 demanderesse. Les cellules d'une même colonne ont typiquement une paire de lignes de bits BLT, BLF commune. Dans cet exemple, les cellules d'une même colonne sont également connectées à une ligne d'alimentation LVd dite « haute », pour polariser les transistors, cette ligne d'alimentation haute LVd étant apte à être mise à un potentiel d'alimentation, 10 par exemple VDD. Les cellules d'une même colonne sont également connectées à une ligne d'alimentation LVs dite « basse » également appelée ligne de masse, susceptible d'être mise à un potentiel inférieur au potentiel d'alimentation et en particulier à un potentiel de référence VSS ou de masse GND. Le terme "connecté" est utilisé dans toute la description pour désigner une connexion qui peut-être directe ou qui peut se faire par l'intermédiaire 15 d'un ou plusieurs autres composants comme des résistances, des condensateurs ou des transistors. Le circuit mémoire a ici comme particularité d'avoir des cellules d'une même ligne de cellules ayant en commun deux lignes de mot WL1 et WL2 distinctes et qui peuvent être commandées indépendamment l'une de l'autre et sont aptes à recevoir des 20 signaux de commande distincts en provenance du circuit de pilotage 14. Une connexion simultanée d'une cellule aux lignes de bits BLT, BLF ou séquentielle de cette même cellule à une ligne de bit puis à l'autre peut être ainsi réalisée. Une telle commande des paires de lignes de mot WL1, WL2 de chaque ligne de la matrice est réalisée à l'aide d'un étage de commande doté d'un circuit de pilotage 14 (WL DRIVERS + WL LOGIC) muni d'éléments de 25 circuits logique. Pendant une opération CAM, le circuit de pilotage 14 sélectionne typiquement toutes les lignes de mot WL1 ou bien toutes les lignes de mot WL2 afin d'activer toutes les cellules composant une colonne donnée de la matrice. Dans un mode de fonctionnement particulier appelé IMC (pour « In 30 Memory Computing »), afin de mettre en oeuvre des opérations de calcul, et en particulier 11 des opérations logiques, notamment des opérations logiques de type NON OU (NOR) ou de type OU EXCLUSIF (XOR), ou de type ET (AND), le circuit de pilotage 14 est adapté pour activer simultanément en lecture, via leurs lignes de mots WL1 ou WL2, un nombre donné K, avec K 2, de cellules élémentaires d'une même colonne du circuit, afin d'effectuer une 5 opération logique entre ces K cellules. Le circuit de pilotage 14 active un nombre donné K N avec N le nombre de cellules d'une colonne, certaines cellules de la colonne pouvant rester alors inactivées autrement dit ne faisant pas l'objet d'un accès en lecture. Activer deux rangées de cellules peut être suffisant pour réaliser une opération logique, mais selon une particularité du présent circuit mémoire, on peut activer plus de deux rangées de 10 cellules et donc plus de deux cellules par colonne et réaliser ainsi une opération logique à partir de plus de deux opérandes. L'activation ou lecture des K cellules lors d'une opération logique peut se faire par sélection uniquement de leurs premières lignes de mot WL1 respectives ou bien par sélection uniquement de leurs deuxièmes lignes de mot WL2 respectives ou bien par 15 sélection séquentielle uniquement de leurs lignes de mot WL1, puis uniquement de leurs lignes de mots WL2 ou bien uniquement de leurs lignes de mot WL2, puis uniquement de leurs lignes de mots WL1. Le résultat de l'opération logique peut être lu ou la détection d'une opération logique peut être réalisée par le biais d'un étage de lecture 160 appartenant à 20 un circuit d'entrée/sortie 16 (10 LOGIC), l'étage de lecture 160 étant connecté à la ligne d'alimentation basse LVs de la colonne auxquelles les K cellules appartiennent. Le signal détecté est par exemple sous forme d'un courant issu de la ligne d'alimentation basse LVs à laquelle les K cellules sont reliées et qui peut être typiquement converti en une tension d'entrée en vue d'être utilisé par un amplificateur de lecture (« Sense Amplifier » selon la 25 terminologie anglo-saxonne). Ainsi, la lecture du résultat d'une opération logique se fait ici par le biais de la ou les lignes d'alimentation basses LVs plutôt que par lecture d'un signal émanant des lignes de bits. Sur la figure 1B, un exemple de portion d'un tel étage de lecture 160 situé au pied d'une colonne COLj de cellules élémentaires est représenté. 12 L'étage de lecture 160 est connecté à la ligne d'alimentation basse LVs partagée ici par chaque cellule mémoire de la colonne COLj. Par exemple, l'étage de lecture 160 est connecté à la ligne d'alimentation basse LVs au niveau du pied de la colonne COLj, et à la tension d'alimentation basse VSS 5 par l'intermédiaire d'un transistor 164 monté en diode, de sorte que la tension sur la ligne d'alimentation basse LVs peut être autorisée à augmenter au-dessus de VSS pendant une opération de lecture. Par exemple, le transistor 164 est un transistor NMOS ayant sa grille connectée à son drain. La ligne d'alimentation basse LVs est aussi par exemple connectée à la tension d'alimentation VSS par l'intermédiaire d'un transistor 166, qui est par exemple 10 un transistor NMOS contrôlé par un signal d'autorisation de lecture RD EN. Ainsi, la ligne d'alimentation VSS est placée à la tension d'alimentation VSS pendant des opérations de lecture. L'étage de lecture 160 est ici muni de l'amplificateur de détection 168 (en anglais, « sense amplifier ») que l'on peut prévoir de partager par plusieurs voire 15 l'ensemble des n colonnes de la matrice, ce qui peut être réalisé en prévoyant un multiplexeur intermédiaire (configuration n-MUX). En variante, on peut prévoir d'associer un amplificateur de détection par colonne et de doter ainsi l'étage de lecture de plusieurs amplificateurs de détection 168 (configuration MUX1). Cette variante est particulièrement adaptée à un circuit mémoire dans lequel on souhaite effectuer des opérations de type 20 CAM. L'étage de lecture 160 permet, par le biais des transistors 166 et 164, de convertir le courant en une tension qui peut être détectée par un bloc amplificateur de détection 168 qui maintient la ligne d'alimentation basse LVs à un potentiel de référence par exemple GND lorsque la mémoire n'est pas lue et permet, lors d'une lecture, de limiter le noeud connecté à ligne d'alimentation basse LVs à un potentiel donné de sorte à conserver et ne 25 pas perturber les données stockées dans les cellules sur lesquelles on réalise un accès en lecture. La figure 1B donne également un exemple de schéma électrique équivalent d'une cellule mémoire élémentaire Cu de la colonne donnée COLj de cellules. Cette cellule mémoire élémentaire C,1, a une structure semblable à celle 30 d'une mémoire SRAM, dotée ainsi de deux noeuds de stockage T et F, prévus pour conserver 13 une première information logique, et une deuxième information logique complémentaire de la première information. Le maintien des informations logiques dans les noeuds T, F est assuré par des transistors TLT, TLF, TD-r, TDF formant des inverseurs bouclés sur eux-mêmes, c'est à dire 5 montés en antiparallèle ou tête-bêche. Ainsi, un inverseur INV1 est doté d'une entrée connectée au noeud de stockage T et à une sortie d'un autre inverseur, l'inverseur INV1 ayant en outre une sortie connectée au noeud stockage F et à une entrée de l'autre inverseur INV2. Cet autre inverseur INV2 est donc doté d'une entrée connectée au noeud de stockage F et d'une sortie connectée au noeud stockage T. 10 Dans l'exemple de réalisation illustré, la cellule élémentaire Cu a une structure de type communément appelée « 6T» et comporte ainsi 6 transistors, les deux inverseurs étant alors réalisés par deux transistors de charge TLT, TLF , dans cet exemple de type PMOS, et également appelés « pull up », et deux transistors de conduction, dans cet exemple de type NMOS et également appelés « pull down ». La cellule Cu est également 15 dotée de deux transistors d'accès TA1 et TAF. Les transistors d'accès TA1 et TAF sont connectés respectivement à des lignes dites de bit BLT et BLF généralement partagées par les cellules SRAM de la colonne donnée COLT. Comme suggéré précédemment, l'accès aux noeuds de stockage T et F est commandé par des lignes de mot WL1, WL2 distinctes partagées par des cellules d'une 20 même ligne de cellules à laquelle appartient la cellule élémentaire Cu. Le transistor d'accès TAT, contrôlé par un signal de commande appliqué sur une ligne de mot WL1 est prévu pour permettre l'accès ou bloquer l'accès au noeud T. L'autre transistor d'accès TAF, contrôlé par un signal de commande appliqué sur une autre ligne de mot WL2 est prévu pour permettre l'accès ou bloquer l'accès au deuxième noeud F. Lorsque les transistors TAT sont 25 commandés de sorte à permettre respectivement l'accès au noeud T et au noeud F, on dit qu'ils sont activés. Dans l'exemple de cellule Cu illustré, le premier inverseur et le deuxième inverseur, et en particulier les transistors de conduction TDT, TDF, sont connectés à la ligne d'alimentation LVd haute, par exemple mise à VDD. 14 Le premier inverseur et le deuxième inverseur, et en particulier les transistors de charge TUF, TLF, sont également connectés à la ligne d'alimentation basse LVs, à un potentiel inférieur à celui de la ligne d'alimentation haute, par exemple au potentiel de référence Vss ou potentiel de masse GND. 5 Les opérations de calcul et en particulier les opérations logiques susceptibles d'être mises en oeuvre au sein du circuit mémoire sont effectuées entre des cellules d'une même colonne de cellules et plus particulièrement entre des noeuds de stockage de même type T ou F. Ainsi, pour mettre en oeuvre des opérations logiques, notamment des 10 opérations logiques de type NON OU (NOR) ou de type OU EXCLUSIF (XOR), ou de type NON ET (NAND) sur une colonne de cellules de la matrice, par exemple sur la colonne donnée COU, l'étage de commande doté du circuit de pilotage 14 des lignes de mots évoqué précédemment, peut être configuré pour activer au moins les premiers transistors d'accès TAT d'au moins deux cellules de la colonne donnée COU et pour détecter à partir de la ligne 15 d'alimentation basse LVs de ladite colonne donnée COU un signal représentatif du résultat d'une opération logique ayant pour opérandes des données stockées dans les noeuds T d'au moins deux cellules. Ce signal représentatif est typiquement un courant issu de ladite ligne d'alimentation basse LVS. On peut également réaliser une opération logique ayant pour opérandes 20 les états des noeuds de stockage complémentaires F respectifs de plusieurs cellules, le circuit de pilotage 14 des lignes de mots étant alors configuré pour activer au moins les transistors d'accès TAF respectifs de plusieurs cellules de la colonne donnée COU et pour détecter à partir de la ligne d'alimentation basse LVs de ladite colonne donnée COLj un signal représentatif du résultat d'une opération logique ayant pour opérandes des données 25 stockées dans les noeuds F desdites plusieurs cellules. Du fait que les états des noeuds de stockage T et F sont complémentaires, une activation des deuxièmes lignes de mots WL2 et la détection, à partir de cette activation, d'un cas par exemple où tous les noeuds F des cellules activées sont à '0', est équivalente à une détection que les noeuds T des cellules activées sont à '1', cette détection 30 pouvant faire suite à une activation des premières lignes de mots WL1. 15 On considère par exemple un cas dans lequel on effectue une pré-charge des lignes de bits BLT, BLF à une tension d'alimentation qui peut être de Vdd, et dans lequel on effectue une opération logique à partir des niveaux respectifs stockés aux noeuds T 5 respectifs de plusieurs cellules données d'une colonne COLj dont on commande les premières lignes de mots WL1 respectives. Les cellules sont dans cet exemple polarisées de sorte que lorsqu'une cellule stocke une valeur logique '0', un courant s'écoule à travers cette cellule sur la ligne d'alimentation basse LVs. On peut alors considérer plusieurs cas : 10 Selon un premier cas, le courant ILvs détecté sur la ligne d'alimentation basse LVs reste inférieur ou égal à une valeur minimale, ce qui indique qu'aucune des cellules données ne stocke de niveau logique '0', autrement dit que tous les noeuds sont au niveau '1'. Ce premier cas correspond par exemple à une opération logique ET (AND). Cet état de la ligne d'alimentation basse LVs est susceptible de déclencher un signal drapeau 15 identifiant un tel type d'opération logique. Selon un deuxième cas, le courant I Lvs détecté sur la ligne d'alimentation basse LVs atteint une valeur maximale, ce qui indique que toutes les cellules données stockent un niveau logique '0'. Ce deuxième cas correspond par exemple à une opération logique NON OU (NOR). Cet état de la ligne d'alimentation basse LVs est susceptible de 20 déclencher un signal drapeau identifiant un tel type d'opération logique. Selon un troisième cas, le courant ILVS détecté sur la ligne d'alimentation basse LVs est tel que lissest compris entre la valeur minimale et ladite valeur maximale tout en étant différent de ces valeurs, ce qui indique que certaines des cellules données stockent un niveau logique '0' tandis que d'autres cellules parmi les cellules données stockent un 25 niveau logique `1'. Cela correspond par exemple à une opération logique OU EXCLUSIF (« XOR »). Cet état de la ligne d'alimentation basse LVs est susceptible de déclencher un signal drapeau permettant d'identifier un tel type d'opération logique. 30 16 Le tableau ci-dessous sert à résumer les cas exposés précédemment. Conditions Valeur sur LVs Cellules stockant Opération '0' logique Dans l'exemple qui vient d'être donné on établit une distinction entre trois types d'opérations logiques de base AND, NOR, XOR. De la même manière, on peut 5 également établir une distinction entre des opérations NAND/NOR/XNOR, dans la mesure où ces opérations sont complémentaires des opérations AND, NOR, XOR, et que leur détection peut être obtenue soit par une inversion d'un signal drapeau, soit par activation de noeuds complémentaires de ceux ayant permis d'obtenir le résultat d'une ou de distinguer une des opérations AND, NOR, XOR. Par exemple, si une activation d'un 10 ensemble de premières lignes de mots associées à un premier ensemble de premiers noeuds T, permet d'obtenir le résultat ou d'identifier une opération logique AND, une activation correspondante d'un ensemble de deuxièmes lignes de mots associées à un deuxième ensemble de deuxièmes noeuds F complémentaires, permet d'obtenir le résultat ou d'identifier une opération logique NAND. 15 De même, dans l'exemple qui vient d'être décrit il est prévu par exemple qu'une opération logique AND soit identifiée, lorsque par le biais de la ligne d'alimentation basse LVs, on détecte que toutes les cellules stockent la valeur '0'. En variante, on peut prévoir qu'une opération logique AND soit identifiée, lorsque, par le biais de la ligne d'alimentation basse LVs, on détecte que toutes les cellules activées stockent la valeur '1'. 20 Selon cette variante, une détection que toutes les cellules activées stockent la valeur '0', permet alors d'identifier une opération logique NOR. Pour permettre une détermination précise du résultat de l'opération logique et/ou du type d'opération logique réalisée, on peut prévoir, comme dans l'exemple de la figure 2, d'associer la matrice 2 de cellules élémentaires à une colonne 25 dite factice 25 (en anglais « dummy ») composée de cellules mémoires factices (« dummy cells »), c'est-à- dire qui servent de référence ou de cellules témoins plutôt que de moyen de stockage de Courant Moyen Intermédiaire Certaines XOR 17 donnée. Les cellules factices de la colonne factice 25 permettent de produire des signaux électriques de référence et sont de préférence en nombre égal à celui d'une colonne de la matrice. Typiquement, les cellules factices peuvent avoir une structure semblable 5 à celles des cellules de la matrice 2 mémoire. Les cellules factices peuvent être dotées d'un noeud connecté à un potentiel donné par exemple d'alimentation VDD ou un potentiel de masse GND de manière à forcer la cellule à une valeur donnée, et obtenir ainsi une cellule sur laquelle on ne peut réaliser un accès en écriture mais à laquelle on peut accéder en lecture. Une cellule factice permet ainsi de lire une donnée de référence qui reste la même 10 pour tous les accès en lecture. Comme les cellules élémentaires de la matrice, les cellules factices de la colonne factice 25 sont reliées à une ligne d'alimentation basse factice ou ligne de référence factice Lref qui peut être mise au même potentiel que la ligne d'alimentation basse LVS, en particulier à VSS ou GND et sur laquelle on prélève un courant qui dépend 15 typiquement du nombre de cellules factices activées. Pour servir de référence et délivrer un courant de référence, les cellules factices de la colonne factice 25 peuvent être configurées de sorte à stocker un même niveau logique donné. Par exemple, on peut prévoir que toutes les cellules factices de la colonne factice 25 sont mises à un niveau logique '0'. La colonne 25 de cellules factices est typiquement reliée au même nombre de 20 ligne de mots WL1 et/ou WL2 qu'une colonne de cellules élémentaires de la matrice 2. Ainsi, avantageusement, lorsque l'étage de commande active des transistors d'accès TAT et/ou TAF de K cellules d'une colonne donnée de la matrice 2, il active concomitamment K cellules factices de ladite colonne factice 25. Cela permet d'obtenir un courant de référence dépendant du nombre de cellules activées. 25 Le signal de référence, par exemple sous forme d'une tension ou d'un courant de référence, issu(e) de la colonne factice consécutivement à l'activation de K cellules est prévu de manière à avoir un niveau différent de celui de celui pris en pied de colonne et consécutif à l'activation du même nombre K de cellules dans une colonne de cellules servant d'opérandes. Ainsi, on peut effectuer une comparaison entre le signal de 30 référence et le signal pris en pied de colonne à partir de la ligne d'alimentation basse LVs. 18 Cette différence peut être réglée au moment de la conception en fonction de la précision de détection requise. Elle est typiquement prévue suffisante pour permettre de différencier deux signaux ayant tous leurs bits en commun à l'exception de 1 bit. On considère par exemple le cas décrit précédemment avec une pré- 5 charge à une tension d'alimentation Vdd, et des cellules factices polarisées de sorte que lorsqu'une cellule factice stocke une valeur logique '0', un courant s'écoule à travers cette cellule. Ainsi, les cellules factices activées délivrent un courant de référence maximal Imax sur la ligne Lref qui correspond au cas où toutes les cellules stockent un niveau logique '0'. Le courant Imax de référence est modulé en fonction du nombre d'opérandes de 10 l'opération logique dans la mesure où le nombre de cellules factices activées dans la colonne 25 correspond au nombre de cellules réalisant l'opération logique dans une colonne donnée de la matrice 2. Afin de pouvoir comparer le signal issu d'une colonne donnée COU de la matrice 2 du fait d'une opération logique entre cellules de cette colonne donnée et celui 15 délivré par la colonne 25 factice, on peut établir au préalable une conversion courant/tension et prévoir un étage 163 permettant de convertir le courant I Lys en un potentiel Vread en sortie de la matrice 2. De même, on établit alors une conversion courant/tension avec un étage 26 permettant de convertir le courant Imax de référence en un potentiel de référence Vref1 en sortie de la colonne factice 25. Une comparaison des 20 potentiels Vread et Vref1 est typiquement réalisée à l'aide d'un bloc 268 comparateur. Pour que le comparateur 268 fonctionne correctement, les tensions générées par la matrice 2 et par la colonne factice ces tensions résultant de courants respectivement sur la ligne d'alimentation basse Lys et la ligne d'alimentation basse factice Lref diffèrent de préférence d'une valeur intermédiaire par rapport à un cas correspondant 25 à une différence d'un seul bit entre les niveaux logiques de la pluralité de cellules à laquelle on applique l'opération logique. Si pour n cellules stockant le niveau logique '0' dans la matrice, la tension de sortie VX est générée et si pour n-1 cellules stockant la valeur '0' la tension VY est produite et que VX>VY, la tension de référence Vrefi remplit de préférence la condition VX>Vrefi>VY et les différences VX-Vrefi, Vrefi-VY sont préférentiellement 30 supérieures à l'offset du comparateur 268. Dans le cas, par exemple, où toutes les cellules 19 stockent le niveau logique '0' alors VX= Vrefi. La différence entre la tension prise en pied d'une colonne activée et la tension de référence peut être réglée au moment de la conception du circuit mémoire au niveau de l'étage de conversion courant tension 163 et/ou au niveau de la colonne factice 25, et/ou de l'étage 26. 5 Pour réaliser une opération logique avec plus de deux opérandes et pouvant requérir une activation d'un nombre supérieur à deux de rangées de cellules mémoires élémentaires autrement dit d'une activation d'un nombre supérieur à deux de lignes de mots, tout en conservant une fiabilité de détection du résultat de l'opération et/ou du type d'opération logique effectuée et ce même lorsque le nombre de lignes de 10 mots ou de rangées de cellules activées est important, un mode de réalisation particulier prévoit une fonctionnement en deux phases et en particulier en deux cycles distincts de commande des lignes de mots WL1 puis WL2 ou WL2 puis WL1. Pour ce mode de réalisation particulier, l'étage de commande, et en particulier son circuit de pilotage 14 des lignes de mots WL1, WL2 évoqué précédemment, 15 est configuré pour, selon une première phase activer les premiers transistors d'accès TAT d'une pluralité de cellules afin de détecter un courant sur une ligne d'alimentation basse LVs provenant des noeuds de stockage T de cette pluralité de cellules, puis, selon une deuxième phase, activer les deuxième transistors d'accès TAF d'une pluralité de cellules afin de détecter un courant sur la ligne d'alimentation basse LVs provenant des noeuds de 20 stockage complémentaires F respectifs de cette même pluralité de cellules. Alternativement, l'activation en deux phases peut être telle que le circuit de pilotage 14 active, lors de la première phase, par le biais des deuxièmes lignes de mots WL2 les deuxièmes transistors d'accès TAF de la pluralité de cellules, puis lors de la deuxième phase, active les premiers transistors d'accès TAT de cette même pluralité de 25 cellules. On utilise en particulier une telle activation en deux phases afin d'identifier de manière fiable un type d'opération logique effectuée, en détectant par exemple un cas particulier dans lequel tous les noeuds de stockage des cellules servant d'opérandes sont à un même niveau logique, en particulier un niveau logique '1'. 20 La détection d'un cas où tous les noeuds d'un même type sont à un niveau logique '1' peut s'avérer particulièrement fiable. En effet, si l'on se place par exemple dans des conditions de pré-charge et de polarisation des cellules telle qu'évoquée précédemment, la différence de potentiels entre le potentiel établi à partir du signal 5 détecté sur la ligne d'alimentation LVs basse et correspondant au cas où tous les noeuds activés sont à un niveau logique '1' et celui correspondant au cas où l'essentiel des noeuds activés sont à un niveau logique '1' sauf un seul noeud à un niveau logique 'D' est maximale. Une identification d'opération logique en deux phases, 01, 02 peut être menée selon les conditions résumées dans le tableau ci-dessous. 10 Dans cet exemple, l'activation en deux phases peut être la suivante : lors de la première phase 01, le circuit de pilotage 14 commande les lignes de mots WL1 d'une pluralité de cellules, et l'on détecte le signal issu de la ligne d'alimentation LVs basse de la colonne à laquelle cette pluralité de cellules appartient pour 15 vérifier si tous les noeuds T sont par exemple à un niveau logique 'y. Si c'est le cas, un signal drapeau (« flag » selon la terminologie anglo-saxonne) AND_flag indicateur d'opération logique ET (AND) est déclenché. Dans un cas contraire, la deuxième phase 02 est déclenchée en pilotant (application d'un potentiel de commande) les lignes de mots WL2 de la pluralité de cellules, 20 et l'on détecte le signal issu de la ligne d'alimentation LVs basse de la colonne à laquelle cette pluralité de cellules appartient pour vérifier si tous les noeuds F sont à un niveau logique '1'. Si c'est le cas, c'est que tous les noeuds T contenant une information logique complémentaire des noeuds F se trouvaient au niveau logique '0' un signal drapeau 25 NOR_flag indicateur d'opération logique NON OU (NOR) est déclenché. Opération logique identifiée Phase critère ETAT? FAUX Passer à 02 XOR 21 Dans le cas contraire, et si aucun des signaux drapeaux NOR_flag ou NAND_flag n'a été activé, un signal drapeau XOR_flag indicateur d'opération logique OU EXCLUSIF (XOR) est déclenché. On peut prévoir un déclenchement automatique de la séquence de 5 première phase puis deuxième phase. En variante, afin de réduire la consommation énergétique du circuit mémoire, on peut prévoir avantageusement, que l'étage de commande ne déclenche la deuxième phase 02 que lorsque le signal drapeau AND_flag indicateur d'opération logique ET n'a pas été activé à l'issu de la première phase. 10 Une détection du signal issu de la ligne d'alimentation basse LVs et vérification à partir de cette détection de la condition selon laquelle tous les premiers noeuds ou tous les deuxièmes noeuds sont à un niveau logique donné, en particulier un niveau logique '1' peut être mise en oeuvre à l'aide d'un étage de lecture muni d'un amplificateur de détection (en anglais, « sense amplifier »). 15 Dans l'exemple de réalisation illustré sur la figure 3, en sortie de l'étage 162 permettant de convertir le courant I ws prélevé sur la ligne d'alimentation basse en un potentiel Vread, un amplificateur de détection 368 à une entrée. Selon une exemple de réalisation particulier, correspondant à des conditions de précharge et de polarisation évoquées précédemment, si les noeuds stockage 20 auxquels on accède sont tous à un niveau logique '1', la ligne d'alimentation basse LVs de la colonne de cellules sur laquelle on réalise l'opération reste à un potentiel de référence Vss ou GND tandis qu'un signal de sortie SA_OUT de l'amplificateur de détection 368 se trouve par exemple par conséquent à un niveau logique '1', indicateur que le critère est rempli, autrement dit que les noeuds stockage auxquels on accède sont tous à un niveau 2 5 logique '1'. Dans le cas où au moins un des noeuds de stockage auxquels on accède est à un niveau logique '0', un courant circule sur la ligne d'alimentation basse LVs de la colonne de cellules et modifie le signal Vread, ce qui maintient le signal de sortie SA_OUT de l'amplificateur de détection 368 au même niveau, par exemple à un niveau logique '0'. 22 Dans le cas où l'amplificateur de différence comporte plusieurs sorties on peut utiliser l'une ou l'autre des sorties pour détecter si le critère précité est rempli. Dans l'exemple de réalisation illustré sur la figure 4, un amplificateur de détection 468 de type différentiel est prévu et compare le signal Vread à un signal de 5 référence Vref. Le signal de référence Vref peut être généré par un bloc 451 de circuit programmable, en particulier à résistances programmables, pour permettre de fournir à l'amplificateur de détection 468 différentiel une valeur de tension de référence qui peut éventuellement dépendre du nombre de lignes activées, et peut dépendre du niveau de 10 précision requis par le concepteur. Par exemple, le concepteur peut établir qu'une opération logique ET est détectée si, toutes les cellules activées, à l'exception d'une ou plusieurs, stockent un même niveau logique. Ce signal de référence Vref est prévu de préférence entre une valeur de potentiel Vpredl prédéterminée correspondant par exemple à un cas dans lequel tous les 15 noeuds de stockage auxquels on accède sont à un niveau logique donné '1' et une autre valeur de potentiel Vpred2 prédéterminée correspondant par exemple à un cas dans lequel tous les noeuds de stockage auxquels on accède sont à un niveau logique donné '1' excepté un noeud de stockage. Un autre exemple de réalisation illustré sur la figure 5, prévoit un 20 amplificateur de détection 468 de type différentiel configuré pour comparer le signal Vread qu'il reçoit en entrée à un signal de référence Vref2 reçu à une autre entrée et généré cette fois par le biais d'une colonne factice 525 formée de cellules mémoires factices qui sont reliés à une ligne d'alimentation basse de référence L'ref. Dans cet exemple, le circuit de commande est configuré pour n'activer qu'une cellule factice afin de délivrer un courant 25 de référence minimal Imin sur la ligne d'alimentation basse de référence L'ref. Les cellules factices peuvent, comme indiqué précédemment, être sous forme de cellules 6T conventionnelles avec un noeud forcé à un potentiel donné par exemple de VDD et qui peut ainsi imposer à ces cellules un niveau logique donné pour toutes les opérations de lecture que l'on effectue sur elles. 23 De même, on établit alors une conversion courant/tension avec un étage 526 permettant de convertir le courant Imin de référence en un potentiel de référence Vref2 en sortie de la colonne factice 525. Dans l'un ou l'autre des exemples de réalisation décrits précédemment, 5 le signal de sortie SA_OUT de l'amplificateur de détection 368 ou 468 peut être ensuite traité afin d'identifier une opération logique donnée parmi une pluralité d'opérations logique déterminées, selon un processus de traitement qui peut être semblable à celui en deux phases décrit précédemment et résumé dans le précédent tableau. Sur la figure 6 un exemple d'étage 60 de traitement, recevant en entrée 10 le signal SA_OUT généré par l'amplificateur de détection 368 ou 468 et apte à générer des signaux AND_flag, NORilag, XOR_flag de type drapeaux identificateurs d'opérations logiques est représenté de manière schématique. Dans cet exemple, l'étage 60 de traitement comprend un premier bloc verrou 80, typiquement sous forme d'une bascule asynchrone (« latch » selon la 15 terminologie anglo-saxonne), apte à produire et maintenir en sortie un signal drapeau AND_flag indicateur d'une opération logique de type « NON ET », ainsi qu'un deuxième bloc 90, qui peut être également d'une bascule asynchrone (latch) apte à produire et maintenir en sortie un signal drapeau NOR_flag indicateur d'une opération logique de type « NON OU ». 20 Les blocs 60, 80 permettent de verrouiller leur signal drapeau respectif et de le conserver jusqu'à ce que le processus de traitement en une ou deux phases et tel que décrit plus haut soit achevée. Les signaux drapeau ANDflag, NOR_flag correspondent ici à la sortie SA_OUT de l'amplificateur différentiel. Le signal de réinitialisation RSTN en entrée des blocs verrou 80, 90 permet 25 de réinitialiser les sorties respectives de ces blocs, par exemple à un niveau logique donné, dans cet exemple '0', avant que la séquence en deux phases 01, 02 ne démarre. Les blocs verrou 80, 90 sont dans cet exemple configurés pour stocker le signal SA_OUT de sortie consécutivement à la réception d'un signal d'activation EN1, EN2, et ce, jusqu'à réception d'un nouveau signal de réinitialisation RSTN. Les signaux d'activation EN1, EN2 permettent 24 d'établir une synchronisation et transmettre cette sortie avec un délai suffisant pour permettre à l'amplificateur de s'établir à sa valeur correcte de sortie. Lors de la première phase 01, autrement dit la phase durant laquelle des lignes de mots WL1 permettent d'activer les transistors TA1 d'accès aux noeuds T de 5 certaines cellules servant à produire les opérandes d'une opération logique à identifier, le premier bloc verrou 80 reçoit un premier signal d'activation EN1. Une fois le premier signal d'activation EN1 reçu, la sortie sur premier bloc dépend du signal SA_OUT de l'amplificateur de détection. Lors de la deuxième phase 02, autrement dit la phase durant laquelle des 10 lignes de mots WL2 permettent d'activer les transistors TAF d'accès aux noeuds F desdites certaines cellules, le deuxième bloc verrou 90 reçoit un deuxième signal d'activation EN2. Une fois le deuxième signal d'activation reçu, la sortie sur premier bloc dépend du signal SA_OUT de l'amplificateur de détection. Le signal SA_OUT permet d'indiquer lorsque lesdites certaines cellules ne 15 sont pas toutes au même niveau logique. Si c'est le cas, à la fois durant le premier cycle et durant le deuxième cycle, le premier bloc verrou 80 ne produit pas de signal drapeau AND_flag et le deuxième bloc verrou 90 ne produit pas de signal drapeau NORflag, ce qui déclenche une production d'un signal drapeau XOR_flag, par le biais d'une porte logique 110, par exemple de type NON OU (NOR) recevant en entrée les signaux de sortie respectifs 20 des blocs verrou 80, 90. Selon un possibilité de mise en oeuvre, les blocs verrou 80, 90 permettant de générer les signaux de drapeaux ANDflag, NOR_flag et peuvent être réalisés en variante à l'aide de bascules synchrones. On considère par exemple un cas dans lequel les signaux de drapeau 25 ANDflag, NOR_flag et XOR_flag sont actifs à l'état haut, autrement dit à un niveau logique Le signal SA_OUT de sortie de l'amplificateur indique qu'au moins un noeud parmi les noeuds servant d'opérandes est à un niveau logique différent de celui des autres noeuds, par exemple en passant à un niveau logique '0' le signal SA_OUT indique 30 qu'au moins un noeud est à un niveau logique '1'. Les sorties des blocs verrou 80, 90 25 peuvent être alors également au niveau logique '0', indiquant par exemple que ni une opération logique ET, ni une opération logique NON OU n'a été détectée. Les sorties des blocs verrou 80, 90 passent d'un niveau '0' à un niveau '1' si une opération ET ou une operation NON OU a été détectée. 5 La porte logique 110 prévue en sortie peut dans ce cas être par exemple une porte de type OU (OR) qui, lorsque ses deux entrées sont au niveau logique '0', indique alors en sortie qu'une opération logique OU EXCLUSIF a été détectée. On peut prévoir d'utiliser les signaux de drapeaux AND_flag, NOR_flag, XOR_flag, susceptibles d'être générés par l'étage de traitement 60 décrit précédemment 10 afin de fournir un résultat de l'opération logique réalisée. Pour cela, on peut prévoir comme dans l'exemple de réalisation illustré sur la figure 7, un multiplexeur 70 avec 3 entrées AND_flag NOR_flag, XOR_flag. Ces entrées correspondent aux sorties respectivement du premier bloc 70, du deuxième bloc 90 et de la porte logique 110 décrits précédemment. En fonction d'une instruction de type opcode ou code 'opération 15 Opcode ', par exemple à 2 bits qui détermine un type d'opération logique que l'on souhaite réaliser, en particulier parmi 3 opérations logiques OU EXCLUSIF (XOR), NON OU (NOR), ET (AND), le multiplexeur 70 est configuré pour produire en sortie OUT un signal correspondant à l'une des trois entrées AND_flag NOR_flag, XOR_flag. Le signal OUT de sortie du multiplexeur 70 est ainsi susceptible de donner directement le résultat de 20 l'opération logique. Le tableau ci-dessus répertorie différents cas de valeurs des signaux de type drapeau AND_flag NORilag, XOR_flag indicateurs respectivement d'opération logiques ET, NON OU, OU EXCLUSIF, en fonction des niveaux logiques stockés dans des noeuds de différentes cellules, dans cet exemple 4, réparties sur 4 lignes différentes de la matrice de cellules. Bit 1 Bit 2 Bit 3 Bit 4 `C :e ligne 1 ligne 2 0 ligne 3 ligne 4 0 AND flag NOR flag 1 XOR flag 25 26 Dans la mesure où un circuit mémoire peut comprendre plusieurs étages de lecture tel que décrit précédemment, on met de préférence en oeuvre des blocs 80, 90 de génération de signaux de drapeaux compacts, comme dans les exemples de réalisation des figures 8 et 9. 5 Sur la figure 8, un exemple de réalisation compacte du premier bloc 80 apte à générer un signal drapeau AND_flag indicateur d'opération logique ET est donné. Ce bloc 80 est doté de transistors 81, 82, 83, 84, et peut être également pourvu, de manière optionnelle, d'un inverseur 85 en sortie duquel le signal drapeau peut être prélevé. On peut également réaliser un tel bloc avec une bascule en particulier une 10 bascule D. Une pré-charge d'un noeud Q est commandée par le signal d'initia lisation RSTN appliqué sur la grille d'un transistor 81, par exemple de type PMOS. Le noeud Q, disposé ici en entrée d'un inverseur 85 peut être pré-chargé par exemple à un niveau logique '1' ce qui place la sortie de l'inverseur 85 à un niveau '0'. Le signal SA_OUT de sortie 15 de l'amplificateur de détection est appliqué à une électrode d'un transistor 83, par exemple de type PMOS, dont la grille est commandée par le premier signal d'activation EN1. Le signal SA_OUT prend une valeur donnée en fonction des informations logiques stockées dans les cellules sur lesquelles l'opération logique est réalisée, tandis que durant la première phase, le premier signal d'activation EN1, par exemple actif à l'état bas 20 est déclenché pour rendre le transistor 83 passant et permettre de transférer le signal SA_OUT sur la grille d'un transistor 82, par exemple de type NMOS, dont la source est mise à un potentiel de masse GND. Un transistor 84 dont la grille est commandée par le premier signal d'activation EN1 sert de pré-charge pour la grille du transistor 82, par exemple de type NMOS connecté au noeud Q. Lorsque le signal SA_OUT est à un niveau logique '1', le 25 noeud Q se décharge vers le potentiel de masse GND, ce qui a pour effet de mettre le signal drapeau AND_flag à un niveau '1'. L'ajout ou non de l'inverseur 85 dépend du niveau logique que l'on souhaite conférer au signal drapeau AND_flag pour qu'il indique que toutes le cellules servant d'opérandes sont au même niveau logique, en particulier au niveau logique '1'. 30 Dans l'exemple illustré, le signal SA_OUT de sortie reste à un niveau '0' lorsque tous les 27 noeuds de stockage auxquels on accède sont à un niveau '1', ce qui se traduit en sortie du bloc 80 par un signal drapeau AND_flag restant au niveau logique '0'. Sur la figure 9, un exemple de réalisation compacte du deuxième bloc 90 apte à générer un signal drapeau NOR_flag indicateur d'opération logique NON OU est 5 représenté. Le bloc 90 permettant de générer le signal drapeau NOR_flag peut être formé à l'aide de transistors 91, 92, 93, 94, et de manière optionnelle, d'un inverseur 95. Les transistors 91, 92, 93, 94 ont ici un agencement semblable à celui des transistors 81, 82, 83, 84 du bloc 80. Le transistor 93 recevant le signal SA_OUT de 10 l'amplificateur de détection est apte à transférer ou non le signal SA_OUT en fonction cette fois d'un deuxième signal d'activation EN2 déclenché lors de la deuxième phase 02. Dans l'un ou l'autre des blocs 80, 90 décrits précédemment, le transistor 82 (resp. 92) sur la grille duquel on transfère le signal SA_OUT peut être d'un type différent de celui décrit précédemment, en particulier de type PMOS, tandis que le signal de 15 réinitialisation RSTN peut être appliqué à un transistor 81, 91 de type NMOS, le noeud Q étant alors pré-chargé à un niveau logique '0'. Dans un tel cas, le transistor 84 (resp. 94) recevant le signal d'activation EN1 (resp. EN2) peut être également de type différent, en particulier de type PMOS et connecté cette fois à un potentiel VDD. Le transistor 83 (resp. 93) recevant le signal SA_OUT de sortie de l'amplificateur de détection peut être également 20 de type différent et en particulier de type NMOS. Dans cette variante de configuration, lorsque le signal SA_OUT est au niveau '0', cela entraine la mise à un niveau logique '1' du signal drapeau AND_flag (resp. NOR_flag). Dans l'un ou l'autre des exemples de réalisation d'étage de lecture et de portion de circuit permettant d'identifier une fonction logique NON OU, une fonction 25 logique ET, une fonction logique OU EXCLUSIF. Il est également possible en variante de réaliser une identification de fonction OU, de fonction NON ET et de fonction NON OU EXCLUSIF, REVENDICATIONS1. Circuit mémoire adapté à mettre en oeuvre des opérations logiques, le circuit mémoire comportant : - une pluralité de cellules mémoires (CO agencées selon des lignes et des colonnes de cellules, chaque cellule mémoire étant dotée : - d'un premier inverseur et d'un deuxième inverseur connectés de façon croisée entre un premier noeud de stockage (T, F) de donnée et un deuxième noeud de stockage (F, T) de donnée complémentaire, le premier inverseur et le deuxième inverseur étant connectés entre une ligne d'alimentation haute (LVD) et une ligne d'alimentation basse (Lys) partagées par des cellules d'une même colonne de cellules et, - d'un premier transistor d'accès (TAT, TAF) au premier noeud de stockage contrôlé par un premier signal de commande véhiculé par une première ligne de mot (WL1, WL2), - d'un deuxième transistor d'accès (TAF, TAT) au deuxième noeud de stockage contrôlé par un deuxième signal de commande véhiculé par une deuxième ligne de mot (WL2, WL1), le circuit mémoire comprenant en outre : - un étage de commande (14) configuré pour activer au moins les premiers transistors d'accès ou au moins les deuxièmes transistors d'accès d'une pluralité de cellules d'une même colonne donnée (C014) de cellules mémoires (C,;), - au moins un étage de lecture (160) pour détecter, consécutivement à ladite activation et à partir de la ligne d'alimentation basse (Lys) de ladite colonne donnée (COLj), un signal représentatif (ILys, Vread) du résultat d'une opération logique ayant pour opérandes des données stockées dans ladite pluralité de cellules. 2. Circuit mémoire selon la revendication 1, dans lequel le signal représentatif est un courant (ILys) issu de ladite ligne d'alimentation basse (Lys), et dans lequel : 29 - lorsque ledit courant (ILys) est inférieur ou égale à une valeur dite « minimale », ladite opération logique est d'un premier type, en particulier de type ET ou de type NON ET, - et/ou lorsque ledit courant (ILys) atteint une valeur dite « maximale », 5 ladite opération logique est ladite opération logique est d'un deuxième type, en particulier de type NON OU ou de type OU, - et/ou lorsque ledit courant (ILys) a une valeur comprise entre ladite valeur minimale et ladite valeur maximale tout en étant différente de ladite valeur minimale et de ladite valeur maximale, ladite opération logique est d'un troisième type, en 10 particulier de type OU EXCLUSIF ou de type NON OU EXCLUSIF. 3. Circuit mémoire selon l'une des revendications 1 ou 2, dans lequel la détection dudit signal représentatif comprend une comparaison d'une tension provenant de la ligne d'alimentation basse (Lys) à une tension de référence prédéterminée, 15 de sorte à détecter, lorsque les premiers transistors d'accès sont activés, un état indiquant que les premiers noeuds reliés aux premiers transistors d'accès activés sont tous au niveau logique '1' ou sont tous au niveau logique '0', ou de sorte à détecter, lorsque les deuxièmes transistors d'accès sont activés, un état indiquant que les deuxièmes noeuds reliés aux deuxièmes transistors 20 d'accès activés sont tous au niveau logique '1' ou sont tous au niveau logique '0'. 4. Circuit mémoire selon la revendication 3, la tension de référence prédéterminée étant produite par un bloc de circuit (451) programmable ou par une colonne (25, 525) factice de cellules. 25 5. Circuit mémoire selon l'une des revendications 1 à 4, comprenant en outre au moins une colonne factice (25) de cellules mémoires factices connectées à une ligne d'alimentation basse factice (Lref), ledit étage de lecture comprenant en outre au moins un comparateur (28) pour comparer ledit signal représentatif (lus, Vread) issu de ladite ligne d'alimentation basse (Lys) de ladite colonne donnée à un signal de référence (I., Vref1) issu de la ligne de basse factice (Lref) connectée à ladite colonne factice (25). 6. Circuit mémoire selon la revendication 5, dans lequel ladite 5 pluralité de cellules compte K (avec K 2) cellules, l'étage de commande étant configuré pour, lors de ladite activation des transistors d'accès desdites K cellules, activer concomitamment K cellules de ladite colonne factice (25). 7. Circuit mémoire selon la revendications 1 à 6, dans lequel l'étage 10 de lecture est doté d'un bloc d'identification (60), ledit bloc d'identification (60) étant configure pour générer au moins un signal indicateur (AND_flag, NOR_flag, XOR_flag) d'un type d'opération logique parmi une pluralité d'opérations logiques déterminées, en particulier parmi une opération logique OU EXCLUSIF, une opération logique ET, une opération logique NON OU, ou parmi une opération logique OU, une opération logique 15 NON ET, une opération logique NON OU EXCUSIF. 8. Circuit mémoire selon la revendication 7, dans lequel l'étage de lecture est doté d'un amplificateur de détection (31, 33), en particulier de type à une entrée ou de type différentiel, pour, à partir dudit signal représentatif produire un signal (SA_OUT) 20 en entrée dudit bloc d'identification (60). 9. Circuit mémoire selon l'une des revendications 1 à 8, dans lequel ledit signal représentatif est un courant (ILys) issu de ladite ligne d'alimentation basse (Lys), l'étage de lecture comprenant en outre une portion de circuit (163) pour convertir ledit 25 courant en une tension de lecture (Vread), ladite tension de lecture étant transmise à un amplificateur de détection (31, 33), l'amplificateur de détection (31, 33) étant de type à une entrée ou bien l'amplificateur de détection (31, 33) étant de type différentiel et apte à comparer la tension de lecture (Vread) à une tension de référence (Vref). 31 10. Circuit mémoire selon la revendication 9, dans lequel l'amplificateur de détection (31, 33) est de type différentiel, la tension de référence (Vref) étant produite par une colonne factice (125) formée de cellules factices, ladite tension de référence (Vref) étant produite consécutivement à une activation par ledit étage de 5 commande d'une cellule de ladite colonne factice (25). 11. Circuit mémoire selon l'une des revendications 1 à 10, dans lequel l'étage de commande est configuré pour, selon une première phase, activer les premiers transistors d'accès de ladite pluralité de cellules puis, selon une deuxième phase, activer 10 lesdits deuxièmes transistors d'accès de ladite pluralité de cellules, l'étage de lecture étant configuré pour, lors de la première phase détecter un courant issu de la ligne d'alimentation basse et provenant des premiers noeuds respectifs de ladite pluralité de cellules et pour lors de ladite deuxième phase détecter un courant issu de la ligne d'alimentation basse et provenant des deuxièmes noeuds respectifs de ladite pluralité de 15 cellules. 12. Circuit mémoire selon l'une des revendications 1 à 11, dans lequel l'étage de commande est configuré pour, selon une première phase, activer lesdits premiers transistors d'accès aux premiers noeuds respectifs de ladite pluralité de cellules, 20 l'étage de lecture étant configuré pour, lors de la première phase, lorsqu'un signal issu de la ligne d'alimentation basse (LVS) indique que les premiers noeuds sont tous à un même niveau logique donné, en particulier un niveau logique '1' : produire un premier signal indicateur (AND_flag ou NAND_flag) d'un premier type d'opération logique, en particulier de type ET ou NON ET. 25 13. Circuit mémoire selon la revendication 12, dans lequel l'étage de commande est configuré pour, selon une deuxième phase consécutive à ladite première phase, activer lesdits deuxièmes transistors d'accès aux deuxièmes noeuds respectifs de ladite pluralité de cellules, l'étage de lecture étant configuré pour, lors de la deuxième 30 phase, lorsqu'un signal issu de la ligne d'alimentation basse (LVS) indique que les 32 deuxièmes noeuds sont tous à un niveau logique donné, en particulier un niveau logique '1': produire un deuxième signal indicateur (NOR_flag ou OR_flag) d'un deuxième type d'opération logique, en particulier de type NON OU ou OU. 5 14. Circuit mémoire selon la revendication 13, dans lequel l'étage de lecture est configuré en outre pour, lorsque ni le premier signal ni le deuxième signal n'a été produit à l'issue de la deuxième phase, produire un troisième signal (XOR_flag ou XNOR_flag) indicateur d'un troisième type d'opération logique, en particulier de type OU EXCLUSIF ou NON OU EXCLUSIF. 10 15. Circuit mémoire selon l'une des revendications 13 ou 14, dans lequel l'étage de lecture est doté d'un bloc d'identification (60), le bloc d'identification (60) comprenant un premier bloc verrou (80) apte, à partir d'un signal d'entrée (SA_OUT) dudit bloc d'identification, à produire et maintenir en sortie le premier signal indicateur 15 (AND_flag) d'un premier type d'opération logique et un deuxième bloc verrou (90) apte, à partir du signal d'entrée (SA_OUT) dudit bloc d'identification, à produire et maintenir en sortie le deuxième signal indicateur (NOR_flag) d'un deuxième type d'opération logique, l'étage de commande étant configuré pour préalablement à la première phase, - appliquer un signal de réinitialisation (RSTN) au premier bloc et au 20 deuxième bloc verrou, puis, - appliquer un premier signal d'activation (EN1) au premier bloc verrou (80) concomitamment à l'activation de premiers transistors d'accès, - appliquer un deuxième signal d'activation (EN2) au deuxième bloc verrou (90) concomitamment à l'activation de deuxièmes transistors d'accès. 25 16. Circuit mémoire selon l'une des revendications 1 à 15, dans lequel l'étage de lecture est doté d'un multiplexeur (70) à recevoir : - un premier signal indicateur (AND_flag) d'un premier type d'opération logique, 33 - un deuxième signal indicateur (NOR_flag) d'un deuxième type d'opération logique, un troisième signal indicateur (XOR_flag) d'un troisième type d'opération logique, et pour transmettre en fonction d'une instruction relative à une 5 sélection d'opération logique parmi lesdites premier type, deuxième type et troisième type d'opérations logiques, l'un desdits premier signal indicateur ou deuxième signal indicateur ou troisième signal indicateur. 17. Dispositif de mémoire adressable par contenu (CAM) comprenant 10 un circuit mémoire selon l'une des revendications 1 à 16.