WO1992015096A1 - Dispositif d'adressage sequentiel d'une memoire, notamment pour carte a memoire - Google Patents

Dispositif d'adressage sequentiel d'une memoire, notamment pour carte a memoire Download PDF

Info

Publication number
WO1992015096A1
WO1992015096A1 PCT/FR1992/000167 FR9200167W WO9215096A1 WO 1992015096 A1 WO1992015096 A1 WO 1992015096A1 FR 9200167 W FR9200167 W FR 9200167W WO 9215096 A1 WO9215096 A1 WO 9215096A1
Authority
WO
WIPO (PCT)
Prior art keywords
stage
transistor
gate
input
output
Prior art date
Application number
PCT/FR1992/000167
Other languages
English (en)
Inventor
Jacek Kowalski
Original Assignee
Gemplus Card International
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 Gemplus Card International filed Critical Gemplus Card International
Publication of WO1992015096A1 publication Critical patent/WO1992015096A1/fr

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C19/00Digital stores in which the information is moved stepwise, e.g. shift registers
    • G11C19/28Digital stores in which the information is moved stepwise, e.g. shift registers using semiconductor elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C19/00Digital stores in which the information is moved stepwise, e.g. shift registers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/04Arrangements for selecting an address in a digital store using a sequential addressing device, e.g. shift register, counter

