FR2775142A1 - High frequency functioning state machine - Google Patents

High frequency functioning state machine Download PDF

Info

Publication number
FR2775142A1
FR2775142A1 FR9802161A FR9802161A FR2775142A1 FR 2775142 A1 FR2775142 A1 FR 2775142A1 FR 9802161 A FR9802161 A FR 9802161A FR 9802161 A FR9802161 A FR 9802161A FR 2775142 A1 FR2775142 A1 FR 2775142A1
Authority
FR
France
Prior art keywords
register
inputs
variables
outputs
state
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
FR9802161A
Other languages
French (fr)
Other versions
FR2775142B1 (en
Inventor
Bernard Ramanadin
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.)
STMicroelectronics SA
Original Assignee
SGS Thomson Microelectronics SA
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 SGS Thomson Microelectronics SA filed Critical SGS Thomson Microelectronics SA
Priority to FR9802161A priority Critical patent/FR2775142B1/en
Publication of FR2775142A1 publication Critical patent/FR2775142A1/en
Application granted granted Critical
Publication of FR2775142B1 publication Critical patent/FR2775142B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled

Abstract

There is a second register and combination logic circuit, allowing future commands to be memorised during an active clock cycle period. A slave circuit is not needed.

Description

Machines d'états pour circuit intégré fonctionnant à
fréquence élevée.
State machines for integrated circuit operating at
high frequency.

L'invention concerne les machines d'états pour circuit intégré fonctionnant à fréquence élevée, et plus généralement les circuits intégrés comportant des machines d'états. The invention relates to state machines for integrated circuits operating at high frequency, and more generally to integrated circuits comprising state machines.

Les machines d'états, classiquement désignées par "séquenceurs", sont généralement utilisées dans les circuits numériques pour produire des séquences de commande, conditionnelles ou non, pour tout type de circuit logique utilisé dans un circuit utilisant la logique séquentielle, tel que par exemple un microprocesseur, un compteur, une mémoire et plus généralement les circuits séquentiels complexes. State machines, conventionally designated by "sequencers", are generally used in digital circuits to produce control sequences, conditional or not, for any type of logic circuit used in a circuit using sequential logic, such as for example a microprocessor, a counter, a memory and more generally complex sequential circuits.

Les séquenceurs comportent au moins un circuit combinatoire dans lequel sont codées des équations logiques combinant des variables d'entrées et des variables d'états, de manière à produire des variables d'état futur, représentatives de l'état futur dans lequel se trouvera la machine d'état, en correspondance avec des variations des états logiques des variables présentes sur des entrées de la dite machine. Les variables d'états sont mémorisées dans un registre à chaque période d'une horloge de cadencement. Sequencers include at least one combinatorial circuit in which are coded logic equations combining input variables and state variables, so as to produce future state variables, representative of the future state in which the state machine, in correspondence with variations of the logical states of the variables present on inputs of said machine. The state variables are stored in a register at each period of a timing clock.

L'homme du métier connaît de telles machines d'états, en particulier celles de "MOORE" ou de "MEALAY", qui sont représentées sur les figures 1 et 2. Those skilled in the art know such state machines, in particular those of "MOORE" or "MEALAY", which are shown in FIGS. 1 and 2.

La machine d'états de MOORE 1, représentée schématiquement sur la figure 1, comporte un premier circuit combinatoire CA dont les sorties de données sont reliées aux entrées de données d'un registre de mémorisation RA. Le registre de mémorisation RA est constitué, par exemple, d'une série de bascules de type D et est actualisé par un signal d'horloge HCk. The state machine of MOORE 1, shown diagrammatically in FIG. 1, comprises a first combinational circuit CA, the data outputs of which are connected to the data inputs of a storage register RA. The storage register RA consists, for example, of a series of D type flip-flops and is updated by a clock signal HCk.

Les sorties de données du registre RA sont ensuite reliées aux entrées de données d'un deuxième circuit combinatoire CE. Les dits premier et deuxième circuits combinatoires CA et Cg ont respectivement un temps maximal de propagation TCA et TCB.  The data outputs of the register RA are then connected to the data inputs of a second combinational circuit CE. Said first and second combinational circuits CA and Cg respectively have a maximum propagation time TCA and TCB.

Le premier circuit combinatoire CA produit des variables logiques d'état futur EF à partir d'au moins un signal d'entrée logique I et d'au moins une variable logique d'état courant EC qui est située en sortie du registre de mémorisation RA. Le deuxième circuit combinatoire produit des variables de sortie S1, correspondantes aux variables de sortie de la machine d'état 1, en fonction des variables logiques d'état courant. Ainsi, les variables de sortie S1 de la machine d'état de MOORE sont fonction des variables logiques d'état courant de la dite machine d'état 1. The first combinational circuit CA produces logic variables of future state EF from at least one logic input signal I and at least one logic variable of current state EC which is located at the output of the storage register RA . The second combinational circuit produces output variables S1, corresponding to the output variables of state machine 1, as a function of the logic variables of current state. Thus, the output variables S1 of the state machine of MOORE are a function of the logic variables of current state of said state machine 1.

