Brevet FR3146231A1 — publié le 20240830

Dispositif et procédé de calcul en mémoire La présente description concerne un dispositif (2) comprenant des cellules mémoires (C'1) comprenant chacune une entrée de commande recevant une tension (V1_pwm) modulée en largeur d'impulsion et une sortie fournissant un courant (I1_pwm) dépendant de la tension de commande et d'un poids programmé dans la cellule. Un noeud (200) reçoit, pendant une première durée, les courants (I1_pwm) de plusieurs cellules (C'1). Un premier circuit (INT/ADC) fournit une sortie (V_n) déterminée par une quantité totale de courant (IS_pwm) reçue par ce noeud pendant la première durée. Pour chaque cellule de la pluralité de cellules (C'1), un deuxième circuit (PWM1) reçoit un mot numérique (V1_n) et fournit, pendant la première durée, la tension de commande (w1_pwm) de la cellule à un premier niveau uniquement pendant une deuxième durée déterminée par le mot numérique. Figure pour l'abrégé : Fig. 2 Dispositif et procédé de calcul en mémoire La présente description concerne de façon générale les dispositifs électroniques, et, plus particulièrement, les dispositifs électroniques adaptés à mettre en œuvre des calculs en mémoire (IMC de l'anglais "In Memory Computing"). De nombreuses applications ou systèmes électroniques connus utilise des dispositifs adaptés à mettre en œuvre des calculs en mémoire. Dans ces dispositifs, des calculs, par exemple des multiplications et une sommation des résultats des multiplications, sont mis en œuvre au moins en partie directement dans des cellules mémoire d'une mémoire, de préférence non-volatile, du dispositif. L'intelligence artificielle (AI de l'anglais "Artificial Interlligence"), les réseaux neuronaux artificiels (ANN de l'anglais "Artificial Neuronal Network") et les réseaux neuronaux de convolution (CNN de l'anglais "Convolutional Neuronal Network") sont des exemples d'application utilisant des dispositifs adaptés à mettre en œuvre des calculs en mémoire. Toutefois, les dispositifs connus adaptés à mettre en œuvre des calculs en mémoire souffrent de divers inconvénients, par exemple en ce qui concerne les erreurs sur les calculs mis en œuvre par ces dispositifs connus et/ou l'encombrement de ces dispositifs. Il existe un besoin de pallier tout ou partie des inconvénients des dispositifs connus adaptés à mettre en œuvre des calculs en mémoire. Un mode de réalisation pallie tout ou partie des inconvénients des dispositifs connus adaptés à mettre en œuvre des calculs en mémoire. Par exemple, un mode de réalisation prévoit un dispositif adapté à mettre en œuvre des calculs en mémoire qui présente des erreurs de calculs réduite par rapport aux dispositifs connus, par exemple lorsque ces erreurs de calculs résultent de variations PVT (de l'anglais "Process Voltage Temperature" – fabrication tension température). Par exemple, un mode de réalisation prévoit un dispositif adapté à mettre en œuvre des calculs en mémoire qui présente un encombrement réduit par rapport aux dispositifs connus, par exemple lorsque ces erreurs de calculs résultent de variations PVT (de l'anglais "Process Voltage Temperature" – fabrication tension température). Un mode de réalisation prévoit un dispositif comprenant : des cellules mémoires comprenant chacune une entrée de commande configurée pour recevoir une tension de commande modulée en largeur d'impulsion et une sortie configurée pour fournir un courant de sortie ayant une valeur au moins en partie déterminée par un niveau de la tension de commande de la cellule et par un poids programmé dans ladite cellule ; un noeud de connexion configuré pour recevoir, pendant une première durée, les courants de sortie de plusieurs cellules parmi lesdites cellules ; un premier circuit ayant une entrée connectée au premier noeud, le premier circuit étant configuré pour fournir un signal de sortie ayant une valeur déterminée par une quantité totale de courant reçue par l'entrée du premier circuit pendant la première durée ; et pour chaque cellule de la pluralité de cellules , un deuxième circuit configuré pour recevoir un mot numérique et pour fournir, pendant la première durée, la tension de commande à ladite cellule à un premier niveau uniquement pendant une deuxième durée déterminée par ledit mot numérique. Selon un mode de réalisation, chaque cellule mémoire est configurée de sorte que la valeur de son courant de sortie est uniquement déterminée par le niveau de sa tension de commande et par le poids programmé dans ladite cellule. Selon un mode de réalisation, chaque cellule mémoire comprend en outre une entrée de sélection et est configurée de sorte que : la valeur de son courant de sortie est à une valeur, de préférence nulle, indépendante du niveau de sa tension de commande et du poids programmé dans ladite cellule si son entrée de sélection reçoit un signal de sélection dans un premier état ; et la valeur de son courant de sortie est déterminée par le niveau de sa tension commande , le poids programmé dans la cellule et l'état du signal de sélection reçu par son entrée de sélection si l'état du signal de sélection est différent du premier état. Selon un mode de réalisation, le dispositif comprend en outre un circuit de sélection configuré pour fournir, à chaque cellule de la pluralité de cellules, le signal de sélection de la cellule. Selon un mode de réalisation, chaque deuxième circuit est configuré pour que la tension de commande fournie par ce deuxième circuit comprenne exactement deux niveaux, lesdits deux niveaux comprenant le premier niveau. Selon un mode de réalisation, le premier noeud est connecté à la sortie de chacune des cellules de la pluralité de cellules. Selon un mode de réalisation, le dispositif comprend en outre : un réseau de connexion ayant une sortie connectée au premier noeud et des entrées connectées aux sorties des cellules de la pluralité de cellules ; et un circuit de commande dudit réseau configuré, pendant la première durée, pour commander le réseau de sorte que le premier noeud reçoive le courant de sortie de chacune des cellules de la pluralité de cellules. Selon un mode de réalisation, le premier circuit comprend un circuit intégrateur configuré pour intégrer la quantité de courant reçu par le premier circuit pendant la première durée et pour fournir un premier signal déterminé par ladite intégration. Selon un mode de réalisation, le premier signal est un signal analogique et le premier circuit comprend en outre un convertisseur analogique numérique configuré pour convertir le premier signal analogique en un signal numérique déterminant le signal de sortie du premier circuit. Selon un mode de réalisation, le premier circuit comprend : - un oscillateur ayant une fréquence d'oscillation déterminée par un courant total disponible sur le premier noeud, et - un compteur configuré pour fournir un signal numérique ayant une valeur déterminée par un nombre compté d'oscillations pendant la première durée, le signal de sortie du premier circuit étant déterminé par le signal numérique fournit par le compteur. Selon un mode de réalisation, la première durée est égale à K fois une période d'horloge, avec K un nombre constant, et, pour chaque cellule de la pluralité de cellules, la deuxième durée est égale à Q fois la période d'horloge, avec Q un nombre inférieur ou égal au nombre K. Selon un mode de réalisation, les nombres K et Q sont des nombres entiers. Selon un mode de réalisation, chaque deuxième circuit comprend un compteur configuré pour : - recevoir le mot numérique reçu par ledit deuxième circuit, - compter, pendant la première durée, un nombre de période de l'horloge, et - fournir, pendant la première durée, un signal de sortie à un premier état binaire si le nombre compté de périodes est inférieur à une valeur déterminée par ledit mot numérique, et à un deuxième état binaire sinon, ledit deuxième circuit étant en outre configuré pour fournir ladite tension de commande au premier niveau si le signal de sortie du compteur est au premier état binaire. Selon un mode de réalisation, le nombre K est déterminé par une valeur maximale des mots numériques et, pour chaque cellule de la pluralité de cellules, le nombre Q est déterminé par une valeur du mot numérique reçu par le deuxième circuit fournissant la tension de commande à ladite cellule. Un mode de réalisation prévoit un procédé mis en œuvre dans un dispositif comprenant des cellules mémoires comprenant chacune une entrée de commande configurée pour recevoir une tension de commande et une sortie configurée pour fournir un courant de sortie ayant une valeur au moins en partie déterminée par un niveau de la tension de commande de la cellule et par un poids programmé dans ladite cellule, le procédé comprenant, pendant une première durée : fournir à un noeud de connexion les courants de sortie d'une pluralité de cellules parmi les cellules du dispositif ; fournir avec un premier circuit ayant une entrée connectée au premier noeud, un signal de sortie ayant une valeur déterminée par une quantité totale de courant reçue par l'entrée du premier circuit pendant la première durée ; et pour chaque cellule de la pluralité de cellules , recevoir un mot numérique avec un deuxième circuit et fournir avec le deuxième circuit la tension de commande de la cellule à un premier niveau uniquement pendant une deuxième durée déterminée par le poids numérique reçu. Ces caractéristiques et avantages, ainsi que d'autres, seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non limitatif en relation avec les figures jointes parmi lesquelles : la représente, de façon schématique et sous la forme de blocs, un exemple d'un dispositif adapté à mettre en œuvre des calculs en mémoire ; la représente, de façon schématique et sous la forme de blocs, un exemple de mode de réalisation d'un dispositif adapté à mettre en œuvre des calculs en mémoire ; la représente, de façon schématique et sous la forme de blocs, un exemple de mode de réalisation d'un circuit du dispositif de la ; la représente, de façon schématique et sous la forme de blocs, un exemple de mode de réalisation d'un autre circuit du dispositif de la ; la représente, de façon schématique et sous la forme de blocs, un autre exemple de mode de réalisation d'un dispositif adapté à mettre en œuvre des calculs en mémoire ; et la représente, de façon schématique et sous la forme de blocs, une variante de réalisation des dispositifs des figures 2 et 5. De mêmes éléments ont été désignés par de mêmes références dans les différentes figures. En particulier, les éléments structurels et/ou fonctionnels communs aux différents modes de réalisation peuvent présenter les mêmes références et peuvent disposer de propriétés structurelles, dimensionnelles et matérielles identiques. Par souci de clarté, seuls les étapes et éléments utiles à la compréhension des modes de réalisation décrits ont été représentés et sont détaillés. En particulier, les cellules mémoires usuelles utilisées dans les dispositifs décrits pour mettre en œuvre des calculs en mémoire n'ont pas été décrites de manière détaillée, les modes de réalisation et variantes décrits étant compatibles avec ces cellules mémoires usuelles. En outre, les systèmes électroniques usuels et les applications usuelles (AI, ANN, CNN) dans lesquels sont utilisés un ou plusieurs dispositifs adaptés à mettre en œuvre des calculs en mémoire n'ont pas été détaillés, les modes de réalisation et variantes décrits étant compatibles avec ces systèmes et applications usuels. Sauf précision contraire, lorsque l'on fait référence à deux éléments connectés entre eux, cela signifie directement connectés sans éléments intermédiaires autres que des conducteurs, et lorsque l'on fait référence à deux éléments reliés (en anglais "coupled") entre eux, cela signifie que ces deux éléments peuvent être connectés ou être reliés par l'intermédiaire d'un ou plusieurs autres éléments. Dans la description qui suit, lorsque l'on fait référence à des qualificatifs de position absolue, tels que les termes "avant", "arrière", "haut", "bas", "gauche", "droite", etc., ou relative, tels que les termes "dessus", "dessous", "supérieur", "inférieur", etc., ou à des qualificatifs d'orientation, tels que les termes "horizontal", "vertical", etc., il est fait référence sauf précision contraire à l'orientation des figures. Sauf précision contraire, les expressions "environ", "approximativement", "sensiblement", et "de l'ordre de" signifient à 10 % près, de préférence à 5 % près. La représente, de façon schématique et sous la forme de blocs, un exemple d'un dispositif adapté à mettre en œuvre des calculs en mémoire. Le dispositif 1 comprend N cellules mémoire Ci identiques, avec N un nombre entier supérieur ou égal à 2, et i un indice entier allant de 1 à N. Dans l'exemple de la , N est égal à quatre et le dispositif comprend donc N cellules mémoire C1, C2, C3 et C4. Les N cellules mémoire Ci font par exemple partie d'une mémoire du dispositif 1 comprenant M cellules mémoire identiques aux cellules Ci, avec M un nombre entier supérieur ou égal à N. Chaque cellule Ci comprend une entrée de commande configurée pour recevoir une tension de commande Vi_a, avec i indice entier allant de 1 à N (V1_a, V2_a, V3_a et V4_a en ). Chaque cellule Ci comprend en outre une sortie fournissant un courant Ii, avec i indice entier allant de 1 à N (I1, I2, I3 et I4 en ). Pour chaque cellule Ci, le courant Ii a une valeur déterminée par la valeur de la tension Vi_a reçue par la cellule Ci et par un poids Wi programmé dans la cellule Ci, par exemple une valeur égale au produit de la tension Vi_a par le poids Wi. A titre d'exemple, la programmation d'un poids Wi dans une cellule Ci correspond à une programmation d'une valeur de résistance de la cellule ou d'un courant de polarisation de la cellule. Les sorties des N cellules Ci sont toutes connectées à un même noeud de connexion 100. Le noeud 100 reçoit donc les courants Ii des N cellules Ci. Le dispositif 1 comprend en outre, pour chacune des N cellules Ci, un convertisseur numérique analogique DACi, avec i indice entier allant de 1 à N (DAC1, DAC2, DAC3 et DAC4 en ). Chaque convertisseur DACi est configuré pour recevoir un mot numérique Vi_n (V1_n, V2_n, V3_n et V4_n en ), c'est-à-dire une valeur codée sous la forme d'un mot numérique, donc de plusieurs bits. Chaque convertisseur DACi est en outre configuré pour fournir à la cellule Ci correspondante (ayant le même indice i) la tension de commande Vi_a de la cellule Ci, de sorte que la valeur de la tension Vi_a soit déterminée par le mot numérique Vi_n. Dit autrement, chaque convertisseur DACi est configuré pour convertir le mot numérique Vi_n qu'il reçoit en la tension analogique Vi_a qu'il fournit à la cellule Ci. A titre d'exemple, le dispositif 1 comprend un circuit 102 configuré pour fournir les mots numériques Vi_n aux convertisseurs DACi. A titre d'exemple, ces mots numériques Vi_n sont les résultats d'un calcul précédent, par exemple un calcul mis en œuvre par une couche précédente d'un réseau de neurones. Le dispositif 1 comprend en outre un convertisseur numérique analogique ADC. Le convertisseur ADC a une entrée connectée au noeud 100. Ainsi, l'entrée du convertisseur ADC reçoit un courant IS égal à la somme des courants Ii. Le convertisseur ADC est configuré pour fournir un mot numérique de sortie V_n correspondant au résultat de la conversion analogique numérique du courant IS. Ainsi, en fonctionnement, le dispositif 1 permet la mise en œuvre d'un calcul en mémoire consistant en N multiplications Vi_n*Wi, c'est-à-dire N multiplication Vi_a*Wi, et en la sommation du résultat des N multiplications. Le résultat de cette somme, à savoir le courant IS dans la , est ensuite converti par le circuit ADC pour obtenir le mot V_n. Toutefois, dans le dispositif 1, plus le nombre N de multiplication augmente, plus le nombre de convertisseurs DACi, donc l'encombrement du dispositif 1, augmente. En outre, le circuit ADC pour convertir le courant IS en le mot numérique V_n est sensible aux variations PVT, d'où il résulte que des erreurs liées aux variations PVT peuvent être introduites dans le résultat V_n par le convertisseur ADC. De la même manière, les circuits DACi sont sensibles aux variations PVT, d'où il résulte que des erreurs liées aux variations PVT peuvent être introduite sur les valeurs des tension Vi_a, donc sur le résultat V_n. De plus, lorsque les mots numériques Vi_n peuvent prendre X valeurs distinctes, avec X strictement supérieur à 2, non seulement les convertisseurs DACi doivent avoir une précision, ou résolution, suffisante pour fournir des tensions analogiques de commande Vi_a pouvant prendre X valeurs distinctes correspondantes, et, en outre, chaque cellule Ci doit permettre de fournir, pour chaque valeur de poids Wi pouvant être programmée dans cette cellule, un courants Ii pouvant prendre X valeurs distinctes correspondantes, ce qui rend le dispositif 1 complexe à mettre en œuvre. Notamment, cela implique de prévoir un circuit ADC avec une résolution suffisante. Il est ici proposé un dispositif et un procédé pour la mise en œuvre de calculs en mémoire dans lesquels des cellules mémoire similaires aux cellules Ci précédentes sont commandées chacune par une tension de commande binaire modulée en largeur d'impulsion sur la base de la valeur du mot numérique correspondant. Cela permet d'éviter le recours à des convertisseurs numérique analogique pour générer les tensions de commande des cellules à partir des mots numériques. Cela permet en outre de simplifier la mise en œuvre d'un circuit du dispositif fournissant un signal représentatif du résultat du calcul en mémoire à partir des courants de sortie des cellules, et/ou de rendre ce circuit plus robuste aux variations PVT. La représente, de façon schématique et sous la forme de blocs, un exemple de mode de réalisation d'un dispositif 2 adapté à mettre en œuvre des calculs en mémoire. De manière similaire au dispositif 1, le dispositif 2 comprend N cellules mémoire C'i identiques, avec N un nombre entier supérieur ou égal à 2, et i un indice entier allant de 1 à N. Dans l'exemple de la , N est égal à quatre et le dispositif comprend donc N cellules mémoire C'1, C'2, C'3 et C'4. Les N cellules mémoire C'i font, par exemple, partie d'une mémoire du dispositif 2 comprenant M cellules mémoire identiques aux cellules C'i, avec M un nombre entier supérieur ou égal à N. A titre d'exemple, lorsque le dispositif 2 comprend un nombre M de cellules mémoire identiques aux N cellules mémoire C'i, avec M supérieur strictement à N, les M cellules sont par exemple arrangées en matrice de cellules mémoire comportant des lignes et des colonnes de cellules mémoire. Dans ce cas, les N cellules C'i font, par exemple, partie d'une même colonne de la matrice. Toutefois, dans d'autres exemples, les N cellules Ci' peuvent faire partie de différentes lignes et/ou colonnes de la matrice de M cellules. Chaque cellule C'i comprend une entrée de commande configurée pour recevoir une tension de commande Vi_pwm, avec i indice entier allant de 1 à N (V1_pwm, V2_pwm, V3_pwm et V4_pwm en ). Les tensions Vi_pwm sont des tensions prenant uniquement deux niveaux, à savoir un premier niveau haut et un deuxième niveau bas. De préférence, le niveau bas de chaque tension Vi_pwm correspond à une tension Vi_pwm nulle. L'entrée de commande de chaque cellule C'i correspond par exemple à une entrée de sélection de ligne d'une matrice de M cellules identiques aux cellules Ci'. Dans ce cas, toutes les cellules d'une même ligne de la matrice reçoivent, par exemple, la même tension Vi_pwm, cette dernière étant fournie aux cellules de la ligne de la matrice par une ligne conductrice, par exemple appelée ligne de mot ("wordline" en anglais), connectée à l'entrée de commande de chacune des cellules de cette ligne de la matrice. Pour fournir pendant une première durée D1 les tensions de commande Vi_pwm aux N cellules C'i à partir des mots numériques Vi_n, le dispositif 2 comprend, pour chaque cellule C'i, un circuit PWMi, avec i indice entier allant de 1 à N (PWM1, PWM2, PWM3, PWM4 en ). Chaque circuit PWMi est configuré pour recevoir le mot numérique Vi_n correspondant, et pour fournir, pendant la durée D1, la tension de commande correspondante Vi_pwm à la cellule C'i concernée. Chaque circuit PWMi est configuré pour que, pendant la durée D1, la tension Vi_pwm soit à son premier niveau haut pendant une deuxième durée D2 déterminée par le mot numérique Vi_n, c'est-à-dire par la valeur du mot numérique Vi_n. Par exemple, pour chaque tension Vi_pwm, le rapport de la durée D2 par la durée D1 est minimal et nul lorsque le mot Vi_n correspondant est nul, c'est-à-dire représente une valeur nulle, et ce rapport D2/D1 est maximal et égal à 1 lorsque le mot Vi_n est maximal, c'est-à-dire représente une valeur maximale. Dit autrement, pendant la durée D1, le rapport cyclique D2/D1 de chaque tension Vi_pwm est déterminé par la valeur du mot numérique Vi_n correspondant. A titre d'exemple, dans le dispositif 2, les mots Vi_n sont fournis aux circuits PWMi par un circuit de commande CTRL du dispositif 2. A titre d'exemple, lorsque les N cellules C'i font parties d'une matrice de M cellules identiques, le circuit CTRL est un circuit de commande des lignes de la matrice. Dans le dispositif 2, pour chaque calcul en mémoire mis en œuvre, la durée D1 est constante et commune à l'ensemble de N cellules C'i impliquées dans le calcul en mémoire. Selon un mode de réalisation, bien que cela ne soit pas illustré en , la durée D1 correspond à un nombre K constant de cycles d'une horloge clk du dispositif 2. De préférence, le nombre K est un nombre entier ce qui simplifie la mise en œuvre du dispositif 2 par rapport à un cas où le nombre K est un nombre décimal. Dans un tel mode de réalisation, pour chaque cellule C'i, la durée D2 du premier niveau haut de la tension de commande correspondante Vi_pwm correspond à un nombre Q de la période de l'horloge clk du dispositif 2. De préférence, le nombre Q est un nombre entier ce qui simplifie la mise en œuvre du dispositif 2 par rapport à un cas où le nombre K est un nombre décimal. Toutefois, dans des variantes de réalisation, les tensions Vi_pwm, qui ont chacune un rapport de durées D2/D1 déterminé par le mot Vi_n correspondant, sont générées avec des circuits usuels de génération d'une tension modulée en largeur d'impulsion et les durées D1 et D2 ne correspond alors pas nécessairement à des nombres respectivement K et Q de périodes d'une horloge clk du dispositif 2. De préférence, lorsque les durées D1 et D2 correspondent à des nombres respectifs K et Q de périodes de l'horloge clk du dispositif 2, le nombre K est déterminé par la valeur maximale prise par les mots Vi_n, et le nombre Q est déterminé, pour chaque cellule C'i, ou, dit autrement, pour chaque circuit PWMi, par la valeur du mot Vi_n reçu par ce circuit PWMi. De préférence, lorsque les durées D1 et D2 correspondent à des nombres entiers respectivement K et Q de période de l'horloge clk, le nombre K est égal au nombre total de valeurs que peut prendre chaque mot Vi_n moins 1. Dans ce cas, chaque valeur du mot Vi_n correspond à une valeur entière de Q comprise entre 0 et K-1, par exemple une valeur nulle lorsque le mot Vi_n est nul, et une valeur maximale égale à K lorsque le mot Vi_n est maximal. Cela simplifie encore plus la mise en œuvre du dispositif 2. Chaque cellule C'i comprend en outre une sortie fournissant un courant Ii_pwm, avec i indice entier allant de 1 à N (I1_pwm, I2_pwm, I3_pwm et I4_pwm en ). Chaque cellule C'i est configurée pour fournir le courant Ii_pwm à une valeur au moins en partie déterminée par le produit de de la tension Vi_pwm qu'elle reçoit avec le poids Wi programmé dans la cellule. De préférence, lorsqu'une cellule C'i reçoit une tension Vi_pwm au niveau bas, le courant Ii_pwm qu'elle fournit est nul. Selon un mode de réalisation, chaque cellule C'i est configurée pour fournir un courant Ii_pwm à une valeur déterminée uniquement par le niveau de la tension Vi_pwm qu'elle reçoit et par le poids Wi programmé dans la cellule. A titre de variante non illustrée en , chaque cellule C'i comprend en outre une entrée de sélection. L'entrée de sélection de la cellule C'i est configurée pour recevoir un signal de sélection, de préférence une tension de sélection. Dans une telle variante, chaque cellule C'i est configurée pour fournir un courant Ii_pwm ayant une valeur déterminée par le niveau de la tension Vi_pwm qu'elle reçoit, par le poids Wi programmé dans la cellule et par la valeur de la tension de sélection qu'elle reçoit, par exemple une valeur déterminée par le produit de la tension Vi_pwm, du poids Wi et de la tension de sélection de la cellule. Cette entrée de sélection de chaque cellule C'i correspond, par exemple, à une entrée de sélection de colonne lorsque les cellules C'i font partie d'une matrice de M cellules. Dans ce cas, toutes les cellules d'une même colonne de la matrice reçoivent, par exemple, la même tension de sélection, cette dernière étant fournie aux cellules de la colonne de la matrice par une ligne conductrice, par exemple appelée ligne de bit ("bitline" en anglais), connectée à l'entrée de sélection de chacune des cellules de cette colonne de la matrice. De préférence, dans une telle variante, chaque cellule C'i est configurée pour fournir son courant Ii_pwm à une valeur nulle si le signal de sélection qu'elle reçoit est dans un premier état, par exemple un premier état correspondant à une valeur nulle du signal de sélection. A titre d'exemple, lorsque le signal de sélection fourni à une cellule C'i peut prendre au moins deux autres états en plus du premier état, cela permet de pondérer la valeur du poids Wi programmée dans la cellule avec le signal de sélection de cette cellule. Le dispositif 2 comprend un noeud de connexion 200. Le noeud 200 est configuré pour recevoir, pendant la première durée D1, c'est-à-dire pendant toute la durée D1, les courants de sortie Ii_pwm des N cellules C'i. Selon un mode de réalisation, comme cela est illustré en , le noeud 200 est connecté aux sorties de toutes les N cellules C'i, le noeud 200 pouvant en outre être connecté à des sorties d'autres cellules mémoire parmi les M cellules mémoires du dispositif 1. A titre de variante non illustrée en , le noeud 200 est couplé aux sorties des N cellules C'i par un réseau de connexion ayant des entrées connectées aux sorties de N cellules C'i et, par exemple, à des sorties d'autres cellules mémoire parmi les M cellules du dispositif 2. Le dispositif 2 comprend alors un circuit de commande du réseau de connexion configuré pour commander le réseau de connexion de sorte que, pendant la durée D1, c'est-à-dire pendant toute la durée D1, le noeud 200 reçoive les courants Ii_pwm de sortie des N cellules C'i. A titre d'exemple, lorsque le réseau de connexion est connecté aux sorties d'autres cellules mémoire que les N cellules C'i, le circuit de commande du réseau de connexion est en outre configuré pour que, pendant toute la durée D1, les sorties de ces autres cellules mémoires soient isolées électriquement du noeud 200 par le réseau de connexion. Le dispositif 2 comprend également un circuit INT/ADC. Une entrée 202 du circuit INT/ADC est connectée au noeud 200. Ainsi, le circuit INT/ADC reçoit, pendant la durée D1, la somme IS_pwm des courants de sortie I1_pwm, I2_pwm, I3_pwm et I4_pwm fournis par les N cellules C'1, C'2, C'3 et C'4 qui ont leurs sorties couplées électriquement au noeud 200 pendant la durée D1. Le circuit INT/ADC est configuré pour fournir, à partir de la somme IS_pwm des courants Ii_pwm qu'il reçoit du noeud 200, un signal V_n ayant une valeur déterminée par une quantité totale de courant IS_pwm reçue par son entrée 202 pendant toute la durée D1. De préférence, le signal V_n est un mot numérique, c'est-à-dire un signal numérique sur plusieurs bits, codant une valeur déterminée par la quantité totale de courant reçue par l'entrée 202 du circuit pendant toute la période D1. Selon un mode de réalisation, pour fournir le signal V_n à partir de la quantité totale de courant IS_pwm reçue par son entrée 202 pendant une durée D1, le circuit INT/ADC comprend un circuit intégrateur (non représenté en ) configuré pour intégrer la quantité de courant IS_pwm reçue pendant toute la durée D1, c'est-à-dire pour calculer, ou déterminer, la quantité totale de courant reçue par l'entrée 202 pendant la période D1. Le circuit intégrateur fourni alors un signal représentatif de la quantité totale de courant reçue par son entrée 202 pendant la période D1. A titre d'exemple, le circuit intégrateur est un circuit analogique ayant une entrée couplée, de préférence connectée, à l'entrée 202 du circuit INT/ADC. Dans ce cas, le signal fourni par le circuit intégrateur est un signal analogique. Le circuit INT/ADC peut alors comprendre un convertisseur analogique-numérique configuré pour fournir un mot numérique résultant de la conversion analogique-numérique du signal de sortie du circuit intégrateur, et le signal V_n est déterminé à partir de ce mot numérique. En variante, le signal V_n est un signal analogique déterminé par le signal de sortie du circuit intégrateur et le circuit INT/ADC est dépourvu de convertisseur analogique numérique. A titre d'exemple alternatif, le circuit intégrateur est un circuit numérique. Dans ce cas, le circuit INT/ADC comprend un convertisseur analogique-numérique ayant une entrée couplée, de préférence connectée, à l'entrée 202 du circuit INT/ADC, et qui convertit le signal IS_pwm reçu pendant une durée D1 en des échantillons numériques à une fréquence d'acquisition supérieure, par exemple au moins 10 fois supérieure, à l'inverse de la durée D1. Le circuit intégrateur numérique reçoit ces échantillons numériques et les intègre, c'est-à-dire ici les somme, pour fournir un signal numérique représentatif de la quantité totale de courant IS_pwm reçu pendant cette durée D1. Le signal V_n est alors un signal numérique déterminé à partir du signal de sortie numérique du circuit intégrateur. A titre de variante de réalisation, pour fournir le signal V_n à partir de la quantité totale de courant IS_pwm reçue par son entrée 202 pendant une durée D1, le circuit INT/ADC comprend un oscillateur (non représenté en ), ayant une fréquence d'oscillation déterminée par le courant IS_pwm reçu par l'entrée 202. Par exemple, l'oscillateur est alimenté par le courant IS_pwm, de sorte que lorsque la valeur du courant IS_pwm change, la fréquence des oscillations change de manière correspondante. L'oscillateur est par exemple un oscillateur en anneau. Dans une telle variante, le circuit INT/ADC comprend en outre un compteur configuré pour fournir un signal numérique de sortie ayant une valeur déterminée par un nombre compté d'oscillations de l'oscillateur pendant cette durée D1, c'est-à-dire pendant toute cette durée D1. Ainsi, le nombre d'oscillations comptées est représentatif de la quantité totale de courant IS_pwm reçue pendant la durée D1, et le signal V_n de sortie du circuit INT/ADC est alors déterminé à partir du signal de sortie du compteur. Alors que dans le dispositif 1, la valeur instantanée du courant Ii de chaque cellule Ci est représentative du produit de la tension Vi_a (donc de la valeur du mot Vi_n) par le poids wi programmé dans cette cellule, dans le dispositif 2, du fait que les tensions Vi_pwm sont des tensions modulées en largeur d'impulsion sur la base des mots Vi_n, c'est la quantité totale de courant Ii_pwm fourni par chaque cellule C'i sur l'ensemble de la durée D1 qui est représentative du produit de la tension Vi_pwm (donc de la valeur du mot Vi_n) par le poids Wi programmé dans cette cellule. Cela permet de simplifier le dispositif 2 par rapport au dispositif 1 du fait que les tensions Vi_pwm ne prennent que deux niveaux contrairement aux tensions Vi_a. En outre, cela permet de rendre le dispositif 2 moins encombrant que le dispositif 1 du fait que les N circuits DACi sont remplacés par N circuits PWMi et que les circuits PWMi sont moins encombrants que les circuits DACi. Cela permet également d'améliorer la précision du calcul, du fait que les circuits PWMi, donc les tensions Vi_pwm, sont moins sensibles aux variations PVT que les circuits DACi, donc que les tensions Vi_a. La représente, de façon schématique et sous la forme de blocs, un exemple de mode de réalisation d'un circuit PWMi du dispositif 2 de la , dans le cas où les durées D1 et D2 correspondent à des nombres K et Q de périodes d'une horloge clk du dispositif 2 de la . De préférence, tous les circuits PWMi sont identiques. Dans cet exemple de mode de réalisation, le circuit PWMi comprend un compteur COUNTER cadencé à la fréquence de l'horloge clk. Le circuit PWMi et le compteur COUNTER reçoivent alors chacun l'horloge clk. Le compteur COUNTER reçoit également le mot numérique Vi_n. Pour connaitre le début de la durée D1, le circuit PMW_i et le circuit COUNTER reçoivent chacun un signal start indiquant, par exemple par une commutation entre deux états du signal start, le début de chaque durée D1. Pendant chaque durée D1, le compteur COUNTER est configuré pour compter le nombre de période de l'horloge clk. Tant que le nombre compté est inférieur à une valeur déterminée par le mot Vi_n, le compteur COUNTER fourni un signal binaire sig2 dans un premier état, et à un deuxième état binaire sinon, c'est-à-dire dès que le nombre compté de périodes de l'horloge clk atteint cette valeur ou est supérieur à cette valeur. Le signal Vi_pwm est alors déterminé à partir du signal sig2. Par exemple, lorsque le premier état du signal sig2 est un état haut et le deuxième état du signal sig1 est un état bas, le signal Vi_pwm correspond, ou est égal, au signal sig2. Dit autrement, la tension Vi_pwm est à son premier niveau haut si le signal sig2 est a son premier état binaire, et la tension Vi_pwm est à son deuxième niveau bas si le signal sig2 est à son deuxième état binaire. A titre d'exemple alternatif, lorsque le premier état du signal sig2 est un état bas et le deuxième état du signal sig1 est un état haut, le signal Vi_pwm correspond, ou est égal, à un signal complémentaire (ou inverse) du signal sig2. A titre d'autre exemple alternatif, la tension Vi_pwm est obtenu en sortie d'un circuit, par exemple un pont diviseur de tension, configuré pour adapter les valeurs des niveaux haut et bas de la tension Vi_pwm par rapport au niveau des premier et deuxième états binaires du signal sig2 ou de son complément binaire. La personne du métier sera en mesure de prévoir d'autres mises en œuvre du circuit PWMi à partir d'un compteur. Par exemple, le mot Vi_n peut être fourni à un comparateur numérique recevant également un mot numérique de sortie du compteur indiquant le nombre de périodes de l'horloge clk compté depuis le début d'une période D1 indiquée par le signal start. Par exemple, le compteur est remis à zéro à chaque début de durée D1 et le comparateur fourni un signal binaire à un premier état tant que le mot numérique de sortie du compteur est inférieur au mot Vi_n, et à un deuxième état binaire sinon, la tension Vi_pwm étant déterminée à partir du signal binaire de sortie du comparateur. La représente, de façon schématique et sous la forme de blocs, un exemple de mode de réalisation du circuit INT/ADC du dispositif 2 de la . Plus particulièrement, la illustre un exemple de mode de réalisation décrit précédemment en relation avec la , dans lequel : - le circuit INT/ADC comprend un circuit intégrateur INT configuré pour intégrer la quantité de courant IS_pwm reçue pendant la durée D1, et pour fournir un signal analogique sig3 représentatif de cette intégration, c'est-à-dire du résultat de cette intégration ; et - le circuit INT/ADC peut comprend un convertisseur analogique-numérique ADC configuré pour fournir un mot numérique résultant de la conversion analogique-numérique du signal de sortie sig3 du circuit intégrateur, le signal V_n étant déterminé à partir de ce mot numérique de sortie du convertisseur ADC, par exemple étant égal à ce mot numérique de sortie du convertisseur ADC. La représente, de façon schématique et sous la forme de blocs, un autre exemple de mode de réalisation du dispositif 2. Dans cet exemple, le dispositif 2 comprend M cellules mémoires identiques C'ku, avec k un indice entier allant de 1 à P et u un indice entier allant de 1 à L et M égal à L fois P. Les cellules C'ku sont identiques aux cellules C'i décrites précédemment en relation avec la . En outre, les cellules C'ku sont organisées en une matrice de P lignes (horizontales en ) et L colonnes (verticales en ). Dans l'exemple de la , P égal 4 et L égal 3, donc M égal 12. Dans cet exemple, dans chaque ligne, chaque cellule C'ku de la ligne d'indice k reçoit la même tension de commande Vk_pwm sur son entrée de commande, avec k indice entier allant de 1 à P. Ainsi, dans l'exemple particulier de la , les cellules C'11, C'12 et C'13 de la ligne d'indice k égal à 1 reçoivent chacune la même tension de commande V1_pwm, les cellules C'21, C'22 et C'23 de la ligne d'indice k égal à 2 reçoivent chacune la même tension de commande V2_pwm, les cellules C'31, C'32 et C'33 de la ligne d'indice k égal à 3 reçoivent chacune la même tension de commande V3_pwm, et les cellules C'41, C'42 et C'43 de la ligne d'indice k égal à 4 reçoivent chacune la même tension de commande V4_pwm. Dans cet exemple de mode de réalisation, le dispositif 2 comprend donc un circuit PWMk par ligne, avec k un indice entier allant de 1 à P. Dans l'exemple particulier de la , le dispositif 2 comprend donc un circuit PWM1 fournissant la tension V1_pwm à partir du poids numérique V1_n, un circuit PWM2 fournissant la tension V2_pwm à partir du poids numérique V2_n, un circuit PWM3 fournissant la tension V3_pwm à partir du poids numérique V3_n, et un circuit PWM4 fournissant la tension V4_pwm à partir du poids numérique V4_n. L'ensemble des circuits PMWk pris avec un circuit CTRL fournissant les mots numériques Vk_n, avec k indice entier allant de 1 à P, forment, par exemple, un circuit de commande des P lignes de la matrice. Dans cet exemple de mode de réalisation, N cellules mémoires d'une même colonne, ici la colonne d'indice u égal 3, sont utilisées pour mettre en oeuvre un calcul en mémoire. Dans l'exemple particulier de la , N est égal à 3 et les cellules C'13, C'23 et C'33 sont utilisées pour mettre en œuvre un calcul en mémoire. Ces N cellules C'ku ont alors leurs sorties couplées, par exemple connectées dans l'exemple de la , à un même noeud 500. Le noeud 500 est, comme le noeud 200 décrit précédemment en relation avec la , configuré pour recevoir les courants de sortie des N cellules C'ku pendant la durée D1 correspondant au calcul en mémoire utilisant ces N cellules. En outre, un circuit INT/ADC a son entrée 202 connectée au noeud 500. Ainsi, pendant une période D1 correspondant à ce calcul en mémoire, les tensions de commande Vk_pwm sont fournies aux N cellules C'ku, les N cellules C'ku fournissent alors les courants de sortie Iku_pwm (I13_pwm, I23_pwm et I33_pwm dans l'exemple particulier de la ) au noeud 500, et le circuit INT/ADC connecté au noeud 500 fourni le signal V_n à partir de la quantité totale de courant reçue par son entrée 202 pendant cette période D1. A titre d'exemple, comme cela est représenté en pour la colonne d'indice u égal 3, toutes cellules C'uk d'une même colonne ont leurs sorties connectées à un même noeud, le noeud 500 dans cet exemple, lui-même connecté à l'entrée 202 d'un circuit INT/ADC. En particulier, comme cela est représenté en par des traits en pointillés, la cellule C'43 est connectée au noeud 500 alors qu'elle ne participe pas au calcul mis en œuvre en mémoire impliquant les N cellules C'13, C'23, C'33. Dans ce cas, pour qu'une cellule C'ku de la colonne ne participant pas au calcul en mémoire, à savoir la cellule C'43 dans l'exemple particulier de la , ne fausse pas le résultat du calcul, elle ne doit pas, pendant la durée D1, fournir de courant de sortie I43_pwm au noeud 500 ou fournir un courant de sortie I43_pwm nul au noeud 500. Pour cela, le mot V4_n correspondant est mis à une valeur minimale, par exemple nulle, de sorte que le tension V4_pwm reste à son deuxième niveau bas pendant toute la durée D1 d'où il résulte que le courant I43_pwm reste nul pendant toute la durée D1. A titre d'exemple alternatif, dans chaque colonne, la ou les cellules qui ne participent pas à la mise en œuvre d'un calcule en mémoire impliquant les autres cellules de la colonne ne sont pas connectées au noeud de connexion qui est connecté à l'entrée 202 du circuit INT/ADC. En reprenant l'exemple particulier de la , la cellule C'43 n'est alors pas connectée au noeud 500. De préférence, dans un mode de réalisation où les M cellules sont organisées en matrice de P lignes et L colonnes, et où toutes les cellules d'une même ligne reçoivent, à chaque durée D1, la même tension Vk_pwm de commande de ligne, avec k l'indice de cette ligne, les cellules C'ku de la matrice comprennent en outre une entrée de sélection de colonne telle que décrite précédemment. Dans ce cas, les cellules d'une même colonne reçoivent par exemple le même signal de sélection selu, avec u indice entier allant de 1 à L. Par exemple, comme cela est représenté en , les cellules de la colonne d'indice u égal 1 reçoive le signal sel1, les cellules de la colonne d'indice u égal 2 reçoive le signal sel2 et les cellules de la colonne d'indice u égal 3 reçoive le signal sel3. A titre d'exemple, les signaux selu sont fournis par un circuit SEL du dispositif 2, par exemple un circuit SEL de commande de colonne. Ainsi, lors de la mise en œuvre d'un calcul en mémoire impliquant des cellules d'une unique colonne d'indice u, les cellules de cette colonne reçoivent un signal de sélection selu à une valeur permettant que les cellules de cette colonne fournissent des courants de sortie déterminés par les tensions de commande Vk_pwm reçus par les cellules de cette colonne et par les poids programmés dans ces cellules. A l'inverse, les cellules mémoires des autres colonnes de la matrice reçoivent des signaux de sélection selu à une valeur forçant le courant de sortie fourni par chacune de ces cellules à une valeur constante et nulle quel que soit le niveau de la tension de commande Vk_pwm reçu par cette cellule. Bien que cela ne soit pas illustré en , le dispositif 2 peut comprendre plus d'un circuit INT/ADC, par exemple exactement un circuit INT/ADC par colonne de la matrice. Par exemple, dans le dispositif 2 de la , dans chaque colonne de la matrice, les sorties de toutes cellules de la colonne sont alors connectées au circuit INT/ADC de cette colonne. De manière alternative ou complémentaire, pour chaque colonne, le dispositif 2 peut comprendre plusieurs circuits INT/ADC, par exemple un premier circuit INT/ADC connecté ou couplé aux sorties de premières cellules mémoire de la colonne et un deuxième circuit INT/ADC connecté ou couplé aux sorties de deuxièmes cellules mémoire de la colonne. Cela permet par exemple de mettre en œuvre simultanément plusieurs calculs en mémoire pendant une même durée D1 et avec les cellules d'une seule colonne. Par exemple, en reprenant le dispositif 2 de la , plutôt que de connecter la sortie de la cellule C'43 au circuit INT/ADC représenté, la sortie de cette cellule est connectée à un autre circuit INT/ADC. Dans l'exemple représenté en , respectivement en , les sorties de toutes les cellules mémoire C'i, respectivement C'ku, participant à la mise en œuvre d'un calcul en mémoire lors d'une durée D1 correspondante sont connectées au noeud 200, respectivement 500, lui-même connecté à l'entrée 202 d'un circuit INT/ADC correspondant. Toutefois, il peut être souhaitable, pour rendre le dispositif 2 reconfigurable de manière simple, que les cellules mémoires qui fournissent, pendant une durée D1 donnée, des courants de sortie à un noeud connecté à l'entrée 202 d'un circuit INT/ADC correspondant, puissent être au moins en partie différentes des cellules mémoire qui fournissent, pendant une autre durée D1, des courants de sortie à ce même noeud. Pour cela, comme cela a déjà été mentionné en relation avec la , chaque circuit INT/ADC du dispositif 2, et, plus largement, chaque noeud de connexion, par exemple 200 en et 500 en , configuré pour recevoir les courants de sortie de N cellules mémoire du dispositif 2 pendant une durée D1 de la mise en œuvre d'un calcul en mémoire, peut être couplé aux sorties de ces N cellules et, par exemple, aux sorties d'un ou plusieurs autres cellules parmi les M cellules du dispositif 2 par un réseau de connexion commandable par un circuit de commande du réseau. Dans ce cas, le réseau de connexion à des entrées connectées aux sorties de ces cellules, et une sortie connectée au noeud de connexion. Le circuit de commande du réseau de connexion est alors configuré, pendant la durée D1, pour commander le réseau de sorte que le noeud de connexion reçoive le courant de sortie de chacune des N cellules impliqué dans le calcul en mémoire mis en œuvre pendant cette durée D1. Le circuit de commande du réseau est en outre configuré, pendant la durée D1, pour commander le réseau de sorte que les sorties des autres cellules mémoire qui sont connectées aux entrées du réseau et qui ne sont pas impliquées dans le calcul en mémoire mis en œuvre pendant cette durée D1 soient électriquement isolées du noeud de connexion. Dit autrement, le réseau R et/ou son circuit de commande sont configurés pour que, pendant une durée D1, le noeud de connexion connecté à la sortie du réseau R reçoive les courants de sortie uniquement des cellules mémoire impliquées dans le calcul en mémoire correspondant à cette durée D1. La représente, de façon schématique et sous la forme de blocs, une variante de réalisation des dispositifs 2 des figures 2 et 5, dans le cas où le dispositif 2 comprend un réseau de connexion R tel que décrit ci-dessus, étant entendu que le dispositif 2 peut comprendre plus d'un réseau R, par exemple un réseau R par circuit INT/ADC du dispositif 2. L'exemple particulier de la correspond à l'exemple particulier de la dans lequel, pendant une durée D1, les cellules C'13, C'23 et C'33 sont impliquées dans la mise en œuvre d'un calcul en mémoire et où la cellule C'43 ne l'est pas et ne doit pas fournir de courant de sortie I43_pwm au noeud 500. Le réseau R comprend alors quatre entrées connectées aux sorties respectives des cellules C'13, C'23, C'33 et C'43, et une sortie connectée au noeud 500, lui-même connecté à l'entrée 202 du circuit INT/ADC. Le dispositif 2 comprend en outre un circuit R_CTRL de commande du réseau R. Le circuit R_CTRL fournit au réseau R un signal de commande sig4. Le signal sig4, par exemple un mot numérique sur plusieurs bits, détermine pour une période D1 donnée laquelle ou lesquelles des entrées du réseau R sont couplées électriquement à la sortie du réseau R par le réseau R, et laquelle ou lesquelles des entrées du réseau R sont isolées électriquement de la sortie du réseau R. A titre d'exemple, le réseau R comprend, pour chacune de ses entrées connectées à la sortie d'une cellule C'ku correspondante, un interrupteur IT connecté entre cette entrée du réseau et la sortie du réseau R. Les interrupteurs sont commandés par le signal sig4. La personne du métier sera toutefois en mesure de prévoir d'autres exemples de mise en œuvre du réseau R. Dans l'exemple particulier de la , pendant toute la durée D1 d'un calcul en mémoire utilisant les cellules C'13, C'23 et C'33, le circuit de commande R_CTRL commande le réseau R pour que la sortie de chacun de ces cellules soit couplée électriquement à la sortie du réseau, de sorte que les courants de sortie fournis par ces cellules soient fournis au noeud 500 où ils s'additionnent. En outre, pendant cette même durée D1, le circuit R_CTRL commande le réseau R de sorte que son entrée connectée à la sortie de la cellule C'43 soit isolée électriquement de la sortie du réseau R, et donc du noeud 500. Dans l'exemple de la où le réseau R est mis en œuvre par des interrupteurs IT, l'interrupteur IT connecté entre la sortie de la cellule C'13 et le noeud 500, l'interrupteur IT connecté entre la sortie de la cellule C'23 et le noeud 500, et l'interrupteur IT connecté entre la sortie de la cellule C'33 et le noeud 500 sont mis à l'état passant par le circuit R_CTRL pendant toute la durée D1 du calcul en mémoire, et l'interrupteur IT connecté entre la sortie de la cellule C'43 et le noeud 500 est mis à l'état passant pendant toute cette durée D1. Bien que dans l'exemple de la les cellules C'13 à C'43 qui ont leurs sorties connectées à des entrées correspondantes du réseau R fassent toutes partie d'une même colonne, cela n'est pas une nécessité. En effet, le réseau R du dispositif 2 peut avoir des entrées connectées à n'importe lesquelles des M cellules mémoires du dispositif 2, par exemple à des cellules de deux colonnes différentes de la matrice. Les modes de réalisation et variantes de dispositifs 2 décrits ci-dessus en relation avec les figures 2 à 6 permettent la mise en œuvre d'un procédé de calcul en mémoire. Le procédé comprend alors, pendant une durée D1, les étapes suivantes : fournir à un noeud de connexion (200 en , 500 en figures 5 et 6) les courants de sortie d'une pluralité N de cellules parmi les M cellules du dispositif ; fournir, avec un circuit INT/ADC ayant une entrée 202 connectée au noeud de connexion, un signal de sortie V_n ayant une valeur déterminée par une quantité totale de courant IS_pwm reçue par cette entrée 202 du circuit INT/ADC pendant toute cette durée D1 ; et pour chacune des N cellules, recevoir un mot numérique V1_n, V2_n, V3_n, V4_n avec un circuit PWM1, PWM2, PWM3, PWM4 et fournir avec ce circuit PWM1, PWM2, PWM3, PWM4 la tension de commande V1_pwm, V2_pwm, V3_pwm, V4_pwm de la cellule à un premier niveau, de préférence non nul, pendant une durée D2 déterminée par le poids numérique reçu. Divers modes de réalisation et variantes ont été décrits. La personne du métier comprendra que certaines caractéristiques de ces divers modes de réalisation et variantes pourraient être combinées, et d’autres variantes apparaîtront à la personne du métier. En particulier, bien que l'on ait mentionné ici des cellules mémoires ayant une entrée de commande et, par exemple, une entrée de sélection, des cellules mémoires comprenant des entrées supplémentaires peuvent être utilisées dans les dispositifs 2 décrits. En outre, comme cela a été brièvement mentionné en relation avec la , le dispositif 2 peut comprend plusieurs circuit INT/ADC, ou, dit autrement, plusieurs noeuds de connexion configurés chacun pour recevoir, pendant une même durée D1, les courants de sorties de cellules mémoire correspondantes, de sorte que plusieurs calculs en mémoire soient mis en œuvre simultanément dans le dispositif 2 lors de cette durée D1. Enfin, la mise en oeuvre pratique des modes de réalisation et variantes décrits est à la portée de la personne du métier à partir des indications fonctionnelles données ci-dessus. En particulier, pour ce qui est de la mise en œuvre des circuits PWMi, comme cela a déjà été indiqué, celle-ci ne se limite pas à ce qui a été décrit en relation avec la , et, plus généralement, ne se limite pas à des circuits PWMi comprenant des compteurs. De même, pour ce qui est de la mise en œuvre des circuits INT/ADC, celle-ci ne se limite pas à ce qui a été décrit en relation avec la . En outre, bien que cela n'ait pas encore été précisé, la personne du métier comprendra que, pendant une durée D1 donnée, la tension de commande reçu par une cellule mémoire impliquée dans le calcul en mémoire correspondant est à son premier niveau uniquement pendant la durée D2 (la durée D2 pouvant être continue ou non, et pouvant en outre être nulle ou au contraire égale à D1), et à son deuxième niveau pendant le reste de la durée D1, c'est-à-dire pendant une durée D3 égale à D1 moins D2 (la durée D3 pouvant être continue ou non, et pouvant en outre être égale à D1 ou au contraire être nulle). Pour mettre en œuvre les cellules mémoires décrites la personne du métier peut utiliser des cellules mémoire désigné par le signe eSTM, ou, plus généralement, des cellules mémoire non volatiles à au moins deux niveaux de programmation ("multi-level memory cell" en anglais). Dispositif (2) comprenant : des cellules mémoires (C'1, C'2, C'3, C'4 ; C'13, C'23, C'33, C'34) comprenant chacune une entrée de commande configurée pour recevoir une tension de commande (V1_pwm, V2_pwm, V3_pwm, V4_pwm) modulée en largeur d'impulsion et une sortie configurée pour fournir un courant de sortie (I1_pwm, I2_pwm, I3_pwm, I4_pwm ; I13_pwm, I23_pwm, I33_pwm, I43_pwm) ayant une valeur au moins en partie déterminée par un niveau de la tension de commande de la cellule et par un poids programmé dans ladite cellule ; un noeud de connexion (200 ; 500) configuré pour recevoir, pendant une première durée, les courants de sortie (I1_pwm, I2_pwm, I3_pwm, I4_pwm ; I13_pwm, I23_pwm, I33_pwm) de plusieurs cellules (C'1, C'2, C'3, C'4 ; C'13, C'23, C'33) parmi lesdites cellules ; un premier circuit (INT/ADC) ayant une entrée (202) connectée au premier noeud (200 ; 500), le premier circuit étant configuré pour fournir un signal de sortie (V_n) ayant une valeur déterminée par une quantité totale de courant (IS_pwm) reçue par l'entrée (202) du premier circuit pendant la première durée ; et pour chaque cellule de la pluralité de cellules (C'1, C'2, C'3, C'4 ; C'13, C'23, C'33), un deuxième circuit (PWM1, PWM2, PWM3, PWM4) configuré pour recevoir un mot numérique (V1_n, V2_n, V3_n, V4_n) et pour fournir, pendant la première durée, la tension de commande (w1_pwm, w2_pwm, w3_pwm, w4_pwm) à ladite cellule à un premier niveau uniquement pendant une deuxième durée déterminée par ledit mot numérique. Dispositif selon la revendication 1, dans lequel chaque cellule mémoire (C'1, C'2, C'3, C'4) est configurée de sorte que la valeur de son courant de sortie (I1_pwm, I2_pwm, I3_pwm, I4_pwm) est uniquement déterminée par le niveau de sa tension de commande (w1_pwm, w2_pwm, w3_pwm, w4_pwm) et par le poids programmé dans ladite cellule. Dispositif selon la revendication 1, dans lequel chaque cellule mémoire (C'13, C'23, C'33, C'43) comprend en outre une entrée de sélection et est configurée de sorte que : la valeur de son courant de sortie (I13_pwm, I23_pwm, I33_pwm, I43_pwm) est à une valeur, de préférence nulle, indépendante du niveau de sa tension de commande (w1_pwm, w2_pwm, w3_pwm, w4_pwm) et du poids programmé dans ladite cellule si son entrée de sélection reçoit un signal de sélection (sel3) dans un premier état ; et la valeur de son courant de sortie (I13_pwm, I23_pwm, I33_pwm, I43_pwm) est déterminée par le niveau de sa tension commande (w1_pwm, w2_pwm, w3_pwm, w4_pwm), le poids programmé dans la cellule et l'état du signal de sélection reçu par son entrée de sélection si l'état du signal de sélection (sel3) est différent du premier état. Dispositif selon la revendication 3, dans lequel le dispositif comprend en outre un circuit de sélection (SEL) configuré pour fournir, à chaque cellule de la pluralité de cellules (C'13, C'23, C'33), le signal de sélection (sel3) de la cellule. Dispositif selon l'une quelconque des revendications 1 à 4, dans lequel chaque deuxième circuit (PWM1, PWM2, PWM3, PWM4) est configuré pour que la tension de commande (V1_pwm, V2_pwm, V3_pwm, V4_pwm) fournie par ce deuxième circuit comprenne exactement deux niveaux, lesdits deux niveaux comprenant le premier niveau. Dispositif selon l'une quelconque des revendications 1 à 5, dans lequel le premier noeud (200, 500) est connecté à la sortie de chacune des cellules de la pluralité de cellules. Dispositif selon l'une quelconque des revendications 1 à 5, dans lequel le dispositif comprend en outre : un réseau de connexion (R) ayant une sortie connectée au premier noeud (500) et des entrées connectées aux sorties des cellules de la pluralité de cellules (C'13, C'23, C'33) ; et un circuit de commande (R_CTRL) dudit réseau configuré, pendant la première durée, pour commander le réseau (R) de sorte que le premier noeud (500) reçoive le courant de sortie (I13_pwm, I23_pwm, I33_pwm) de chacune des cellules de la pluralité de cellules. Dispositif selon l'une quelconque des revendications 1 à 7, dans lequel le premier circuit (INT/ADC) comprend un circuit intégrateur (INT) configuré pour intégrer la quantité de courant (IS_pwm) reçu par le premier circuit (INT/ADC) pendant la première durée et pour fournir un premier signal (sig3) déterminé par ladite intégration. Dispositif selon la revendication 8, dans lequel le premier signal (sig3) est un signal analogique et le premier circuit (INT/ADC) comprend en outre un convertisseur analogique numérique (ADC) configuré pour convertir le premier signal analogique en un signal numérique déterminant le signal de sortie (V_n) du premier circuit (INT/ADC). Dispositif selon l'une quelconque des revendications 1 à 7, dans lequel le premier circuit (INT/ADC) comprend : - un oscillateur ayant une fréquence d'oscillation déterminée par un courant total (IS_pwm) disponible sur le premier noeud (200, 500), et - un compteur configuré pour fournir un signal numérique ayant une valeur déterminée par un nombre compté d'oscillations pendant la première durée, le signal de sortie (V_n) du premier circuit (INT/ADC) étant déterminé par le signal numérique fournit par le compteur. Dispositif selon l'une quelconque des revendications 1 à 10, dans lequel la première durée est égale à K fois une période d'horloge (clk), avec K un nombre constant, et, pour chaque cellule de la pluralité de cellules, la deuxième durée (D2) est égale à Q fois la période d'horloge, avec Q un nombre inférieur ou égal au nombre K. Dispositif selon la revendication 11, dans lequel les nombres K et Q sont des nombres entiers. Dispositif selon la revendication 12, dans lequel chaque deuxième circuit (PWMi) comprend un compteur (COUNTER) configuré pour : - recevoir le mot numérique (Vi_n) reçu par ledit deuxième circuit, - compter, pendant la première durée, un nombre de période de l'horloge (clk), et - fournir, pendant la première durée, un signal de sortie (sig2) à un premier état binaire si le nombre compté de périodes est inférieur à une valeur déterminée par ledit mot numérique (Vi_n), et à un deuxième état binaire sinon, ledit deuxième circuit (PWMi) étant en outre configuré pour fournir ladite tension de commande (Vi_pwm) au premier niveau si le signal de sortie (sig3) du compteur (COUNTER) est au premier état binaire. Dispositif selon l'une quelconque des revendications 11 à 13, dans lequel le nombre K est déterminé par une valeur maximale des mots numériques (Vi_n) et, pour chaque cellule de la pluralité de cellules, le nombre Q est déterminé par une valeur du mot numérique (Vi_n) reçu par le deuxième circuit (PWMi) fournissant la tension de commande (Vi_pwm) à ladite cellule. Procédé mis en œuvre dans un dispositif (2) comprenant des cellules mémoires (C'1, C'2, C'3, C'4 ; C'13, C'23, C'33, C'34) comprenant chacune une entrée de commande configurée pour recevoir une tension de commande (V1_pwm, V2_pwm, V3_pwm, V4_pwm) et une sortie configurée pour fournir un courant de sortie (I1_pwm, I2_pwm, I3_pwm, I4_pwm ; I13_pwm, I23_pwm, I33_pwm, I43_pwm) ayant une valeur au moins en partie déterminée par un niveau de la tension de commande de la cellule et par un poids programmé dans ladite cellule, le procédé comprenant, pendant une première durée : fournir à un noeud de connexion (200, 500) les courants de sortie (I1_pwm, I2_pwm, I3_pwm, I4_pwm ; I13_pwm, I23_pwm, I33_pwm) d'une pluralité de cellules (C'1, C'2, C'3, C'4 ; C'13, C'23, C'33) parmi les cellules du dispositif ; fournir avec un premier circuit (INT/ADC) ayant une entrée (202) connectée au premier noeud, un signal de sortie (V_n) ayant une valeur déterminée par une quantité totale de courant (IS_pwm) reçue par l'entrée (202) du premier circuit pendant la première durée ; et pour chaque cellule de la pluralité de cellules (C'1, C'2, C'3, C'4 ; C'13, C'23, C'33), recevoir un mot numérique (V1_n, V2_n, V3_n, V4_n) avec un deuxième circuit (PWM1, PWM2, PWM3, PWM4) et fournir avec le deuxième circuit la tension de commande (V1_pwm, V2_pwm, V3_pwm, V4_pwm) de la cellule à un premier niveau uniquement pendant une deuxième durée déterminée par le mot numérique reçu.