FR2805369A1 - Structure de registre avec un mecanisme d'ecriture symetrique - Google Patents

Structure de registre avec un mecanisme d'ecriture symetrique Download PDF

Info

Publication number
FR2805369A1
FR2805369A1 FR0012723A FR0012723A FR2805369A1 FR 2805369 A1 FR2805369 A1 FR 2805369A1 FR 0012723 A FR0012723 A FR 0012723A FR 0012723 A FR0012723 A FR 0012723A FR 2805369 A1 FR2805369 A1 FR 2805369A1
Authority
FR
France
Prior art keywords
port
sram
register structure
writing
line
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0012723A
Other languages
English (en)
Other versions
FR2805369B1 (fr
Inventor
Reid James Riedlinger
Donald R Weiss
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of FR2805369A1 publication Critical patent/FR2805369A1/fr
Application granted granted Critical
Publication of FR2805369B1 publication Critical patent/FR2805369B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/412Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger using field-effect transistors only

Abstract

Un système et un procédé sont décrits, qui fournissent une structure de registre permettant une écriture symétrique dans celle-ci avec une quantité minimale de pistes métalliques de haut niveau et de composants, de façon à minimiser la quantité d'aire de surface requise pour cette structure de registre. Un support de données (par exemple, une ligne BIT) est utilisé pour transporter une valeur de données qu'il est désiré écrire depuis un port dans une cellule de mémoire d'une structure de registre. Ce support de données peut être mis en oeuvre sous la forme d'une piste métallique de haut niveau qui s'étend sur plusieurs structures de registres pour fournir à un port la possibilité d'écrire dans ces structures de registres multiples. Une ligne pour déclencher une opération d'écriture pour un port (par exemple, une ligne WORD) est également mise en oeuvre, et cette ligne de déclenchement peut être mise en oeuvre sous la forme d'une piste métallique de haut niveau. Un mode de réalisation préféré fournit une structure de registre qui comporte un mécanisme d'écriture symétrique. Dans un mode de réalisation préféré, un support de données complémentaire pour un port est généré localement à l'intérieur d'une structure de registre. Ainsi, un mode de réalisation préféré minimise le nombre de pistes métalliques de haut niveau requises, car il n'est pas requis de mettre en oeuvre un support de données complémentaire pour chaque port sous la forme d'une piste métallique de haut niveau. De plus, un mode de réalisation préféré génère un support de données complémentaire pour un port localement à l'intérieur de la structure de registre, d'une manière ne nécessitant pas d'inverseur. De façon plus spécifique, un mode de réalisation préféré met en oeuvre un NFET qui est agencé d'une manière à générer le support de données complémentaire nécessaire (par exemple, la ligne NBIT) pour exécuter une écriture symétrique.

Description

DOMAINE TECHNIQUE
Cette invention concerne de façon générale une structure de registre et de façon spécifique, une structure de registre possédant un mécanisme d'écriture symétrique qui nécessite une petite quantité de circuits pour activer un port couplé à une cellule de mémoire de la structure de registre pour
exécuter des opérations d'écriture dans cette cellule de mémoire.
Les systèmes informatiques peuvent utiliser une hiérarchie de mémoire à plusieurs niveaux, avec une mémoire relativement rapide, coûteuse mais de capacité limitée au plus haut niveau de la hiérarchie et fournir une mémoire relativement plus lente, de plus faible coût et de capacité supérieure au niveau le plus bas de la hiérarchie. Au niveau le plus haut de la hiérarchie des mémoires, les ordinateurs possèdent couramment des structures de registres mises en oeuvre, qui sont typiquement de capacité limitée mais fournissent un accès très rapide à celles-ci. Ces structures de registres peuvent être appelées "fichiers de registres" et diverses telles structures de registres peuvent être mises en oeuvre pour un système, telles qu'une structure de registre d'entiers et une structure de registre en virgule flottante. Une structure de registre permet un accès à une mémoire à grande vitesse et est typiquement capable de satisfaire une requête d'accès à une mémoire (par exemple, une requête de lecture ou d'écriture) dans un cycle d'horloge (c'est-à-dire, un cycle d'horloge du processeur). Divers niveaux inférieurs de mémoire peuvent être mis en oeuvre, comportant une petite mémoire rapide appelée antémémoire, soit intégrée physiquement à l'intérieur d'un processeur, soit montée physiquement proche du processeur pour des raisons de vitesse, ainsi que la mémoire
principale (par exemple, I'unité de disque) d'un système informatique.
Des mémoires statiques à accès aléatoire (SRAM) sont typiquement mises en oeuvre pour des structures de registre d'un système informatique pour y mémoriser des données. Généralement, une mémoire SRAM est un type de
mémoire qui est très fiable et très rapide.
À la différence des mémoires dynamiques à accès aléatoire (DRAM), il n'est pas nécessaire que les SRAM aient leurs charges électriques constamment rafraîchies. En conséquence, une mémoire SRAM est typiquement plus rapide et plus fiable qu'une mémoire DRAM. Malheureusement, une mémoire SRAM
est généralement beaucoup plus coûteuse à fabriquer qu'une mémoire DRAM.
En raison de son coût élevé, la SRAM est typiquement mise en oeuvre seulement pour les parties les plus critiques en vitesse d'un ordinateur, par exemple, pour des structures de registres. Toutefois, une mémoire SRAM peut également être mise en oeuvre pour d'autres composants de mémoire d'un système informatique. De plus, des types de mémoire différents d'une SRAM (par exemple, d'autres types de RAM) peuvent être mis en oeuvre à l'intérieur
d'un système informatique pour une structure de registre.
Pour permettre un meilleur rendement pour les instructions de traite-
ment, des ports multiples sont couramment mis en oeuvre à l'intérieur d'un système informatique. Par exemple, des ports multiples peuvent être mis en oeuvre de façon que chaque port soit capable de satisfaire une requête d'accès
à la mémoire (par exemple, une instruction de lecture ou d'écriture) en paral-
lèle avec les autres ports satisfaisant une telle requête d'accès à la mémoire.
En conséquence, diverses structures de registres ont été réalisées pour permettre un accès à celles-ci par des ports multiples. C'est-à-dire que des structures de registres à ports multiples sont couramment mises en oeuvre dans l'art antérieur pour permettre à des ports multiples d'accéder à la structure de
registre pour satisfaire une requête d'accès à la mémoire.
Les structures de registres de l'art antérieur sont typiquement mises en oeuvre avec des écritures symétriques par l'intermédiaire d'un transistor à effet de champ à canal N (NFET) dans un verrou. La Figure lA illustre une cellule de SRAM symétrique typique 100 de l'art antérieur. L'exemple de mise en oeuvre de la Figure 1 A illustre une structure de SRAM à plusieurs ports, qui comprend une cellule de SRAM typique comprenant des inverseurs à couplage transversal 126 et 128 pour mémoriser des données (c'est-à-dire, pour mémoriser un bit de données). De plus, des NFETs 102 et 112 sont prévus,
permettant des écritures à partir d'un premier port (à savoir, le port 0). C'est-
à-dire qu'une écriture est effectuée dans la cellule de SRAM en transmettant un niveau de tension sur les NFETs 102 et 1 12 dans les inverseurs à couplage transversal 126 et 128. Un second port (à savoir, le port 1) est également couplé à la cellule de SRAM 100 en mettant en oeuvre des NFETs 122 et 124, qui permettent des écritures du second port dans la cellule de SRAM 100. La structure de SRAM à plusieurs ports 100 de la Figure 1A est bien connue dans l'art et est couramment mise en oeuvre dans les circuits intégrés de l'art antérieur. La cellule de SRAM 100 de la Figure 1A est une cellule de mémoire capable de mémoriser un bit de données (à savoir, un I logique ou un 0 logique). Ainsi, un grand nombre de ces cellules de SRAM 100 sont typiquement mises en oeuvre à l'intérieur d'un système pour fournir la quantité
désirée de mémoire SRAM.
L'un ou l'autre des deux ports (à savoir, le port 0 et le port 1) couplé à la cellule de SRAM 100 peut écrire des données dans la cellule pour satisfaire une requête d'écriture de mémoire. Comme représenté, les lignes BIT_PO, NBIT_P0 et WORD_0 sont mises en oeuvre pour activer une écriture pour le port 0 dans la cellule de SRAM 100 et les lignes BITPl, NBIT_P1 et WORD_1 sont mises en oeuvre pour activer une écriture pour le port I dans
la cellule de SRAM 100. Les lignes BITP0 et BITP1 peuvent être respective-
ment appelées ici supports de données pour le port 0 et le port 1 et NBITP0 et NBIT_P1 peuvent être respectivement appelées ici supports de données complémentaires pour le port 0 et le port 1. Le fonctionnement de cette mise
en oeuvre de l'art antérieur est bien connu dans l'art antérieur et en consé-
quence, ne sera ici décrit que brièvement. Typiquement, les lignes BITPO et BIT_P1 sont maintenues à un niveau de tension élevé (à savoir, un 1 logique), sauf si l'une d'entre elles est tirée de manière active à un niveau de tension bas (à savoir, un 0 logique). Par exemple, lors de l'écriture de données du port 0 dans la cellule de SRAM 100, la ligne BITP0 est amenée de manière active à l'état bas par une source extérieure (par exemple, une instruction exécutée par le processeur) si la source extérieure désire écrire un 0 dans la cellule de SRAM 100 et la ligne NBITP0 est maintenue à un niveau de tension élevé (l'opposé de BITP0). Dans le cas contraire, si une source extérieure désire écrire un 1 dans la cellule de SRAM 100, la ligne BITPO reste à l'état haut et la ligne NBIT_P0 est tirée à l'état bas. Après cela, la ligne WORD_ 0 est amorcée (par exemple, amenée à un niveau de tension élevé), à ce moment, la valeur de la ligne BIT_P0 est écrite dans la cellule de SRAM 100. De façon plus spécifique, le niveau de tension de BITP0 est transféré au NFET 102 et le niveau de tension de NBIT_PO est transféré au NFET 1 12 pour effectuer
une écriture de la valeur de BITP0 sur DATA des inverseurs à couplage trans-
versal 126 et 128.
Une opération similaire est effectuée lors de l'écriture de données du port 1 dans la cellule de SRAM 100. Par exemple, lors de l'écriture de données du port I dans la cellule de SRAM 100, la ligne BITPi est amenée activement à l'état bas par une source extérieure (par exemple, une instruction exécutée par le processeur) si la source extérieure désire écrire un 0 dans la cellule de SRAM 100 et la ligne NBITPi est maintenue à un niveau de tension élevé (l'opposé de BIT_PI). Dans le cas contraire, si une source extérieure désire écrire un 1 dans la cellule de SRAM 100, la ligne BITP1 reste à l'état haut et la ligne NBITPI est tirée à l'état bas. Après cela, la ligne WORD_1 est amorcée, à ce moment, la valeur de la ligne BITPi est écrite dans la cellule de SRAM 100. De façon plus spécifique, le niveau de tension de BITP1 est transféré au NFET 122 et le niveau de tension de NBITP1 est transféré au NFET 124 pour effectuer une écriture de la valeur de BITP1 sur DATA des inverseurs à couplage transversal 126 et 128. La valeur des données écrites dans la cellule de SRAM 100 (par exemple, un 0 logique ou un I logique) est représentée par DATA sur la Figure 1 A et le complément de cette valeur est représenté par NDATA. La structure du registre de SRAM illustré sur la Figure 1A est appelée structure d'écriture symétrique, car elle utilise deux lignes pour écrire une valeur de données dans la cellule de SRAM 100. Il faut par exemple, à la fois un support de données et un support de données complémentaire (par exemple, BITP0 et NBIT_PO) pour écrire une valeur dans la cellule de SRAM 100 depuis le port 0 et il faut à la fois un support de données et un support de données complémentaire (par exemple, BITP1 et NBIT PI) pour écrire une valeur dans la cellule de SRAM 100
depuis le port 1.
Typiquement, des cellules de SRAM multiples, telles que la cellule de SRAM 100, sont connectées à une ligne BIT unique (par exemple, BIT_P0) et une ligne NBIT unique (par exemple, NBIT_P0). En conséquence, une ligne BIT unique peut être utilisée pour transporter des données vers/depuis des cellules multiples parmi les cellules de SRAM 100 pour un port. En conséquence, même si seule la cellule de SRAM 100 est représentée, il faut comprendre qu'un grand nombre de telles cellules de SRAM peuvent être connectées aux lignes BITPO et NBITPO pour le port 0, ainsi qu'aux lignes BITPI et NBITPI pour le port 1, pour former un groupe de cellules de SRAM. De plus, il faut comprendre que des ports supplémentaires peuvent être couplés à la cellule de SRAM 100. Ainsi, même si seulement deux ports (port 0 et port 1) sont représentés comme étant couplés à la cellule de SRAM , la cellule de SRAM 100 peut avoir un nombre quelconque de ports couplés à celle-ci. En général, il est souhaitable d'avoir un grand nombre de
ports couplés à chaque cellule de SRAM 100 pour augmenter le nombre d'ins-
tructions pouvant être traitées en parallèle et ainsi, augmenter le rendement
d'un système.
La structure de registre symétrique illustrée sur la Figure 1A est problé-
matique en ce qu'elle nécessite une quantité indésirablement grande d'aire de surface pour sa mise en oeuvre. De façon plus spécifique, la structure de registre symétrique de la Figure I A nécessite une quantité indésirablement grande de pistes (ou lignes) métalliques de haut niveau à mettre en oeuvre. Par exemple, les pistes métalliques pour mettre en oeuvre BIT_PO, NBIT_PO, WORD_O, BIT_P1, NBIT_PI et WORD_i1 son typiquement des pistes métalliques de haut niveau s'étendant sur plusieurs structure de registre. Ces pistes métalliques de haut niveau sont habituellement appelées "pistes à deux métaux" ou "pistes à trois métaux", tandis que les pistes métalliques de niveau inférieur qui sont mis en oeuvre à l'intérieur d'une structure de registre unique, par exemple, sont habituellement appelées "pistes à un métal". En raison des exigences de taille et d'espacement des pistes de haut niveau, ces pistes de haut niveau nécessitent souvent une quantité relativement grande d'aire de surface. Typiquement, les pistes de haut niveau consomment davantage d'aire de surface que ce qui est requis pour les éléments composants (par exemple,
les FETs) d'une structure de registre. C'est-à-dire qu'un processus de géo-
métrie pour petit dispositif peut être utilisé pour les éléments composants d'une structure de registre, telles que des FETs, dans lequel les éléments composants peuvent nécessiter une aire de surface bien moindre que la quantité d'aire de surface requise pour mettre en oeuvre les pistes métalliques de haut niveau pour une structure de registre. Par exemple, dans un processus de géométrie pour petit dispositif habituellement utilisé actuellement, les éléments composants d'une structure de registre peuvent être d'une taille de processus d'environ 0, 18 microns (c'est-à-dire, la taille réelle dessinée pour les éléments composants). De plus, les éléments composants (par exemple, les
FETs) d'une structure de registre peuvent être typiquement mis en oeuvre au-
dessous des pistes métalliques de haut niveau. En conséquence, les pistes de haut niveau mis en oeuvre pour la structure de registre 100 Régis typiquement la quantité d'aire de surface requise pour une telle structure de registre. En conséquence, il devient souhaitable de limiter le nombre de pistes métalliques de haut niveau qu'il est requis de mettre en oeuvre pour réduire l'aire de surface globale requise pour la structure de registre. De façon plus spécifique, il est souhaitable de prévoir un nombre optimum de pistes métalliques de haut niveau qui nécessite la quantité minimale d'aire de surface au-dessous de laquelle les composants réels d'une structure de registre peuvent être mis en oeuvre. De facon idéale, le nombre de pistes métalliques de haut niveau requises pour une conception de structure de registre ne nécessite pas plus que I'aire de surface requise pour mettre en oeuvre les composants réels (par
exemple, les FETs) de la structure de registre.
Dans la mise en oeuvre de l'art antérieur de la Figure 1 A, il est requis de mettre en oeuvre trois lignes de haut niveau pour chaque port qui est couplé à la cellule de SRAM 100. Comme représenté sur la Figure 1A, des fils ou pistes métalliques de haut niveau doivent être mis en oeuvre pour trois lignes pour le port I (à savoir, BIT_P1, NBIT_PI et WORD_1). En conséquence, si un troisième port était mis en oeuvre pour la cellule de SRAM 100, il serait requis d'ajouter trois lignes de niveau supérieur supplémentaires (à savoir, BITP2, NBIT_P2 et WORD_2) à la conception de la Figure 1A. En conséquence, la structure à plusieurs ports de l'art antérieur de la Figure IA est indésirable car elle nécessite un nombre indésirablement grand de lignes de haut niveau à mettre en oeuvre pour chaque port couplé à la cellule de SRAM 100. Ainsi, la mise en oeuvre de l'art antérieur de la Figure I A entraîne un coût indésirablement élevé et une consommation indésirablement grande d'aire
de surface pour chaque port mis en oeuvre dans celle-ci.
En passant à la Figure 1 B, une seconde mise en oeuvre d'une structure de registre de l'art antérieur est illustrée. L'exemple de mise en oeuvre de la Figure 1 B illustre une structure de SRAM à plusieurs ports ayant deux ports couplés à celle-ci pour exécuter des opérations d'écriture. La mise en oeuvre de la Figure 1 B utilise une structure d'écriture symétrique ressemblant beaucoup à la structure de registre décrite ci-dessus sur la Figure I A, à l'exception du fait que la structure de registre de la Figure 1B comporte un
inverseur, tel que l'inverseur 130, à l'intérieur de la cellule de SRAM indivi-
duelle 150 pour générer localement un signal NBIT pour un port. En conséquence, puisque le signal NBIT pour chaque port est inclus seulement à l'intérieur de la cellule de SRAM individuelle 150, le nombre de pistes métalliques de niveau supérieur requis est réduit au-dessous de celui qui est requis pour la mise en oeuvre de la Figure 1 A. C'est-à-dire que, plutôt que de mettre en oeuvre une ligne NBIT pour chaque port sous la forme d'une piste métallique de haut niveau comme sur la Figure 1A, la Figure 1 B fournit une conception dans laquelle le signal NBIT est mis en oeuvre sous la forme d'une piste métallique de niveau inférieur à l'intérieur de la cellule de SRAM
individuelle 1 50.
La structure de SRAM à plusieurs ports de la Figure 1B comporte une cellule de SRAM typique 150 comprenant des inverseurs à couplage transversal 126 et 128 pour mémoriser des données (c'est-à-dire, un bit de données) à l'intérieur de la cellule de SRAM 150. Comme avec la mise en oeuvre de la Figure I A, la structure de la Figure 1B comprend en outre des NFETs 102 et 112, qui permettent les écritures dans la cellule de mémoire depuis un premier port (à savoir, le port 0). Un second port (à savoir, le port 1) est également couplé à la cellule de SRAM 150 par la mise en oeuvre des NFETs 122 et 124. La structure de SRAM à plusieurs ports 150 de la Figure 1B est également bien connue dans l'art et est couramment mise en oeuvre
dans les circuits intégrés de l'art antérieur.
L'un ou l'autre des deux ports (à savoir, le port 0 et le port 1) couplés à la cellule de SRAM 150 peut écrire des données dans la cellule pour satisfaire une requête d'écriture de mémoire. Comme représenté, les lignes de haut niveau BITP0 et WORD_0 et la ligne de bas niveau NBITP0 sont mises en oeuvre pour permettre une écriture pour le port 0 dans la cellule de SRAM et les lignes de haut niveau BITPI et WORD_1 et la ligne de bas niveau NBITP1 sont mises en oeuvre pour permettre une écriture pour le port 1 dans la cellule de SRAM 150. Le fonctionnement de cette mise en oeuvre de l'art antérieur est bien connu dans l'art antérieur et en conséquence ne sera décrit ici que brièvement. Typiquement, les lignes BIT PO et BIT P1 sont maintenues à un niveau de tension élevé (à savoir, un I logique), sauf si l'une d'entre elles est tirée de manière active à un niveau de tension bas (à savoir, un O logique). Par exemple, lors de l'écriture de données du port O dans la cellule de SRAM 150, la ligne BITPO est commandée de manière active à l'état bas par une source extérieure (par exemple, une instruction exécutée par le processeur) si la source extérieure désire écrire un 0 dans la cellule de SRAM 150 et la ligne NBITPO est maintenue à un niveau de tension élevé (l'opposé de BIT_P0). Sinon, si une source extérieure désire écrire un I dans la cellule de SRAM 150 la ligne BITP0 reste à l'état haut et la ligne NBITP0 est tirée à l'état bas. Après cela, la ligne WORD_0 est amorcée (par exemple, amenée à passer à un niveau de tension élevé), à ce moment, la valeur de la ligne BIT_P0 est écrite dans la cellule de SRAM 150. De façon plus spécifique, le niveau de tension de BITP0 est transféré sur le NFET 102 et le niveau de tension de NBIT-P0 est transféré sur le NFET 112 pour effectuer une écriture de
lavaleurde BITP0 sur DATA des inverseurs à couplage transversal 126et 128.
Une opération similaire est effectuée lors de l'écriture de données du port i dans la cellule de SRAM 150. Par exemple, lors de l'écriture de données
du port I dans la cellule de SRAM 150, la ligne BITP1 est amenée active-
ment à l'état bas par une source extérieure (par exemple, une instruction exécutée par le processeur) si la source extérieure désire écrire un 0 dans la cellule de SRAM 150 et la ligne NBITPI est maintenue à un niveau de tension élevé (l'opposé de BITP1). Sinon, si une source extérieure désire écrire un 1 dans la cellule de SRAM 150, la ligne BITP1 reste à l'état haut et la ligne NBIT_P1 est tirée à l'état bas. Après cela, la ligne WORD_1 est amorcée, à ce moment, la valeur de la ligne BITP1 est écrite dans la cellule de SRAM 150. La valeur des données écrite dans la cellule de SRAM 150 (par exemple, un 0 logique ou un 1 logique) est représentée par DATA sur la
Figure 1B et le complément de cette valeur est représenté par NDATA.
Comme avec la structure de registre de la Figure I A, la structure de registre de SRAM illustrée sur la Figure 1 B est appelée structure d'écriture symétrique, car elle utilise deux lignes pour écrire une valeur de données dans la cellule de SRAM 150. Par exemple, elle nécessite à la fois un support de données et un support de données complémentaire (par exemple, BITPO et NBITPO) pour écrire une valeur dans la cellule de SRAM 150 depuis le port 0 et elle
nécessite à la fois un support de données et un support de données complé-
mentaire (par exemple, BITPI et NBITPI) pour écrire une valeur dans la
cellule de SRAM 150 depuis le port 1.
Dans cette mise en oeuvre, un inverseur est inclus à l'intérieur de la cellule de SRAM 150 pour générer chaque signal NBIT localement. Par exemple, un inverseur 130 est mis en oeuvre pour inverser le signal BIT_PO, de façon à générer NBIT_P0 et un inverseur 140 est mis en oeuvre pour inverser le signal BIT_PI, de façon à générer NBIT_P1. Comme représenté sur la Figure lB, I'inverseur 130 comprend un PFET 132 et un NFET 134 et l'inverseur 140 comprend un PFET 142 et 144. En conséquence, chaque port couplé à la structure de registre 150 pour des opérations d'écriture nécessite un inverseur, qui comprend deux FETs, pour être mis en oeuvre à l'intérieur de la structure de registre 150. Ainsi, tandis que la mise en oeuvre de la Figure 1 B réduit le nombre de pistes métalliques de haut niveau requises (par exemple, en mettant en oeuvre la ligne NBIT pour chaque port sous la forme d'une piste métallique de niveau bas à l'intérieur de la structure de registre individuel 150), la mise en oeuvre de la Figure 1 B nécessite un nombre indésirablement grand de composants devant être mis en oeuvre à
l'intérieur de la structure de registre 150.
Typiquement, des cellules de SRAM multiples, telles que la cellule de SRAM 150, sont connectées à une ligne support de données unique (par exemple, BIT_P0). En conséquence, une ligne support de données unique peut être utilisée pour transporter des données vers/depuis des cellules multiples parmi les cellules de SRAM 150 pour un port. En conséquence, même si seule la cellule de SRAM 150 est représentée, il faut comprendre qu'un grand nombre de ces cellules de SRAM peuvent être connectées à la ligne BITP0 pour le port 0, ainsi qu'à la ligne BITPI pour le port 1, de manière à former un groupe de cellules de SRAM. De plus, il faut comprendre que des ports supplémentaires peuvent être couplés à la cellule de SRAM 150. Ainsi, même si seulement deux ports (port 0 et port 1) sont représentés comme étant couplés à la cellule de SRAM 150, la cellule de SRAM 150 peut avoir un nombre quelconque de ports couplés à celle-ci. Il est de nouveau généralement souhaitable d'avoir un grand nombre de ports couplés à chaque cellule de SRAM 150 pour augmenter le nombre d'instructions pouvant être traitées en
parallèle et ainsi, augmenter le rendement d'un système.
La structure de registre symétrique illustrée sur la Figure 1 B est problématique en ce qu'elle nécessite un nombre indésirablement grand de composants à mettre en oeuvre pour chaque port couplé à la cellule de SRAM pour exécuter des opérations d'écriture. Dans cette mise en oeuvre de l'art antérieur, il est nécessaire de mettre en oeuvre deux FETs, un inverseur (qui comprend deux FETs supplémentaires) et deux lignes de haut niveau pour chaque port qui est couplé à la cellule de SRAM 1 50. Comme représenté sur la Figure 1 B, il est nécessaire de mettre en oeuvre deux FETs (à savoir, les NFETs 122 et 124) pour activer le port I pour être couplé à la cellule de SRAM 100 pour les opérations d'écriture. De plus, un inverseur (à savoir, l'inverseur 140), qui comprend un PFET 142 et un NFET 144 est requis pour générer localement NBIT P1 à l'intérieur de la structure de registre 1 50 pour exécuter une opération d'écriture pour le port 1. De plus, des fils ou pistes métalliques de haut niveau doivent être mis en oeuvre pour deux lignes
pour le port I (à savoir, BIT_P1 et WORD_1). En conséquence, si un troi-
sième port est mis en oeuvre pour la cellule de SRAM 1 50, il est nécessaire d'ajouter deux FETs supplémentaires, un inverseur supplémentaire et deux lignes supplémentaires (à savoir, BITP2 et WORD_2), à la conception de la Figure 1 B. En conséquence, la structure de registre symétrique de l'art antérieur de la Figure 1 B est indésirable car elle nécessite un nombre important indésirable de composants à mettre en oeuvre pour chaque port couplé à la cellule de SRAM 1 50. En fait, la mise en oeuvre de l'art antérieur de la Figure 1 B nécessite davantage de composants que ce qui est requis pour la mise en oeuvre de la Figure 1A, car la Figure 1 B nécessite d'inclure un inverseur pour chaque port couplé à la cellule de SRAM 1 50 pour générer les signaux NBIT appropriés requis pour écrire des données depuis un port. Ainsi, la mise en oeuvre de l'art antérieur de la Figure 1 B entraîne un coût indésirablement élevé et une consommation indésirablement grande d'aire de surface pour chaque
port mis en oeuvre dans celle-ci.
Considérant ce qui précède, il existe un souhait pour une structure de registre permettant une écriture symétrique d'une manière nécessitant une quantité minimale de pistes métalliques de haut niveau, de composants et d'aire de surface. Un autre souhait existe pour une structure de registre à plusieurs ports fournissant à des ports multiples la possibilité d'exécuter une écriture symétrique dans la structure de registre et il existe un souhait pour une telle structure de registre à plusieurs ports mise en oeuvre d'une manière minimisant la quantité de pistes métalliques de haut niveau, de composants et
d'aire de surface.
Ces buts, caractéristiques et avantages techniques, ainsi que d'autres, sont obtenus par un système et un procédé fournissant une structure de registre permettant une écriture symétrique dans celle-ci avec une quantité minimale de pistes métalliques de haut niveau et de composants, minimisant ainsi la quantité d'aire de surface requise pour cette structure de registre. Dans un mode de réalisation préféré, un support de données (par exemple, une ligne BIT) est utilisé pour transporter une valeur de données qu'il est désiré écrire d'un port dans une cellule d'un mémoire d'une structure de registre. Dans un mode de réalisation préféré, un tel support de données peut être mis en oeuvre sous la forme d'une piste métallique de haut niveau qui s'étend sur plusieurs structures de registres pour fournir à un port la possibilité d'écrire dans ces
structures de registres multiples. Dans un mode de réalisation préféré égale-
ment, une ligne pour déclencher une opération d'écriture pour un port (par exemple, une ligne WORD) est mise en oeuvre et cette ligne de déclenchement
peut être mise en oeuvre sous la forme d'une piste métallique de haut niveau.
Un mode de réalisation préféré fournit une structure de registre qui comporte un mécanisme d'écriture symétrique. Comme cela est bien connu, une écriture symétrique utilise à la fois un support de données (par exemple, une ligne BIT) et un support de données complémentaire (par exemple, une ligne NBIT) pour exécuter une opération d'écriture dans une structure de
registre. Dans un mode de réalisation préféré, un support de données complé-
mentaire pour un port est généré localement à l'intérieur d'une structure de registre. Ainsi, un mode de réalisation préféré minimise le nombre de pistes métalliques de haut niveau requises, car il n'est pas requis de mettre en oeuvre un support de données complémentaire pour chaque port sous la forme d'une piste métallique de haut niveau. De plus, un mode de réalisation préféré génère un support de données complémentaires pour un port localement à
l'intérieur de la structure de registre d'une manière ne nécessitant pas d'inver- seur. De façon plus spécifique, un mode de réalisation préféré met en
oeuvre un NFET qui est agencé d'une manière à générer le support de données complémentaire nécessaire (par exemple, la ligne NBIT) pour exécuter une écriture symétrique. En conséquence, un mode de réalisation préféré élimine la nécessité d'un PFET (par exemple, le PFET 1 32 de la Figure 1 B) qui est typiquement requis pour former un inverseur pour générer un support de
données complémentaire localement à l'intérieur d'une structure de registre.
Il faut comprendre qu'un avantage technique d'un aspect de la présente invention est qu'une structure de registre est fournie, permettant des écritures symétriques d'une manière qui nécessite de mettre en oeuvre un petit nombre
de pistes métalliques de haut niveau et nécessite un petit nombre de compo-
sants (par exemple, deux FETs) pour la structure de registre. Dans un mode de réalisation le plus préféré, une structure de registre est fournie, permettant des écritures symétriques en mettant en oeuvre seulement deux pistes métalliques de haut niveau (par exemple, une ligne WORD et une ligne BIT). De plus, dans un mode de réalisation le plus préféré, une structure de registre est fournie, permettant des écritures symétriques en mettant en oeuvre seulement trois NFETs, ce qui active l'écriture d'une valeur de données dans une cellule de mémoire (par exemple, vers des inverseurs à couplage transversal) de la structure de registre. Un autre avantage technique d'un aspect de la présente invention est qu'une conception de structure de registre permettant une écriture symétrique est fournie, ne nécessitant pas de PFET pour activer cette écriture symétrique. Toujours un autre avantage technique d'un aspect de la
présente invention est que la quantité d'aire de surface, le nombre de compo-
sants, le coût et la complexité d'une structure de registre ayant un mécanisme d'écriture symétrique sont réduits. De plus, puisque la dimension d'une cellule de mémoire est réduite, dans un mode de réalisation préféré, une structure de
registre avec un mécanisme d'écriture symétrique qui est capable de fonction-
ner à une vitesse plus rapide que les conceptions de l'art antérieur, est fournie.
Ce qui précède a souligné relativement grossièrement les caractéristiques
et avantages techniques de la présente invention pour que la description
détaillée de l'invention qui suit puisse être mieux comprise. Des caractéristiques
et avantages supplémentaires de l'invention vont être décrits ci-après, consti-
tuant l'objet des revendications de l'invention. Les hommes de l'art compren-
dront que la conception et le mode de réalisation spécifique décrits peuvent être facilement utilisés comme base pour modifier ou concevoir d'autres structures pour obtenir les mêmes buts que la présente invention. Les hommes
de l'art comprendront également que ces constructions équivalentes ne s'écar-
tent pas de l'esprit et de la portée de l'invention, tels que présentés dans les
revendications annexées.
Pour une compréhension plus complète de la présente invention et de ses
avantages, il est maintenant fait référence aux descriptions suivantes, effectuées
conjointement avec les dessins annexés, dans lesquels: - la Figure I A représente une structure de registre de l'art antérieur qui effectue une écriture symétrique; - la Figure 1 B représente une autre structure de registre de l'art antérieur qui effectue une écriture symétrique - la Figure 2 représente un exemple de mise en oeuvre d'un mode de réalisation préféré pour une structure de registre permettant une écriture symétrique; et
- la Figure 3 représente des exemples de formes d'ondes pour une opéra-
tion d'écriture dans une structure de registre d'un mode de réalisation preferé. En passant maintenant à la Figure 2, un mode de réalisation préféré de la présente invention est représenté. Comme représenté, la Figure 2 fournit une structure de registre 200 qui utilise un mécanisme d'écriture symétrique. Le mode de réalisation préféré de la Figure 2 réduit le nombre de pistes métalliques de haut niveau qu'il est requis de mettre en oeuvre au-dessous de
celui qui est requis pour la mise en oeuvre de l'art antérieur de la Figure 1A.
Le mécanisme d'écriture symétrique du mode de réalisation préféré de la Figure 2 utilise en outre moins de circuits que ce qui est typiquement requis pour les mécanismes d'écriture symétrique de l'art antérieur, tels que celui qui est représenté sur la Figure 1 B. La structure de SRAM de la Figure 2 comporte une cellule de mémoire de SRAM comprenant des inverseurs à couplage transversal 226 et 228 pour mémoriser des données (c'est-à-dire, pour mémoriser un bit de données). De plus, des NFETs 202 et 212 sont
prévus, permettant des écritures depuis un premier port (à savoir, le port 0).
C'est-à-dire qu'une écriture est effectuée dans la cellule de SRAM en faisant passer un certain niveau de tension par les NFETs 102 et 112 dans les
inverseurs à couplage transversal 126 et 128.
Il faut comprendre qu'un mode de réalisation préféré peut être mis en oeuvre avec un nombre quelconque de ports couplés à la structure de registre pour y exécuter des opérations d'écriture. Dans l'exemple de mise en oeuvre illustré sur la Figure 1, deux ports sont couplés à la structure de registre pour exécuter des opérations d'écriture sur celle- ci. Ainsi, un second port (à savoir, le port 1) est couplé à la cellule de SRAM 200 en mettant en oeuvre des NFETs 122 et 124, qui permettent des écritures du second port dans la cellule de SRAM 200. Il faut comprendre qu'un nombre quelconque de ports peut être mis en oeuvre avec la possibilité d'écrire des données dans la cellule de SRAM 200 d'une manière similaire et qu'une quelconque telle mise en
oeuvre est destinée à appartenir à la portée de la présente invention.
L'un ou l'autre des deux ports (à savoir, le port 0 et le port 1) couplé à la cellule de SRAM 200 peut écrire des données dans la cellule pour satisfaire une requête d'écriture de mémoire. Dans un mode de réalisation préféré, un support de données (par exemple, une ligne BIT) pour un port est utilisé pour transporter une valeur de données qu'il est désiré écrire du port dans la structure de registre 200. Comme illustré sur la Figure 2, un support de données (représenté par BIT PO) et une ligne WORD_0 peuvent être mis en oeuvre sous la forme de pistes métalliques de haut niveau (par exemple, des pistes à deux métaux ou à trois métaux) pour permettre une écriture pour le port 0 dans la cellule de SRAM 200. Comme illustré également, un support de données (représenté par BIT P1) et une ligne WORD_I peuvent être mis en oeuvre sous la forme de pistes métalliques de haut niveau pour permettre
une écriture pour le port 1 dans la cellule de SRAM 200.
Un mode de réalisation préféré met en oeuvre une structure d'écriture symétrique. En conséquence, à la fois un support de données (par exemple, une ligne BIT) pour un port et un support de données complémentaire (par exemple, une ligne NBIT) pour le port sont utilisés pour écrire une valeur de données dans la structure de registre 200. Le mode de réalisation préféré de la Figure 2 réduit la quantité d'aire de surface requise pour la conception de structure de registre en mettant en oeuvre le(s) support(s) de données complémentaire(s) comme local(Iocaux), la(les) piste(s) métallique(s) de bas niveau à l'intérieur de la structure de registre individuel 200. Comme illustré sur la Figure 2, un support de données complémentaire représenté par NBIT P0 est mis en oeuvre sous la forme d'une piste métallique de bas niveau (ou "locale") (par exemple, une piste à un métal) pour permettre une écriture pour le port 0 dans la cellule de SRAM 200 et un support de données complémentaire, représenté par NBITP1 est mis en oeuvre sous la forme d'une piste métallique de bas niveau (ou "locale") pour permettre une écriture
pour le port 1 dans la cellule de SRAM 200.
Dans un mode de réalisation préféré, un FET unique est mis en oeuvre à l'intérieur de la structure de registre 200 pour chaque port pour générer les supports de données complémentaires localement à l'intérieur de la structure de registre 200 pour chaque port. Par exemple, comme représenté sur la Figure 2, la structure de registre 200 comporte un NFET 234 qui génère le signal NBITP0 nécessaire pour une écriture symétrique dans la cellule de SRAM 200 pour le port 0. De plus, la structure de registre 200 comporte un NFET 244 qui génère le signal NBITPi nécessaire pour une écriture symétrique dans la cellule de SRAM 200 pour le port 1. En conséquence, comme représenté sur la Figure 2, un mode de réalisation préféré ne nécessite pas d'inverseur, tel que l'inverseur 130 de la Figure 1 B pour générer le support de données complémentaire pour une écriture symétrique. Ainsi, plutôt que de nécessiter à la fois un PFET (tel que le PFET 132 de la Figure 1)
et un NFET (tel que le NFET 134 de la Figure 1) qui constituent un inver-
seur, tel que l'inverseur 130 de la Figure 1, un mode de réalisation préféré
nécessite seulement un NFET 234 pour générer le support de données com-
plémentaire nécessaire pour exécuter une écriture symétrique pour un port.
En conséquence, un mode de réalisation préféré élimine l'exigence
d'avoir à la fois un PFET et un NFET mis en oeuvre pour générer un tel sup-
port de données complémentaire et fournit une mise en oeuvre qui utilise seulement un NFET 234 pour générer un support de données complémentaire pour un port (par exemple, NBIT_P0). Ainsi, un mode de réalisation préféré nécessite moins de composants de circuits à mettre en oeuvre que ce qui est typiquement requis pour les mécanismes d'écriture symétrique de l'art antérieur, tels que la mise en oeuvre de la Figure 1 B. De plus, les PFETs sont typiquement des composants beaucoup plus grands que les NFETs. Puisqu'un mode de réalisation préféré élimine le PFET typiquement inclus à l'intérieur d'un inverseur pour générer le support de données complémentaire nécessaire pour l'écriture symétrique, tel que les PFETs 132 et 142 de la Figure 1 B, un composant relativement grand des structures de registres de l'art antérieur est
éliminé. En conséquence, un mode de réalisation préféré autorise un méca-
nisme d'écriture symétrique qui peut être mis en oeuvre d'une manière qui consomme moins d'aire de surface et est moins coûteux que les mises en
oeuvre typiques de l'art antérieur de mécanismes d'écriture symétriques.
Dans un mode de réalisation préféré, une écriture symétrique est effec-
tuée d'une manière ressemblant beaucoup aux structures d'écriture symé-
triques traditionnelles. Le support de données (par exemple, ligne BIT) pour un port est piloté par une source extérieure à une valeur désirée destinée à être écrite dans la structure de registre 200 puis, la ligne WORD pour le port est amorcée pour écrire la valeur de données désirée dans la structure de registre 200. De façon plus spécifique, en fonction de la valeur du support de données (par exemple, ligne BIT), soit DATA, soit NDATA, est mis à une
valeur de tension basse. En passant à la Figure 3, un exemple de fonction-
nement d'une opération d'écriture symétrique d'un mode de réalisation préféré est illustré. La Figure 3 fournit des formes d'ondes illustrant le fonctionnement d'une écriture à partir du port 0 dans un mode de réalisation préféré. Les formes d'ondes de la Figure 3 illustrent les lignes WORD_0, BIT_P0, DATA et NDATA pour une opération d'écriture d'un mode de
réalisation préféré.
Supposons par exemple, que le processeur exécute une instruction, désirant écrire un I dans la cellule de mémoire 200 et supposons en outre que ce 1 est destiné à être écrit dans la cellule de mémoire 200 par l'intermédiaire du port 0. Au temps To, la cellule de mémoire est dans un état stable, dans lequel WORD_0 est un niveau de tension bas et BIT_P0 est préchargé à un niveau de tension élevé. Dans l'exemple de la Figure 3, DATA est initialement un niveau de tension bas et NDATA est initialement un niveau de tension élevé au temps To. En conséquence, la structure de registre 200 comporte un 1 logique mémorisé dans celle-ci au temps To. Lorsque le temps Ti arrive, la ligne WORD_ 0 passe à l'état haut, ouvrant ainsi (activant) les NFETs 202 et 212. Puisqu'il est désiré écrire un I dans la structure de registre, la ligne
BIT_PO reste à un niveau de tension élevé (à savoir, un 1) au temps To.
Puisque BIT_P0 est à l'état haut, le NFET 234 est activé, ce qui a pour conséquence que les NFETs 234 est 212 fonctionnent en série de manière à générer un support de données complémentaire NBIT P0 ayant une valeur de tension basse. Ainsi, comme représenté sur la Figure 3, NDATA se décharge vers une valeur de tension basse à travers les NFETs 234 et 212. Lorsque NDATA effectue une transition vers une valeur de tension basse, ceci provoque une transition de DATA vers une valeur de tension élevée et l'opération d'écriture est terminée. Il faut comprendre qu'il n'est pas requis que le NFET 202 écrive un un faible vers DATA de la structure de registre 200 dans un mode de réalisation préféré. Dans l'exemple cidessus, la ligne NDATA est remise à 0, ce qui a pour conséquence que la ligne DATA est à 1 pendant le
temps Ti, qui est la valeur destinée à être écrite dans la structure de registre.
Comme autre exemple, supposons maintenant que le processeur exécute
une instruction, désirant écrire un 0 dans la cellule de mémoire 200 et suppo-
sons en outre que ce 0 soit destiné à être écrit dans la cellule de mémoire 200 par l'intermédiaire du port 0. En conséquence, puisqu'un 0 est désiré être écrit dans la structure de registre, la ligne BITP0 est évacuée à un niveau de tension bas (à savoir, un 0 logique). Au temps T2, la ligne WORD 0 passe à l'état haut, ouvrant ainsi (activant) les NFETs 202 et 212. Puisqu'il est désiré écrire un 0 dans la structure de registre, la ligne BITP0 est mise à un niveau de tension bas (à savoir, un 0) au temps T2. Puisque BIT_P0 est à l'état bas, le NFET 234 n'est pas activé. Puisque BIT_P0 est à l'état bas, le NFET 202 évacue la ligne DATA (c'est-à-dire qu'une charge est transférée sur le NFET 202) vers un niveau de tension bas, ce qui provoque à son tour la transition de la ligne NDATA vers un niveau de tension élevé. Dès que la ligne NDATA effectue une transition vers un niveau de tension élevé, l'opération d'écriture est terminée. En conséquence, pendant le temps T2, la ligne DATA est remise à 0, provoquant la mise à I de la ligne NDATA, ce qui a pour conséquence que la valeur destinée à être écrite dans la structure de registre (à savoir, un 0 logique) est écrite sur la ligne DATA des inverseurs à couplage transversal 226 et 228. Lorsque l'opération d'écriture est terminée, la ligne BITPO est de
nouveau préchargée à une valeur de tension élevée dans un mode de réali-
sation préféré.
Un mode de réalisation préféré fournit une structure de registre comportant un mécanisme d'écriture symétrique qui nécessite moins de composants, moins de fils de haut niveau, moins d'aire de surface, un coût inférieur et une complexité inférieure aux structures de registre typiques de l'art antérieur comportant des mécanismes d'écriture symétriques. Un mode de réalisation préféré fournit une conception de structure de registre dans laquelle un nombre relativement petit de pistes métalliques de haut niveau sont requises. Par exemple, un mode de réalisation préféré utilise un plus petit nombre de pistes métalliques de haut niveau que ce qui est requis pour la mise en oeuvre de l'art antérieur de la Figure 1A. Comme exemple, supposons que quatre ports soient couplés à la structure de registre pour exécuter des écritures symétriques dans celle-ci. Dans la mise en oeuvre de l'art antérieur de la Figure 1 A, il est requis de mettre en oeuvre trois pistes métalliques de haut niveau (par exemple, une ligne BIT, une ligne NBIT et une ligne WORD) pour chaque port, pour un total de 12 pistes métalliques de haut niveau. Toutefois, dans un mode de réalisation préféré, seules deux pistes métalliques de haut niveau sont mises en oeuvre pour le port (par exemple, une ligne BIT et une ligne WORD), pour un total de huit pistes métalliques de haut niveau. Cette réduction du nombre de pistes métalliques de haut niveau a pour conséquence une aire de surface moindre requise pour la mise en oeuvre de la structure de registre. Comme expliqué ci-dessus, pour réduire le nombre de pistes métalliques de haut niveau requises dans la conception d'une structure de registre, dans un mode de réalisation préféré, un support de données complémentaire (par exemple, NBIT) qui est utilisé pour exécuter une écriture symétrique pour un
port, est généré localement à l'intérieur de la conception de structure de regis-
tre. En conséquence, il n'est pas requis de mettre en oeuvre la ligne de support de données complémentaire (par exemple, la ligne NBIT) sous la forme d'une piste métallique de haut niveau, ce qui diminue la quantité d'aire de surface requise pour la structure de registre. De plus, un mode de réalisation préféré fournit une conception de structure de registre dans laquelle il est requis de mettre en oeuvre un nombre relativement moindre de composants à l'intérieur de la structure de registre. Par exemple, un mode de réalisation préféré utilise un plus petit nombre de composants que ceux qui sont requis pour la mise en
oeuvre de l'art antérieur de la Figure 1 B. C'est-à-dire qu'un mode de réalisa-
tion préféré ne nécessite pas d'inverseur pour générer le support de données complémentaire (par exemple, NBIT) pour un port. De façon plus spécifique, le PFET qui est inclus dans un inverseur pour générer un support de données complémentaire dans les conceptions de l'art antérieur est éliminé. Puisqu'un tel PFET est typiquement un composant relativement grand, des économies accrues d'aire de surface, de coût et de complexité de la conception de
registre sont reconnues dans un mode de réalisation préféré. De plus, I'élimi-
nation du composant PFET a pour conséquence une augmentation de la vitesse des circuits d'un mode de réalisation préféré. Comme exemple, supposons que quatre ports soient couplés à la structure de registre pour exécuter des écritures symétriques dans celle-ci. Dans la mise en oeuvre de l'art antérieur de la Figure 1 B, il est requis de mettre en oeuvre un inverseur comprenant un PFET et un NFET pour générer un support de données complémentaire pour chaque port, pour un total de quatre inverseurs (à savoir, quatre PFETs et
quatre NFETs). Toutefois, dans un mode de réalisation préféré, il est seule-
ment requis de mettre en oeuvre un NFET pour générer un support de
données complémentaire pour chaque port.
Des structures de registre multiples, telles que la cellule de SRAM 200 de la Figure 2, peuvent être connectées à une ligne de support de données unique (par exemple, BIT_P0). En conséquence, une ligne de support de données unique peut être utilisée pour transporter des données vers/depuis des cellules multiples parmi les cellules de SRAM 200 pour un port. En conséquence, même si seule la cellule de SRAM 200 est représentée, il faut comprendre qu'un grand nombre de ces cellules de SRAM peuvent être connectées à la ligne BIT _PO0 pour le port 0, ainsi qu'à la ligne BITP1 pour le
port 1, pour former un groupe de cellules de SRAM. De plus, il faut com-
prendre que des ports supplémentaires peuvent être couplés à la cellule de SRAM 200. Ainsi, même si seulement deux ports (port 0 et port 1) sont représentés comme étant couplés à la cellule de SRAM 200, la cellule de SRAM 200 peut avoir un nombre quelconque de ports couplés à celle-ci et l'une quelconque de ces mises en oeuvre est destinée à appartenir à la portée de la présente invention. C'est-à-dire qu'un nombre quelconque de ports (par exemple, d'un port jusqu'à N ports) peuvent être mis en oeuvre dans un mode de réalisation préféré et l'une quelconque de ces mises en oeuvre est destinée à appartenir à la portée de la présente invention. En général, il est souhaitable d'avoir un grand nombre de ports couplés à chaque cellule de SRAM 200 pour augmenter le nombre d'instructions pouvant être traitées en parallèle et augmenter ainsi le rendement d'un système. De plus, il faut comprendre qu'une structure de registre d'un mode de réalisation préféré peut être mise en oeuvre à l'intérieur d'un type quelconque de système informatique, y compris sans y être limité, un ordinateur personnel (PC), un ordinateur portable et un assistant personnel (par exemple, un ordinateur de poche). De plus, il faut comprendre qu'une structure de registre d'un mode de réalisation préféré peut
être mise en oeuvre à l'intérieur d'un type quelconque de dispositif qui com-
porte une structure de registre (par exemple, qui comporte une structure de SRAM CMOS), y compris mais sans y être limitée, des téléphones, téléviseurs,
magnétoscopes, DVD, systèmes pour automobiles et jeux vidéo.
Bien que la présente invention et ses avantages aient été décrits en détail, il faut comprendre que diverses variantes, remplacements et modifications peuvent y être apportés sans s'écarter de l'esprit et de la portée de l'invention
tels que définis par les revendications annexées. De plus, la portée de la
présente demande n'est pas destinée à être limitée aux modes de réalisation particuliers des processus, machine, fabrication, composition d'éléments,
moyens, procédés et étapes décrits dans la spécification. Comme le compren-
dront facilement les hommes de l'art d'après la description de la présente
invention, les processus, machine, fabrication, composition d'éléments, moyens, procédés ou étapes, existant actuellement ou destinés à être développés ultérieurement, qui exécutent sensiblement la même fonction ou obtiennent sensiblement le même résultat que les modes de réalisation correspondants ici décrits, peuvent être utilisés selon la présente invention. En conséquence, les
revendications annexées sont destinées à inclure à l'intérieur de leur portée ces
processus, machines, fabrication, compositions d'éléments, moyens, procédés
ou étapes.