Les variables de sortie S1 sont utilisées pour commander un circuit logique 2, par exemple une unité arithmétique et logique ALU qui sera désignée par la suite "ALU". Comme montré figure 1, 1'ALU est située entre des registres R2 du circuit logique 2. Le temps nécessaire pour que 1'ALU effectue une opération logique est TALUS
La fréquence de fonctionnement maximale FMAX du dispositif de la figure 1 se calcule en considérant un intervalle de temps maximal possible entre deux fronts actifs de l'horloge de cadencement HCk. Ainsi, dans l'exemple de la figure 1, TCA est le temps qui définit un temps maximal du changement d'état généré par le premier circuit combinatoire CA, ce qui peut autoriser une fréquence de fonctionnement égale à fl=l/TCA. Par ailleurs, une fois que le changement d'état s'est opéré, le temps nécessaire pour obtenir le résultat en sortie de 1'ALU est égal à TCB+TALuB correspondant au cumul du temps de propagation nécessaire au deuxième circuit combinatoire CE et au temps de propagation de 1'ALU après réception de la commande provenant du deuxième circuit combinatoire Cg, ce qui autorise une fréquence de fonctionnement égale à f2=l/ (TCB+TALU) . Cette fréquence f2, en général beaucoup moins importante que la fréquence f1, devient la fréquence maximale FMAX d'utilisation du circuit.
The output variables S1 are used to control a logic circuit 2, for example an arithmetic and logic unit ALU which will be designated hereinafter "ALU". As shown in Figure 1, the ALU is located between registers R2 of logic circuit 2. The time required for the ALU to perform a logic operation is TALUS
The maximum operating frequency FMAX of the device in FIG. 1 is calculated by considering a maximum possible time interval between two active edges of the clock clock HCk. Thus, in the example of FIG. 1, TCA is the time which defines a maximum time of the change of state generated by the first combinational circuit CA, which can authorize an operating frequency equal to fl = l / TCA. Furthermore, once the change of state has taken place, the time necessary to obtain the result at the output of the ALU is equal to TCB + TALuB corresponding to the cumulative propagation time required for the second combinational circuit CE and for propagation time of the ALU after receipt of the command from the second combinational circuit Cg, which authorizes an operating frequency equal to f2 = l / (TCB + TALU). This frequency f2, in general much less important than the frequency f1, becomes the maximum frequency FMAX of use of the circuit.

En relation avec la figure 2, la machine d'état de
MEALAY 3 comporte un premier circuit combinatoire CC dont les sorties de données sont reliées aux entrées de données d'un registre de mémorisation RC. Celui-ci est, constitué, par exemple, d'une série de bascules de type D et actualisé par un signal d'horloge HCk.
In relation to FIG. 2, the state machine of
MEALAY 3 includes a first combinational circuit CC, the data outputs of which are connected to the data inputs of a storage register RC. This is, for example, made up of a series of D type flip-flops and updated by a clock signal HCk.

Les sorties de données du registre RC sont ensuite reliées aux entrées de données d'un deuxième circuit combinatoire CD. Les dits premier et deuxième circuits combinatoires CC et CD ont respectivement un temps de propagation TCC et TCD.  The data outputs of the RC register are then connected to the data inputs of a second combinational circuit CD. The said first and second combinational circuits CC and CD have respectively a propagation time TCC and TCD.

Le premier circuit combinatoire CC produit des variables logiques d'état futur EF représentatives de l'état futur de la machine, à partir d'au moins un signal d'entrée logique I et de variables logiques d'état courant EC situées en sortie du registre RC. Le deuxième circuit combinatoire produit des variables de sortie S3 correspondants aux variables de sortie de la machine d'état 3, en fonction des variables logiques d'état courant EC et du signal d'entrée logique I. Ainsi, les variables de sortie S3 de la machine d'état de MEALAY sont fonction des variables logiques d'état courant EC et des variables logiques d'entrée I de la dite machine d'état 3. The first combinational circuit CC produces logical future state variables EF representative of the future state of the machine, from at least one logic input signal I and logic current state variables EC located at the output of the RC register. The second combinational circuit produces output variables S3 corresponding to the output variables of the state machine 3, as a function of the logic variables of current state EC and of the logic input signal I. Thus, the output variables S3 of the MEALAY state machine is a function of the logic variables of current state EC and of the input logic variables I of said state machine 3.

Les variables de sortie S3 sont utilisées pour commander un circuit logique 4, par exemple une mémoire 4 ayant un temps d'accès TMEM. The output variables S3 are used to control a logic circuit 4, for example a memory 4 having an access time TMEM.

La fréquence de fonctionnement maximale FMAX du dispositif de la figure 3 se calcule en considérant un intervalle de temps maximal possible entre deux fronts actifs de l'horloge de cadencement HCK. Ainsi, dans l'exemple de la figure 1, TCC est le temps qui définit un temps maximal de changement d'état, généré par le premier circuit combinatoire CC, ce qui peut autoriser une fréquence de fonctionnement égale à fl=l/TCC. Par ailleurs, une fois que le changement d'état est établi, le temps nécessaire pour sortir les variables stockées dans la mémoire est TCD+TMEM, correspondant au cumul du temps de propagation du deuxième circuit combinatoire CD et du temps d'accès de la mémoire, ce qui autorise une fréquence de fonctionnement égale à 2=1/(TCD+TMEM)
Cette fréquence f2, en général beaucoup moins importante que la fréquence fl, définie la fréquence maximale FMAX.
The maximum operating frequency FMAX of the device in FIG. 3 is calculated by considering a maximum possible time interval between two active edges of the clock clock HCK. Thus, in the example of FIG. 1, TCC is the time which defines a maximum state change time, generated by the first combinational circuit CC, which can authorize an operating frequency equal to fl = l / TCC. Furthermore, once the change of state is established, the time required to output the variables stored in the memory is TCD + TMEM, corresponding to the cumulative time of propagation of the second combinational circuit CD and of access time of the memory, which authorizes an operating frequency equal to 2 = 1 / (TCD + TMEM)
This frequency f2, in general much less important than the frequency f1, defines the maximum frequency FMAX.