Definitions

  • the present invention relates to devices which make it possible to address sequentially (that is to say in principle without the possibility of jumping) the memories of computer systems, in particular those contained in memory cards generally known by the name of "smart cards. ". It applies more particularly to cards of the synchronous type, but it can also apply to cards of the asynchronous type.
  • this decoding device is generally divided into two by carrying out a pre-decoding using a predecoder 103, and a final decoding with a final decoder 102.
  • the predecoder is connected to the final decoder by a set 5 of predecoding lines of which the number is large, but is nevertheless lower than that of the address lines which connect the final decoder to the memory and whose number is identical to that of the words to be addressed.
  • Q Such a decoding device is bulky and therefore occupies an important place on the substrate where the memory and its operating circuits are integrated, which reduces the number of available memory words e / or increases the cost of the assembly.
  • the invention provides a sequential addressing device for an integrated memory comprising n words each provided with an addressing input, mainly characterized in that it comprises a shift register comprising n stages each provided an output connected to one of said inputs, and means for introducing into the first stage of this register a control bit and for circulating this bit from stage to stage by causing the passage in each stage the emission towards the word in the memory to which it is connected with a signal controlling the addressing of this word.
  • FIG. 3 the diagram of a memory and its addressing device according to a second embodiment of the invention.
  • - Figure 4 a first embodiment of the selector 305 of Figure 3;
  • FIG. 10 the diagram of an exemplary embodiment of a stage of the selection circuit 305 of FIG. 3;
  • the device according to the invention shown in FIG. 2 comprises a microprocessor 204 (one could have a wired logic) which is used to manage all the organs contained in an integrated circuit itself placed in a smart card.
  • This microprocessor receives processing orders via an input connection and delivers the results of these processing operations on an output connection.
  • the processing operations consist in particular in the sequential reading of a memory 201 addressed by addressing means 202 operating under the control of a clock signal H delivered by the microprocessor.
  • the invention resides in the manner of producing the addressing means 202.
  • these addressing means consist of a simple shift register comprising a number of stages equal to the number of words of memory 201. Each of these stages corresponds to a word in the memory and is connected to the input for controlling the reading of the word to which it corresponds by a reading connection Cj.
  • the memory comprises n words and the register n stages, and the stages l, 2 ..., j, ..., n are connected respectively to the command inputs for reading the words l, 2 ..., j, ..., n by the connections Cl, C2, ..., Cj, ..., Cn.
  • the microprocessor loads the first stage of the register with a bit 1 for example (or 0 depending on the sign conventions and the technologies used), which causes the word N ° l of the memory to be read. .
  • This loading is unique during the whole sequential reading process of the memory and will not be reproduced until the next reading cycle, which will start again by reading the word No. 1. By convention this step will correspond to the first clock cycle.
  • the clock signal H applied by the microprocessor to the shift register advances this bit 1 from stage No. 1 of the register to stage No. 2, which causes the word to be read. No. 2 from memory, and so on.
  • bit l arrives in stage N ° j of the register, which causes the word N ° j to be read from the memory.
  • bit 1 arrives in the last stage of the register, which causes the last word of the memory to be read.
  • the process stops because the microprocessor has for example counted the clock cycles and identified as it arrived at the reading of the last word of the memory. If necessary, the microprocessor can then restart reading by writing a bit 1 again in the first stage of the shift register and continuing to send the clock signal H to this register.
  • the content of the words thus read in the memory is processed in the microprocessor and the result of this processing is delivered on the output thereof.
  • the data contained in the memory are accessed sequentially, which, for large-capacity memories which are now used more and more often, can take a fairly long time.
  • non-sequential addressing modes making it possible to start addressing at any address.
  • Such an addressing mode would also make it possible to divide the memory into files or zones corresponding to different functionalities and / or which can be addressed according to different conditions.
  • the invention therefore proposes to use, as shown in FIG. 3, a shift register individual whose stages can be selected by selection means, which makes them, depending on the case, active or transparent to address or not the words of the memory to which they are connected, when the address bit progresses in this register.
  • the system represented in FIG. 3 comprises, as in FIG. 2, a memory 301 comprising n words, a shift register 302 comprising n stages connected respectively to the n words of the memory by n addressing connections Cl-Cn and a microprocessor 304 managing the set, in particular by loading a bit 1 in the first stage of the register and making it progress using a clock signal H.
  • This system further comprises a selection device 305 provided with n outputs connected respectively to the n stages of the register by n addressing connections Sl-Sn. Each of these connections makes it possible, when it is active, to select the stage of the register to which it is connected and to then make it itself active to authorize the reading of the word from the memory to which it is connected, when bit 1 loaded at the start in stage 1 will reach this stage.
  • the microprocessor sends to the selector SEL control signals which determine, according to the series of addresses which it is desired to read in the memory, the outputs of the selector to make active. .
  • bit 1 does not park during a clock cycle in a stage of the register only if this stage is made active by the selector 305. If the stage is not made active by the selector, it is transparent and the bit passes immediately, from the start of the cycle, to the next stage, and so on to the next active stage.
  • bit 1 arrives in stage j-1 and causes, via connection Cj-1, the reading of word j-1 from memory.
  • bit 1 crosses stage j and immediately arrives in stage j + l causing, via the connection j + l, the reading of the word j + l "The word j is thus thus ignored and one obtains, seen from the microprocessor, a sequential, or rather pseudo-sequential, reading of the words 1, 2,. . . , j — 1, j + l, ••• n.
  • the selector 305 can be produced in different ways.
  • the signal SEL is formed by 2 bits in parallel which make it possible to select, using 4 AND gates 401 to 404, some of whose inputs are inverting, 4 groups of stages in the shift register . Each output of these gates is connected to a set of inputs of the stages of the register to determine a page whose reading will be selected by the signal SEL.
  • the memory will be divided here into 4 pages of identical sizes, Sl-Sn / 4, Sn / 4-Sn / 2, Sn / 2-S3n / 4, and S3n / 4-Sn. We could of course make pages of different sizes, or even mix the words between pages.
  • a variant of this system consists in using a structure of the "programmable logic” type known by the abbreviation "PLA”, which is after all only a set of basic logic circuits with which one can form a logic set by simple without having to modify physical connections.
  • PLA programmable logic
  • Another solution then consists in using to make the selector one or more shift registers, as shown in FIG. 5 there again in a simple example.
  • a single shift register 505 comprising n stages is used, such as register 302 from which certain stages must be selected.
  • the outputs of these n stages of register 505 are respectively connected to the selection inputs of register 302 by connections SI, S2 ... SJ-1, Sj, Sj + l ... Sn.
  • the control signals SEL applied by the microprocessor to the register 505 comprise on the one hand a clock signal H (to simplify since this signal generally comprises two phases), and a binary signal formed by a succession of bits 1 and 0 arriving to the rhythm of the clock signal. These bits first enter the first stage of the register, then they progress from stage to stage until all the stages of the register are filled with 1 or 0.
  • the process is the same than that which has been described for registers 202 and 302, except that in this case the register never contained more than one 1 at a time in a stage and 0s in all the others.
  • the clock signal applied to register 505 stops and this register remains loaded in the manner which has been determined by the microprocessor as a function of the reading requirements of the memory. The register will be re-loaded in another way when further reading needs are required.
  • the selection inputs of the stages of the read control register 302 therefore receive, via the connections S1 to Sn, bits 1 or 0 which make them, as the case may be and the control logic used, active or transparent.
  • the memory reading step can then take place. For example a bit l on the control input of a stage will make it active and this stage will then command, when bit 1 of read command arrives in the stage, the reading of the word from the memory to which it is connected. Conversely, a bit 0 on the control input of a stage will make the latter transparent and will cause bit 1 of the read command to jump directly to the next stage.
  • stages 1 to j-1 of the selector register 505 are then loaded with bits 1, and the stages j to n of this register with bits 0. This makes active stages 1 to d-1 of the reading register, and transparent its stages ja n.
  • N ° 1 input stage (N ° 1) of this selector register, and therefore the direction of progression of the bits inside it, it is necessary in this example to introduce first n- (jl) bits 0, then j-1 bits 1.
  • transistor 602 are connected in series with a transistor 603 between a power source + and ground.
  • the gate of transistor 601 receives the clock (Hl) and the gates of transistors 602 and 603 the output (Qj-1) of the previous stage.
  • 603 is connected to the gate of a transistor 604, which is connected to ground by a transistor 605, the gate of which receives the clock H2.
  • a NOR gate 606 receives on a first input the selection signal Sj of the stage coming from the corresponding stage of the selector 305. Its second input is connected to the transistor 604. The output of this gate delivers the signal Cj of command to read the corresponding word in the memory 301.
  • Three transistors 607, 608 and 609 are connected in series between the second input of gate 606 and the ground.
  • the gate of the first receives the signal Sj, that of the second the signal Qj-1 of which (Qj-1) is the complementary signal, and that of the third the clock Hl.
  • Two inverting amplifiers 610 and 611 are mounted head to tail to form a flip-flop connected on one side to the second input of door 606 and on the other to two transistors 612 and 613 connected in parallel to ground.
  • the gate of transistor 612 receives the signal Qj + 1 from the next stage, and the gate of transistor 613 a reset signal.
  • the output Qj of the stage is available on the point common to the amplifiers 610 and 611 and to the transistors 612 and 613, and the complementary output (Qj) is located on the second input of the gate 606.
  • a first clock H1 goes from a state 0 to a state 1 between the instants tl and t2.
  • a second clock (Hl) is the complement of Hl.
  • a third clock H2 passes from a state 0 to a state 1 between the instants t2 and t3.
  • stage number j represented in FIG. 6, remains in this state until bit 1, entered in stage l and progressing in the register as described above, arrives in the stage preceding, here the floor number j-1.
  • next stage j + l l
  • Bit 1 is therefore transmitted from stage to stage, when they are not selected, with a very slight delay corresponding to the successive double switching of these stages on the rising edge of Hl.
  • stage j will keep 1 until the next clock cycle, which is not important since it does not influence the read signal Cj, as we have seen.
  • stage j-1 When this stage j-1 has switched, (Qj-1) goes to state 0, which allows the next cycle of clocks to unlock transistor 604 during the high state of Hl. Stage j then switches when the clock H2 goes up, with a delay of one clock cycle on the switching of stage j-1, which is indeed the desired result.
  • This physical embodiment of the read command register makes it possible to use a limited number of transistors and to obtain a static structure without floating nodes memorizing the information. This minimizes the space used on the substrate and guarantees the proper functioning of the circuit in all cases, which makes it possible to combat certain fraud problems.
  • the signal Qj-1 arrives on two transistors 801 and 802 whose gates receive the signals (Sj) and Sj respectively.
  • transistor 801 delivers the signal Qj and it is connected to the + of the power supply by an inverter transistor 803 whose gate receives an NPRECH signal.
  • the output of transistor 802 is connected to the input of an inverting amplifier 805 and to the + of the power supply by an inverting transistor 804 whose gate receives a RESET signal. It is also connected to the common point of an inverter transistor 807 connected in series with a transistor 808 connected to ground. The gates of these transistors 807 and 808 are connected together to the output of the amplifier 805, which also delivers the signal Cj.
  • the transistor 807 is itself connected to the + of the power supply by an inverter transistor 806 whose gate receives the signal Sj.
  • the output of amplifier 805 is also connected to the gate of a transistor 809 connected on one side to the output of transistor 801 and on the other to an input receiving a PASS signal.
  • the command to read a word occurs when the clock signal H goes to 0.
  • This signal represented in FIG. 9, is not directly used in the stage described, but it cadences the other signals.
  • H goes to 1 the circuit can command two different actions: programming the register, or incrementing, ie changing the word line.
  • the NPRECH signal remains at 0 outside of the moments corresponding to the increment.
  • the signal Sj + 1 it is then for the signal Sj + 1 to pass to 1, and the signal Q present on the input of the stage corresponding to the next selected word line is transmitted inside this stage.
  • the transistor 806 allows during this phase to make floating the output of the transistor 802 and to force this output correctly to 0.
  • the parasitic capacity 810 on the input of 802 is greater than the capacity 811 on its output, which is easy to obtain by the usual methods of drawing masks for integrated circuits.
  • FIG. 10 represents an exemplary embodiment of a selection stage allowing precisely to select a cell such as those of the figures 6 or 8.
  • non-volatile memory circuits were used, in order to be able to memorize the selection even if the supply is cut (case of bank cards for example).
  • the part which is on the left of the figure allows to program the selection.
  • Two series transistors 901 and 902 receive on their gates clock signals Hl and (Hl), which makes it possible to select all the stages successively by advancing the selection signals P from one stage to the other.
  • 901 receives Pj-1 and 904 transmits Pj.
  • Two inverting amplifiers 902 and 903, mounted head to tail and connected to the midpoint of 901/904, make it possible to memorize the selection of the stage during a clock stroke.
  • a write signal R which makes it possible to apply to the part which is on the right of the figure a high programming voltage coming from an HT source 906.
  • Pairs of transistors 907 / 908 connected in series are connected in parallel between the output of 905 and a common line AG.
  • the transistor 908 of each pair is of the writable type (EPROM or fuse for example) and receives a registration command by a common line VC when the programming voltage is applied.
  • the other transistor 907 of the pair receives a separate selection command Ai.
  • the output of 905, and of all 907, is applied to a first input of a NON / OR gate 909, of known type, which receives a P pulse on a second input.
  • the output of this gate delivers the selection signal Sj and is also connected to the gate of a transistor 910 connected between the + of the power supply and the first input of the door.
  • the signal (Sj) is available on this first entry.
  • any of the inputs Ai receives a signal which turns on the corresponding transistor 907 when the HT is applied. Simultaneously the line VC is brought to 1, and the line AG is left floating. The floating gate of the transistor 908 thus selected is therefore charged and this transistor stores the selection.

Abstract