Claims (10)

REVENDICATIONS
1. Procédé pour exécuter une opération d'écriture symétrique dans une structure de registre (200), ledit procédé comprenant: - la fixation d'un support de données à une valeur désirée destinée à être écrite dans une cellule de mémoire (226, 228), de ladite structure de registre; - la génération d'un support de données complémentaire localement à l'intérieur de ladite structure de registre, caractérisé en ce qu'il n'est pas requis d'inverseur (I 30, l 40), pour ladite étape de génération; et
- l'utilisation dudit support de données et dudit support de données com-
plémentaire pour exécuter une écriture symétrique dans ladite cellule de
mémoire de ladite structure de registre.
2. Procédé selon la revendication 1, caractérisé en ce qu'il n'est pas
requis de PFET (l 32, 1 42), pour ladite étape de génération.
3. Procédé selon la revendication 1, caractérisé en ce que ladite étape de génération comporte en outre l'utilisation d'un NFET pour générer le dit
support de données complémentaire.
4. Procédé selon la revendication 1, caractérisé en ce que ledit NFET est agencé pour générer le dit support de données complémentaires ayant une valeur de tension basse lorsque le dit support de données a une valeur de tension élevée et une ligne WORD est amorcée pour déclencher ladite écriture
symétrique dans ladite cellule de mémoire.
5. Structure de registre (200) comprenant: - une cellule de mémoire (226, 228) capable de mémoriser un bit de données; - des premiers moyens (202, 212) pour exécuter une écriture symétrique d'une valeur de données depuis un premier port dans la dite cellule de mémoire; et - des moyens (234) pour générer un support de données complémentaire, caractérisé en ce que lesdits moyens de génération ne comprennent pas
d'inverseur (130, 140).
6. Structure de registre selon la revendication 5, caractérisé en ce que
lesdits moyens de génération ne comportent pas de PFET (l 32, 142).
7. Structure de registre selon la revendication 5, caractérisé en ce que lesdits moyens de génération comportent une porte agencée pour générer un support de données complémentaire ayant une valeur de tension basse lorsqu'un support de données est fixé à une valeur de tension élevée destinée à être écrite dans la cellule de mémoire.
8. Structure de registre selon la revendication 5 comportant en outre: - des seconds moyens pour exécuter une écriture symétrique d'une valeur de données depuis un second port dans ladite cellule de mémoire; et
- des seconds moyens pour générer un support de données complémen-
taire pour exécuter une écriture symétrique d'une valeur de données depuis ledit second port dans la dite cellule de mémoire, caractérisé en
ce que lesdits moyens de génération ne comprennent pas d'inverseur.
9. Système comprenant: - au moins un processeur pour exécuter des instructions; - au moins un port capable de traiter une instruction exécutée par ledit processeur; - au moins une structure de registre (200), caractérisé en ce que ladite une structure de registre comprend une cellule de mémoire (226, 228), capable de mémoriser un bit de données, un mécanisme d'écriture symétrique (202, 212) et une porte (234), pour générer le support de données complémentaire approprié utilisé pour exécuter une écriture symétrique dans la dite au moins une structure de registre, caractérisé en
ce que ladite porte ne comporte pas de PFET (1 32, 142).
10. Système selon la revendication 9, comportant en outre des ports multiples capables de traiter une instruction exécutée par ledit processeur, caractérisé en ce que ladite au moins une structure de registre est agencée
pour activer une écriture symétrique dans celle-ci depuis lesdits ports multiples.
FR0012723A 2000-02-18 2000-10-05 Structure de registre avec un mecanisme d'ecriture symetrique Expired - Fee Related FR2805369B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/507,207 US6226217B1 (en) 2000-02-18 2000-02-18 Register structure with a dual-ended write mechanism