Par ailleurs, la conception des circuits intégrés s'effectue à partir de langages de description relativement évolué, tel que le langage VHDL (Very Hard
Description Language) connu de l'homme du métier. Les concepteurs de circuits intégrés se contentent de donner des équations logiques de la machine d'états à des ordinateurs qui compilent ensuite les dites équations pour produire un schéma de circuit de logique combinatoire.
In addition, the design of integrated circuits is based on relatively advanced description languages, such as the VHDL language (Very Hard
Description Language) known to those skilled in the art. The designers of integrated circuits are content to give logic equations of the state machine to computers which then compile the said equations to produce a circuit diagram of combinatorial logic.

Dans le cas d'équations complexes, le circuit combinatoire obtenu est également complexe. Le résultat obtenue par compilation n'est pas forcément satisfaisant pour ce qui concerne les temps de propagation avec les machines d'états de MOORE et les machines d'états de
MEALAY, lorsque les machines d'états doivent gérer un grand nombre d'états.
In the case of complex equations, the combinatorial circuit obtained is also complex. The result obtained by compilation is not necessarily satisfactory with regard to the propagation times with the state machines of MOORE and the state machines of
MEALAY, when the state machines must manage a large number of states.

L'invention a pour but de proposer un circuit comportant au moins une machine d'état dont l'architecture permet d'obtenir des circuits combinatoires avec des temps de propagation réduits et non reporté sur le temps de propagation d'un circuit commandé. The object of the invention is to propose a circuit comprising at least one state machine, the architecture of which makes it possible to obtain combinational circuits with reduced propagation times and not transferred to the propagation time of a controlled circuit.

L'invention a pour objet un circuit intégré comprenant au moins une machine d'états qui comporte un premier registre pour mémoriser un état de la machine d'état et fournir sur des sorties des variables d'état courant, le premier registre ayant en outre des entrées de données à mémoriser et une entrée d'horloge pour recevoir un signal d'horloge; un premier circuit de logique combinatoire ayant des premières et deuxièmes entrées et des sorties, les premières entrées étant connectées aux sorties du premier registre pour recevoir les variables d'état courant, les deuxièmes entrées étant connectée à des bornes d'entrée pour recevoir des variables d'entrée et les sorties étant connectées aux entrées de données du premier registre pour fournir des variables d'état futur à mémoriser dans le premier registre lors d'un prochain front actif du signal d'horloge; un deuxième registre pour mémoriser et fournir sur des sorties des signaux de commande, le deuxième registre ayant en outre des entrées de données à mémoriser et une entrée d'horloge pour recevoir le signal d'horloge; un deuxième circuit de logique combinatoire ayant des sorties connectées aux entrées du deuxième registre pour fournir des signaux de commande future qui seront mémorisés dans le deuxième registre lors d'un prochain front actif du signal d'horloge. The subject of the invention is an integrated circuit comprising at least one state machine which comprises a first register for memorizing a state of the state machine and supplying current state variables on outputs, the first register having in addition data inputs to be stored and a clock input for receiving a clock signal; a first combinational logic circuit having first and second inputs and outputs, the first inputs being connected to the outputs of the first register to receive the current state variables, the second inputs being connected to input terminals to receive variables input and outputs being connected to the data inputs of the first register to provide future state variables to be stored in the first register during a next active edge of the clock signal; a second register for storing and supplying control signals to outputs, the second register further having data inputs to be stored and a clock input for receiving the clock signal; a second combinational logic circuit having outputs connected to the inputs of the second register to supply future control signals which will be stored in the second register during a next active edge of the clock signal.

Dans un premier mode de réalisation, le deuxième circuit combinatoire comporte des entrées qui sont connectées aux sorties du premier circuit combinatoire pour recevoir la variable d'état futur. In a first embodiment, the second combinational circuit has inputs that are connected to the outputs of the first combinational circuit to receive the future state variable.

Dans un deuxième mode de réalisation, le deuxième circuit combinatoire comporte des premières et deuxièmes entrées, les premières entrées étant connectées aux sorties du premier registre pour recevoir la variable d'état courant, et les deuxièmes entrées du deuxième circuit combinatoire étant connectées aux bornes d'entrée pour recevoir la variable d'entrée. Dans une variante, la machine d'état comporte en outre un troisième registre pour mémoriser partiellement un état de la dite machine d'état et fournir sur une sortie des signaux de commande qui correspondent à des variables d'état, le troisième registre comportant en outre des entrées de données connectées aux sorties du premier circuit combinatoire, et ayant une entrée d'horloge pour recevoir le signal d'horloge. In a second embodiment, the second combinational circuit has first and second inputs, the first inputs being connected to the outputs of the first register to receive the current state variable, and the second inputs of the second combinational circuit being connected to the terminals d 'input to receive the input variable. In a variant, the state machine further comprises a third register for partially storing a state of said state machine and supplying on an output control signals which correspond to state variables, the third register comprising at in addition to data inputs connected to the outputs of the first combinational circuit, and having a clock input for receiving the clock signal.