L'invention concerne les méthodes et les circuits d'adressage des mémoires intégrées, notamment celles des cartes à puces. Elle consiste à prévoir un registre à décalage (302) comportant autant d'étages que de mots à adresser dans la mémoire (303). Les sorties des étages sont reliées aux entrées d'adressage des mots, chacun à chacun. On fait circuler du début à la fin du registre un unique bit 1 qui, à chaque fois qu'il pénètre dans un étage, provoque l'adressage du mot auquel est relié l'étage. Dans une variante, des moyens de sélection (305) permettent de rendre transparents certains étages que le bit 1 traverse sans délai et sans provoquer l'adressage des mots correspondants. Elle permet de réaliser un dispositif d'adressage séquentiel en utilisant un minimum de surface du substrat d'intégration.

Description

A
DISPOSITIF D'ADRESSAGE SEQUENTIEL D'UNE MEMOIRE, NOTAMMENT POUR CARTE A MEMOIRE.
La présente invention se rapporte aux dispositifs gui permettent d'adresser séguentiellement (c'est à dire en principe sans possibilité de saut) les mémoires des systèmes informatiques, notamment celles contenues dans les cartes à mémoire connues généralement sous le nom de "cartes à puce". Elle s'applique plus particulièrement aux cartes du type synchrone, mais elle peut aussi s'appliquer aux cartes du type asynchrone.
Il est connu, comme représenté sur la figure 0 1, d'adresser successivement les différents mots d'une mémoire 101 en comptant les bits d'un signal d'horloge H appliqué à un compteur binaire 104. Ce compteur est incrémenté par le signal d'horloge, et il comporte suffisamment d'étages pour que ses différents états 5 successifs donnent la succession de toutes les adresses des mots de la mémoire. Le décodage de ces états par un ensemble de portes logiques permet d'obtenir ces adresses. Pour faciliter l'implantation de cet ensemble de portes logiques dans le circuit intégré constituant 0 le système informatique inséré dans la carte, on divise généralement en deux ce dispositif de décodage en effectuant un prédécodage à l'aide d'un prédécodeur 103, et un décodage final avec un décodeur final 102. Le prédécodeur est relié au décodeur final par un ensemble 5 de lignes de prédécodage dont le nombre est important, mais est néanmoins plus faible que celui des lignes d'adresses qui relient le décodeur final à la mémoire et dont le nombre est identique à celui des mots à adresser. Q Un tel dispositif de décodage est encombrant et occupe donc une place importante sur le substrat où sont intégrés la mémoire et ses circuits d'exploitation, ce qui réduit le nombre de mots mémoire disponibles e /ou augmente le coût de l'ensemble. Pour pallier ces inconvénients, l'invention propose un dispositif d'adressage séquentiel d'une mémoire intégrée comprenant n mots munis chacun d'une entrée d'adressage, principalement caractérisé en ce qu'il comprend un registre à décalage comprenant n étages munis chacun d'une sortie reliée à l'une des dites entrées, et des moyens pour introduire dans le premier étage de ce registre un bit de commande et pour faire circuler ce bit d'étage en étage en provoquant au passage dans chaque étage l'émission vers le mot de la mémoire auquel il est relié d'un signal commandant l'adressage de ce mot.
D'autres particularités et avantages de l'invention apparaîtront clairement dans la description suivante faite à titre d'exemple non limitatif en regard des figures annexées, qui représentent:
- la figure 1, le schéma d'une mémoire et de son dispositif d'adressage, selon l'art connu;
- la figure 2 , le schéma d'une mémoire et de son dispositif d'adressage selon un premier mode de réalisation de l'invention, avec des moyens de contrôle et d'exploitation de cette mémoire;
- la figure 3, le schéma d'une mémoire et de son dispositif d'adressage selon un deuxième mode de réalisation de l'invention; - la figure 4, un premier exemple de réalisation du sélecteur 305 de la figure 3;
- la figure 5, un deuxième exemple de réalisation de ce sélecteur;
- la figure 6, le schéma électrique d'un premier exemple de réalisation d'un étage du registre à décalage 302 de la figure 3;
- la figure 7, le diagramme des signaux nécessaires à l'étage de la figure 6; - la figure 8, le schéma d'un deuxième exemple de réalisation d'un étage du registre 302;
- la figure 9, le diagramme des signaux nécessaires à l'étage de la figure 8;
- la figure 10, le schéma d'un exemple de réalisation d'un étage du circuit de sélection 305 de la figure 3;et
- la figure 11, le diagramme des signaux nécessaires à l'étage de la figure 10.
Le dispositif selon 1'invention représenté sur la figure 2 comprend un microprocesseur 204 (on pourrait avoir une logique câblée) qui sert à gérer l'ensemble des organes contenus dans un circuit intégré lui-même placé dans une carte à puce. Ce microprocesseur reçoit des ordres de traitement par 1'intermédiaire d'une connexion d'entrée et délivre les résultats de ces traitements sur une connexion de sortie. Les traitements consistent notamment dans la lecture séquentielle d'une mémoire 201 adressée par des moyens d'adressage 202 fonctionnant sous la commande d'un signal d'horloge H délivré par le microprocesseur. L'invention réside dans la manière de réaliser les moyens d'adressage 202.
Pour simplifier la description, nous parlerons dans la suite de ce texte seulement de la lecture des mots de la mémoire, mais il faut bien comprendre que 1'invention concerne toutes les opérations où 1'on adresse ces mots, non seulement pour les lire mais aussi par exemple pour les écrire.
Selon l'invention, ces moyens de d'adressage sont constitués d'un simple registre à décalage comportant un nombre d'étages égal au nombre de mots de la mémoire 201. Chacun de ces étages correspond à un mot de la mémoire et est relié à l'entrée de commande de la lecture du mot auquel il correspond par une connexion de lecture Cj. Ainsi sur la figure la mémoire comprend n mots et le registre n étages, et les étages l,2...,j,...,n sont reliés respectivement aux entrées de commande de lecture des mots l,2...,j,...,n par les connexions Cl,C2, ... ,Cj, ... ,Cn.
Au début de la lecture de la mémoire, le microprocesseur charge le premier étage du registre avec un bit 1 par exemple (ou 0 selon les conventions de signe et les technologies utilisées) , ce qui provoque la lecture du mot N°l de la mémoire. Ce chargement est unique pendant tout le processus de lecture séquentiel de la mémoire et ne se reproduira que lors du cycle de lecture suivant, qui démarrera de nouveau par la lecture du mot N°l. Par convention cette étape correspondra au premier cycle d'horloge.
Au deuxième cycle d'horloge, le signal d'horloge H appliqué par le microprocesseur au registre à décalage fait progresser ce bit 1 de l'étage N°l du registre à l'étage N°2, ce qui provoque la lecture du mot N°2 de la mémoire, et ainsi de suite.
Au cycle d'horloge N°j, le bit l arrive dans l'étage N°j du registre, ce qui provoque la lecture du mot N°j de la mémoire.
Enfin au cycle d'horloge N°n, le bit 1 arrive dans le dernier étage du registre, ce qui provoque la lecture du dernier mot de la mémoire. Le processus s'arrête alors car le microprocesseur a par exemple compté les cycles d'horloge et repéré ainsi qu'il est arrivé à la lecture du dernier mot de la mémoire. Le cas échéant le microprocesseur peut alors relancer la lecture en écrivant de nouveau un bit 1 dans le premier étage du registre à décalage et en continuant à envoyer le signal d'horloge H à ce registre.
Pendant la durée de cette lecture, le contenu des mots ainsi lus dans la mémoire est traité dans le microprocesseur et le résultat de ce traitement est délivré sur la sortie de celui-ci.
Dans le mode réalisation décrit ci-dessus, on accède aux données contenues dans la mémoire séquentiellement, ce qui, pour les mémoires de grande capacité qui sont maintenant utilisées de plus en plus souvent, peut prendre un temps assez long.
Il serait donc souhaitable d'utiliser des modes d'adressage non séquentiels permettant de démarrer l'adressage à n'importe quelle adresse. Un tel mode d'adressage permettrait aussi de diviser la mémoire en fichiers ou en zones correspondant à des fonctionnalités différentes et/ou pouvant être adressées en fonction de conditions différentes. On pourrait également utiliser des fichiers dont les mots ne sont pas tous contigus dans la mémoire, alors qu'ils paraissent l'être, vu du côté utilisateur. Cette dernière possibilité serait utile par exemple pour un utilisateur qui souhaiterait agrandir le fichier auquel il a accès, après que la mémoire ait été configurée lors de la personnalisation de la carte.
On peut obtenir un tel mode d'adressage non séquentiel avec divers dispositifs, mais ceux-ci sont relativement complexes et prennent beaucoup de place sur le substrat sur lequel sont intégrés la mémoire et ses circuits d'exploitation. Par ailleurs il est bien clair qu'un registre à décalage simple tel que décrit plus haut ne permet pas un tel adressage non séquentiel.
L'invention propose donc d'utiliser, comme représenté sur la figure 3, un registre à décalage particulier dont les étages peuvent être sélectionnés par de moyens de sélection, ce qui les rend, suivant le cas, actifs ou transparents pour adresser ou non les mots de la mémoire auxquels ils sont reliés, lorsque le bit d'adressage progresse dans ce registre.
Le système représenté sur la figure 3 comprend, comme sur la figure 2, une mémoire 301 comportant n mots, un registre à décalage 302 comportant n étages reliés respectivement aux n mots de la mémoire par n connexions d'adressage Cl-Cn et un microprocesseur 304 gérant l'ensemble, notamment en chargeant un bit 1 dans le premier étage du registre et en le faisant progresser à l'aide d'un signal d'horloge H.
Ce système comprend en outre un dispositif de sélection 305 muni de n sorties reliées respectivement aux n étages du registre par n connexions d'adressage Sl-Sn. Chacune de ces connexions permet, lorsqu'elle est active, de sélectionner l'étage du registre auquel elle est reliée et de le rendre alors lui-même actif pour autoriser la lecture du mot de la mémoire auquel il est relié, lorsque le bit 1 chargé au départ dans l'étage 1 atteindra cet étage.
Pour que ces connexions de sortie du sélecteur soient rendues actives, le microprocesseur envoie au sélecteur des signaux de commande SEL qui déterminent, en fonction de la série d'adresses que l'on souhaite lire dans la mémoire, les sorties du sélecteur à rendre actives.
Ce processus a lieu dans une première étape, avant que le microprocesseur ne commande dans une deuxième étape la lecture proprement dite en injectant le bit 1 dans le registre à décalage 302 puis en le faisant progresser d'étage en étage dans ce registre. Dans cette deuxième étape, le bit 1 ne stationne alors pendant un cycle d'horloge dans un étage du registre que si cet étage est rendu actif par le sélecteur 305. Si l'étage n'est pas rendu actif par le sélecteur, il est transparent et le bit passe immédiatement, dés le début du cycle, à l'étage suivant, et ainsi de suite jusqu'au prochain étage actif.
Ainsi en supposant par exemple sur la figure 3 que tous les étages aient été rendus actifs, sauf l'étage j; au cycle d'horloge j-1 le bit 1 arrive dans l'étage j-1 et provoque, par l'intermédiaire de la connexion Cj-1, la lecture du mot j-1 de la mémoire. Au cycle d'horloge j, le bit 1 traverse l'étage j et arrive immédiatement dans l'étage j+l en provoquant, par l'intermédiaire de la connexion j+l, la lecture du mot j+l» Le mot j est donc ainsi ignoré et on obtient, vu du microprocesseur , une lecture séquentielle, ou plutôt pseudo-séquentielle, des mots 1, 2 , . . . , j—1, j+l, ••• n.
Le sélecteur 305 peut être réalisé de différentes manières.
Ainsi on peut utiliser, comme représenté dans un exemple simple sur la figure 4, des circuits logiques permettant de réaliser une logique combinatoire. Dans cet exemple de la figure 4, le signal SEL est formé de 2 bits en parallèle qui permettent de sélectionner, à l'aide de 4 portes ET 401 à 404 dont certaines entrées sont inverseuses, 4 groupes d'étages dans le registre à décalage. Chaque sortie de ces portes est reliée à un ensemble d'entrées des étages du registre pour déterminer une page dont la lecture sera sélectionnée par le signal SEL. La mémoire sera ici divisée en 4 pages de tailles identiques, Sl-Sn/4, Sn/4-Sn/2, Sn/2-S3n/4, et S3n/4-Sn. On pourrait bien entendu faire des pages de tailles différentes, voire mélanger les mots entre les pages.
En utilisant tous les bits disponibles sur le bus du microprocesseur, on peut obtenir un sélecteur permettant un grand nombre de sélections différentes. Une variante de ce système consiste à utiliser une structure du type "logique programmable" connue sous l'abréviation "PLA", qui n'est somme toute qu'un ensemble de circuits logiques de base avec lesquels on peut former un ensemble logique par simple programmation et sans avoir à modifier des connexions physiques.
Une telle logique combinatoire présente l'inconvénient de devenir rapidement complexe dés que le nombre de sélections différentes augmente un tant soit peu. On retrouve alors des problèmes semblables à ceux posés par le système de la figure 1.
Une autre solution consiste alors à utiliser pour réaliser le sélecteur un ou des registres à décalage, comme représenté sur la figure 5 là aussi dans un exemple simple. Dans cet exemple, on utilise un seul registre à décalage 505 comportant n étages, comme le registre 302 dont il faut sélectionner certains étages. Les sorties de ces n étages du registre 505 sont reliées respectivement aux entrées de sélection du registre 302 par des connexions SI, S2...SJ-1, Sj, Sj+l...Sn.
Les signaux de commande SEL appliqués par le microprocesseur au registre 505 comprennent d'une part un signal d'horloge H (pour simplifier puisque ce signal comporte généralement deux phases) , et un signal binaire formé d'une succession de bits 1 et 0 arrivant au rythme du signal d'horloge. Ces bits entrent d'abord dans le premier étage du registre, puis ils progressent d'étage en étage jusqu'à ce que tous les étages du registre soient remplis de 1 ou de 0. Le processus est le même que celui qui a été décrit pour les registres 202 et 302, si ce n'est que dans ce cas le registre ne contenait jamais qu'un seul 1 à la fois dans un étage et des 0 dans tous les autres. On pourrait également utiliser dans le sélecteur, pour mémoriser cette sélection, des cellules non-volatiles. Ainsi on pourrait répartir la mémoire une fois pour toutes parmi les applications, pendant la phase de personnalisation du composant. A la fin de ce processus, le signal d'horloge appliqué au registre 505 s'arrête et ce registre reste chargé de la manière qui a été déterminée par le microprocesseur en fonction des besoins de lecture de la mémoire. Le registre sera de nouveau chargé d'une autre manière lorsque d'autres besoins de lecture seront nécessaires.
Les entrées de sélection des étages du registre de commande de lecture 302 reçoivent donc, par l'intermédiaire des connexions SI à Sn, des bits 1 ou 0 qui les rendent, selon le cas et la logique de commande utilisée, actifs ou transparents.
L'étape de lecture de la mémoire peut alors se dérouler. Par exemple un bit l sur l'entrée de commande d'un étage rendra celui-ci actif et cet étage commandera alors, lorsque le bit 1 de commande de lecture arrivera dans l'étage, la lecture du mot de la mémoire auquel il est relié. Inversement un bit 0 sur l'entrée de commande d'un étage rendra celui-ci transparent et fera sauter le bit 1 de commande de lecture directement à 1'étage suivant.
On peut ainsi déterminer une suite quelconque de mots qui seront lus de manière pseudo-séquentielle dans la mémoire, en déterminant la séquence correspondante de 1 et de 0 qui sera introduite dans le registre de sélection 505. La seule limitation est que bien entendu la succession des mots ne peut pas être modifiée pour permettre de lire des mots situés avant ceux qui ont déjà été lus, comme par exemple pour lire le mot j-1 après le mot j. C'est ce qui différencie ce type d'adressage de la mémoire d'un adressage purement aléatoire comme dans une mémoire RAM. On remarquera aussi que dans une page qui est sélectionnée, les mots doivent généralement être adressés séquentiellement. Dans le cas le plus simple on divise la mémoire en pages, deux par exemple, que l'on désire lire exclusivement l'une de l'autre. Ces pages seront par exemple consacrées à deux applications distinctes , 1'une s'étendant par exemple de l'adresse 1 à l'adresse j-1, et l'autre de l'adresse j à l'adresse n.
Pour lancer la première application et lire les mots 1 à j-1, on charge alors les étages 1 à j-1 du registre sélecteur 505 avec des bits 1, et les étages j à n de ce registre avec des bits 0. Ceci rend actifs les étages 1 à j-1 du registre de lecture, et transparents ses étages j a n. On remarque que compte-tenu de 1•étage d'entrée (le N° 1) de ce registre sélecteur, et donc du sens de progression des bits à l'intérieur de celui-ci, il faut dans cet exemple introduire d'abord n-(j-l) bits 0, puis j-1 bits 1.
Inversement, pour lancer la deuxième application, il faut introduire d'abord n-(j-l) bits 1, puis j-1 bits 0.
Selon une variante on pourrait utiliser deux registres à décalage sélecteurs séparés, un pour chaque page. Cette variante pourrait faciliter l'implantation sur le substrat et surtout permettrait de changer plus rapidement d'application, puisqu'on pourrait charger les deux registres en parallèle. On peut bien sur étendre cette variante à plus de deux registres, la limite étant fixée essentiellement par les connexions de commande disponibles sur le microprocesseur pour obtenir les signaux SEL. Un premier exemple de réalisation d'un étage d'un registre à décalage de lecture tel que décrit plus haut est représenté sur la figure 6, et les signaux nécessaires à son fonctionnement sur la figure 7. Pour des raisons de commodité dactylographique, on désignera dans ce texte les signaux inverses, dits aussi BARRE, par les signaux normaux mis entre parenthèses.
Deux transistors à entrée inverseuse 601 et
602 sont connectés en série avec un transistor 603 entre une source d'alimentation + et la masse. La grille du transistor 601 reçoit l'horloge (Hl) et les grilles des transistors 602 et 603 la sortie (Qj-1) de l'étage précédent. Le point commun aux deux transistors 602 et
603 est relié à la grille d'un transistor 604, qui est relié à la masse par un transistor 605 dont la grille reçoit l'horloge H2.
Une porte NON-OU 606, dont le schéma électrique est connu, reçoit sur une première entrée le signal de sélection Sj de l'étage provenant de l'étage correspondant du sélecteur 305. Sa deuxième entrée est reliée au transistor 604. La sortie de cette porte délivre le signal Cj de commande de lecture du mot correspondant dans la mémoire 301.
Trois transistors 607, 608 et 609 sont connectés en série entre la deuxième entrée de la porte 606 et la masse. La grille du premier reçoit le signal Sj, celle du second le signal Qj-1 dont (Qj-1) est le signal complémentaire, et celle du troisième l'horloge Hl.
Deux amplificateurs inverseurs 610 et 611, dont le schéma électrique est connu, sont montés tête-bêche pour former une bascule connectée d'un côté à la deuxième entrée de la porte 606 et de l'autre à deux transistors 612 et 613 connectés en parallèle à la masse. La grille du transistor 612 reçoit le signal Qj+1 provenant de l'étage suivant, et la grille du transistor 613 un signal de remise à zéro RAZ.
La sortie Qj de l'étage est disponible sur le point commun aux amplificateurs 610 et 611 et aux transistors 612 et 613, et la sortie complémentaire (Qj) se trouve sur la deuxième entrée de la porte 606.
Le fonctionnement de cet étage nécessite trois signaux d'horloge dont le diagramme est représenté sur la figure 7. Une première horloge Hl passe d'un état 0 à un état 1 entre les instants tl et t2. Une deuxième horloge (Hl) est la complémentaire de Hl. Une troisième horloge H2 passe d'un état 0 à un état 1 entre les instants t2 et t3.
Au départ tous les étages du registre sont remis à zéro par un signal RAZ délivré par le microprocesseur. Ainsi Qj et Cj sont à 0 et (Qj) est à 1.
Chaque étage, et donc l'étage numéro j représenté sur la figure 6, reste dans cet état jusqu'à ce que le bit 1, entré dans l'étage l et progressant dans le registre comme décrit plus haut, arrive dans l'étage précédant, ici l'étage numéro j-1. On a alors Qj-l=l et (Qj-1)=0.
A ce moment deux cas peuvent se présenter: - l'étage j n'est pas sélectionné et Sj=l (dans la logique utilisée dans ce schéma) ; - l'étage j est sélectionné et Sj=0. Dans le premier cas: Compte-tenu de la table logique de la porte NON-OU 606, le signal Cj de commande de la lecture du mot correspondant de la mémoire reste toujours à 0 et ce mot n'est donc jamais lu, ce qui est bien le résultat recherché. Le bit 1, représenté par les états Qj=l et
(Qj)-O est transmis sans retard à l'étage suivant, ce qui est aussi le résultat recherché.
En effet lorsque Qj-1 passe à l à l'instant tl, cas où l'étage j-1 n'est pas sélectionné comme on le verra plus loin, les transistors 608 et 609 deviennent passants puisque alors que le transistor 607 reste passant puisque Sj≈l en permanence. Par contre le transistor 605 est bloqué puisque H2=0, et les actions de (Qj-1) sur les transistors 602 et 603, et de (Hl) sur le transistor 601 sont alors sans effet. La bascule 610/611 change donc d'état et l'on obtient Qj=l et (Qj)=0. Le 1 est bien entré dans l'étage j.
Si l'étage suivant j+l est lui aussi non sélectionné, soit Sj+l=l, cet état ne dure pas puisque cet étage suivant reçoit lui aussi tout de suite le 1 et vient faire rebasculer la bascule 610/611 par le transistor 612 qui reçoit Qj+l=l sur sa grille et devient passant.
L'étage j ne peut plus alors rebasculer de nouveau, puisqu'il a lui-même fait rebasculer l'étage j-1 en renvoyant Qj=l sur le transistor 612 de cet étage j-1-
Le bit 1 est donc transmis d'étage en étage, lorsqu'ils ne sont pas sélectionnés, avec un très léger retard correspondant au double basculement successif de ces étages sur le front montant de Hl.
Si par contre l'étage suivant est sélectionné, soit Sj+l≈O, il ne basculera, comme on le verra par la suite, que sur le front montant de H2, et l'étage j gardera le 1 jusqu'au cycle d'horloge suivant, ce qui est sans importance puisque cela n'influe pas sur le signal de lecture Cj, comme on l'a vu.
Dans le deuxième cas, où l'étage j est sélectionné et Sj=0:
Tant que l'on aura (Qj)=l, on aura Cj=0. La commande de lecture, correspondant à Cj=l, sera donc déclenchée par le passage du bit 1 dans l'étage, pendant lequel on aura Qj=l et (Qj)=0. Si l'étage précédent j-1 n'est pas sélectionné, il bascule, comme on l'a vu plus haut, au temps tl lorsque Hl passe dans l'état 1, en négligeant le retard dû à la propagation. On a alors (Qj-1)=0, ce qui bloque le transistor 603 et rend passant le transistor 602. Comme le transistor 601 est rendu passant par (Hl) ,on obtient un état 1 sur la grille du transistor 604 qui est alors rendu passant, alors que le transistor 605 est maintenu bloqué par H2. Comme par ailleurs Sj maintient le transistor 607 bloqué, il ne se passe rien et l'étage reste dans l'état Qj=0, ce qui ne remet pas l'étage précédent dans l'état Qj-1=0, justifiant ce qui a été dit plus haut.
Lorsque à l'instant t2 l'horloge H2 passe à l'état 1, elle rend passant le transistor 605. Comme le transistor 604 est encore passant, compte tenu des charges accumulées bien que (Hl) soit repassé dans l'état 0 à ce même instant t2, la deuxième entrée de la porte 606 reçoit un état 0, ce qui provoque le basculement de la bascule 610/611 et donc le passage de l'étage j dans l'état Qj=l, (Qj)=0, avec émission du signal de commande de lecture Cj≈l. A ce moment l'étage j-1 est remis dans l'état Qj-l≈O, (Qj-l)=l par l'action de Qj sur son transistor 612.
Si par contre l'étage précédent est sélectionné, il ne bascule, comme on vient de le voir, que sur la montée de l'horloge H2. Si l'étage j-2 était lui-même sélectionné, on pourrait toujours raisonner par récurrence et remonter au cas d'un étage précédent non sélectionné pour revenir au cas précédent.
Dans ce cas où l'étage j -1 est sélectionné,
(Qj-l)=l pendant l'état 1 de Hl et le transistor 604 reste toujours bloqué, ce qui empêche l'étage de basculer pendant le déroulement du cycle des trois horloges où l'étage j-1 bascule.
Quand cet étage j-1 a basculé, (Qj-1) passe à l'état 0, ce qui permet au cycle suivant des horloges de débloquer le transistor 604 pendant l'état haut de Hl. L'étage j bascule alors lorsque l'horloge H2 monte, avec un retard d'un cycle d'horloge sur le basculement de l'étage j-1, ce qui est bien le résultat recherché.
En passant à 1, Qj fait alors de nouveau basculer l'étage j-1 pour avoir (Qj-l)=l et donc Cj-1=0, ce qui permet, comme voulu, de ne pas lire simultanément deux mots de la mémoire.
Cet exemple de réalisation physique du registre de commande de lecture permet d'utiliser un nombre restreint de transistors et d'obtenir une structure statique sans noeuds flottants mémorisant l'information. On minimise ainsi la place utilisée sur le substrat et on garantit le bon fonctionnement du circuit dans tous les cas de figure, ce qui permet de combattre certains problèmes de fraude.
On pourrait, sans sortir du cadre de l'invention, réaliser une structure dynamique permettant de supprimer les bascules.
Dans le deuxième exemple de réalisation d'un étage 302, représenté sur la figure 8, avec les signaux correspondants sur la figure 9, le signal Qj-1 arrive sur deux transistors 801 et 802 dont les grilles reçoivent respectivement les signaux (Sj) et Sj.
La sortie du transistor 801 délivre le signal Qj et elle est reliée au + de l'alimentation par un transistor inverseur 803 dont la grille reçoit un signal NPRECH.
La sortie du transistor 802 est reliée à l'entrée d'un amplificateur inverseur 805 et au + de l'alimentation par un transistor inverseur 804 dont la grille reçoit un signal RAZ. Elle est également reliée au point commun d'un transistor inverseur 807 monté en série avec un transistor 808 relié à la masse. Les grille de ces transistors 807 et 808 sont reliées ensemble à la sortie de l'amplificateur 805, qui délivre également le signal Cj. Le transistor 807 est lui-même relié au + de l'alimentation par un transistor inverseur 806 dont la grille reçoit le signal Sj.
La sortie de l'amplificateur 805 est aussi reliée à la grille d'un transistor 809 relié d'un côté à la sortie du transistor 801 et de l'autre à une entrée recevant un signal PASS.
Les signaux Sj et (Sj) proviennent d'un circuit de sélection tel que 305 sur la figure 3. Lorsque l'étage n'est pas sélectionné, Sj≈l et (Sj)=0. La commande de la lecture d'un mot se produit quand le signal d'horloge H passe à 0. Ce signal, représenté sur la figure 9, n'est pas directement utilisé dans l'étage décrit, mais il cadence les autres signaux. Quand H passe à 1, le circuit peut commander deux actions différentes: programmation du registre, ou incrémentation c'est à dire changement de ligne de mot.
Ainsi le signal en entrée Qj-1 passe sur la sortie pour donner Qj uniquement lorsque H=l. Pour cela, le signal NPRECH reste à 0 en dehors des moments correspondant à 1'incrémentation.
Pendant 1'incrémentation NPRECH passe à l et le signal PASS à 0. Lorsque la ligne est sélectionnée, comme la sortie de l'amplificateur 805 est à 1, le transistor 809 est passant et Qj passe à 0 jusqu'à ce que la prochaine ligne soit sélectionnée. Pour ce mot ainsi sélectionné, Qj-1 passe à 0, mais Qj ne change pas.
Par contre, pour tous les mots précédents qui ne sont pas sélectionnés, le 0 en entrée passe à travers le transistor 801, puisque (Sj)=l.
Après cette phase, le signal RAZ passe à 0, ce qui remet toutes les lignes de mot à 0. Toutefois le signal transmis précédemment est mémorisé sur la sortie Qj-
C'est ensuite au signal Sj+l de passer à 1, et le signal Q présent sur l'entrée de l'étage correspondant à la prochaine ligne de mot sélectionnée est transmis à l'intérieur de cet étage. Le transistor 806 permet pendant cette phase de rendre flottante la sortie du transistor 802 et de forcer cette sortie correctement à 0. Comme le signal sur l'entrée du transistor 802 est flottant à ce moment, il faut s'arranger pour que la capacité parasite 810 sur l'entrée de 802 soit plus grande que la capacité 811 sur sa sortie, ce qui est facile à obtenir par les procédés habituels de dessin des masques de circuits intégrés.
Alors la sortie Cj, correspondant à la ligne de mot sélectionnée, passe à 1. Ce deuxième exemple de réalisation permet de minimiser le nombre de transistors utilisés par étage.
La figure 10 représente un exemple de réalisation d'un étage de sélection permettant justement de sélectionner une cellule telle que celles des figures 6 ou 8. On a utilisé dans cet étage des circuits mémoires non volatiles, afin de pouvoir mémoriser la sélection même si l'alimentation est coupée (cas des cartes bancaires par exemple) . La partie qui est à gauche de la figure permet de programmer la sélection. Deux transistors en série 901 et 902 reçoivent sur leurs grilles des signaux d'horloge Hl et (Hl) , ce qui permet de sélectionner successivement tous les étages en faisant progresser les signaux de sélection P d'un étage à l'autre. Ainsi 901 reçoit Pj-1 et 904 transmet Pj. Deux amplificateurs inverseurs 902 et 903, montés tête-bêche et connectés au point milieu de 901/904, permettent de mémoriser la sélection de l'étage pendant un coup d'horloge. Un transistor 905, connecté au point milieu
901/904, reçoit sur sa grille un signal d'écriture R, ce qui permet d'appliquer à la partie qui est à droite de la figure une haute tension de programmation provenant d'une source HT 906. Des paires de transistors 907/908 reliés en série sont connectées en parallèle entre la sortie de 905 et une ligne commune AG. Le transistor 908 de chaque paire est du type inscriptible (EPROM ou fusible par exemple) et reçoit une commande d'inscription par une ligne commune VC lorsque la tension de programmation est appliquée. L'autre transistor 907 de la paire reçoit une commande de sélection distincte Ai.
La sortie de 905, et de tous les 907, est appliquée à une première entrée d'une porte NON/OU 909, de type connu, qui reçoit sur une deuxième entrée une impulsion P. La sortie de cette porte délivre le signal de sélection Sj et est également reliée à la grille d'un transistor 910 connecté entre le + de l'alimentation et la première entrée de la porte. Le signal (Sj) est disponible sur cette première entrée.
Pour programmer la cellule, l'une quelconque des entrées Ai reçoit un signal qui débloque le transistor 907 correspondant lorsque la HT est appliquée. Simultanément la ligne VC est portée à 1, et la ligne AG est laissée flottante. La grille flottante du transistor 908 ainsi sélectionné se charge donc et ce transistor mémorise la sélection.
Pour lire le mot de mémoire correspondant à la cellule qui est sélectionnée, on adresse celle-ci par l'une des entrées Ai, tout en portant la ligne AG à 0. Si alors le transistor 908 correspondant a été programmé comme expliqué ci-dessus, (Sj) passe à 0 et reste dans cet état en permanence, alors que Sj passe à 1 pendant la durée d'une impulsion de lecture P adressée sur la deuxième entrée de la porte 909.
Lorsque par contre la cellule n'est pas sélectionnée, aucun des transistors 908 ne permet le passage du 0 de la ligne AG par un transistor 907 sélectionné par Ai. On a alors en permanence Sj=0 et (Sj)≈l.
La description ci-dessus a été faite en supposant que le circuit, ou la carte, contenait un microprocesseur, pour faciliter les explications. On pourrait, toujours sans sortir du cadre de l'invention, utiliser des organes de gestion extérieurs, comprenant éventuellement un microprocesseur, communiquant avec les circuits décrits par un connecteur comme celui normalisé pour les cartes à puce.