Publications (2)

Publication Number Publication Date
FR2805369A1 true FR2805369A1 (fr) 2001-08-24
FR2805369B1 FR2805369B1 (fr) 2002-10-18

Family

ID=24017673

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0012723A Expired - Fee Related FR2805369B1 (fr) 2000-02-18 2000-10-05 Structure de registre avec un mecanisme d'ecriture symetrique

Country Status (2)

Country Link
US (1) US6226217B1 (fr)
FR (1) FR2805369B1 (fr)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6832277B2 (en) 2001-08-02 2004-12-14 Sun Microsystems, Inc. Method and apparatus for transmitting data that utilizes delay elements to reduce capacitive coupling
US20040053510A1 (en) * 2002-09-16 2004-03-18 Little Casey J. System for and method of unlimited voltage multi ported sram cells
US11227653B1 (en) 2016-12-06 2022-01-18 Gsi Technology, Inc. Storage array circuits and methods for computational memory cells
US10777262B1 (en) 2016-12-06 2020-09-15 Gsi Technology, Inc. Read data processing circuits and methods associated memory cells
US10943648B1 (en) 2016-12-06 2021-03-09 Gsi Technology, Inc. Ultra low VDD memory cell with ratioless write port
US10521229B2 (en) 2016-12-06 2019-12-31 Gsi Technology, Inc. Computational memory cell and processing array device using memory cells
US10847212B1 (en) 2016-12-06 2020-11-24 Gsi Technology, Inc. Read and write data processing circuits and methods associated with computational memory cells using two read multiplexers
US10860320B1 (en) 2016-12-06 2020-12-08 Gsi Technology, Inc. Orthogonal data transposition system and method during data transfers to/from a processing array
US10998040B2 (en) 2016-12-06 2021-05-04 Gsi Technology, Inc. Computational memory cell and processing array device using the memory cells for XOR and XNOR computations
US10847213B1 (en) 2016-12-06 2020-11-24 Gsi Technology, Inc. Write data processing circuits and methods associated with computational memory cells
US10891076B1 (en) 2016-12-06 2021-01-12 Gsi Technology, Inc. Results processing circuits and methods associated with computational memory cells
US10770133B1 (en) 2016-12-06 2020-09-08 Gsi Technology, Inc. Read and write data processing circuits and methods associated with computational memory cells that provides write inhibits and read bit line pre-charge inhibits
US10958272B2 (en) 2019-06-18 2021-03-23 Gsi Technology, Inc. Computational memory cell and processing array device using complementary exclusive or memory cells
US10930341B1 (en) 2019-06-18 2021-02-23 Gsi Technology, Inc. Processing array device that performs one cycle full adder operation and bit line read/write logic features
US10877731B1 (en) 2019-06-18 2020-12-29 Gsi Technology, Inc. Processing array device that performs one cycle full adder operation and bit line read/write logic features

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001093285A (ja) * 1999-09-22 2001-04-06 Nec Corp 半導体記憶装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5734613A (en) * 1996-06-20 1998-03-31 Northern Telecom Limited Multi-port random access memory
JPH117773A (ja) * 1997-06-18 1999-01-12 Sony Corp 半導体記憶装置
JPH11261017A (ja) * 1998-03-16 1999-09-24 Fujitsu Ltd 半導体記憶装置
US6104663A (en) * 1999-01-06 2000-08-15 Virage Logic Corp. Memory array with a simultaneous read or simultaneous write ports

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001093285A (ja) * 1999-09-22 2001-04-06 Nec Corp 半導体記憶装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PATENT ABSTRACTS OF JAPAN vol. 2000, no. 21 3 August 2001 (2001-08-03) *