L'invention sera mieux comprise et d'autres particularités et avantages apparaîtront à la lecture de la description qui va suivre, la description faisant référence aux dessins annexés parmi lesquels:
- la figure 1 représente schématiquement une machine d'état de MOORE,
- la figure 2 représente schématiquement une machine d'état de MEALAY,
- la figure 3 représente schématiquement le premier mode de réalisation d'une machine d'état selon l'invention,
- la figure 4 représente schématiquement le deuxième mode de réalisation d'une machine d'état selon 1' invention,
- la figure 5 représente schématiquement une variante du deuxième mode de réalisation.
The invention will be better understood and other features and advantages will appear on reading the description which follows, the description making reference to the appended drawings among which:
FIG. 1 schematically represents a state machine of MOORE,
FIG. 2 schematically represents a state machine of MEALAY,
FIG. 3 schematically represents the first embodiment of a state machine according to the invention,
FIG. 4 schematically represents the second embodiment of a state machine according to the invention,
- Figure 5 shows schematically a variant of the second embodiment.

On ne reviendra pas sur les figures 1 et 2, leurs descriptions ayant été faite précédemment. We will not return to Figures 1 and 2, their descriptions having been made previously.

Comme le montre la figure 3, une machine d'état 5 comporte un premier circuit de logique combinatoire C1 ayant des première et deuxième entrées de données et une sortie de données. As shown in FIG. 3, a state machine 5 comprises a first combinational logic circuit C1 having first and second data inputs and a data output.

Le premier circuit de logique combinatoire C1, désigné de manière simplifiée par "premier circuit combinatoire", est un circuit dans lequel sont codées des équations logiques combinant des variables d'entrée et des variables d'état courant EC reçues respectivement sur des premières et deuxièmes entrées, pour produire sur des sorties des variables d'état futur EF correspondant à un état futur dans lequel se trouvera la machine d'état 5.  The first combinatorial logic circuit C1, designated in a simplified manner by "first combinatorial circuit", is a circuit in which are coded logic equations combining input variables and current state variables EC received respectively on first and second inputs, to produce future state variables EF corresponding to a future state in which the state machine 5 will be found.

Le premier circuit combinatoire C1 demande un premier temps de propagation TCl pour fournir les variables d'état futur.The first combinational circuit C1 requests a first propagation time TC1 to supply the variables of future state.

La machine d'état 5 comporte également un premier registre R1, par exemple constitué de bascules de type D, ayant une entrée de donnée, une entrée d'horloge, et une sortie. Le premier registre sert à mémoriser des variables et à fournir, sur sa sortie, les variables d'état courant EC. L'entrée de donnée du premier registre
R1 est connectée à la sortie du premier circuit combinatoire C1. L'entrée d'horloge du premier registre
R1 reçoit un signal d'horloge HCk pour que le dit registre mémorise les variables d'état futur EF lors de chaque front actif du signal d'horloge HCk.
The state machine 5 also includes a first register R1, for example consisting of flip-flops of type D, having a data input, a clock input, and an output. The first register is used to store variables and to supply, on its output, the current state variables EC. The data entry of the first register
R1 is connected to the output of the first combinational circuit C1. The clock input of the first register
R1 receives a clock signal HCk so that the said register stores the future state variables EF during each active edge of the clock signal HCk.

Les premières entrées du premier circuit combinatoire C1 sont connectées aux sorties du premier registre R1 pour recevoir les variables d'état courant
EC. Les deuxièmes entrées du premier circuit combinatoire
C1 sont connectées à des bornes d'entrée pour recevoir les variables d'entrée I. Les sorties du premier circuit combinatoire C1 sont connectées aux entrées de données du premier registre R1 pour lui fournir les variables d'état futur EF.
The first inputs of the first combinational circuit C1 are connected to the outputs of the first register R1 to receive the current state variables
EC. The second inputs of the first combinatorial circuit
C1 are connected to input terminals to receive the input variables I. The outputs of the first combinational circuit C1 are connected to the data inputs of the first register R1 to supply it with the future state variables EF.

Il est à noter que, lors de chaque front actif du signal d'horloge HCk, les variables d'état courant EC sont actualisées dans le premier registre R1, les variables d'état futur EF y étant alors mémorisées pour devenir de nouvelles variables d'état courant EC. It should be noted that, during each active edge of the clock signal HCk, the current state variables EC are updated in the first register R1, the future state variables EF then being stored therein to become new variables d current state EC.

De plus, la machine d'état comporte un deuxième circuit combinatoire C2 et un deuxième registre R2. Le deuxième circuit combinatoire C2 a des entrées connectées aux sorties du premier circuit combinatoire C1 et a des sorties pour fournir une variable de commande future. In addition, the state machine has a second combinational circuit C2 and a second register R2. The second combinatorial circuit C2 has inputs connected to the outputs of the first combinatorial circuit C1 and has outputs to provide a future control variable.

Le deuxième registre R2 dispose d'entrées de données, d'une entrée d'horloge et de sorties. Le deuxième registre R2 sert à mémoriser des variables et à fournir, sur ses sorties, des variables de commande Sg.  The second register R2 has data inputs, a clock input and outputs. The second register R2 is used to store variables and to supply, on its outputs, control variables Sg.