Claims

REVENDICATIONS
1- Dispositif d'adressage séquentiel d'une mémoire intégrée (201) comprenant n mots munis chacun d'une entrée d'adressage, caractérisé en ce qu'il comprend : - un premier registre à décalage (202) comportant n étages munis chacun d'une sortie reliée (Cl-Cn) à l'une des dites entrées;
- des moyens (204) pour introduire dans le premier étage de ce registre un bit de commande (1) et pour faire circuler ce bit d'étage en étage en provoquant au passage dans chaque étage l'émission vers le mot de la mémoire auquel il est relié d'un signal commandant l'adressage de ce mot, au moins un étage du registre à décalage (202) comportant une entrée; et - des moyens de sélection (305) reliés (Sl-Sn) à cette entrée pour empêcher ledit étage de commander l'adressage du mot auquel il est relié.
2- Dispositif selon la revendication 1, caractérisé en ce que les moyens de sélection comprennent des cellules non volatiles (908) pour mémoriser la sélection lorsque le dispositif n'est pas alimenté.
3- Dispositif selon les revendications 1 ou 2, caractérisé en ce que les moyens de sélection (305) sont reliés à un ensemble d'entrées des étages du registre à décalage (302) .
4- Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce qu'un étage du registre (302) , sélectionné pour ne pas commander l'adressage du mot auquel il est relié. transmet immédiatement et sans autre retard que celui de propagation, le bit de commande (1) à l'étage suivant.
5- Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que les moyens de sélection comprennent un ensemble de circuits logiques (401-404) formant une logique combinatoire permettant de décoder des signaux de sélections (SEL) pour déterminer les étages du registre (302) qui doivent être neutralisés. 6- Dispositif selon la revendication 4, caractérisé en ce que cet ensemble de circuits logiques est du type PLA.
7- Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que les moyens de sélection comprennent au moins un deuxième registre à décalage (505) comportant un ensemble d'étages munis chacun d'une sortie reliée (Sl-Sn) à une entrée d'un étage du premier registre à décalage (302), et des moyens (304) pour charger ce deuxième registre avec un ensemble de bits (1/0) de sélection permettant de sélectionner les étages du premier registre reliés aux étages du deuxième registre chargés avec ces bits de sélection.
8- Dispositif selon l'une quelconque des revendications précédentes, caractérisé en qu'un étage du premier registre à décalage comprend: - un premier (601) et un deuxième (602) transistors à entrée inverseuse et un troisième (603) transistor reliés en série entre une source (+) d'alimentation et la masse, la grille du premier transistor étant reliée à une deuxième ((Hl) ) horloge complémentaire d'une première (Hl) horloge, et les grilles des deuxième et troisième transistors étant reliées à une deuxième ((Qj-1)) sortie de l'étage précédent complémentaire d'une première (Qj-1) sortie de cet étage précédent;
- une porte NON-OU (606) délivrant sur sa sortie le signal de commande (Cj) d'adressage et ayant une première entrée (Sj) pour recevoir le signal de sélection de l'étage et une deuxième entrée reliée à une deuxième sortie ((Qj)) de l'étage, complémentaire d'une première sortie (Qj) , ces sorties étant destinées à être reliées à l'étage suivant;
- un quatrième (604) et un cinquième (605) transistors connectés en série entre la deuxième entrée de la porte
(606) et la masse, la grille du quatrième transistor étant reliée au point commun des deuxième et troisième transistors, et la grille du cinquième transistor étant relié à une troisième horloge (H2) ; - un sixième (607) , un septième (608) et un huitième
(609) transistors connectés en série entre la deuxième entrée de la porte (606) et la masse, la grille du sixième transistor étant reliée à la première entrée de la porte, la grille du septième transistor étant reliée à la première sortie (Qj-1) de l'étage précédent et la grille du huitième transistor étant reliée à la première horloge (Hl) ;
- deux amplificateurs inverseurs (610,611) reliés tête-bêche pour former une bascule connectée d'un côté à la deuxième entrée de la porte et de l'autre à la première sortie (Qj) de l'étage;
- un neuvième transistor reliant la première sortie (Qj) de l'étage à la masse et dont la grille est reliée à la première sortie (Qj+1) de l'étage suivant;et - un dixième transistor reliant la première sortie (Qj) de l'étage à la masse et dont la grille est reliée à une entrée de remise à zéro (RAZ) .
9- Dispositif selon l'une quelconque de revendications précédentes, caractérisé en en ce qu'un étage du premier registre à décalage comprend:
- un premier transistor (801) connecté entre l'entrée (Qj-1) et la sortie (Qj) de l'étage et destiné à recevoir sur sa grille le signal de sélection barre ((Sj)) de l'étage;
- un deuxième transistor inverseur (803) connecté entre le + de l'alimentation et la sortie de l'étage et destiné à recevoir sur sa grille un signal de préchargement (NPRECH) ; - un troisième transistor (802) connecté d'un côté à l'entrée de l'étage et destiné à recevoir sur sa grille le signal de sélection (Sj) de l'étage;
- un quatrième transistor inverseur (804) connecté entre le + de l'alimentation et l'autre côté du troisième transistor et destiné à recevoir sur sa grille un signal de RAZ;
- un cinquième (806) et un sixième (807) transistors inverseurs connectés en série en le + alimentation et la masse avec un septième transistor (808) ; le point commun aux sixième et septième transistors étant relié à l'autre côté du troisième transistor; la grille du cinquième transistor étant destinée à recevoir le signal de sélection de l'étage (Sj), et les grilles des sixième et septième transistor étant réunies; - un amplificateur inverseur (805) dont l'entrée est reliée à l'autre côté du troisième transistor et dont la sortie est reliée aux grilles des sixième et septième transistors;et
- un huitième transistor (809) relié entre la sortie de l'étage et une connexion destinée à recevoir un signal
PASS; la grille de ce transistor étant reliée à la sortie de l'amplificateur.
10- Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que un étage du deuxième registre à décalage comprend:
- un premier (901) et un deuxième (904) transistors reliés en série entre l'entrée (Pj-1) et la sortie (Pj) du registre; les grilles de ces transistors étant destinées à recevoir des signaux d'horloge inversés (H1,(H1));
- deux amplificateurs inverseurs (902,903) connectés tête-bêche au point milieu des premier et deuxième transistors; - un troisième transistor (905) relié d'un côté au dit point milieu, dont la grille est destinée à recevoir un signal d'écriture (WR) ;
- un générateur de haute tension d'alimentation (906) relié à l'autre côté du troisième transistor; - une porte NON-OU (909) ayant une première entrée destinée à recevoir une impulsion de lecture (P) et une deuxième entrée reliée à l'autre côté du troisième transistor et destinée à délivrer le signal de sélection barre ((Sj)); ~ un ensemble de paires de transistors (907,908) connectées en parallèle entre la deuxième entrée de la porte et une ligne d'alimentation (AG) ; chaque paire comprenant un quatrième (907) et un cinquième (908) transistors connectés en série; la grille de chaque quatrième transistor étant destinée à recevoir un signal de sélection (Ai) ;les cinquièmes transistors étant du type inscriptible et ayant leurs grilles réunies ensemble pour recevoir un signal de commande de programmation (VC) ; et - un sixième transistor inverseur (910) connecté entre le + alimentation et la deuxième entrée de la porte; la grille de ce transistor étant réunie à la sortie de la porte pour délivrer le signal de sélection (Sj).
PCT/FR1992/000167 1991-02-22 1992-02-24 Dispositif d'adressage sequentiel d'une memoire, notamment pour carte a memoire WO1992015096A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9102173A FR2673316B1 (fr) 1991-02-22 1991-02-22 Dispositif d'adressage sequentiel d'une memoire, notamment pour carte a memoire.
FR91/02173 1991-02-22

