FR2986925A1 - METHOD AND ELECTRONIC DEVICE FOR GENERATING A VARIABLE CLOCK SIGNAL - Google Patents
METHOD AND ELECTRONIC DEVICE FOR GENERATING A VARIABLE CLOCK SIGNAL Download PDFInfo
- Publication number
- FR2986925A1 FR2986925A1 FR1251405A FR1251405A FR2986925A1 FR 2986925 A1 FR2986925 A1 FR 2986925A1 FR 1251405 A FR1251405 A FR 1251405A FR 1251405 A FR1251405 A FR 1251405A FR 2986925 A1 FR2986925 A1 FR 2986925A1
- Authority
- FR
- France
- Prior art keywords
- clock signal
- output
- cell
- logic circuit
- restraint
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 230000014759 maintenance of location Effects 0.000 claims description 8
- 230000003252 repetitive effect Effects 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 3
- 230000001351 cycling effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 11
- 230000000630 rising effect Effects 0.000 description 9
- 230000001360 synchronised effect Effects 0.000 description 5
- 230000000644 propagated effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 239000006185 dispersion Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000001902 propagating effect Effects 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000005670 electromagnetic radiation Effects 0.000 description 1
- 230000010363 phase shift Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000452 restraining effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K23/00—Pulse counters comprising counting chains; Frequency dividers comprising counting chains
- H03K23/58—Gating or clocking signals not applied to all stages, i.e. asynchronous counters
Landscapes
- Logic Circuits (AREA)
- Pulse Circuits (AREA)
Abstract
Suivant ce procédé on applique répétitivement à une entrée de commande (G) d'un circuit logique (1) à propagation de retenue une commande (M) de génération de retenue, on cadence au moyen d'un signal d'horloge de référence (CLKR) l'application de ladite commande (M) à ladite entrée (G), on cadence, au moyen dudit signal d'horloge de référence (CLKR), l'application à ladite entrée (G) d'une commande d'effacement de la dernière retenue appliquée à ladite entrée, on commande ledit circuit logique (1) pour propager ladite retenue générée et l'effacement consécutif de ladite retenue générée jusqu'à une sortie de retenue (C) dudit circuit logique (1), on modifie d'un cycle à un autre dudit signal d'horloge de référence (CLKR) la commande (M) pour faire varier-la durée de propagation de ladite retenue dans ledit circuit logique (1), et on génère ledit signal d'horloge variable (CLKV) à partir de l'état logique présent sur ladite sortie de retenue (C).According to this method, a control input (G) of a retaining propagation logic circuit (1) is repeatedly applied to a resistor generation control (M) and is clocked by means of a reference clock signal ( CLKR) the application of said command (M) to said input (G), using said reference clock signal (CLKR), the application to said input (G) of an erase command from the last hold applied to said input, said logic circuit (1) is commanded to propagate said generated restraint and subsequent erasure of said generated restraint to a restraint output (C) of said logic circuit (1). from one cycle to another of said reference clock signal (CLKR) the command (M) for varying the duration of propagation of said restraint in said logic circuit (1), and generating said variable clock signal (CLKV) from the logic state present on said holdback output (C).
Description
La présente invention concerne un procédé et un dispositif électronique de génération d'un signal d'horloge variable. Dans un circuit électronique logique, il peut être souhaitable de faire varier la fréquence d'une horloge qui cadence un ou plusieurs blocs fonctionnels. The present invention relates to a method and an electronic device for generating a variable clock signal. In a logic electronic circuit, it may be desirable to vary the frequency of a clock that clockes one or more functional blocks.
Plusieurs raisons, qui peuvent être cumulatives, peuvent dicter un tel recours à une fréquence d'horloge variable de façon commandée : - assurer une contre-mesure au piratage par canaux cachés de type DPA (en anglais « Differential Power Analysis »), ce type d'attaque effectuant une analyse statistique sur une collection d'échantillons capturés de manière synchronisée par rapport au fonctionnement interne du circuit. Diminuer la possibilité de synchronisation diminue l'efficacité de l'analyse statistique pour un nombre donné d'échantillons; - réduction de l'intensité des rayonnements électromagnétiques émis à fréquence donnée, par dispersion de la fréquence principale et de ses harmoniques ; - faciliter le découplage électrique du circuit par dispersion des pics de consommation de courant. Les trois raisons exposées conduisent à utiliser des horloges de fréquences variables, mais la contre mesure au piratage nécessite en outre une variation aléatoire de la fréquence. De plus, dans ce dernier cas, aucune connexion électrique qui serait susceptible de véhiculer directement ou indirectement un tel signal d'horloge à fréquence variable ne doit être accessible de manière simple à l'extérieur du circuit électronique qui l'utilise, afin de ne pas fournir d'aide à la synchronisation des captures d'une attaque. Several reasons, which may be cumulative, may dictate such a recourse to a variable clock frequency in a controlled manner: - to provide a counter-measure to hidden channel piracy of DPA (Differential Power Analysis) type, this type driver performing statistical analysis on a collection of samples captured in a synchronized manner with respect to the internal operation of the circuit. Decreasing the possibility of synchronization decreases the efficiency of statistical analysis for a given number of samples; - reduction of the intensity of electromagnetic radiation emitted at a given frequency, by dispersion of the main frequency and its harmonics; - To facilitate the electrical decoupling of the circuit by dispersion of the current consumption peaks. The three reasons given lead to the use of variable frequency clocks, but countermeasure to hacking also requires a random variation of the frequency. In addition, in the latter case, no electrical connection that would be able to convey directly or indirectly such a variable frequency clock signal must be accessible in a simple manner outside the electronic circuit that uses it, in order not to not provide help in synchronizing the captures of an attack.
Un dispositif électronique générateur d'un signal d'horloge de fréquence/période variable se présentera donc de préférence sous forme d'un bloc fonctionnel de circuit intégré, car dans un circuit intégré il est possible d'enfouir complètement une architecture logique. An electronic device generating a clock signal of variable frequency / period will therefore preferably be in the form of an integrated circuit functional block, because in an integrated circuit it is possible to completely bury a logical architecture.
Par ailleurs, un besoin existe de pouvoir générer des signaux d'horloge à fréquence variable de 100MHz et plus dans des circuits intégrés logiques programmables de type FPGA (en anglais « Field-programmable gate array »). Pour ce type de composants et à ces fréquences, il n'y a pas de solution connue fiable et facilement réalisable permettant de faire varier au cycle près la période et le rapport cyclique d'un signal d'horloge de fréquence élevée, c'est à dire à la limite haute des possibilités de vitesse du composant, sans passer par des broches du composant connectées à un circuit électronique de déphasage. Furthermore, there is a need to be able to generate variable frequency clock signals of 100 MHz or more in programmable logic integrated circuits of the FPGA (field-programmable gate array) type. For this type of component and at these frequencies, there is no known reliable and easily achievable solution allowing the period and the duty cycle of a high frequency clock signal to be varied within the cycle. to say at the high limit of the speed capabilities of the component, without passing through pins of the component connected to an electronic phase shift circuit.
Un spécialiste de la conception d'architectures basées sur des composants FPGA a à sa disposition, pour la génération de signaux d'horloges, certains blocs fonctionnels dédiés de type PLL (en anglais « Phase-locked loop ») ou DLL (en anglais « Delay-locked loop »). Cependant, ces blocs sont prévus pour fournir des fréquences globalement fixes, tout au plus reprogrammables pendant le fonctionnement du composant, et le pas des fréquences possibles n'est pas très fin. Les blocs PLL peuvent parfois faire varier légèrement la fréquence générée autour de sa valeur de base (technique d'étalement de spectre, « spread spectrum » en anglais), mais la variation des fréquences produites n'est pas aléatoire ou susceptible d'être commandée au cycle près pour la rendre aléatoire. Une solution est de créer un oscillateur à base d'éléments logiques. Dans un tel cas les durées de propagation des signaux dans les éléments logiques et les pistes conductrices définissent la période de l'oscillateur. Cette solution n'offrant pas une grande stabilité en tension et température, elle nécessite un calibrage régulier à priori complexe à réaliser et qui rend régulièrement indisponible l'oscillateur. A specialist in the design of architectures based on FPGA components has at his disposal, for the generation of clock signals, certain functional blocks dedicated to the PLL type (in English "Phase-locked loop") or DLL (in English " Delay-locked loop "). However, these blocks are intended to provide generally fixed frequencies, at most reprogrammable during the operation of the component, and the pitch of possible frequencies is not very thin. PLL blocks can sometimes slightly vary the frequency generated around its base value (spread spectrum technique), but the variation of the frequencies produced is not random or likely to be controlled. to the cycle to make it random. One solution is to create an oscillator based on logical elements. In such a case the propagation times of the signals in the logic elements and the conductive tracks define the period of the oscillator. This solution does not offer a great stability in voltage and temperature, it requires regular calibration a priori complex to achieve and makes regularly unavailable oscillator.
Une autre solution est de sélectionner comme signal d'horloge un signal parmi plusieurs générés de manière stable dans le circuit intégré, mais cela pose au moins un problème qui est lié au changement de signal sélectionné. Les signaux étant continuellement déphasés mais pas d'une valeur précisément connue puisqu'ils passent par des chemins différents, passer d'un signal à un autre entraine une pénalité de performance et/ou une complexité de conception pour garantir que la durée à l'état haut ou à l'état bas du signal d'horloge généré, ainsi que sa période, ne descendent pas sous la valeur limite autorisée par l'ensemble logique cadencé par cette horloge. Another solution is to select as one clock signal one of several stably generated in the integrated circuit, but this poses at least one problem that is related to the selected signal change. Since the signals are continuously out of phase but not of a precisely known value since they pass through different paths, switching from one signal to another entails a performance penalty and / or a design complexity to ensure that the duration at high or low state of the clock signal generated, as well as its period, do not fall below the limit value allowed by the logic set clocked by this clock.
En pratique, cette autre solution n'est pas exploitable car elle est trop compliquée à mettre en oeuvre pour essayer de garantir les durées de parcours des signaux les uns par rapport aux autres. Si les durées de parcours ne sont pas correctement maîtrisées, il en résulte une pénalité de performance du fait des temps morts obligatoires pour passer proprement d'un signal à l'autre sans violation des temps minimaux nécessaires du signal d'horloge généré. L'invention vise à fournir un procédé et un dispositif électronique qui permettent de générer un signal d'horloge dont on peut faire varier la fréquence, mais sans trop éloigner cette fréquence de sa valeur maximale afin de pénaliser le moins possible les circuits logiques qui dépendent du signal d'horloge généré. En effet, plus la moyenne des fréquences du signal d'horloge est basse et plus la performance des circuits cadencés par ce signal d'horloge diminue. Les temps morts trop fréquents sont néfastes pour la performance. L'invention vise également à fournir un procédé et un dispositif électronique qui permettent de générer un signal d'horloge dont la période et le rapport cyclique peuvent être commandés au cycle près de manière telle que la période du signal d'horloge ne soit pas inférieure à une valeur minimale souhaitée. L'invention vise également à fournir un procédé et un dispositif électronique qui permettent de générer un signal d'horloge dont, en outre, la période et le rapport cyclique sont variables de manière aléatoire ou pseudo- aléatoire ou déterministe, selon la qualité de la commande. In practice, this other solution is not exploitable because it is too complicated to implement to try to guarantee the durations of travel of the signals relative to each other. If the travel times are not properly controlled, this results in a performance penalty due to the time required to pass cleanly from one signal to another without violation of the minimum required time of the generated clock signal. The aim of the invention is to provide a method and an electronic device which make it possible to generate a clock signal whose frequency can be varied, but without too much distance from this frequency of its maximum value in order to penalize as little as possible the logic circuits which depend on the clock signal generated. Indeed, the lower the clock frequency, the lower the performance of the circuits clocked by this clock signal. Too frequent downtime is bad for performance. The invention also aims at providing a method and an electronic device which make it possible to generate a clock signal whose period and the duty cycle can be controlled to the cycle in such a way that the period of the clock signal is not less than to a desired minimum value. The invention also aims at providing a method and an electronic device that make it possible to generate a clock signal whose period and the duty cycle are also variable in a random or pseudo-random or deterministic manner, depending on the quality of the clock. command.
A cet effet, l'invention a pour objet un procédé de génération d'un signal d'horloge variable comprenant les étapes suivantes : - application répétitive, cadencée au moyen d'un signal d'horloge de référence de période fixe, d'une commande de génération de retenue à une entrée de commande d'un circuit logique à propagation de retenue, - application répétitive, cadencée au moyen dudit signal d'horloge de référence, à ladite entrée d'une commande d'effacement de la dernière retenue appliquée audit circuit logique, - commande dudit circuit logique pour propager ladite retenue générée et l'effacement consécutif de ladite retenue générée jusqu'à une sortie de retenue dudit circuit logique, - modification, d'un cycle à un autre dudit signal d'horloge de référence, de la commande appliquée audit circuit logique pour faire varier la durée de propagation de ladite retenue dans ledit circuit logique, et - génération dudit signal d'horloge variable à partir de l'état logique présent sur ladite sortie de retenue. Ce procédé permet de manière très simple de générer un signal d'horloge dont on peut faire varier la fréquence sans trop éloigner cette fréquence de sa valeur maximale. Il doit être compris que la modification d'un cycle à un autre de la commande appliquée au circuit logique ne signifie pas que cette commande est nécessairement modifiée à chaque cycle. La commande peut rester la même pendant plusieurs cycles consécutifs et le signal d'horloge variable n'être pas modifié sur ces cycles consécutifs, jusqu'à ce qu'une modification de la commande, donc de la retenue, et par conséquent des caractéristiques temporelles du signal d'horloge intervienne. Suivant une caractéristique possible de l'invention, lesdites commandes de génération de retenue et d'effacement de la dernière retenue sont appliquées audit circuit logique respectivement sur un premier front et sur le front suivant d'un même cycle dudit signal d'horloge de référence. Le 2 98692 5 5 cadencement de la génération et de l'effacement d'une retenue sont donc particulièrement simples à mettre en oeuvre. Suivant une autre caractéristique possible de l'invention, ledit circuit logique à propagation de retenue comporte des cellules de poids différents 5 appartenant chacune au groupe comprenant les additionneurs et les soustracteurs, chaque cellule comprenant au moins deux entrées de commande dont l'une reçoit ladite commande de génération de retenue, une entrée de retenue et une sortie de retenue connectée à l'entrée de retenue de la cellule adjacente de poids plus élevé, la sortie de retenue de la cellule de poids le plus fort constituant ladite sortie de 10 retenue dudit circuit logique. Le procédé peut être mis en oeuvre par l'utilisation de composants peu coûteux et très largement disponibles. Suivant une autre caractéristique possible de l'invention, ladite commande est adaptée pour susciter la génération d'une retenue par une seule desdites cellules. La génération d'une retenue est ainsi particulièrement simple. Le 15 fait de ne générer qu'une seule retenue conduit à un système simple et dont l'effort de mise au point est minimal lors de la réalisation. Suivant une autre caractéristique possible de l'invention, une retenue différente de celle générée au cycle précédent est générée par une cellule de poids plus faible que celui de la cellule ayant généré la retenue précédente. Cela permet 20 d'assurer que la durée de l'état haut et la durée de l'état bas de chacune des périodes du signal d'horloge variable ne descendent jamais en-dessous d'une valeur prédéterminée. Suivant une autre caractéristique possible de l'invention, ledit procédé comprend au moins un cycle de repos, dépourvu d'application d'une commande de 25 génération de retenue audit circuit logique, entre une commande de génération de retenue appliquée à une cellule et une commande de génération de retenue appliquée à une cellule de poids plus fort. Ces cycles de repos permettent d'éviter qu'une inversion de l'ordre de sortie des retenues se produise par rapport à leur ordre de création, ou que la période du signal d'horloge variable ne descende en 30 dessous de la valeur minimale permise. Suivant une autre caractéristique possible de l'invention, lesdits additionneurs et soustracteurs sont du type à fonctionnement en base deux. Ce mode de fonctionnement en base deux facilite la mise en oeuvre du procédé dans et/ou avec les circuits intégrés logiques les plus courants. Suivant une autre caractéristique possible de l'invention, ledit signal d'horloge variable est généré en inversant son niveau logique sur chacun des fronts actifs du signal à la sortie de retenue dudit circuit logique, un front actif étant constitué par l'un des deux fronts d'un cycle dudit signal à la sortie de retenue. On génère ainsi un signal d'horloge variable dont la période est au moins égale à deux fois celle du signal d'horloge de référence CLKR, et dont le rapport cyclique est de 50% à la fréquence maximale mais peut être différent de 50% aux autres fréquences. L'invention a également pour objet un dispositif électronique pour la mise en oeuvre du procédé défini ci-dessus, ce dispositif comprenant : - une horloge pour la génération d'un signal d'horloge de référence de période fixe, - un circuit logique à propagation de retenue comportant des cellules de poids différents appartenant chacune au groupe comprenant les additionneurs et les soustracteurs, chaque cellule comprenant au moins deux entrées de commande, une entrée de retenue et une sortie de retenue connectée à l'entrée de retenue de la cellule adjacente de poids plus élevé, - un circuit de commande cadencé par ledit signal d'horloge de référence pour : - appliquer audit circuit logique à propagation de retenue une commande de génération de retenue et une commande d'effacement de ladite retenue consécutivement à sa génération, - commander la propagation par lesdites cellules, jusqu'à la sortie de retenue de la cellule de poids le plus fort, d'une retenue générée et de l'effacement de ladite retenue, - modifier d'un cycle à un autre dudit signal d'horloge de référence ladite commande pour faire varier la durée de propagation de ladite retenue par ledit circuit logique, et - un circuit de sortie pour générer ledit signal d'horloge variable à partir de l'état logique présent à ladite sortie de retenue de la cellule de poids le plus fort. Le dispositif suivant l'invention ne requiert qu'un minimum de composants peu sophistiqués et peu coûteux pour réaliser un générateur d'horloge à fréquence variable. Comme indiqué précédemment, le circuit de commande ne modifie pas nécessairement à chaque cycle du signal d'horloge de référence la commande qu'il applique au circuit logique de propagation de retenue. La commande peut rester la même pendant plusieurs cycles consécutifs et le signal d'horloge variable n'être pas modifié sur ces cycles consécutifs, jusqu'à ce qu'une modification de la commande, donc de la retenue, et par conséquent des caractéristiques temporelles du signal d'horloge intervienne. Suivant une caractéristique possible de l'invention, ledit circuit de commande est adapté pour interdire, pendant au moins un cycle dudit signal d'horloge de référence, l'application d'une commande de génération de retenue audit circuit logique à propagation de retenue entre une commande de génération de retenue appliquée à une cellule et une commande de génération de retenue appliquée à une cellule de poids plus fort . Cet agencement permet d'assurer que les périodes du signal d'horloge variable ne descendent jamais en-dessous d'une valeur prédéterminée. Suivant une autre caractéristique possible de l'invention, ledit circuit de commande est adapté pour appliquer audit circuit logique une commande pour la génération de ladite retenue par une seule desdites cellules. La structure du dispositif pour mettre en oeuvre une telle fonctionnalité est particulièrement simple à mettre en oeuvre. Suivant une autre caractéristique possible de l'invention, chacune desdites cellules comprend deux entrées d'opérande et ledit circuit de commande comprend un premier registre dont les sorties parallèles sont connectées à l'une des deux entrées d'opérande desdites cellules respectivement. La structure du dispositif pour mettre en oeuvre une telle fonctionnalité est particulièrement simple à mettre en oeuvre. For this purpose, the subject of the invention is a method of generating a variable clock signal comprising the following steps: repetitive application, clocked by means of a reference clock of fixed period, a restraint generation control at a control input of a restrained propagation logic circuit, - repetitive application, clocked by means of said reference clock signal, at said input of an erase control of the last restraint applied to said logic circuit; - controlling said logic circuit to propagate said generated restraint and subsequent erasure of said generated restraint to a retaining output of said logic circuit; - changing from one cycle to another of said reference, the command applied to said logic circuit to vary the propagation time of said restraint in said logic circuit, and - generating said variable clock signal from of the logic state present on said holding output. This method makes it possible in a very simple manner to generate a clock signal whose frequency can be varied without taking this frequency too far from its maximum value. It should be understood that the change from one cycle to another of the command applied to the logic circuit does not mean that this command is necessarily modified at each cycle. The command can remain the same for several consecutive cycles and the variable clock signal can not be modified on these consecutive cycles, until a modification of the control, therefore of the restraint, and consequently of the temporal characteristics the clock signal intervenes. According to a possible characteristic of the invention, said retaining and erasure generation commands of the last retaining are applied to said logic circuit respectively on a first edge and on the next edge of the same cycle of said reference clock signal. . The timing of the generation and erasure of a restraint are therefore particularly simple to implement. According to another possible characteristic of the invention, said retaining propagation logic circuit comprises cells of different weights each belonging to the group comprising adders and subtracters, each cell comprising at least two control inputs one of which receives said a retaining generation control, a retaining inlet and a retaining outlet connected to the retaining input of the adjacent higher weight cell, the retaining output of the heaviest weight cell constituting said retaining output of said retaining output logic circuit. The process can be implemented by the use of inexpensive and widely available components. According to another possible characteristic of the invention, said control is adapted to cause the generation of a restraint by a single one of said cells. The generation of a restraint is thus particularly simple. Generating only a single restraint leads to a simple system and the effort of focusing is minimal during the realization. According to another possible characteristic of the invention, a holdback different from that generated in the previous cycle is generated by a cell of lower weight than that of the cell that has generated the previous hold. This makes it possible to ensure that the duration of the high state and the duration of the low state of each of the periods of the variable clock signal never fall below a predetermined value. According to another possible feature of the invention, said method comprises at least one quiescent cycle, devoid of application of a hold generation command to said logic circuit, between a hold generation command applied to a cell and a restraint generation control applied to a cell of higher weight. These idle cycles make it possible to avoid that an inversion of the order of output of the detentions occurs with respect to their order of creation, or that the period of the variable clock signal falls below the minimum value allowed. . According to another possible characteristic of the invention, said adders and subtracters are of the two base operating type. This mode of operation in base two facilitates the implementation of the method in and / or with the most common logic integrated circuits. According to another possible characteristic of the invention, said variable clock signal is generated by inverting its logic level on each of the active edges of the signal at the holding output of said logic circuit, an active edge being constituted by one of the two edges of a cycle of said signal at the holding output. This generates a variable clock signal whose period is at least twice that of the reference clock signal CLKR, and whose duty ratio is 50% at the maximum frequency but may be different from 50% at other frequencies. The invention also relates to an electronic device for implementing the method defined above, this device comprising: - a clock for the generation of a reference clock signal of fixed period, - a logic circuit to carry propagation comprising cells of different weights each belonging to the group comprising adders and subtracters, each cell comprising at least two control inputs, a holding input and a holding output connected to the holding input of the adjacent cell higher weight, - a control circuit clocked by said reference clock signal for: - applying to said retention propagation logic circuit a restraint generation command and an erase control of said restraint subsequent to its generation, controlling the propagation by said cells, up to the retaining outlet of the cell of the heaviest weight, of a reservoir enumerated and erasing said restraint, - changing from one cycle to another of said reference clock signal said command for varying the propagation time of said restraint by said logic circuit, and - an output circuit for generating said variable clock signal from the logic state present at said retaining output of the highest weight cell. The device according to the invention requires only a minimum of unsophisticated and inexpensive components to make a variable frequency clock generator. As indicated above, the control circuit does not necessarily modify, at each cycle of the reference clock signal, the command it applies to the carry propagation logic circuit. The command can remain the same for several consecutive cycles and the variable clock signal can not be modified on these consecutive cycles, until a modification of the control, therefore of the restraint, and consequently of the temporal characteristics the clock signal intervenes. According to one possible characteristic of the invention, said control circuit is adapted to prohibit, during at least one cycle of said reference clock signal, the application of a carry generation command to said carry propagation logic circuit between a hold generation command applied to a cell and a hold generation command applied to a higher weight cell. This arrangement ensures that the periods of the variable clock signal never fall below a predetermined value. According to another possible characteristic of the invention, said control circuit is adapted to apply to said logic circuit a command for the generation of said restraint by a single one of said cells. The structure of the device for implementing such a feature is particularly simple to implement. According to another possible characteristic of the invention, each of said cells comprises two operand inputs and said control circuit comprises a first register whose parallel outputs are connected to one of the two operand inputs of said cells respectively. The structure of the device for implementing such a feature is particularly simple to implement.
Suivant une autre caractéristique possible de l'invention, ledit circuit de commande comprend un deuxième registre commandant le contenu du premier registre pour assurer, d'un cycle à un autre dudit signal d'horloge de référence, un décalage de ladite commande tel que ladite retenue est générée par une cellule de poids au plus égal à celui de la cellule ayant généré la retenue précédente. La structure du dispositif pour mettre en oeuvre une telle fonctionnalité est particulièrement simple à mettre en oeuvre. Suivant une autre caractéristique possible de l'invention, ledit circuit de commande commande l'effacement du contenu dudit premier registre dans le même cycle dudit signal d'horloge de référence que celui dans lequel une commande a été chargée dans ledit premier registre. La commande du dispositif est ainsi particulièrement simple. Suivant une autre caractéristique possible de l'invention, ledit circuit de commande applique à l'autre entrée d'opérande de chacune desdites cellules le même niveau logique que celui de ladite retenue. Une telle commande très simple permet d'assurer la propagation d'une retenue appliquée à une cellule quelconque quand cette dernière ne génère pas elle- même de retenue. Suivant une autre caractéristique possible de l'invention, ledit circuit de commande applique un niveau logique constant à l'entrée de retenue de la cellule de poids le plus faible dudit circuit logique. Une telle commande très simple permet d'assurer la propagation d'une retenue appliquée à une cellule quelconque. Suivant une autre caractéristique possible de l'invention, ledit circuit de sortie comprend une bascule de type T connectée à ladite sortie de retenue dudit circuit logique pour inverser à sa sortie le niveau logique dudit signal d'horloge variable sur chacun des fronts actifs du signal à la sortie de retenue dudit circuit logique, un front actif étant constitué par l'un des deux fronts d'un cycle dudit signal à la sortie de retenue. Une telle bascule de type T permet de manière très simple de générer le signal d'horloge variable à partir de la sortie C de l'additionneur 1. De plus quand l'entrée d'horloge de la bascule de type T est la seule entrée du circuit qui est câblée à la sortie C de l'additionneur 1, cela présente le grand avantage d'éviter tout problème de concurrence d'horloge puisque la connexion est sans ramification. D'autres caractéristiques et avantages de l'invention ressortiront de la description qui va suivre d'un mode de réalisation donné uniquement à titre d'exemple et illustré par les dessins annexés sur lesquels : - la figure 1 est un schéma bloc illustrant un additionneur à propagation de retenue utilisé dans un dispositif électronique suivant l'invention de génération d'un signal d'horloge à période et rapport cyclique variables de manière commandée; - la figure 2 est un schéma simplifié montrant des composants de base d'un dispositif électronique générateur de signal d'horloge suivant l'invention utilisant l'additionneur à propagation de retenue de la figure 1; - la figure 3 est une vue plus détaillée d'un dispositif électronique générateur de signal d'horloge suivant l'invention basé sur un additionneur binaire à propagation de retenue; - la figure 4 est une table de vérité illustrant le fonctionnement d'une cellule de l'additionneur binaire à propagation de retenue de la figure 3 ; - la figure 5 est un chronogramme illustrant le fonctionnement du dispositif électronique générateur de signal d'horloge suivant l'invention ; - la figure 6 est un chronogramme illustrant dans différents cas de figure les cycles de repos générés par le dispositif électronique selon l'invention ; - la figure 7 est un schéma de circuit selon un exemple de réalisation du registre à décalage 4 rebouclé sur lui-même de la figure 3 ; - la figure 8 est un schéma de circuit selon un exemple de réalisation du circuit logique de commande 9 de la figure 3 ; et - la figure 9 est une table de vérité illustrant le fonctionnement d'un convertisseur de code 3 bits vers 2 bits présent dans le circuit de la figure 8. En se reportant aux figures 1 et 2, un dispositif électronique de génération d'un signal d'horloge à période et rapport cyclique variables de manière commandée comprend une ligne à retard constituée d'un additionneur 1 à propagation de retenue comportant K cellules U dont les cellules U1, U2 UK_i, UK ont été représentées à la figure 1. L'additionneur 1 est connecté par certaines de ses entrées (directement comme représenté ou, en variante, indirectement par l'intermédiaire d'une logique combinatoire) aux sorties d'un registre 2 cadencé par un signal d'horloge de référence CLKR de période TCLKR et de rapport cyclique convenable. Les valeurs acceptables du rapport cyclique dépendent des contraintes technologiques d'implémentation du dispositif. La sortie C de l'additionneur 1, qui est sa sortie de retenue, est connectée (directement comme représenté au dessin ou, en variante, via une logique combinatoire), à l'entrée d'une bascule 3 de type T (ou circuit équivalent d'un point de vue fonctionnel) qui, comme cela sera décrit dans la suite, génère à sa sortie un signal d'horloge CLKV de période et rapport cycliques variables ci-après désigné signal d'horloge variable. According to another possible characteristic of the invention, said control circuit comprises a second register controlling the contents of the first register to ensure, from one cycle to another of said reference clock signal, an offset of said command such as said Retention is generated by a cell of weight at most equal to that of the cell that generated the previous hold. The structure of the device for implementing such a feature is particularly simple to implement. According to another possible characteristic of the invention, said control circuit controls the erasure of the contents of said first register in the same cycle of said reference clock signal as that in which a command has been loaded in said first register. The control of the device is thus particularly simple. According to another possible characteristic of the invention, said control circuit applies to the other operand input of each of said cells the same logic level as that of said restraint. Such a very simple control makes it possible to ensure the propagation of a restraint applied to any cell when the latter does not generate itself any restraint. According to another possible characteristic of the invention, said control circuit applies a constant logic level to the retaining input of the least significant cell of said logic circuit. Such a very simple control makes it possible to ensure the propagation of a restraint applied to any cell. According to another possible characteristic of the invention, said output circuit comprises a T-type flip-flop connected to said retaining output of said logic circuit for inverting at its output the logic level of said variable clock signal on each of the active edges of the signal. at the holding output of said logic circuit, an active edge being constituted by one of the two edges of a cycle of said signal at the holding output. Such a T-type flip-flop makes it very easy to generate the variable clock signal from the output C of the adder 1. Moreover, when the clock input of the T-flip-flop is the only input of the circuit which is wired to the output C of the adder 1, this has the great advantage of avoiding any problem of clock competition since the connection is without branching. Other features and advantages of the invention will emerge from the following description of an embodiment given solely by way of example and illustrated by the appended drawings in which: FIG. 1 is a block diagram illustrating an adder propagation propagation device used in an electronic device according to the invention for generating a clock signal with a period and a duty cycle which are variable in a controlled manner; FIG. 2 is a simplified diagram showing basic components of a clock signal generating electronic device according to the invention using the carry propagation adder of FIG. 1; FIG. 3 is a more detailed view of an electronic device generating a clock signal according to the invention based on a binary adder with propagation propagation; FIG. 4 is a truth table illustrating the operation of a cell of the retention propagation bit-adder of FIG. 3; FIG. 5 is a timing diagram illustrating the operation of the electronic clock signal generating device according to the invention; FIG. 6 is a timing diagram illustrating, in different cases, the idle cycles generated by the electronic device according to the invention; FIG. 7 is a circuit diagram according to an exemplary embodiment of the shift register 4 looped back on itself of FIG. 3; FIG. 8 is a circuit diagram according to an exemplary embodiment of the control logic circuit 9 of FIG. 3; and FIG. 9 is a truth table illustrating the operation of a 3-bit to 2-bit code converter present in the circuit of FIG. 8. Referring to FIGS. 1 and 2, an electronic device for generating a Controlled variable clock period and duty cycle signal comprises a delay line consisting of a carry propagation adder 1 having K U cells whose U1, U2 UK_i, UK cells have been shown in FIG. adder 1 is connected by some of its inputs (directly as shown or, alternatively, indirectly via combinational logic) to the outputs of a register 2 clocked by a reference clock signal CLKR period TCLKR and a suitable duty cycle. The acceptable values of the duty cycle depend on the technological constraints of implementation of the device. The output C of the adder 1, which is its retaining output, is connected (directly as shown in the drawing or, alternatively, via combinational logic) to the input of a flip-flop 3 of the T-type (or circuit functionally equivalent) which, as will be described hereinafter, generates at its output a variable period clock and duty cycle clock signal CLKV hereafter referred to as a variable clock signal.
L'additionneur 1 à propagation de retenue (aussi appelé additionneur séquentiel, et « carry propagate adder » ou encore « ripple carry adder » en anglais) permet d'additionner deux nombres dont les chiffres sont exprimés dans une certaine base selon le type des cellules de l'additionneur. Dans l'exemple de l'additionneur 1 de la figure 3, les chiffres sont exprimés en base 2. Chaque cellule d'addition U de l'additionneur 1 comprend des entrées P et G auxquelles sont appliquées les nombres à additionner, une entrée de retenue Cl et une sortie de retenue CO. Les K cellules d'addition U de l'additionneur 1 sont reliées entre elles deux à deux par le chemin de retenue: la retenue sortante sur la sortie de retenue CO d'une cellule U est en même temps la retenue entrante sur l'entrée de retenue Cl de la cellule voisine de poids plus fort. Dans l'exemple représenté, la cellule U1 est de poids plus fort que la cellule U2, qui est elle-même de poids plus fort que la cellule U3, etc. Chaque cellule U additionne les valeurs de ses deux entrées P et G avec la valeur de son entrée de retenue Cl, et fournit la somme résultante sur sa sortie S (non représentée car elle n'est pas utilisée dans le contexte de la présente invention) et la retenue sortante sur sa sortie CO. The adder 1 with propagation of restraint (also called sequential adder, and "carry propagate adder" or "ripple carry adder" in English) makes it possible to add two numbers whose numbers are expressed in a certain base according to the type of the cells of the adder. In the example of the adder 1 of FIG. 3, the numbers are expressed in base 2. Each addition cell U of the adder 1 comprises inputs P and G to which the numbers to be added are applied, an input of Cl restraint and a CO restraining outlet. The K addition cells U of the adder 1 are connected together in pairs by the retaining path: the outgoing retention on the holding output CO of a cell U is at the same time the incoming restraint on the input Cl restraint of the neighboring cell of higher weight. In the example shown, the cell U1 is of greater weight than the cell U2, which is itself of greater weight than the cell U3, etc. Each cell U adds the values of its two inputs P and G with the value of its holding input C1, and provides the resultant sum on its output S (not shown because it is not used in the context of the present invention) and the outgoing containment on its CO output.
Dans le contexte de la présente invention, l'additionneur 1 désigne aussi bien un additionneur proprement dit qu'un soustracteur ou un additionneur-soustracteur combiné, à propagation de retenue, considérant qu'un soustracteur est une forme spéciale d'additionneur, à savoir un additionneur dont l'un des opérandes voit sa valeur opposée par rapport à zéro. L'additionneur 1 comporte une entrée de retenue CN qui est l'entrée de retenue Cl de la cellule UK de poids le plus faible. Cette entrée CN est câblée à une valeur logique fixe 0 ou 1 qui permet la propagation de retenue dans l'additionneur 1 sans que cette entrée elle-même ne fasse générer de retenue. In the context of the present invention, the adder 1 designates as well an adder itself as a combined subtractor or adder-subtractor, with propagation propagation, considering that a subtractor is a special form of adder, namely an adder whose one of the operands sees its opposite value with respect to zero. The adder 1 has a retaining inlet CN which is the retaining input C1 of the UK cell of the lowest weight. This NC input is wired to a fixed logic value 0 or 1 which allows the carry propagation in the adder 1 without this input itself generating hold.
Par ailleurs, chaque cellule U a son entrée P câblée de telle sorte que la cellule propage dans sa sortie CO la valeur de son entrée Cl. En variante, l'additionneur 1 peut aussi être constitué et câblé de telle sorte qu'une cellule U propage dans sa sortie CO la valeur complémentaire de son entrée Cl, afin de rendre constante la durée de propagation d'une retenue circulant sur une même distance dans 1, qu'elle vaille à l'origine 0 ou 1. En effet, selon la technologie employée, la durée de propagation d'un niveau logique 1 dans une cellule peut être différente de celle d'un niveau logique 0. La retenue sortant en C de l'additionneur 1 est utilisée pour la génération du signal d'horloge CLKV à période et rapport cyclique variables. Moreover, each cell U has its input P wired so that the cell propagates in its output CO the value of its input C1. As a variant, the adder 1 can also be constituted and wired in such a way that a cell U propagates in its output CO the complementary value of its input Cl, in order to make the propagation time of a retaining flowing over the same distance in 1 constant, whether it is originally 0 or 1. In fact, according to the technology employed, the duration of propagation of a logic level 1 in a cell may be different from that of a logic level 0. The outgoing retaining in C of the adder 1 is used for the generation of the clock signal CLKV to variable period and duty cycle.
L'additionneur 1 est utilisé en ligne à retard par le fait qu'une retenue est générée dans l'une des cellules U, par l'établissement d'une valeur adéquate sur l'entrée G de ladite cellule U, et se propage le long de l'additionneur 1 jusqu'à sortir en C. Ainsi, la durée de propagation totale de la retenue créée dépend du nombre de cellules traversées, donc de la position de la cellule de génération. Dans le cas où plusieurs entrées G sont commandées simultanément pour que les cellules U respectives génèrent chacune une retenue, alors c'est la retenue générée par la cellule de poids le plus fort qui est celle propagée jusqu'à C, car une retenue créée est absorbée par une cellule de poids plus élevé qui génère sa propre retenue. Les entrées G de l'additionneur 1 sont alimentées par le registre 2 cadencé par le signal d'horloge de référence CLKR. Ce registre 2 stocke en même temps K valeurs dont l'ensemble est appelé commande M. Ces K valeurs (K bits dans le cas d'un additionneur en base 2) sont chacune la valeur fournie à l'entrée G d'une cellule U, et le dispositif est agencé physiquement de telle sorte que le délai entre l'apparition d'une commande M dans le registre 2 et son arrivée dans la cellule U correspondante est le même pour les K couples commande-cellule. Lorsque le registre 2 ne contient aucune commande permettant de générer une retenue dans l'additionneur 1, alors aucune retenue n'est générée dans l'additionneur 1 qui peut néanmoins être encore en train de propager une retenue précédemment créée, et/ou en train de propager l'effacement de la retenue. L'effacement d'une retenue est en fait la propagation dans l'additionneur 1 d'une retenue de niveau logique complémentaire de celui de la retenue qui circulait auparavant. Par exemple, si une retenue de niveau logique 1 a été commandée par le registre 2 puis générée et propagée par l'additionneur 1, alors l'effacement de la retenue consiste en l'effacement du contenu du registre 2 et la propagation qui s'ensuit d'une retenue de niveau logique 0. Les polarités de fonctionnement de l'additionneur 1 peuvent tout à fait être adaptées de telle sorte que la retenue générée soit de niveau logique 0 et celle d'effacement de niveau logique 1. Comme décrit précédemment, les retenues peuvent aussi être de niveaux logiques alternés le long de l'additionneur 1, en faisant réaliser l'inversion du niveau logique par certaines cellules U du chemin de propagation. La retenue C sortant de l'additionneur 1 est utilisée comme signal d'horloge de la bascule 3 qui inverse l'état de sa sortie Q sur chaque front actif de ce signal d'horloge. Le front actif peut être le front montant ou bien le front descendant, selon l'implémentation choisie pour le dispositif et en particulier le niveau logique de la retenue générée sortant en C. La sortie de la bascule 3 est le signal d'horloge CLKV de période TCLKV variable et rapport cyclique variable. Un des fronts du signal d'horloge de référence CLKR, montant ou descendant, sert à enregistrer dans le registre 2 la commande de génération de retenue présentée sur son entrée D, tandis que le front suivant, descendant ou montant, déclenche l'effacement du contenu du registre 2, donc l'effacement de la retenue. L'effacement du contenu du registre 2 est commandé par l'entrée R de remise à zéro, qui est asynchrone, parce que à effet immédiat indépendant de l'entrée d'horloge. Par conséquent, par cycle du signal d'horloge de référence CLKR, il peut être généré dans l'additionneur 1 une retenue puis son effacement. Sur le chronogramme de la figure 5, il est supposé que les retenues de niveau « 1 » et « 0 »se propagent à la même vitesse car à la sortie C de l'additionneur 1 l'état « 1 » dure le même temps que l'état « 1 » du signal d'horloge de référence CLKR. Sur ce chronogramme, les délais de propagation sont tels que 42>A1, 43>A2 et 44>A3. Le cas général qui doit être respecté est AnAl, 4342 et 44>.43, etc. Si la retenue dans l'additionneur 1 est toujours générée dans la même cellule U,, c'est-à-dire si le délai A est constant d'un cycle à l'autre du signal d'horloge de référence CLKR, alors la valeur de la période TCLKV est simplement le double de celle de TCLKR, et le rapport cyclique du signal d'horloge variable CLKV est de 50%. Au temps tc1 un front d'un cycle du signal d'horloge de référence CLKR crée au temps t1, avec un retard A1, un front actif du signal d'horloge présent à la sortie C de l'additionneur 1 et au temps t02 un front homologue d'un deuxième cycle du signal d'horloge de référence CLKR est nécessaire pour créer à la sortie C de l'additionneur 1 au temps t2, avec un retard 42, un deuxième front actif du signal d'horloge agissant sur la bascule 3. La sortie CLKV de la bascule 3 passe à l'état haut sur le premier des deux fronts actifs précités et repasse à l'état bas sur le deuxième des fronts actifs précités. Deux périodes du signal d'horloge de référence CLKR créent donc à la sortie Q de la bascule 3 une période complète du signal d'horloge variable CLKV. De même, au temps tc3 un front homologue d'un troisième cycle du signal d'horloge de référence CLKR crée à la sortie C de l'additionneur 1 au temps t3, avec un retard 43, un troisième front actif du signal d'horloge agissant sur la bascule 3. The adder 1 is used in a delay line in that a hold is generated in one of the cells U, by establishing an appropriate value on the input G of said cell U, and propagates on the along the adder 1 until output in C. Thus, the total propagation time of the created retainer depends on the number of cells crossed, therefore the position of the generation cell. In the case where several inputs G are simultaneously controlled so that the respective cells U each generate a restraint, then it is the restraint generated by the strongest cell that is propagated to C, because a restraint created is absorbed by a cell of higher weight that generates its own restraint. The inputs G of the adder 1 are fed by the register 2 clocked by the reference clock signal CLKR. This register 2 stores at the same time K values whose set is called command M. These K values (K bits in the case of an adder in base 2) are each the value supplied to the input G of a cell U and the device is physically arranged such that the delay between the occurrence of a command M in the register 2 and its arrival in the corresponding U cell is the same for the K command-cell pairs. When the register 2 does not contain any command making it possible to generate a hold in the adder 1, then no hold is generated in the adder 1 which may nevertheless still be propagating a previously created retainer, and / or by train to propagate the erasure of the restraint. The deletion of a restraint is in fact the propagation in the adder 1 of a retaining logic level complementary to that of the restraint that was previously circulating. For example, if a logical level 1 hold has been controlled by the register 2 and then generated and propagated by the adder 1, then the erasure of the hold consists of the erasure of the contents of the register 2 and the propagation which followed by a logic level 0 hold. The operating polarities of the adder 1 can quite well be adapted such that the generated resistor is of logic level 0 and that of logic level deletion 1. As previously described the detentions can also be of alternating logic levels along the adder 1, by causing the inversion of the logic level by certain U cells of the propagation path. The restraint C coming out of the adder 1 is used as a clock signal of the flip-flop 3 which inverts the state of its output Q on each active edge of this clock signal. The active edge may be the rising edge or the falling edge, depending on the implementation chosen for the device and in particular the logic level of the generated output at C output. The output of the flip-flop 3 is the CLKV clock signal. variable TCLKV period and variable duty cycle. One of the edges of the reference clock CLKR, rising or falling, is used to register in the register 2 the holding generation command presented on its input D, while the next rising or falling edge triggers the erasure of the contents of the register 2, thus the erasure of the restraint. The erasure of the contents of the register 2 is controlled by the reset input R, which is asynchronous because of the immediate effect independent of the clock input. Therefore, by cycle of the reference clock signal CLKR, it can be generated in the adder 1 a retainer and its erasure. On the timing diagram of FIG. 5, it is assumed that the level reservoirs "1" and "0" propagate at the same speed because at the output C of the adder 1 the state "1" lasts the same time as the state "1" of the reference clock signal CLKR. On this timeline, propagation delays are such that 42> A1, 43> A2 and 44> A3. The general case which must be respected is AnAl, 4342 and 44> .43, etc. If the hold in adder 1 is always generated in the same cell U, i.e. if the delay A is constant from one cycle to the next of the reference clock signal CLKR, then the TCLKV period value is simply twice that of TCLKR, and the duty cycle of CLKV variable clock signal is 50%. At the time tc1 a front of a cycle of the reference clock signal CLKR creates at time t1, with a delay A1, an active edge of the clock signal present at the output C of the adder 1 and the time t02 a homologous front of a second cycle of the reference clock signal CLKR is necessary to create at the output C of the adder 1 at time t2, with a delay 42, a second active edge of the clock signal acting on the flip-flop 3. The CLKV output of the flip-flop 3 goes high on the first of the two aforementioned active fronts and returns to the low state on the second of the aforementioned active fronts. Two periods of the reference clock signal CLKR thus create at the output Q of the flip-flop 3 a complete period of the variable clock signal CLKV. Similarly, at the time tc3 a homologous front of a third cycle of the reference clock signal CLKR created at the output C of the adder 1 at time t3, with a delay 43, a third active edge of the clock signal acting on the rocker 3.
Au temps tc5, un délai de repos correspondant à cinq cycles du signal d'horloge de référence CLKR sans commande appliquée à l'additionneur 1 est généré car on suppose ici qu'avec 44 l'extrémité de la ligne à retard constituée par l'additionneur 1 est atteinte. Ce délai de repos est terminé au temps tclo avec la soumission à l'additionneur 1 d'une nouvelle commande de génération de retenue. Le temps tfpr marque la fin de propagation des retenues durant le délai de repos. Au temps tc10 la génération de retenue ayant repris se traduit par l'apparition d'un front actif du signal d'horloge à la sortie C au temps t5, avec un retard 410, et ainsi de suite. Chaque fois qu'une retenue de niveau logique 1 est appliquée par la sortie C de l'additionneur 1 à l'entrée d'horloge de la bascule 3 aux temps t2=tc2+3,2, t3=-t3+43, t4=tc4,A4, t574,10,410, t6=tc11+3,11, t7=t,12,Al2 cela déclenche le basculement de la bascule 3, donc l'inversion de l'état logique à sa sortie Q qui constitue le signal d'horloge variable CLKV. La longueur de l'additionneur 1, en nombre de cellules U, est choisie en fonction de la technologie des circuits utilisés en s'assurant qu'une retenue générée par le registre 2 ne peut être rattrapée, et donc effacée, par la retenue suivante (commandée ou bien d'effacement) générée par le registre 2 avant d'avoir atteint la sortie C. Dans un additionneur de longueur suffisamment grande, un tel rattrapage peut se produire si une retenue se propage plus vite à un niveau logique qu'à un autre. De préférence, pour la plus grande simplicité de conception, la longueur de l'additionneur 1 est choisie telle que la durée maximale de propagation de la retenue dans l'additionneur 1, quel que soit le niveau de la retenue, soit inférieure à la demi-valeur de la période du signal d'horloge de référence TCLKR. Pour la clarté du dessin, ce n'est pas la solution qui a été retenue dans l'exemple illustré par le chronogramme de la figure 5. Avec un rapport cyclique du signal d'horloge de référence CLKR de 50%, alors aucun rattrapage ne peut se produire puisque la retenue d'effacement est générée lorsque la retenue précédente, celle commandée, est déjà sortie en C. De même, dans ce cas, la retenue commandée est générée lorsque la retenue précédente, celle d'effacement, est déjà sortie en C. Toutefois en variante, comme par exemple dans le cas de la figure 5, la longueur de l'additionneur 1 peut être choisie telle que plusieurs retenues circulent en même temps à la condition qu'une retenue ne puisse jamais rattraper la précédente. At time tc5, a rest period corresponding to five cycles of the reference clock signal CLKR without control applied to adder 1 is generated because it is assumed here that with 44 the end of the delay line constituted by the adder 1 is reached. This rest period is ended at the time tclo with the submission to the adder 1 of a new hold generation command. The time tfpr marks the end of propagation of the deductions during the rest period. At the time tc10 the retaining generation resumed results in the appearance of an active edge of the clock signal at the output C at time t5, with a delay 410, and so on. Whenever a logic level resistor 1 is applied by the output C of the adder 1 to the clock input of the flip-flop 3 at times t2 = tc2 + 3,2, t3 = -t3 + 43, t4 = tc4, A4, t574,10,410, t6 = tc11 + 3,11, t7 = t, 12, Al2 this triggers the tilting of the flip-flop 3, therefore the inversion of the logic state at its output Q which constitutes the signal variable clock CLKV. The length of the adder 1, in number of U cells, is chosen according to the technology of the circuits used, ensuring that a retaining generated by the register 2 can not be caught, and thus erased, by the following restraint (commanded or erased) generated by the register 2 before reaching the output C. In an adder of sufficiently large length, such a retrofit can occur if a restraint propagates faster to a logical level than to another. Preferably, for the greatest simplicity of design, the length of the adder 1 is chosen such that the maximum duration of propagation of the restraint in the adder 1, whatever the level of the restraint, is less than half -value of the period of the TCLKR reference clock signal. For clarity of the drawing, this is not the solution that has been retained in the example illustrated by the timing diagram of FIG. 5. With a duty ratio of the reference clock signal CLKR of 50%, then no catching up is possible. can occur because the erasure hold is generated when the previous hold, the commanded hold, is already output at C. Similarly, in this case, the commanded hold is generated when the previous hold, the erasure hold, is already output C. Alternatively, as for example in the case of Figure 5, the length of the adder 1 can be chosen such that several restraints circulate at the same time provided that a restraint can never catch the previous.
Le dispositif décrit est adapté pour que le signal d'horloge CLKV puisse être produit de période et rapport cycliques variables, avec chacun des deux niveaux logiques du signal d'horloge CLKV de durée au moins égale à la valeur de la période TCLKR. Ainsi la période TCLKV ne sera jamais inférieure au double de la période TCLKR. The device described is adapted so that the clock signal CLKV can be produced with variable duty cycle and period, with each of the two logic levels of the clock signal CLKV of duration at least equal to the value of the period TCLKR. Thus the TCLKV period will never be less than twice the TCLKR period.
Pour ce faire le registre 2 reçoit un contenu qui est tel que dans un cycle de signal d'horloge de référence CLKR, par rapport au cycle précédent, la cellule U de génération de retenue soit la même ou bien une cellule de poids inférieur. Ainsi, le délai de propagation de la retenue dans la ligne à retard formée par l'additionneur 1 est identique ou croissant d'un cycle à l'autre. For this purpose, the register 2 receives a content which is such that in a reference clock cycle CLKR, with respect to the preceding cycle, the retaining generation cell U is the same or a cell of lower weight. Thus, the delay of propagation of the restraint in the delay line formed by the adder 1 is identical or increasing from one cycle to another.
D'un cycle à l'autre du signal d'horloge de référence CLKR, la commande du registre 2 permet de choisir le nombre de cellules U de l'additionneur 1 à rajouter dans le parcours de la retenue générée. Ce nombre de cellules U à rajouter dans le parcours est appelé décalage. Lorsque le décalage souhaité fait que la nouvelle position de génération de retenue dépasse l'extrémité de l'additionneur 1, c'est-à-dire se trouve au-delà de la cellule U de poids le plus faible, le registre 2 n'est pas autorisé à charger la nouvelle commande. Au moins un cycle de repos de l'additionneur 1 est alors imposé durant lequel aucune retenue nouvelle n'est créée ni propagée. Un tel cycle de repos est illustré sur le chronogramme de la figure 5, où le registre 2 ne contient aucune commande et ainsi ne fait générer par l'additionneur 1 aucune retenue entre les temps t .5 et -cl O. Dans le cycle du signal d'horloge de référence CLKR qui suit le repos, le registre 2 est de nouveau autorisé à charger une commande M. Cette nouvelle commande M indique une position de génération de la retenue dans n'importe laquelle des cellules U1 U2 UK puisque, du fait du ou des cycles de repos, la durée minimale souhaitée pour le niveau logique courant du signal d'horloge variable CLKV est garantie. From one cycle to the other of the reference clock signal CLKR, the control of the register 2 makes it possible to choose the number of cells U of the adder 1 to be added in the path of the generated resistor. This number of U cells to be added in the path is called offset. When the desired offset causes the new retaining generation position to pass the end of the adder 1, i.e., is beyond the least significant U cell, the register 2 does not. is not allowed to load the new command. At least one idle cycle of the adder 1 is then imposed during which no new restraint is created or propagated. Such a rest cycle is illustrated in the timing diagram of FIG. 5, where the register 2 contains no control and thus does not generate by the adder 1 any restraint between the times t .5 and -cl O. In the cycle of the CLKR reference clock signal that follows the rest, the register 2 is again authorized to load a command M. This new command M indicates a position of generation of the restraint in any of U1 cells U2 UK since, of At rest cycle (s), the desired minimum duration for the current logic level of the CLKV variable clock signal is guaranteed.
Le nombre minimum requis de cycles de repos cadencés par le signal d'horloge de référence CLKR en cas de dépassement de l'extrémité de l'additionneur 1dépend de la durée maximale de propagation des retenues dans toute la longueur de l'additionneur 1 et de la valeur de TCLKR. En effet, avant de pouvoir commander à nouveau la génération d'une nouvelle retenue dans la cellule U1 ou l'une de ses voisines proches, il faut impérativement que plus aucune retenue ne soit en circulation dans l'additionneur. Il faut également garantir que le délai entre les fronts du signal à la sortie C de l'additionneur 1 soit acceptable pour la bascule 3 ou tout autre circuit logique de sortie alimenté par la sortie C. Autant de cycles de repos qu'il y a de fois la valeur de TCLKR dans la durée de propagation maximale dans l'additionneur 1 doivent être imposés. La valeur entière majorante du résultat est prise en compte. Par exemple si l'additionneur 1 a une durée de propagation maximale de 70ns tandis que TCLKR=5Ons, alors au moins deux cycles de CLKR de repos doivent être imposés car 70/50=1,4. Le chronogramme de la figure 6 illustre différents exemples de temps de repos en fonction de la valeur relative du délai maximal de propagation d'une retenue dans l'additionneur 1 et de la période TCLKR du signal d'horloge 20 de référence CLKR. De la valeur du décalage commandé par cycle du signal d'horloge de référence CLKR découlent à la fois le rapport cyclique du signal d'horloge variable CLKV et sa période TCLKV. Le dispositif décrit présente l'avantage que le décalage est programmé, de manière synchrone et au moyen d'un seul 25 signal d'horloge CLKR, dans chaque cycle du signal d'horloge de référence CLKR, hors cycle de repos. Les nombres successifs chargés dans le registre 2 représentent la position de génération d'une retenue dans ce registre. Si cette position varie vers une (des) cellule de poids plus faibles par rapport au cycle précédent, alors 30 il y a décalage. Les nombres représentatifs de la valeur du décalage, qui induisent des variations de la période TCLKV et du rapport cyclique du signal d'horloge variable CLKV, peuvent être des valeurs déterministes, aléatoires, ou pseudo-aléatoires. L'indisponibilité durant les cycles de repos de la ligne à retard que constitue l'additionneur 1 fait que le dispositif générateur de signal d'horloge variable décrit présente le plus d'intérêt lorsque le signal d'horloge variable CLKV produit doit varier le plus possible au voisinage et dans la limite d'une fréquence maximale 1/(2xTCLKR), sans besoin d'autres caractéristiques temporelles précises. Le dispositif est dans ce cas d'autant plus intéressant que la dispersion des durées de propagation de la retenue dans et entre les cellules U est importante. Un autre intérêt important du dispositif est l'absence de besoin de calibration. En effet, la longueur de l'additionneur 1 peut être déterminée sans expérimentation aucune, simplement en se référant à la fiche technique du ou des composants électroniques choisis. Les performances indiquées d'un additionneur permettent d'en déduire sa durée de propagation maximale par cellule. La longueur de l'additionneur 1 est alors choisie en fonction de la période du signal d'horloge de référence CLKR, cette période étant elle-même choisie d'après les performances en fréquence du bloc logique à cadencer. Du fait du principe de fonctionnement du dispositif, tout bloc logique 20 pouvant être cadencé par une horloge de période TCLKR x 2 peut être cadencé par le signal d'horloge variable CLKV produit, dans la mesure où ce bloc n'a pas de contrainte de signal d'horloge autre que la fréquence maximale de cette dernière et qu'il ne nécessite pas un rapport cyclique différent de 50% à cette fréquence maximale. 25 Le dispositif représenté à la figure 3 est bâti autour d'un additionneur 1 binaire. Dans ce dernier, chaque cellule U est un additionneur complet de trois bits (« Full Adder » en anglais) qui effectue l'addition de trois valeurs chacune sur 1 bit. Cet additionneur est celui que l'on trouve couramment dans les circuits intégrés FPGA. 30 L'entrée CN de l'additionneur 1 est alimentée par la valeur constante '0', afin de ne pas générer de retenue par cette entrée. The minimum number of idle cycles clocked by the reference clock signal CLKR when the end of the adder 1 is exceeded depends on the maximum propagation time of the detentions in the entire length of the adder 1 and the value of TCLKR. Indeed, before being able to re-order the generation of a new hold in cell U1 or one of its close neighbors, it is imperative that no more restraint is circulating in the adder. It must also be ensured that the delay between the edges of the signal at the output C of the adder 1 is acceptable for the flip-flop 3 or any other output logic circuit fed by the output C. As many rest cycles as there are times the value of TCLKR in the maximum propagation time in adder 1 must be imposed. The larger integer value of the result is taken into account. For example, if adder 1 has a maximum propagation time of 70ns while TCLKR = 5Ons, then at least two rest cycles of CLKR should be imposed because 70/50 = 1.4. The timing diagram of FIG. 6 illustrates various examples of idle times as a function of the relative value of the maximum propagation delay of a hold in adder 1 and the period TCLKR of reference clock signal CLKR. From the value of the cycle-controlled shift of the reference clock signal CLKR arise both the duty cycle of the variable clock signal CLKV and its period TCLKV. The described device has the advantage that the offset is programmed, synchronously and by means of a single clock signal CLKR, in each cycle of the reference clock signal CLKR, outside the idle cycle. The successive numbers loaded in the register 2 represent the position of generation of a restraint in this register. If this position varies to a lower weight cell (s) than the previous cycle, then there is offset. The numbers representative of the offset value, which induce variations in the TCLKV period and the duty cycle of the variable clock signal CLKV, may be deterministic, random, or pseudo-random values. The unavailability during the rest cycles of the delay line constituted by the adder 1 causes the variable clock generator device described to be of most interest when the variable clock signal CLKV produced must vary the most. possible in the vicinity and within the limit of a maximum frequency 1 / (2xTCLKR), without the need for other specific temporal characteristics. The device is in this case all the more interesting that the dispersion of propagation times of the retention in and between the U cells is important. Another important feature of the device is the lack of need for calibration. Indeed, the length of the adder 1 can be determined without any experimentation, simply by referring to the data sheet of the selected electronic component or components. The indicated performance of an adder makes it possible to deduce its maximum propagation time per cell. The length of the adder 1 is then chosen as a function of the period of the reference clock signal CLKR, this period being itself chosen according to the frequency performance of the logic block to be clocked. Due to the operating principle of the device, any logic block 20 which can be clocked by a TCLKR x 2 period clock can be clocked by the variable clock signal CLKV produced, insofar as this block has no constraint of a clock signal other than the maximum frequency of the latter and that it does not require a duty cycle different from 50% at this maximum frequency. The device shown in FIG. 3 is built around a binary adder 1. In the latter, each cell U is a full adder of three bits ("Full Adder" in English) which performs the addition of three values each on 1 bit. This adder is the one commonly found in FPGA integrated circuits. The NC input of the adder 1 is fed by the constant value '0' so as not to generate a hold by this input.
L'entrée P de l'additionneur 1 a ses K bits mis à '1', ce qui permet ainsi à chacune des cellules U de propager sur sa sortie de retenue CO la retenue entrante reçue sur son entrée Cl ou de générer une retenue sur cette sortie de retenue CO, selon la valeur de l'entrée G, comme cela ressort de la table de la figure 4. L'entrée G de l'additionneur 1 est alimentée directement par le registre 2 de largeur K bits. Le registre 2 présente à l'additionneur 1 soit tous ses bits à '0', soit un bit à '1' et tous les autres à '0'. Le bit à '1' est celui qui commande une génération de retenue dans la cellule U de 1 qu'il alimente. The input P of the adder 1 has its K bits set to 1, thus allowing each of the cells U to propagate on its holding output CO the incoming hold received on its input C1 or to generate a hold on this holding output CO, according to the value of the input G, as is apparent from the table of FIG. 4. The input G of the adder 1 is supplied directly by the register 2 of width K bits. The register 2 presents to the adder 1 either all of its bits at '0', a bit at '1' and all the others at '0'. The bit at '1' is the one that controls a retaining generation in the U cell of 1 that it feeds.
Le registre 2 est alimenté par un registre 4 de largeur K bits. Le registre 4 est un registre à décalage rebouclé sur lui-même et qui contient un seul bit de valeur '1', tous les autres étant à '0'. Le registre 4 permet de décaler son contenu d'un certain nombre de bits par cycle du signal d'horloge de référence CLKR, ce nombre de bits étant le décalage souhaité de la position de génération de la retenue dans le cycle suivant du signal d'horloge de référence CLKR (c'est à dire une fois que le registre 2 a capturé le contenu du registre 4). L'entrée de remise à zéro du registre 2 est connectée à la sortie d'une porte NOR 5. L'une des entrées de la porte NOR 5 reçoit le signal d'horloge de référence CLKR, tandis que son autre entrée est connectée à la sortie d'une bascule 6 de type D. L'entrée d'horloge de la bascule 6 est connectée à la sortie d'une porte inverseuse (NON) 7 à laquelle le signal d'horloge de référence CLKR est appliqué en entrée, tandis que son entrée de donnée est à un niveau logique '1'. L'entrée de remise à zéro asynchrone R de la bascule 6 est connectée à la sortie d'une porte ET 8 dont l'une des entrées reçoit le signal d'horloge de référence CLKR tandis que son autre entrée est connectée à la sortie de la bascule 6. Le registre 2 charge le contenu qui lui est appliqué par le registre 4 sur le front montant du signal d'horloge de référence CLKR qui est appliqué à son entrée d'horloge, puis est remis à zéro sur son entrée R par la porte NOR 5 dont la sortie passe à '1' consécutivement au front descendant du signal d'horloge de référence CLKR. The register 2 is fed by a register 4 of width K bits. The register 4 is a shift register looped back on itself and which contains a single bit of value '1', all the others being at '0'. The register 4 makes it possible to shift its contents by a certain number of bits per cycle of the reference clock signal CLKR, this number of bits being the desired offset of the position of generation of the restraint in the following cycle of the signal of reference clock CLKR (ie once register 2 has captured the contents of register 4). The reset input of the register 2 is connected to the output of a NOR gate 5. One of the inputs of the NOR gate 5 receives the reference clock signal CLKR, while its other input is connected to the output of a flip-flop 6 of the D type. The clock input of the flip-flop 6 is connected to the output of an inverting gate (NO) 7 to which the reference clock signal CLKR is applied as input, while its data entry is at a logical level '1'. The asynchronous reset input R of flip-flop 6 is connected to the output of an AND gate 8, one of whose inputs receives the reference clock signal CLKR while its other input is connected to the output of FIG. the flip-flop 6. The register 2 loads the content applied to it by the register 4 on the rising edge of the reference clock signal CLKR which is applied to its clock input, then is reset on its input R by the NOR gate 5 whose output goes to '1' consecutively to the falling edge of the reference clock signal CLKR.
Le signal d'effacement du registre 2 généré par la porte NOR 5 est alors désactivé par la sortie de la bascule 6 qui est passée à '1' suite au front descendant du signal d'horloge de référence CLKR (transformé en front montant par la porte 7). The erasure signal of the register 2 generated by the NOR gate 5 is then deactivated by the output of the flip-flop 6 which has changed to the following one at the falling edge of the reference clock signal CLKR (transformed into a rising edge by the door 7).
Pour le front montant suivant du signal d'horloge de référence CLKR, le registre 2 est alors de nouveau prêt à capturer le contenu du registre 4. En effet, la bascule 6 est effacée (sa sortie est remise à zéro) par la sortie de la porte ET 8, suite au front montant du signal d'horloge de référence CLKR. La bascule D 6 applique donc un niveau '0' à l'une des entrées de la bascule NOR 5, tandis que l'autre entrée de celle-ci, qui reçoit le signal d'horloge de référence CLKR, est au niveau '1'. Le rôle de la bascule 6 est simplement de désactiver le signal d'effacement du registre 2 produit par la porte NOR 5, afin que le registre 2 puisse enregistrer un nouveau contenu au front montant suivant du signal d'horloge de référence CLKR. For the next rising edge of the reference clock signal CLKR, the register 2 is then again ready to capture the contents of the register 4. In effect, the flip-flop 6 is erased (its output is reset to zero) by the output of FIG. the AND gate 8, following the rising edge of the reference clock signal CLKR. The flip-flop D 6 therefore applies a level '0' to one of the inputs of the NOR flip-flop 5, while the other input thereof, which receives the reference clock CLKR, is at level 1 . The role of the flip-flop 6 is simply to deactivate the erase signal of the register 2 produced by the NOR gate 5 so that the register 2 can record new content at the next rising edge of the reference clock signal CLKR.
Un circuit logique 9 de commande synchrone par rapport au signal d'horloge de référence CLKR vérifie à chaque cycle du signal d'horloge de référence CLKR la position du bit à '1' dans le registre 4, et commande l'amplitude du décalage. Ce même circuit de commande impose aussi le(s) cycle(s) de repos aux registres 4 et 2 lorsque le décalage souhaité fait que le bit à '1' passe par le rebouclage du registre 4 sur lui-même. Le repos des registres 4 et 2 est commandé passivement par la non-activation de leur entrée CE représentée sur le schéma, c'est à dire par l'absence de niveau logique 1. L'entrée CE est l'entrée classique d'autorisation de chargement par l'horloge (« Clock Enable » en anglais). L'amplitude du décalage appliqué à chaque cycle dépend du type de variation du signal d'horloge souhaité. Le circuit de commande 9 reçoit ou crée des valeurs selon le résultat souhaité pour le signal d'horloge variable CLKV. Le circuit logique 9 de commande synchrone permet, par exemple, d'assurer un interfaçage avec un microprocesseur ou avec un générateur de nombres aléatoires afin de faire varier la période TCLKV et le rapport cyclique du signal d'horloge variable CLKV de façon aléatoire. La figure 7 représente un circuit constituant un exemple de réalisation du registre à décalage 4 de la figure 3. Le circuit 4 comprend K multiplexeurs MUX, avec 1 i K, dont trois seulement MUX1, MUX1 et MUXK ont été représentés sur le dessin. Chaque multiplexeur MUX1 a, dans l'exemple spécifique de la figure 7, quatre entrées reliées à certains bits de la sortie Q de K bits d'un registre 10. A synchronous logic control circuit 9 with respect to the reference clock signal CLKR checks at each cycle of the reference clock signal CLKR the position of the bit at '1' in the register 4, and controls the amplitude of the offset. This same control circuit also imposes the sleep cycle (s) at the registers 4 and 2 when the desired offset causes the '1' bit to pass through the loopback of the register 4 on itself. The rest of the registers 4 and 2 is passively controlled by the non-activation of their input CE represented in the diagram, that is to say by the absence of logic level 1. The input CE is the conventional authorization input loading by the clock ("Clock Enable" in English). The amount of offset applied to each cycle depends on the type of variation of the desired clock signal. The control circuit 9 receives or creates values according to the desired result for the variable clock signal CLKV. The synchronous control logic circuit 9 makes it possible, for example, to interfere with a microprocessor or with a random number generator in order to vary the period TCLKV and the duty cycle of the variable clock signal CLKV randomly. FIG. 7 represents a circuit constituting an exemplary embodiment of the shift register 4 of FIG. 3. The circuit 4 comprises K multiplexers MUX, with 1 K, of which only three MUX1, MUX1 and MUXK have been represented in the drawing. Each multiplexer MUX1 has, in the specific example of FIG. 7, four inputs connected to certain bits of the Q output of K bits of a register 10.
L'entrée de sélection SEL des multiplexeurs MUX, est codée sur deux bits. La valeur de sélection SEL est appliquée aux multiplexeurs MUX1 par le circuit de commande 9 de la figure 8. Le registre 10 est alimenté par les sorties Di des K multiplexeurs MUXi. La valeur de sélection 0 de SEL permet de sélectionner le bit Q, de la sortie Q, la valeur de sélection 1 permet de sélectionner le bit Qi_i, la valeur de sélection 2 permet de sélectionner le bit Q.2, la valeur de sélection 3 permet de sélectionner le bit Q1-3 Dans cet exemple, la valeur de SEL correspond directement au décalage souhaité pour la prochaine position de génération de retenue dans l'additionneur 1. L'entrée SEL est commune à tous les multiplexeurs MUX1. Ceci est permis par le fait qu'un seul bit de la sortie Q du registre 10 a la valeur « 1 ». Ce bit sera donc décalé de zéro à trois positions dans le registre 10, et tous les autres bits du registre 10 seront aussi décalés du même nombre de positions, mais il s'agit de bits ayant la valeur '0'. Après chaque cycle de l'horloge CLKR, donc chaque décalage global du registre 10, il n'y a toujours qu'un seul bit à '1' dans le registre 10. Le registre 10 s'auto-initialise à la mise en route du dispositif avec à sa sortie Q l'un des bits et un seul à la valeur « 1 », et tous les autres bits à la valeur logique « 0 ». Grâce à cet agencement, le circuit 4 n'a pas besoin d'entrées de données. La figure 8 représente un circuit constituant un exemple de réalisation du circuit logique de commande synchrone 9 de la figure 3. Le circuit 9 comprend un registre 11 dont l'entrée ST est connectée à la sortie Q d'un générateur 12 de nombres de deux bits. L'entrée ST indique le décalage souhaité en nombre de cellules U de l'additionneur 1. La sortie Q du registre 11 est connectée à l'entrée SEL du registre à décalage 4, c'est-à-dire à l'entrée SEL de chacun des multiplexeurs MUX1 à MUXK. The SEL selection input of the MUX multiplexers is coded on two bits. The selection value SEL is applied to the multiplexers MUX1 by the control circuit 9 of FIG. 8. The register 10 is powered by the outputs Di of the K multiplexers MUXi. The selection value 0 of SEL selects the Q bit, the Q output, the selection value 1 selects the Qi_i bit, the selection value 2 selects the Q.2 bit, the selection value 3 allows to select the Q1-3 bit In this example, the value of SEL corresponds directly to the desired offset for the next hold generation position in the adder 1. The SEL input is common to all the MUX1 multiplexers. This is enabled by the fact that a single bit of the output Q of the register 10 has the value "1". This bit will therefore be shifted from zero to three positions in the register 10, and all the other bits of the register 10 will also be shifted by the same number of positions, but they are bits having the value '0'. After each cycle of the clock CLKR, and therefore each global offset of the register 10, there is always only one bit to '1' in the register 10. The register 10 self-initializes at start-up of the device with at its output Q one of the bits and only one at the value "1", and all the other bits at the logical value "0". With this arrangement, the circuit 4 does not need data inputs. FIG. 8 represents a circuit constituting an exemplary embodiment of the synchronous control logic circuit 9 of FIG. 3. The circuit 9 comprises a register 11 whose input ST is connected to the output Q of a generator 12 of numbers of two bits. The input ST indicates the desired offset in number of cells U of the adder 1. The output Q of the register 11 is connected to the input SEL of the shift register 4, that is to say at the input SEL of each of the multiplexers MUX1 to MUXK.
La sortie Q du registre 11 est également connectée à l'une des entrées OH d'un additionneur binaire 13 dont la sortie C est appliquée à l'entrée d'une porte ET 14. L'autre entrée de la porte ET 14 est connectée à la sortie d'une bascule D 15. La bascule D 15 reçoit en entrée, d'une part le signal d'horloge CLKR, et d'autre part la sortie de l'additionneur 13 inversée par un inverseur 16. La sortie de la porte ET 14 est connectée aux entrées CE du registre 11 et du registre 4, tandis que l'entrée CE du registre 2 est connectée à la sortie de la bascule D 15. Le circuit 9 est complété par un convertisseur 17 qui convertit un code trois bits en un code deux bits selon une logique combinatoire dont la table de vérité est représentée à la figure 9. Le convertisseur 15 reçoit sur son entrée IN une valeur MPFA qui représente les bits de poids faibles MK-2, MK-1, MK de la commande M appliquée par le registre 2 à l'additionneur 1. La sortie du convertisseur 17 est connectée à la deuxième entrée OP2 de l'additionneur 13. L'additionneur 13 a pour effet que, lorsque sa sortie de retenue C vaut « 1 », un cycle de repos est imposé au dispositif. Dans le présent exemple de réalisation, l'additionneur 13 est dimensionné pour ne nécessiter qu'un cycle de repos en cas de dépassement de l'extrémité de l'additionneur 1. Dans l'exemple de la figure 8, le générateur 12 de nombre de deux bits et un compteur binaire. Il comprend un additionneur binaire deux bits 18 dont la sortie est connectée à l'entrée D d'un registre 19 dont la sortie Q codée sur deux bits constitue l'entrée du registre 11. La sortie Q du registre 19 est également connectée à l'une des entrées OP1 de l'additionneur 18 dont l'autre entrée a sa valeur fixée à « 01 ». La sortie Q du générateur 12 est synchronisée sur l'horloge CKR dont le signal est appliqué à l'entrée d'horloge du registre 19. Dans chaque cycle d'horloge, le contenu du registre 19 est incrémenté de la valeur « 1 » qui est la valeur fixe présente sur l'entrée OP2 de l'additionneur 18. Le circuit 12 générateur de nombres de deux bits peut également être un générateur de nombres aléatoires, un générateur de nombres pseudo- aléatoires, une table de correspondance reliée à un compteur pour générer une séquence déterminée de nombres de décalages, un registre commandé par un microprocesseur, etc. The output Q of the register 11 is also connected to one of the inputs OH of a binary adder 13 whose output C is applied to the input of an AND gate 14. The other input of the AND gate 14 is connected at the output of a flip-flop D 15. The flip-flop D 15 receives as input, on the one hand the clock signal CLKR, and on the other hand the output of the adder 13 inverted by an inverter 16. The output of the AND gate 14 is connected to the EC inputs of the register 11 and the register 4, while the EC input of the register 2 is connected to the output of the D flip-flop 15. The circuit 9 is completed by a converter 17 which converts a code three bits in a two-bit code according to a combinational logic whose truth table is represented in FIG. 9. The converter 15 receives on its input IN a value MPFA representing the least significant bits MK-2, MK-1, MK of the command M applied by the register 2 to the adder 1. The output of the converter 17 is connected to the second input OP2 of the adder 13. The adder 13 has the effect that, when its holding output C is "1", a rest cycle is imposed on the device. In the present embodiment, the adder 13 is sized to require only a rest cycle in case of exceeding the end of the adder 1. In the example of Figure 8, the number generator 12 two bits and a binary counter. It comprises a two-bit binary adder 18 whose output is connected to the input D of a register 19 whose output Q coded on two bits constitutes the input of the register 11. The output Q of the register 19 is also connected to the one of the inputs OP1 of the adder 18 whose other input has its value set to "01". The output Q of the generator 12 is synchronized with the clock CKR whose signal is applied to the clock input of the register 19. In each clock cycle, the contents of the register 19 are incremented by the value "1" which is the fixed value present on the input OP2 of the adder 18. The two-bit number generator circuit 12 can also be a random number generator, a pseudorandom number generator, a correspondence table connected to a counter to generate a determined sequence of numbers of offsets, a microprocessor controlled register, etc.
De nombreuses variantes sont possibles par rapport au mode de réalisation de l'invention décrit ci-dessus à titre exemple. C'est ainsi que : - l'utilisation des fronts du signal d'horloge de référence CLKR peut être inversée dans tout le dispositif, c'est à dire que les fronts descendants sont utilisés en lieu et place des fronts montants, et vice-versa ; - la ligne à retard peut être constituée par un soustracteur ou un ensemble additionneur-soustracteur combiné, tant que le principe de propagation de retenue est conservé ; - la ligne à retard peut être d'un autre type, fonctionnant en propageant '0' comme retenue puis '1' pour l'effacement de cette retenue ; dans ce cas la bascule 3 utilise le front descendant de la retenue C; la ligne à retard peut être d'un autre type dans lequel la retenue propagée prend la forme d'une succession de '1' et '0' ; - la ligne à retard peut fonctionner dans une base différente de 2 ; - la ligne à retard peut être d'un type propageant une retenue composée de plusieurs bits ; les cellules U composant la ligne à retard peuvent ne pas être toutes logiquement identiques ; - la bascule 3 peut être remplacée par un ensemble de plusieurs bascules et/ou de la logique combinatoire, le tout réalisant la même fonction de basculement de l'état de sortie pour produire le signal d'horloge CLKV ; - le chemin entre la sortie C de la ligne à retard et la bascule 3 peut inclure de la logique combinatoire ; - le chemin du registre 2 à la ligne à retard peut inclure de la logique combinatoire. Numerous variations are possible with respect to the embodiment of the invention described above by way of example. Thus: the use of the fronts of the reference clock signal CLKR can be reversed throughout the device, that is to say that the falling edges are used in place of the rising edges, and vice versa. versa; the delay line may be constituted by a subtractor or a combined adder-subtractor assembly, as long as the principle of propagation of restraint is preserved; the delay line may be of another type, operating by propagating '0' as a restraint and then '1' for erasing this restraint; in this case the flip-flop 3 uses the falling edge of the restraint C; the delay line may be of another type in which the propagated restraint takes the form of a succession of '1' and '0'; the delay line can operate in a base different from 2; the delay line may be of a type propagating a hold composed of several bits; the cells U composing the delay line may not all be logically identical; the flip-flop 3 can be replaced by a set of several flip-flops and / or the combinational logic, all performing the same function of switching the output state to produce the clock signal CLKV; the path between the output C of the delay line and the flip-flop 3 may include combinational logic; the path from register 2 to the delay line may include combinational logic.
Claims (17)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1251405A FR2986925B1 (en) | 2012-02-15 | 2012-02-15 | METHOD AND ELECTRONIC DEVICE FOR GENERATING A VARIABLE CLOCK SIGNAL |
PCT/FR2013/050298 WO2013121149A1 (en) | 2012-02-15 | 2013-02-14 | Method and electronic device for generating a variable clock signal |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1251405A FR2986925B1 (en) | 2012-02-15 | 2012-02-15 | METHOD AND ELECTRONIC DEVICE FOR GENERATING A VARIABLE CLOCK SIGNAL |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2986925A1 true FR2986925A1 (en) | 2013-08-16 |
FR2986925B1 FR2986925B1 (en) | 2014-02-21 |
Family
ID=46754519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1251405A Active FR2986925B1 (en) | 2012-02-15 | 2012-02-15 | METHOD AND ELECTRONIC DEVICE FOR GENERATING A VARIABLE CLOCK SIGNAL |
Country Status (2)
Country | Link |
---|---|
FR (1) | FR2986925B1 (en) |
WO (1) | WO2013121149A1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6127863A (en) * | 1999-03-31 | 2000-10-03 | Cisco Systems, Inc. | Efficient fractional divider |
US20040125948A1 (en) * | 2002-12-30 | 2004-07-01 | Hee-Kwan Son | Montgomery modular multiplier using a compressor and multiplication method |
US20070296465A1 (en) * | 2006-06-23 | 2007-12-27 | Al-Assadi Waleed K | Domino logic testing systems and methods |
-
2012
- 2012-02-15 FR FR1251405A patent/FR2986925B1/en active Active
-
2013
- 2013-02-14 WO PCT/FR2013/050298 patent/WO2013121149A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6127863A (en) * | 1999-03-31 | 2000-10-03 | Cisco Systems, Inc. | Efficient fractional divider |
US20040125948A1 (en) * | 2002-12-30 | 2004-07-01 | Hee-Kwan Son | Montgomery modular multiplier using a compressor and multiplication method |
US20070296465A1 (en) * | 2006-06-23 | 2007-12-27 | Al-Assadi Waleed K | Domino logic testing systems and methods |
Also Published As
Publication number | Publication date |
---|---|
WO2013121149A1 (en) | 2013-08-22 |
FR2986925B1 (en) | 2014-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0826169B1 (en) | Improved integrated circuit and method for using same | |
WO2007110506A1 (en) | Random number generator | |
EP3242398B1 (en) | Generator of numbers of oscillations | |
FR2932336A1 (en) | TIME-SAVING ASYNCHRONOUS CIRCUIT WITH DELAY INSERT CIRCUIT | |
FR2868628A1 (en) | RANDOM NUMBER GENERATOR AND METHOD FOR PRODUCING RANDOM NUMBERS | |
EP2257904B1 (en) | Method for protecting a programmable cryptography circuit, and circuit protected by said method | |
FR2693860A1 (en) | Parallel-serial converter. | |
FR2860892A1 (en) | Pseudo-random number generator for encryption or decryption device, has combination unit including final processing stage combining intermediate processing sequence from intermediate processing stage, with sub-groups of sequences | |
EP3242397B1 (en) | Multiplexer structure | |
WO2007116171A2 (en) | Method and device for generating a pseudorandom string | |
EP3242401B1 (en) | Pulse counting circuit | |
EP3376670B1 (en) | Line with configurable delay | |
FR3023396A1 (en) | RANDOM NUMBER GENERATOR | |
FR3133458A1 (en) | Time sequence generation circuit | |
EP1730848A1 (en) | Method for the rapid synchronisation of a device for receiving scrambled data, using an optimised calculation of a synchronisation value | |
FR3083885A1 (en) | CIRCUIT FOR GENERATING ROTATION FACTORS FOR NTT PROCESSOR | |
WO2008007026A2 (en) | Method of modelling the switching activity of a digital circuit | |
FR2986925A1 (en) | METHOD AND ELECTRONIC DEVICE FOR GENERATING A VARIABLE CLOCK SIGNAL | |
FR2811790A1 (en) | Smart card microcontroller secured against current attacks, uses module between processor and external supply which chaotically encrypts supply current fluctuations | |
FR2875316A1 (en) | DEVICE AND METHOD FOR PRODUCING A NUMBER SUITE | |
WO2000007324A1 (en) | Clock recovery method in digital signal sampling | |
CA2445372A1 (en) | Fast analog sampler with great memory depth | |
FR2986679A1 (en) | True random number generator for use in digital electronic circuit e.g. field programmable gate array, has sampling unit sampling signals delivered on outputs of preceding stage of oscillator with specific integer values | |
FR2919941A1 (en) | ANALOG CIRCUIT TEST DEVICE | |
FR2773652A1 (en) | Controlled activation signal generating circuit for flip-flop of memory register |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 5 |
|
PLFP | Fee payment |
Year of fee payment: 6 |
|
PLFP | Fee payment |
Year of fee payment: 7 |
|
PLFP | Fee payment |
Year of fee payment: 9 |
|
PLFP | Fee payment |
Year of fee payment: 10 |
|
PLFP | Fee payment |
Year of fee payment: 11 |
|
PLFP | Fee payment |
Year of fee payment: 12 |
|
PLFP | Fee payment |
Year of fee payment: 13 |