Les entrées de données du deuxième registre R2 sont connectées aux sorties du deuxième circuit combinatoire
C2. L'entrée d'horloge du registre R2 reçoit le signal d'horloge HCk. Les variables de commande future sont mémorisées dans le deuxième registre R2 lors de chaque front actif du signal d'horloge HCk et deviennent alors les variables de commande Sg. Le deuxième circuit combinatoire C2, permettant de décoder les variables d'état futur EF, a besoin d'un deuxième temps de propagation TC2.
The data inputs of the second register R2 are connected to the outputs of the second combinational circuit
C2. The clock input of the register R2 receives the clock signal HCk. The future control variables are stored in the second register R2 during each active edge of the clock signal HCk and then become the control variables Sg. The second combinatorial circuit C2, making it possible to decode the future state variables EF, needs a second propagation time TC2.

La variable de commande Ss permet de commander un autre circuit utilisant de la logique séquentielle, tel que par exemple une mémoire 8 ayant un temps d'accès TMEM8.  The control variable Ss makes it possible to control another circuit using sequential logic, such as for example a memory 8 having an access time TMEM8.

La fréquence d'utilisation maximale du circuit utilisant la machine d'état 5 se calcule en considérant un intervalle de temps entre deux fronts actifs du signal d'horloge HCk. Grâce à la disposition de la figure 3, seul le temps d'accès TMEM8 de la mémoire 8 est à prendre en compte pour déterminer la fréquence maximale de fonctionnement de la mémoire 8, la fréquence étant égale à fi=i/TMEM8. Par ailleurs, le temps nécessaire pour obtenir la variable de commande Sg en sortie du deuxième circuit combinatoire C2 est égal à TCl+TC2, correspondant au cumul du temps de propagation du premier circuit combinatoire C1 et du temps de propagation du deuxième circuit combinatoire C2, ce qui peut autoriser une fréquence f2=l/(TCl+TC2). Ainsi, dans les cas où le temps d'accès TMEM8 est relativement important par rapport au premier temps de propagation TCl, il est certain que l'on a TC1+TC2 < TMEM8+TC2 La fréquence FMAX = min(1/TMEM8 1/(TC1+TC2)) est de toute façon inférieure à la fréquence possible avec les circuits de l'art antérieur. De plus,
Si TMEM8 > TC1+TC2 alors la machine d'état n'intervient pas pour déterminer la fréquence FMAX d'utilisation du circuit.
The maximum frequency of use of the circuit using the state machine 5 is calculated by considering a time interval between two active edges of the clock signal HCk. Thanks to the arrangement of FIG. 3, only the access time TMEM8 of the memory 8 is to be taken into account to determine the maximum operating frequency of the memory 8, the frequency being equal to fi = i / TMEM8. Furthermore, the time required to obtain the control variable Sg at the output of the second combinational circuit C2 is equal to TCl + TC2, corresponding to the sum of the propagation time of the first combinational circuit C1 and the propagation time of the second combinational circuit C2, which can authorize a frequency f2 = l / (TCl + TC2). Thus, in cases where the access time TMEM8 is relatively long compared to the first propagation time TC1, it is certain that we have TC1 + TC2 <TMEM8 + TC2 The frequency FMAX = min (1 / TMEM8 1 / (TC1 + TC2)) is in any case less than the frequency possible with the circuits of the prior art. Moreover,
If TMEM8> TC1 + TC2 then the state machine does not intervene to determine the frequency FMAX of use of the circuit.

Comme le montre la figure 4, une machine d'état 6 comporte un premier circuit de logique combinatoire C3 ayant des première et deuxième entrées de données et une sortie de données. As shown in FIG. 4, a state machine 6 comprises a first combinational logic circuit C3 having first and second data inputs and a data output.

Le premier circuit de logique combinatoire C3, désigné de manière simplifiée par "premier circuit combinatoire", est un circuit dans lequel sont codées des équations logiques combinant des variables d'entrée et des variables d'état courant EC reçues respectivement sur des premières et deuxièmes entrées, pour produire sur des sorties des variables d'état futur EF correspondant à un état futur dans lequel se trouvera la machine d'état 6. The first combinatorial logic circuit C3, designated in a simplified manner by "first combinatorial circuit", is a circuit in which are coded logic equations combining input variables and current state variables EC received respectively on first and second inputs, to produce future state variables EF corresponding to a future state in which the state machine will be 6.

La machine d'état 6 comporte également un premier registre R3, par exemple constitué de bascules de type D, ayant une entrée de donnée, une entrée d'horloge, et une sortie. Le premier registre sert à mémoriser des variables et à fournir, sur sa sortie, les variables d'état courant EC. L'entrée de donnée du premier registre
R3 est connectée à la sortie du premier circuit combinatoire C3. L'entrée d'horloge du premier registre
R3 recevant un signal d'horloge HCk pour que le dit registre mémorise les variables d'état futur EF lors de chaque front actif du signal d'horloge HCk.
The state machine 6 also comprises a first register R3, for example consisting of flip-flops of type D, having a data input, a clock input, and an output. The first register is used to store variables and to supply, on its output, the current state variables EC. The data entry of the first register
R3 is connected to the output of the first combinational circuit C3. The clock input of the first register
R3 receiving a clock signal HCk so that the said register stores the future state variables EF during each active edge of the clock signal HCk.