Publications (1)

Publication Number Publication Date
WO1992015096A1 true WO1992015096A1 (fr) 1992-09-03

Family

ID=9410014

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR1992/000167 WO1992015096A1 (fr) 1991-02-22 1992-02-24 Dispositif d'adressage sequentiel d'une memoire, notamment pour carte a memoire

Country Status (2)

Country Link
FR (1) FR2673316B1 (fr)
WO (1) WO1992015096A1 (fr)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473564A (en) * 1993-04-01 1995-12-05 Gemplus Card International Memory card having an integrated circuit for the secure counting down of units
US5512852A (en) * 1993-04-02 1996-04-30 Gemplus Card International Automatic trigger circuit with floating-gate detection transistor
US5550919A (en) * 1993-05-26 1996-08-27 Gemplus Card International Method and device for limiting the number of authentication operations of a chip card chip
US6058481A (en) * 1995-10-09 2000-05-02 Inside Technologies Smart cards
US6152367A (en) * 1995-10-09 2000-11-28 Inside Technologies Wired logic microcircuit and authentication method having protection against fraudulent detection of a user secret code during authentication

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6895420B1 (en) * 2000-02-16 2005-05-17 Hewlett-Packard Development Company, L.P. Apparatus and method for sharing data FET for a four-way multiplexer

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2315201A1 (de) * 1972-03-27 1973-10-11 Hitachi Ltd Flip-flop-schaltung
US4321695A (en) * 1979-11-23 1982-03-23 Texas Instruments Incorporated High speed serial access semiconductor memory with fault tolerant feature
US4961169A (en) * 1986-12-24 1990-10-02 Mitsubishi Denki Kabushiki Kaisha Method of and apparatus for generating variable time delay

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2315201A1 (de) * 1972-03-27 1973-10-11 Hitachi Ltd Flip-flop-schaltung
US4321695A (en) * 1979-11-23 1982-03-23 Texas Instruments Incorporated High speed serial access semiconductor memory with fault tolerant feature
US4961169A (en) * 1986-12-24 1990-10-02 Mitsubishi Denki Kabushiki Kaisha Method of and apparatus for generating variable time delay

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473564A (en) * 1993-04-01 1995-12-05 Gemplus Card International Memory card having an integrated circuit for the secure counting down of units
US5512852A (en) * 1993-04-02 1996-04-30 Gemplus Card International Automatic trigger circuit with floating-gate detection transistor
US5550919A (en) * 1993-05-26 1996-08-27 Gemplus Card International Method and device for limiting the number of authentication operations of a chip card chip
US6058481A (en) * 1995-10-09 2000-05-02 Inside Technologies Smart cards
US6152367A (en) * 1995-10-09 2000-11-28 Inside Technologies Wired logic microcircuit and authentication method having protection against fraudulent detection of a user secret code during authentication