Also Published As

Publication number Publication date
US6226217B1 (en) 2001-05-01
FR2805369B1 (fr) 2002-10-18

Similar Documents

Publication Publication Date Title
FR2805369A1 (fr) Structure de registre avec un mecanisme d'ecriture symetrique
EP0712133B1 (fr) Procédé de lecture anticipée de mémoire à accès série et mémoire s'y rapportant
FR2974666A1 (fr) Amplificateur de detection differentiel sans transistor de precharge dedie
FR2666436A1 (fr) Memoire a semi-conducteurs a acces rapide.
FR2974667A1 (fr) Amplificateur de detection differentiel sans transistor de commutation
FR2948811A1 (fr) Dispositif de memoire statique a cinq transistors et procede de fonctionnement
FR2957449A1 (fr) Micro-amplificateur de lecture pour memoire
FR3025653A1 (fr) Dispositif a cellules memoires sram comportant des moyens de polarisation des caissons des transistors de lecture des cellules memoires
FR2650694A1 (fr) Memoire vive pour machine de traitement de donnees
FR3043488A1 (fr)
FR2775382A1 (fr) Procede de controle du rafraichissement d'un plan memoire d'un dispositif de memoire vive dynamique, et dispositif de memoire vive correspondant
EP3598451B1 (fr) Memoire sram / rom reconfigurable par connexions aux alimentations
EP3373303A1 (fr) Verrou memoire tfet sans rafraichissement
FR2830973A1 (fr) Dispositif de memoire a contenu adressable
FR2787212A1 (fr) Circuit pour remettre a l'etat initial une paire de bus de donnees d'un dispositif de memoire a semiconducteur
EP0952587B1 (fr) DRAM à structure rapide
EP3503104B1 (fr) Circuit mémoire adapté à mettre en oeuvre des opérations de calcul
FR3128570A1 (fr) Sram a initialisation reconfigurable
FR2823362A1 (fr) Dispositif de lecture de cellules memoire
FR2976114A1 (fr) Memoire double port permettant une lecture-ecriture simultanee
FR2683934A1 (fr) Circuit pour augmenter la vitesse de fonctionnement d'un dispositif de memoire a semi-conducteur.
FR3055062A1 (fr) Procede d'ecriture autocorrective d'un dispositif de memoire vive statique multiports, et dispositif correspondant
FR2982701A1 (fr) Dispositif memoire
EP3598450B1 (fr) Memoire sram a courants de fuite reduits
EP0903746B1 (fr) Dispositif et procédé de lecture/ré-écriture d'une cellule-mémoire vive dynamique

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20090630