Les premières entrées du premier circuit combinatoire C3 sont connectées aux sorties du premier registre R3 pour recevoir les variables d'état courant
EC. Les deuxièmes entrées du premier circuit combinatoire
C3 sont connectées à des bornes d'entrée pour recevoir les variables d'entrée I. Les sorties du premier circuit combinatoire C3 sont connectées aux entrées de données du premier registre R3 pour lui fournir les variables d'état futur EF.
The first inputs of the first combinational circuit C3 are connected to the outputs of the first register R3 to receive the current state variables
EC. The second inputs of the first combinatorial circuit
C3 are connected to input terminals to receive the input variables I. The outputs of the first combinational circuit C3 are connected to the data inputs of the first register R3 to supply it with the future state variables EF.

Il est à noter que, lors de chaque front actif du signal d'horloge HCkl les variables d'état courant EC sont actualisées dans le premier registre R3, les variables d'état futur EF y étant alors mémorisées pour devenir de nouvelles variables d'état courant EC. It should be noted that, at each active edge of the clock signal HCkl, the current state variables EC are updated in the first register R3, the future state variables EF then being stored therein to become new variables of current state EC.

De plus, la machine d'état comporte un deuxième circuit combinatoire C4 et un deuxième registre R4. Le deuxième circuit combinatoire C4 dispose de premières et deuxièmes entrées, et des sorties pour fournir une variable de commande future, les premières et deuxièmes entrées du circuit combinatoire C4 étant connectées respectivement aux bornes d'entrée pour recevoir les variables d'entrées I et aux sorties du premier registre
C3 pour recevoir les variables d'état courant EC.
In addition, the state machine has a second combinational circuit C4 and a second register R4. The second combinative circuit C4 has first and second inputs, and outputs to provide a future control variable, the first and second inputs of the combinative circuit C4 being connected respectively to the input terminals to receive the input variables I and to the first register outputs
C3 to receive the current EC state variables.

Le deuxième registre R4 dispose d'entrées de données, d'une entrée d'horloge et de sorties. Le deuxième registre R4 sert à mémoriser et à fournir, sur ses sorties, des variables de commande S6. Les entrées de données du deuxième registre R4 sont connectées aux sorties du deuxième circuit combinatoire C4. L'entrée d'horloge du registre R4 reçoit le signal d'horloge HCk. The second register R4 has data inputs, a clock input and outputs. The second register R4 is used to store and supply, on its outputs, control variables S6. The data inputs of the second register R4 are connected to the outputs of the second combinational circuit C4. The clock input of register R4 receives the clock signal HCk.

Les variables de commande future sont mémorisées dans le deuxième registre R4 lors de chaque front actif du signal d'horloge HCk et deviennent alors les variables de commande S6. The future control variables are stored in the second register R4 during each active edge of the clock signal HCk and then become the control variables S6.

La variable de commande S6 permet de commander un autre circuit utilisant de la logique séquentielle, tel que par exemple une mémoire 9 ayant un temps d'accès TMEM9.  The control variable S6 makes it possible to control another circuit using sequential logic, such as for example a memory 9 having an access time TMEM9.

Les premier et deuxième circuits combinatoires C3 et C4 ont besoin respectivement de premier et deuxième temps de propagation TC3 et TC4.  The first and second combinational circuits C3 and C4 need first and second propagation times TC3 and TC4 respectively.

Comme le deuxième circuit combinatoire C4 effectue un décodage des variables d'états en parallèle avec le premier circuit combinatoire C3, la fréquence maximale d'utilisation est soit 1/Tc3, soit 1/Tc4, ou soit l/TMEM9. Cette machine d'état 6 présente les mêmes avantages que la machine d'état 5 de la figure 3. De plus, il est plus facile de rendre la fréquence maximale du circuit indépendante de la machine d'état 6 car il est certain que les temps de propagation TC3 et TC4 sont plus petit que la somme de ces temps, c est à dire TC3+TC4.  As the second combinatorial circuit C4 performs a decoding of the state variables in parallel with the first combinatorial circuit C3, the maximum frequency of use is either 1 / Tc3, or 1 / Tc4, or either l / TMEM9. This state machine 6 has the same advantages as the state machine 5 of FIG. 3. In addition, it is easier to make the maximum frequency of the circuit independent of the state machine 6 because it is certain that the propagation times TC3 and TC4 are smaller than the sum of these times, ie TC3 + TC4.

La figure 5 représente une machine d'état 7 qui est une amélioration de la machine d'état 6 de la figure 4. FIG. 5 represents a state machine 7 which is an improvement on the state machine 6 of FIG. 4.

La machine d'état 7 comporte en outre un troisième registre R7 ayant des entrées de données, une entrée d'horloge, et des sorties, le troisième registre R7 permettant de mémoriser une variable d'état EF. L'entrée de donnée du premier registre R7 est connectée à la sortie du premier circuit combinatoire Cg. L'entrée d'horloge du premier registre R7 reçoit un signal d'horloge HCk pour que le dit registre mémorise les variables d'état futur EF lors de chaque front actif du signal d'horloge HCk. Les sorties du troisième registre
R7 fournissent des signaux de commande s7 qui correspondent à certaines des variables d'état courant.
The state machine 7 also comprises a third register R7 having data inputs, a clock input, and outputs, the third register R7 making it possible to store a state variable EF. The data input of the first register R7 is connected to the output of the first combinational circuit Cg. The clock input of the first register R7 receives a clock signal HCk so that said register stores the future state variables EF during each active edge of the clock signal HCk. The outputs of the third register
R7 provide s7 control signals which correspond to some of the current state variables.