Also Published As

Publication number Publication date
FR2673316A1 (fr) 1992-08-28
FR2673316B1 (fr) 1994-12-23

Similar Documents

Publication Publication Date Title
EP1172820B1 (fr) Mémoire série programmable et effacable électriquement à lecture par anticipation
FR2623652A1 (fr) Unite de memoire statique a plusieurs modes de test et ordinateur muni de telles unites
EP1630814A1 (fr) Procédé de lecture de cellules mémoire programmables et effacables électriquement, à précharge anticipée de lignes de bit
FR2726934A1 (fr) Procede de lecture anticipee de memoire a acces serie et memoire s'y rapportant
EP0875830B1 (fr) Circuit testable à faible nombre de broches
WO1992015096A1 (fr) Dispositif d'adressage sequentiel d'une memoire, notamment pour carte a memoire
EP0735489B1 (fr) Procédé de protection de zones de mémoires non volatiles
EP0553163A1 (fr) Procede pour repartir la memoire d'un circuit integre entre plusieurs applications
FR2771839A1 (fr) Memoire non volatile programmable et effacable electriquement
EP2073212B1 (fr) Dispositif de lecture d'une mémoire non volatile à basse consommation, et son procédé de mise en action
FR2864321A1 (fr) Memoire dynamique a acces aleatoire ou dram comportant au moins deux registres tampons et procede de commande d'une telle memoire
EP0863512B1 (fr) Mémoire à double accès
FR2686989A1 (fr) Procede de comptage de securite pour un compteur electronique binaire.
FR3007185A1 (fr) Dispositif de memoire associant un plan-memoire du type sram et un plan-memoire du type non volatil, et procedes de fonctionnement
EP0678875B1 (fr) Procédé d'effacement d'une mémoire et circuits de mise en oeuvre
EP0606796B1 (fr) Procédé de programmation en champ uniforme d'une mémoire électriquement programmable et mémoire mettant en oeuvre le procédé
EP1085520B1 (fr) Procédé d'écriture en mode page d'une mémoire non volatile électriquement programmable/effaçable et architecture correspondante
EP0833346A1 (fr) Mémoire à accès série avec sécurisation de l'écriture
EP0355917B1 (fr) Unité de mémoire adressable à circuit de sélection d'unité amélioré
FR2801388A1 (fr) Procede de commande de memoire dram rapide et controleur adapte
EP1632863A1 (fr) Dispositif programmable d'interface de commande
FR2748595A1 (fr) Memoire a acces parallele
EP1542130A1 (fr) Mémoire série comprenant des moyens d'intégration dans un plan mémoire étendu
FR2770661A1 (fr) Microprocesseur comprenant des moyens de concatenation de bits
WO2002015192A1 (fr) Module de controle comprenant une memoire morte a consommation electrique reduite

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP KR US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB GR IT LU MC NL SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
122 Ep: pct application non-entry in european phase