Un circuit esclave 10 reçoit les signaux de commande S6 et S7. A slave circuit 10 receives the control signals S6 and S7.

Le fonctionnement et les avantages de la machine d'état 7 sont les mêmes que la machine d'état 6. The operation and advantages of the state machine 7 are the same as the state machine 6.

Toutefois dans certains cas, le découplage réalisé avec le troisième registre R7 a pour effet de diminuer la taille du circuit intégré, cette diminution étant due à la suppression de la duplication d'éléments fonctionnels des premier et deuxième circuits combinatoire causée par une duplication d'équation dans ces deux circuits, pour le circuit de la figure 5. However in certain cases, the decoupling carried out with the third register R7 has the effect of reducing the size of the integrated circuit, this reduction being due to the suppression of the duplication of functional elements of the first and second combinational circuits caused by a duplication of equation in these two circuits, for the circuit of figure 5.

Claims (4)

REVENDICATIONS 1. Circuit intégré comprenant au moins une machine d'états (5, 6, 7) qui comporte 1. Integrated circuit comprising at least one state machine (5, 6, 7) which comprises - un premier registre (R1, R3) pour mémoriser un état de la machine d'état (5, 6, 7) et fournir sur des sorties des variables d'état courant (EC) , le premier registre ayant en outre des entrées de données à mémoriser et une entrée d'horloge pour recevoir un signal d'horloge (HCk), - a first register (R1, R3) for memorizing a state of the state machine (5, 6, 7) and supplying current state variables (EC) to outputs, the first register having furthermore data to be stored and a clock input for receiving a clock signal (HCk), - un premier circuit de logique combinatoire (C1) ayant des premières et deuxièmes entrées et des sorties, les premières entrées étant connectées aux sorties du premier registre (R1, R3) pour recevoir les variables d'état courant (EC) , les deuxièmes entrées étant connectée à des bornes d'entrée pour recevoir des variables d'entrée (I) et les sorties étant connectées aux entrées de données du premier registre (R1, R3) pour fournir des variables d'état futur (EF) à mémoriser dans le premier registre lors d'un prochain front actif du signal d'horloge, - a first combinational logic circuit (C1) having first and second inputs and outputs, the first inputs being connected to the outputs of the first register (R1, R3) to receive the current state variables (EC), the second inputs being connected to input terminals to receive input variables (I) and the outputs being connected to the data inputs of the first register (R1, R3) to provide future state variables (EF) to be stored in the first register on the next active edge of the clock signal, caractérisé en ce que la machine d'état (5, 6, 7) comporte en outre characterized in that the state machine (5, 6, 7) further comprises - un deuxième registre (R2, R4) pour mémoriser et fournir sur des sorties des signaux de commande (S5, S6), le deuxième registre (R2, R4) ayant en outre des entrées de données à mémoriser et une entrée d'horloge pour recevoir le signal d'horloge (HCk)l  - a second register (R2, R4) for storing and supplying control signals (S5, S6) to outputs, the second register (R2, R4) further having data inputs to be memorized and a clock input for receive clock signal (HCk) l - un deuxième circuit de logique combinatoire (C2, - a second combinational logic circuit (C2, C4) ayant des sorties connectées aux entrées du deuxième registre (R2, R4) pour fournir des signaux de commande future qui seront mémorisés dans le deuxième registre (R2, R4) lors d'un prochain front actif du signal d'horloge (HCk). C4) having outputs connected to the inputs of the second register (R2, R4) to provide future control signals which will be stored in the second register (R2, R4) during a next active edge of the clock signal (HCk) . 2. Circuit intégré selon la revendication 1, caractérisé en ce que le deuxième circuit combinatoire (C2) comporte des entrées qui sont connectées aux sorties du premier circuit combinatoire (C1) pour recevoir la variable d'état futur (EF). 2. Integrated circuit according to claim 1, characterized in that the second combinational circuit (C2) has inputs which are connected to the outputs of the first combinational circuit (C1) to receive the future state variable (EF). 3. Circuit intégré selon la revendication 1, caractérisé en ce que le deuxième circuit combinatoire (C4) comporte des premières et deuxièmes entrées, les premières entrées étant connectées aux sorties du premier registre (R3) pour recevoir la variable d'état courant (EC), et les deuxièmes entrées du deuxième circuit combinatoire (C4) étant connectées aux bornes d'entrée pour recevoir la variable d'entrée (I). 3. Integrated circuit according to claim 1, characterized in that the second combinational circuit (C4) has first and second inputs, the first inputs being connected to the outputs of the first register (R3) to receive the current state variable (EC ), and the second inputs of the second combinational circuit (C4) being connected to the input terminals to receive the input variable (I). 4. Circuit intégré selon la revendication 3, caractérisé en ce que la machine d'état (7) comporte en outre un troisième registre (R7) pour mémoriser partiellement un état de la dite machine d'état (7) et fournir sur une sortie des signaux de commande (S7) qui correspondent à des variables d'état, le troisième registre (R7) comportant en outre des entrées de données connectées aux sorties du premier circuit combinatoire (C3), et ayant une entrée d'horloge pour recevoir le signal d'horloge (HCk).  4. Integrated circuit according to claim 3, characterized in that the state machine (7) further comprises a third register (R7) for partially storing a state of said state machine (7) and providing on an output control signals (S7) which correspond to state variables, the third register (R7) further comprising data inputs connected to the outputs of the first combinational circuit (C3), and having a clock input for receiving the clock signal (HCk).
FR9802161A 1998-02-19 1998-02-19 STATE MACHINES FOR HIGH FREQUENCY INTEGRATED CIRCUIT Expired - Fee Related FR2775142B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR9802161A FR2775142B1 (en) 1998-02-19 1998-02-19 STATE MACHINES FOR HIGH FREQUENCY INTEGRATED CIRCUIT

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9802161A FR2775142B1 (en) 1998-02-19 1998-02-19 STATE MACHINES FOR HIGH FREQUENCY INTEGRATED CIRCUIT

Publications (2)

Publication Number Publication Date
FR2775142A1 true FR2775142A1 (en) 1999-08-20
FR2775142B1 FR2775142B1 (en) 2002-11-29

Family

ID=9523260

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9802161A Expired - Fee Related FR2775142B1 (en) 1998-02-19 1998-02-19 STATE MACHINES FOR HIGH FREQUENCY INTEGRATED CIRCUIT

Country Status (1)

Country Link
FR (1) FR2775142B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61138305A (en) * 1984-12-10 1986-06-25 Nec Corp Sequence control circuit
EP0356940A2 (en) * 1988-08-29 1990-03-07 Matsushita Electric Industrial Co., Ltd. Finite state machine
US5220215A (en) * 1992-05-15 1993-06-15 Micron Technology, Inc. Field programmable logic array with two or planes

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61138305A (en) * 1984-12-10 1986-06-25 Nec Corp Sequence control circuit
EP0356940A2 (en) * 1988-08-29 1990-03-07 Matsushita Electric Industrial Co., Ltd. Finite state machine
US5220215A (en) * 1992-05-15 1993-06-15 Micron Technology, Inc. Field programmable logic array with two or planes

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
M. WILSON ET AL.: "RAM, ROM, PROM circuits for simple image processing", MICROELECTRONICS JOURNAL., vol. 6, no. 4, June 1975 (1975-06-01), LUTON GB, pages 30 - 32, XP002084487 *
PATENT ABSTRACTS OF JAPAN vol. 010, no. 334 (P - 515) 13 November 1986 (1986-11-13) *

Also Published As

Publication number Publication date
FR2775142B1 (en) 2002-11-29

Similar Documents

Publication Publication Date Title
FR2638869A1 (en) SECURITY DEVICE AGAINST UNAUTHORIZED DETECTION OF PROTECTED DATA
FR2588980A1 (en) DIGITAL SIGNAL PROCESSING PROCESSOR COMPRISING SEVERAL MULTIPLIERS
FR2776410A1 (en) Device to protect microprocessor card against fraudulent analysis of operations performed by measuring current consumed
FR2642544A1 (en) Data processing system with a security program
EP0875830B1 (en) Testable circuit with reduced pin count
FR2770660A1 (en) MICROPROCESSOR, IN PARTICULAR FOR A CHIP CARD
FR2588981A1 (en) DIGITAL SIGNAL PROCESSING PROCESSOR
FR2904129A1 (en) HEART PROCESSOR WITH PILOT FREQUENCY AND METHOD FOR STARTING THE HEART PROCESSOR IN A PROGRAM MODE
FR2632092A1 (en) DELAYED ANTEMEMORY WRITE CONDITIONING CIRCUIT FOR A DUAL BUS MICROCALCULATOR SYSTEM COMPRISING AN UNIT 80386 AND A UNIT 82385
FR2775142A1 (en) High frequency functioning state machine
EP1374249B1 (en) Device and method for partial read-protection of a non-volatile storage
EP0393050B1 (en) Device for protecting memory areas of an electronic microprocessor system
FR2531824A1 (en) CIRCUIT AND METHOD FOR CONTROLLING SEQUENTIAL LOGIC CIRCUITS
FR2534044A1 (en) INTEGRATED SORTING DEVICE FOR DATA WORDS IN THE FORM OF A COMPONENT AND INTEGRATED DATA PROCESSING PROCESSOR PROVIDED WITH SUCH A COINTEGRATED SORTING DEVICE
EP1317701A1 (en) Method for jamming power consumption of an integrated circuit
US7345496B2 (en) Semiconductor apparatus and test execution method for semiconductor apparatus
FR2718867A1 (en) Method of erasing a memory and circuits for implementation.
EP1020800A1 (en) Microprocessor comprising protection circuits for securing access to its registers
WO2005124555A2 (en) Device for controlling the structural coverage of a software program and method of implementing said device
FR2851843A1 (en) Electrically erasable programmable memory includes programming verification circuit enabling rapid testing of memory erasure operations
EP0733977B1 (en) Computer system having hierarchical memories
FR2629230A1 (en) HIGH SPEED DATA CONTROL AND ACQUISITION DEVICE
EP0842465B1 (en) Microprocessor circuit organisation system and sequencing method
JP2818563B2 (en) Synchronous memory
FR2770661A1 (en) MICROPROCESSOR COMPRISING MEANS FOR CONCATENATION OF BITS

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20071030