Brevet FR2816074A1 — publié le 20020503

GENERATEUR DIGITAL PRECIS PRODUISANT DES SIGNAUX D'HORLOGE L'invention concerne les générateurs de signal d'horloge du type boucle à verrouillage de phase qui produisent un signal d'horloge haute fréquence à partir d'un signal d'horloge basse fréquence. Parmi ces générateurs, l'invention concerne plus précisément ceux qui utilisent un oscillateur digital produisant des signaux d'horloge dont la période est proportionnelle à un nombre binaire reçu par l'oscillateur. De manière connue, un tel générateur 10 comprend, conformément à la figure 1, un comparateur 12 et un oscillateur digital 20 associés en série, une sortie OUT de l'oscillateur 20 étant reliée à une entrée du comparateur 12. Le générateur 10 fournit un signal haute fréquence CKHF (de période PHF) à partir d'un signal basse fréquence de référence CKBF (de période PBF). Le comparateur 12 comprend deux entrées sur lesquelles sont appliqués le signal haute fréquence CKHF et le signal basse fréquence de référence CKBF. Le comparateur 12 compare la période PHF du signal haute fréquence CKHF avec une période souhaitée PHFO. La période souhaitée est par exemple un multiple de la période PBF. Le comparateur 12 produit un nombre NR de NO bits ayant les caractéristiques suivantes : - NR augmente si PHF PHFO, - NR est constant sinon. Le comparateur 12 produit le nombre NR, sur N sorties séries, sous la forme de signaux binaires S(l) à S (N) représentatifs du nombre NR. Dans l'exemple des figures 1,2, N = 2N0 et les signaux S(l) à S (N) la valeur du nombre NR : - S(NR+1) = 1, - S(i) = 0, pour tout i compris entre 1 et N, et i # NR+1. Dans un autre exemple, N = NO et les signaux S(l) à S (N) correspondent aux N bits du nombre NR. L'oscillateur digital 20 reçoit les signaux binaires S (1) à S (N ) et produit le signal d'horloge CKHF sur la sortie OUT. Il est constitué classiquement d'un nombre impair d'inverseurs associés en série pour former une chaîne. La période du signal CKHF obtenu dépend principalement du nombre d'inverseurs et du temps de propagation d'un 0 et d'un 1 dans chaque inverseur. Un exemple d'oscillateur 20 est représenté sur la figure 2. Il comprend NO cellules C(l) à C(N) comprenant chacune deux entrées a, b et deux sortie c, d. Les N cellules sont associées en série. Les entrées a, b des cellules C(l) à C(N-1) sont connectées aux sorties c, d des cellules C(2) à C(N). Les sorties c, d de la cellule C(l) sont connectées ensemble et constituent la sortie OUT de l'oscillateur 20. Enfin, des interrupteurs INTC(l) à INTC (N) connectés entre les entrées a, b de chaque cellule C(l) à C(N). Les interrupteurs INTC(l) à INTC(N) sont commandés par les signaux S(l) à S(N); ils sont fermés lorsque les signaux S(l) à S(N) sont actifs. Les cellules C (2) C (N) identiques. Chaque cellule comprend notamment un nombre NC pair d'inverseurs connectés en série entre l' entrée a et la sortie c et/ou entre l'entrée b et la sortie d. Des temps TCO, TC1, éventuellement différents l'un de l'autre, sont nécessaires pour propager un 0, respectivement un 1, dans tous les éléments d'une cellule C (2) C (N), tous les inverseurs. La cellule C(l) comprend quant à elle un nombre NC' d'inverseurs connectés en série entre l'entrée a et la sortie b et/ou entre l'entrée c et la sortie d de la cellule C(l). Le nombre NC' est nécessairement impair pour obtenir les oscillations de la chaîne d'inverseurs. Des temps TCO', TC1', éventuellement différents l'un de l'autre, sont nécessaires pour propager un 0, respectivement un 1, dans tous les éléments de la cellule C(l), notamment tous les inverseurs. Le fonctionnement du générateur 10 de signaux d'horloge est le suivant. Le comparateur fournit un nombre NRO compris entre 0 et 2N -1 sous la forme des signaux S(l) à S(N) correspondants : dans l'exemple des figures 1, 2, S(NR+1) - 1 et S(i) = 0 pour i compris entre 1 et N, i # NRO+1. Les interrupteurs INTC(l) à INTC(N) s'ouvrent ou se ferment en fonction des signaux S(l) à S(N). Les cellules C(NRO+2) à C(N) sont isolées et les cellules C(l) à C(NRO+1) forment une chaîne comprenant un nombre total impair d'inverseurs associés en série. Le temps de propagation d'un 0 ou d'un 1 entre la cellule C(NRO+1) et la cellule C (1) dépend des temps de propagation dans chaque cellule. L'oscillateur 20 fournit sur sa sortie OUT un signal CKHF dont la période est égale à PHF = (TCO+TC1)*NR+(TCO'+TC1') si le temps de propagation dans l'interrupteur INTC(NRO+1) est ignoré. La période PHF est donc proportionnelle au nombre NR fourni par le comparateur. Si la période PHF du signal CKHF obtenu est inférieure à la période souhaitée PHFO, alors le comparateur augmente le nombre NR pour augmenter le nombre de cellules dans la chaîne et ainsi augmenter la période du signal CKHF. Inversement, si la période PHF du signal CKHF obtenu est supérieure à la valeur souhaitée, alors le nombre NR est diminué pour diminuer la période du signal CKHF. Le nombre NR va ainsi varier progressivement, jusqu'à ce que la période souhaitée PHFO soit atteinte. L'amplitude des variations de NR est modulée en fonction de la différence entre la période PHF réelle du signal CKHF et la période souhaitée. Ainsi, lors du démarrage du générateur 10, la période PHF est faible, très inférieure à PHFO, et le comparateur va varier le nombre NR de manière importante (+10, +50, +100 si nécessaire) pour augmenter fortement la période PHF. Inversement, lorsque PHF est proche de PHFO, le nombre NR varie dans des proportions plus réduites (+1, -1) pour obtenir PHF = PHFO. Lorsque NR augmente, respectivement diminue de 1, une cellule C est ajoutée, respectivement supprimée dans la chaîne. La variation minimale de la période dans l'oscillateur est donc égale à TCO+TC1, c'est-à-dire à la somme des temps de propagation d'un 0 et d'un 1 dans une cellule C. L'incertitude sur la période, qui définit la précision de l'oscillateur 20 est égale à #P0 = TCO+TC1. La précision de l'oscillateur dépend ainsi des temps de propagation TCO, TC1 dans les cellules C(2) à C(NO), c'est-à-dire du nombre d'inverseurs NC contenus dans ces cellules, des temps de commutation tO, tl de ces inverseurs. Pour améliorer la précision de l'oscillateur, il est possible de limiter le nombre d'inverseurs dans une cellule à NC = 2 (le minimum) et/ou de diminuer les temps de commutation des inverseurs. Un inverseur est généralement constitué d'un transistor de type P et d'un transistor de type N associés en série, la source du transistor P étant connecté à une alimentation VDD et la source du transistor N étant connecté à une masse du circuit. Les grilles des transistors sont connectées ensemble et constituent l'entrée de l'inverseur. Enfin, les drains des transistors sont connectés ensemble et constituent la sortie de l'inverseur. Le temps de commutation d'un tel inverseur est proportionnel à L2, L étant la longueur de la grille des transistors. Donc pour diminuer les temps de commutation, il est nécessaire de diminuer la longueur de grille L des transistors. Cependant, la longueur de grille L des transistors ne peut être diminuée en delà d'une longueur minimale Lmin, qui dépend notamment de la technologie choisie pour réaliser le circuit intégré. Au delà de cette limite Lmin, il n'est pls possible de réaliser les transistors. Les temps de commutation tO, tl des inverseurs ne peuvent donc pas être réduits au delà de valeurs minimales tOmin, tlmin. En conséquence, les temps de propagation TCO, TC1 dans les cellules C (2) à C (N) sont eux-mêmes limités par des valeurs minimales. Cette solution n'est donc pas suffisante, notamment si une très faible incertitude, par exemple inférieure à 1% est exigée sur la période du signal CKHF obtenu. Par incertitude, il faut comprendre la variation maximale de période du signal CKHF lorsque le nombre NR varie de 1. L'objet de l'invention est de réaliser un oscillateur différent et particulièrement précis, et un générateur de signaux d'horloge utilisant cet oscillateur. Le générateur de l'invention permet notamment d'obtenir des signaux d'horloge CKHF ayant une fréquence de l'ordre de 50 MHz, à partir d'un signal ayant une fréquence de l'ordre de 1 KHz, avec une incertitude inférieure à 1%. L'invention concerne un générateur comprenant un oscillateur produisant un signal d'horloge à partir d'un nombre de commande de N bits, N étant un nombre entier supérieur à 1. Selon l'invention, l'oscillateur comprend : - un premier groupe de cellules comprenant des cellules, chaque cellule comprenant au moins un inverseur associé en série, et des premiers moyens de sélection pour sélectionner un nombre variable de cellules du premier groupe de cellules en fonction de NHO bits de poids forts du nombre de commande, et - un deuxième groupe de cellules comprenant des cellules, chaque cellule comprenant au moins un inverseur associé en série, et des deuxièmes moyens de sélection pour sélectionner une des cellules du deuxième groupe de cellules en fonction de NLO bits de poids faibles du nombre de commande, les cellules du premier groupe et la cellule du deuxième groupe sélectionnées étant associées en série pour former une chaîne d'inverseurs. Selon un mode préféré, de réalisation, chaque cellule du deuxième groupe de cellules est affectée d'un poids j compris entre 1 et NL, NL étant un entier compris entre 1 et N. Les deuxièmes moyens de sélection comprennent NL interrupteurs commandés par des signaux représentatifs des NLO bits de poids faibles du nombre de commande. Chaque interrupteur de poids j est associé en série avec une cellule de même poids j appartenant au deuxième groupe de cellules, entre un point d'entrée et un point de sortie. Deux cellules différentes du deuxième groupe de cellules ont des temps de propagation d'un 0 et d'un 1, différents. De préférence, la différence entre le temps de propagation d'un 0 et d'un 1 dans une cellule de poids j du deuxième groupe de cellules, et le celui d'une cellule de poids j-1 est inférieure à l'incertitude relative souhaitée sur la période du signal d'horloge obtenu. Lorsque le nombre de commande augmente de 1, une cellule de poids j du deuxième groupe est sélectionnée ; cette cellule sélectionnée est: - la cellule de poids immédiatement supérieur à celui d'une cellule précédemment sélectionnée, ou - la cellule de poids le plus faible, une cellule supplémentaire du premier groupe de cellules étant dans ce cas également sélectionnée. La période du signal d'horloge suit ainsi les variations du nombre de commande. Le générateur selon l'invention peut comprendre également un comparateur pour comparer la période du signal d'horloge avec une période souhaitée et fournir le nombre de commande sous la forme de N signaux logiques, le nombre de commande variant de la manière suivante : - le nombre de commande augmente si la période du signal d'horloge est inférieure à la période souhaitée, - le nombre de commande diminue si la période du signal d'horloge est supérieur à la période souhaitée, et - le nombre de commande est constant sinon. Ainsi, lorsque le nombre de commande augmente, respectivement diminue, alors la période du signal d'horloge augmente, respectivement diminue. Selon le mode préféré de réalisation, le générateur comprend également un premier décodeur, pour décoder les NLO bits de poids faibles du nombre de commande et fournir, aux deuxièmes moyens de sélection, un premier jeu de NL = 2NLO signaux de commande ayant les propriétés suivantes : - SDL(j) = 1 si j = NRL+1, pour tout j compris entre 1 et NL, NRL correspondant à la valeur décimale des NLO bits de poids faibles du nombre de commande. Le générateur peut également comprendre, mais pas nécessairement, un deuxième décodeur, pour décoder les NHO bits de poids forts du nombre de commande et fournir, aux premiers moyens de sélection, un deuxième jeu de NH = 2NH0 signaux de commande ayant les propriétés suivantes : - SDH(i) = 1 si i = NRH+1, pour tout i compris entre 1 et NH, NRH correspondant à la valeur décimale des NHO bits de poids forts du nombre de commande. Un générateur selon l'invention est amélioré par l'ajout d'un circuit de contrôle, pour vérifier l'inéquation suivante : 0 # (TCO+TC1) + (TD0(1)+TD1(1))-(TD0(NL)-TD0(NL)) TCO+TC1 étant le temps de propagation d'un 0 et d'un 1 dans une cellule du premier groupe de cellules, TDO (1) +TD1 (1) étant le temps de propagation d'un 0 et d'un 1 dans la cellule de poids le plus faible du deuxième groupe de cellules, TDO(NL)+TD1(NL) étant le temps de propagation d'un 0 et d'un 1 dans la cellule de poids le plus fort du deuxième groupe de cellules, Le circuit de contrôle produit un signal de commande si l'inéquation n'est pas vérifiée et le comparateur augmente de une unité le nombre de commande lorsqu'il reçoit le signal de commande. Selon un mode de réalisation du circuit de contrôle, il comprend : - un oscillateur de référence pour produire un signal d'horloge ayant une période de référence proportionnelle à (TCO+TC1) + (TDO(1)+TD1(1)) - un oscillateur de mesure pour produire un signal d'horloge ayant une période mesurée proportionnelle à (TDO(NL)-TDO(NL)), et - un circuit de comparaison, pour comparer la période mesurée avec la période de référence et fournir le signal de commande actif si la période mesurée est inférieure à la période de référence. L'invention sera mieux comprise et d'autres caractéristiques et avantages apparaîtront à la lecture de la description qui va suivre, la description faisant référence aux dessins annexés dans lesquels : - la figure 1 est un schéma fonctionnel d'un générateur de signaux d'horloge connu, - la figure 2 est un schéma d'un oscillateur connu utilisé dans le circuit de la figure 1, - la figure 3 est un schéma d'un générateur de signaux d'horloge selon l'invention, et - la figure 4 est un schéma d'un oscillateur du générateur de la figure 3, et - la figure 5 présente des améliorations possibles du générateur de la figure 4. Les figures 1 et 2 ayant été précédemment décrites et constituant l'état de la technique connue, elles ne sont pas détaillées ici. La figure 3 est un schéma fonctionnel d'un générateur 30 selon l'invention, qui comprend un comparateur 32, deux décodeurs 34,36 de signaux binaires et un oscillateur 40. Le générateur 40 produit un signal d'horloge CKHF haute fréquence, de période PHF, à partir d'un signal de référence CKBF basse fréquence, de période PBF. Le comparateur 32 est identique au comparateur 12 et il fonctionne de manière similaire. Il comprend deux entrées sur lesquelles sont appliqués les signaux CKHF et CKBF. Le comparateur 32 compare la période PHF du signal CKHF avec une période souhaitée PHFO. La période souhaitée est par exemple un multiple de la période PBF du signal de référence CKBF. Le comparateur 12 fournit le résultat de la comparaison sous la forme d'un nombre binaire NR de NO bits ayant les caractéristiques suivantes : - NR augmente si PHF PHFO, - NR est constant sinon. Le nombre binaire NR est produit, sur NO sorties séries, sous la forme de signaux binaires S(l) à S(NO). Le décodeur 34 reçoit les signaux S(l) à S(NLO) correspondant au mot NRL. Le mot NRL correspond aux NLO bits de poids faibles du nombre NR. Le décodeur 34 produit NL = 2NL0 signaux logiques SDL(l) à SDL(NL), qui indiquent la valeur du mot NRL : - SDL(NRL+1) = 1, - SDL(i) = 0 pour tout i compris entre 1 et NL et i # NRL+1. Le décodeur 36 reçoit les signaux S(N-NHO) à S(N) correspondant au mot NRH. Le mot NRH correspond aux NHO bits de poids forts du nombre NR, NHO étant égal à NHO = N - NLO. Le décodeur 36 produit NH = 2NH0 signaux logiques SDH(l) à SDH(NH), qui indiquent la valeur du mot NRH : - SDH(NRH+1) = 1, - SDH(j) = 0 pour tout j compris entre 1 et NH et j NRH+1. Les décodeurs 34,36 sont réalisés de manière similaire, selon des schémas connus. Ils comprennent notamment un ensemble de portes logiques dont le nombre est fonction du nombre de signaux reçus sur leur entrée. L'oscillateur 40 reçoit, sur NH+NL entrées séries, les signaux SDL(l) à SDL(NL), SDH(l) à SDH(NH) et produit le signal d'horloge CKHF sur une sortie OUT qui est connectée par ailleurs à une entrée du comparateur 32. L'oscillateur 40 est détaillé sur la figure 4. Il comprend NH cellules C(l) à C(NH) associées en série ; chaque cellule comprend deux entrées a, b et deux sorties c, d. Les entrées a, b des cellules C(l) à C(NH-1) sont connectées aux sorties c, d des cellules C (2) à C(NH) et la sortie d de la cellule C(l) est connectée à une sortie OUT de l'oscillateur 40. Des interrupteurs INTC(l) à INTC (NH) sont connectés entre les entrées a et b des cellules C(l) à C(NH), ils sont commandés par les signaux SDH(l) à SDH(NH). Les interrupteurs INTC(l) à INTC(NH) sont fermés lorsque les signaux SDH(l) à SDH(NH) sont actifs, et ouverts sinon. L'oscillateur 40 comprend également une cellule C(0), comprenant une entrée E et une sortie S, connectée en série entre la sortie c de la cellule C(l) et la sortie OUT de l'oscillateur 40. Les cellules C(2) à C(NH) sont identiques. Chaque cellule comprend notamment un nombre NC pair d'inverseurs associés en série entre son entrée a et sa sortie c et/ou entre son entrée b et sa sortie d des cellules. Les cellules C(2) à C(NH) ont des temps de propagation TCO, TC1, éventuellement différents l'un de l'autre. La cellule C(l) comprend notamment un nombre NC' impair d'inverseurs associés en série entre son entrée a et sa sortie c et/ou entre son entrée b et sa sortie d. La cellule C(0) comprend NL branches connectées en parallèle entre l'entrée E et la sortie S de la cellule C(0). Chaque branche comprend, associés en série : - un interrupteur INTD(l) à INTD(NL) commandé par le signal SDL(l) à SDL (NL), étant fermé lorsque le signal est actif, et - une cellule D(l) à D (NL) comprenantun nombre ND pair d'inverseurs associés en série entre une entrée e et une sortie s. Ainsi, pour des valeurs particulières des signaux SDL(l) à SDL(NL), SDH(l) à SDH(NH), la cellule C(l), un nombre variable de cellules C(2) à C(NH) et une cellule D sont sélectionnées pour former une chaîne de cellules dans l'oscillateur 40. Le nombre total d'inverseurs associés en série dans la chaîne est impair puisque NC, ND sont pairs et NC' est impair. Ceci permet l'oscillation et la production du signal CKHF. Des variantes de l'oscillateur 40 peuvent être envisagées : L'oscillateur 40 est obtenu en ajoutant la cellule C(0) dans l'oscillateur 20 connu. Cette cellule C(0) est ajoutée en série avec les autres, dans l'exemple de la figure 4, elle est placée entre la cellule C(l) et la sortie OUT de l'oscillateur. La cellule C(0) pourrait être aisément déplacée et mise en série, par exemple entre une entrée et une sortie de deux cellules C (2) C (NH) La cellule C(0) peut être ajoutée de la même façon dans tout autre type d'oscillateur connu, qui utilise un ensemble d'inverseurs associés en série pour produire un signal CKHF dont la période est proportionnelle au nombre d'inverseurs sélectionnés. Dans l'oscillateur 40, les cellules C (2) àC(NH) comprennent un nombre NC pair d'inverseurs, la cellule C(l) comprend un nombre NC' impair d'inverseurs et les cellules D(l) à D(NH) comprennent chacune un nombre ND pair d'inverseurs. Ces choix de NC, NC', ND permet d'assurer que, quel que soit la valeur du nombre NR fourni par le comparateur, le nombre total d'inverseurs associés en série dans la chaîne soit impair. Cette condition est en effet indispensable pour obtenir des oscillations. Cependant, d'autres choix de NC, ND, NC' peuvent être faits. Par exemple, il est possible de choisir NC' pair et ND impair. Dans ce cas, on utilise de préférence une cellule C(l) identique aux cellules C(2) à C(NH). Il est également nécessaire, si ND est choisi impair, de prendre en compte la différence entre les temps de propagation d'un 0 et d'un 1 dans les cellules D pour les dimensionner correctement. Dans l' oscillateur 40, les cellules C(2) à C(NH) sont sélectionnées à partir des signaux SDH(l) à SDH(NL), obtenus par décodage des bits de poids forts du nombre NR fourni par le comparateur. Cependant si un oscillateur selon l'invention est réalisé à partir de cellules C(l), C(NHO) utilisant directement les signaux S(N-NHO) à S(N) correspondant aux bits de poids forts de NR, alors le décodeur 36 est bien sûr supprimé. Toutes les cellules D(l) à D (NL) comprennentun même nombre ND d'inverseurs associés en série, et dans chaque cellule, les inverseurs sont identiques. Comme ND est pair, les temps de propagation d'un 0 ou d'un 1 sont identiques dans une même cellule D(j) : TDO(j) = TD1(j) = TD(j) Les inverseurs sont cependant différents d'une cellule D à l'autre. Ils ont notamment des temps de commutation différents d'une cellule D à l'autre. Les temps de commutation des cellules D vérifient les inéquations suivantes : 0 # 2* (TD(2) - TD(1)) # AP 0 # 2*(TD(3) - TD(2)) AP 0 TD(j) est le temps de propagation, d'un 0 ou d'un 1, dans la cellule D(j), et AP est l'incertitude souhaitée sur la période PHF du signal haute fréquence produit par l'oscillateur, en d'autre termes AP est la variation maximale souhaitée de la période PHF du signal CKHF lorsque NR varie de 1. Il est à noter que les cellules D(l) à D(NL) ne sont pas nécessairement très rapides. Elles peuvent même avoir des temps de propagation supérieurs à ceux des cellules C(l) à C (NH), qui facilite leur réalisation. Par contre, ce qui est important, c'est que la différence entre les temps de propagation de deux cellules D adjacentes soit faible, c'est-à-dire que les inéquations décrites ci-dessus soient vérifiées. Dans la pratique, pour réaliser les cellules D, on utilise des inverseurs ayant des grilles de longueur différente d'une cellule à l'autre. Les temps de commutation des inverseurs sont proportionnels à L2, L étant la longueur de grille des inverseurs. Les inverseurs ayant la plus petite longueur de grille sont donc utilisés pour réaliser la cellule D(l) et les inverseurs ayant la plus grande longueur de grille sont utilisés pour réaliser la cellule D(NL). Le fonctionnement de l'oscillateur 40 est similaire à celui de l'oscillateur 20. Dans l'exemple ci-dessous, on suppose que N = 5, NLO = 2 et NHO = 3. L'oscillateur 40 comprend donc NH = 2NH0 = 8 cellules C(l) à C(8) et sa cellule C(0) comprend NL = 2NL0 - 4 cellules D(1) à D(4). On suppose par ailleurs que le comparateur 32 du générateur 30 produit le nombre binaire NRO = 01010 et que la période PHF est inférieure à sa valeur souhaitée. Le circuit 36 décode le nombre NRH = 010, correspondant aux NHO bits de poids forts de NR, et il fournit le signal actif SDH(3) = 1 permettant de sélectionner les composantes C(l) à C (3). signaux SDH(l), SDH (2), SDH (4) à SDH (8) inactifs, égaux à 0. Le circuit 34 décode le nombre NRL = 10, correspondant aux NLO 2 bits de poids faibles de NR, et il fournit le signal actif SDL(3) = 1 permettant de sélectionner la cellule D(3). Les signaux SDL(l), SDL(2), SDL (4) sont inactifs, égaux à 0. La période PHF du signal CKHF obtenu est égale à 2*(TC0+TC1)+(TC0'+TC1')+2*TD(3). Si NR augmente de 1, alors NR = NRO+1 = 01011. NRH = 010, est identique, les composantes C(l) à C(3) sont sélectionnées. Par contre, le décodage du nombre NRL = 11 fournit le signal actif SDL(4) = 1 permettant de sélectionner la cellule D(4). Comme le temps de propagation TD (4) de la cellule D (4) supérieur à celui TD (3) la cellule D (3), période augmente. De plus, la variation de période est inférieure à AP car 2*(TD(4)-TD(3)) Si NR augmente encore de 1, alors NR = 01100. NRH = 011, est modifié et son décodage fournit le signal SD2(4) = 1, permettant de sélectionner les composantes C(l) à C(4). Le nombre NRL = 00 est également modifié et son décodage fournit le signal SDL(l) = 1 permettant de sélectionner la cellule D(l). Une cellule C supplémentaire et la cellule D(l) sont ainsi ajoutées dans la chaîne. Comme (TCO+TC1) + 2*(TD(1) - TD(4)) Ainsi, si NR augmente, alors la période PHF augmente en conséquence. Inversement si NR diminue, alors la période PHF diminue en conséquence. Le fonctionnement global du générateur 30 est similaire à celui du générateur 10. Le comparateur modifie le nombre NR en fonction de la différence entre la période PHF et sa valeur souhaitée PHFO. Par exemple si, lors du démarrage du générateur, la période PHF est faible, très inférieure à sa valeur souhaitée, alors le comparateur augmente le nombre NR de manière importante (+5, +50, +100) pour augmenter la période PHF en conséquence. Dans un autre exemple si, lors du démarrage du générateur, la période PHF est importante, très supérieure à sa valeur souhaitée, alors le comparateur diminue le nombre NR de manière importante (-5, -50, - 100) pour augmenter la période PHF en conséquence. Par contre, lorsque la période PHF est proche de sa valeur souhaitée PHFO, alors l'amplitude des variations du nombre NR varie dans des proportions plus réduites (+2, - 1, +1) . Par rapport à l'oscillateur 20, l'oscillateur 40 de l'invention est beaucoup plus précis car l'incertitude sur la période PHF du signal CKHF obtenu est très réduite. Par incertitude, il faut comprendre la variation maximale de période du signal CKHF lorsque le nombre NR varie de 1. L'incertitude sur la période PHF du signal CKHF obtenu est égale à la différence entre les temps de propagation d'un 0 et d'un 1 dans deux cellules D adjacentes. L'incertitude est donc égale à AP. Par rapport à l'incertitude #P0 sur la période du signal CKHF fourni par l'oscillateur 20 de l'art antérieur, l'incertitude AP de l'oscillateur 40 est de l'ordre de AP = #P0/2NL0. Dans l'exemple décrit plus haut, l'incertitude est ainsi divisée par 4, la précision de l'oscillateur 40 est donc bien meilleure que celle de l'oscillateur 20. Si la précision souhaitée pour le générateur est très sévère, c'est-à-dire si l'incertitude AP souhaitée sur la période du signal d'horloge CKHF est très faible, alors il faut choisir un nombre NHO grand, c'est à dire une cellule C(0) comprenant un grand nombre de cellules D. Comme on l'a vu précédemment, les temps de commutation des inverseurs d'une cellule sont proportionnels à L2, L étant la longueur de grille des transistors constituant les inverseurs. Les inverseurs ayant la plus petite longueur de grille sont utilisés pour réaliser la cellule D(l) et les inverseurs ayant la plus grande longueur de grille sont utilisés pour réaliser la cellule D(NL). Cependant, les variations du procédé de fabrication du circuit intégré apportent notamment une imprécision absolue AL sur les longueurs de grille de tous les transistors. AL est constante pour tous les transistors d'un même circuit intégré. L'imprécision AL entraîne évidemment une incertitude sur les temps de commutation des inverseurs et donc sur les temps de propagation dans les cellules D(l) à D(NL). Dans des conditions très défavorables, il est alors possible, que l'inéquation suivante ne soit plus respectée : (eq. NL) 0 # (TCO + TC1) + 2*(TD(1) - TD (NL)) Dans ce cas, il n'est plus possible d'assurer que la période PHF du signal CKHF produit par l'oscillateur 40 augmente, respectivement diminue, lorsque le nombre NR augmente, respectivement diminue. En conséquence, la précision souhaitée #P ne peut plus être atteinte. Ce problème apparaît clairement dans l'exemple cidessous. On suppose que N = 5, NLO = 2 et NHO =3. L'oscillateur 40 comprend donc NH = 2NH0 = 8 composantes C(l) à C(8) et NL = 2NL0 = 4 cellules H(l) à H(4). On suppose également que le comparateur 32 produit le nombre binaire NRO = 01010. Enfin, on suppose que 2*TD(4) est supérieur à TCO+TDO + 2*TD(1). Pour NR = NRO = 01010, la cellule D(3) et les cellules C(l) à C(3) sont sélectionnées. La période PHF est égale à PHF = 2*(TCO+TC1)+(TCO'+TC1')+2*TD(3). Lorsque NR est augmenté de 1, NR = NRO+1= 01011, la cellule D(4) et les cellules C(l) à C(3) sont sélectionnées. La période du signal CKHF obtenu augmente donc puisque le temps de propagation TD(4) dans la cellule D(4) est supérieur au temps de propagation TD(3) dans la cellule D (3). de période est inférieure à #P. Lorsque NR est de nouveau augmenté de 1, NR = NRO+1 = 01100, la cellule D(l) et les cellules C(l) à C(4) sont sélectionnées. Comme 2*TD(4) est supérieur à TCO+TC1 + TD(1), la période du signal CKHF obtenu diminue, alors qu'elle aurait du augmenter avec NR. La figure 5 présente une amélioration possible du générateur de signal d'horloge de la figure 4, qui permet de supprimer les problèmes évoqués ci-dessus, et d'améliorer encore la précision du signal d'horloge CKHF produit par le générateur. La figure 5 montre un circuit de contrôle 50 qui vérifie si l'inéquation (eq. NL) citée précédemment est satisfaite ou non et qui, si nécessaire, fournit un signal de commande pour piloter le comparateur 32. Le circuit de contrôle 50 comprend un oscillateur de référence OSCref, un oscillateur OSC(NL) et un comparateur COMP(NL). L'oscillateur OSCref fournit un signal d'horloge CKref dont la période est égale à : PCKref = X*((TCO + TC1) + 2*TD(1)) X étant un nombre entier. L'oscillateur OSCref est obtenu en associant en série dans une boucle, une cellule F et X paquets de cellules. L'entrée du premier paquet est connectée à la sortie du deuxième paquet, l' entrée du X-1 ième paquet est connectée à la sortie du X1ème paquet, et l' entrée du X1ème paquet est connectée à la sortie de la cellule F dont l'entrée est connectée à la sortie du premier paquet. Chaque paquet comprend une cellule identique aux cellules C(2) à C(NH) de l'oscillateur 40 et une cellule D(l) associés en série. le signal CKref est par exemple fourni sur la sortie du premier paquet. La cellule F est une cellule comprenant un nombre impair, par exemple égal à 1, d'inverseurs associés en série. La cellule F est indispensable car les cellules C (2) à C (NH) la cellule D(l) comprennent des nombres pair d'inverseurs associés en série. Le oscillations ne sont donc pas possibles sans la cellule F. Par ailleurs, si X est grand, alors les temps de propagation d'un 0 et d'un 1 dans la cellule F ont peu d'influence sur la période PCKref, ils ont été négligés. L'oscillateur OSC (NL) fournit quant à lui un signal d'horloge CK (NL) la période est égale à : PCK(NL) = X*2*TD(NL) L'oscillateur OSC(NL) est similaire à l'oscillateur OSCref, il comprend une cellule F et X paquets de cellules, chaque paquet comprenant une cellule D(NL) identique à celle de l'oscillateur 40. L'entrée du premier paquet est connectée à la sortie du deuxième paquet, l' entrée du X-11ème paquet est connectée à la sortie du Xlème paquet, et l' entrée du Xlème paquet est connectée à la sortie de la cellule F dont l'entrée est connectée à la sortie du premier paquet. Le signal CK(NL) est produit par exemple sur une sortie du premier paquet. Le comparateur COMP(NL) comprend deux entrées sur lesquelles sont appliqués les signaux CK (NL) CKref. Le comparateur compare la période PCK (NL) la période du signal CKref, et il fournit, au comparateur 32, un signal de commande Cde (NL) a les caractéristiques suivantes: - Cde (NL) actif si PCK (NL) PCKref, c'est- à-dire si l'inéquation suivante n'est plus vérifiée : (eq. NL) 0 # (TCO + TC1) + 2*(TD(1) - TD(NL)) - Cde(NL) est inactif sinon. Lorsqu'il reçoit le signal Cde(NL), le comparateur 32 incrémente de 1 le nombre NR. Cette augmentation de 1 s'ajoute éventuellement à d'autres augmentations du nombre NR prévues par ailleurs et dues à la différence entre la période PHF et sa valeur souhaitée. L'exemple ci-dessous montre l'intérêt et le fonctionnement du générateur 30 utilisant l'oscillateur 40 et le circuit de contrôle 50. Les mêmes hypothèses que dans l'exemple précédent sont conservées, et en particulier 2*TD(4) est supérieur à TCO+TC1 + TD(1). Pour NR = NRO = 01010, la cellule D (3) etles cellules C(l) à C (3) sélectionnée. Comme TD(4) > TCO+TC1 + TD(1), le signal Cde(4) est actif et NR est augmenté de 2 au lieu de 1. Le signal NR prend donc directement la valeur 01100, la cellule D(1) et les cellules C(l) à C(3) sont sélectionnées et la période augmente. La cellule C(4) n'est finalement pas sélectionnée, elle est simplement évitée. Le circuit de contrôle 50 peut être amélioré en ajoutant un oscillateur OSC(NL-1) et un comparateur COMP(NL-1) similaires aux éléments OSC(NL) et COMP(NL). Ceci permet de vérifier l'inéquation suivante : (eq NL-1) 0 # (TCO + TC1) + 2*(TD(1) - TD(NL-l)) L'oscillateur OSC(NL-1) fournit un signal d'horloge CK(NL-1) dont la période est égale à : PCK(NL) = X*2*TD (NL-1) L'oscillateur OSC(NL-1) est similaire à l'oscillateur OSC(NL), il comprend une cellule F et X paquets de cellules, chaque paquet comprenant une cellule D(NL-1) identique à celle de l'oscillateur 40. Le comparateur COMP(NL-1) comprend deux entrées sur lesquelles sont appliqués les signaux CK(NL-1) et CKref. Le comparateur compare la période PCK(NL-1) avec la période du signal CKref, et il fournit, au comparateur 32, un signal de commande Cde(NL-1) qui a les caractéristiques suivantes : - Cde(NL-1) est actif si PCK(NL-1) > PCKref, c'est-à-dire si l'inéquation (NL-1) n'est pas vérifiée. - Cde(NL-1) est inactif sinon. Lorsqu'il reçoit le signal Cde(NL-1), le comparateur 32 augmente de 1 le nombre NR. Cette augmentation de une unité s'ajoute à l'augmentation de une unité due au signal de commande Cde(NL) et éventuellement à d'autres augmentation prévues par ailleurs et dues à la différence entre la période PHF et sa valeur souhaitée. Ainsi, si le signal Cde(NL-1) est actif, alors les cellules D(NL) et D(NL-1) ne sont pas sélectionnées si NR augmente, elles sont tout simplement évitées. Bien sûr, si nécessaire, il est possible d'ajouter d'autres oscillateurs OSC(NL-2) à OSC(l) et des comparateurs COMP(NL-2) à COMP(l) associés, pour vérifier toutes les inéquations relatives aux cellules D(l) à D(NL-2) : (eq NL-2) 0 # (TCO + TC1) + 2*(TD(1) - TD(NL-2)) (eq NL-3) 0 # (TCO + TC1) + 2*(TD(1) - TD(NL-3)) (eq 2) 0 # (TCO + TC1) + 2*(TD(1) - TD(2)) Selon une variante, le signal Cde(NL) est produit et pris en compte par le comparateur 32 uniquement si la cellule D(NL-1) est sélectionnée. Dans ce cas, l'oscillateur OSC (NL) le comparateur COMP (NL) activés chaque fois que la cellule D(NL-1) est sélectionnée. Le signal Cde(NL-1) est produit de manière similaire : il est produit et pris en compte par le comparateur 32 uniquement si la cellule D (NL-2) estsélectionnée. Dans une autre variante, l'oscillateur OSC(NL) et le comparateur COMP (NL) activés lors du démarrage de l'oscillateur et le signal Cde (NL), ou inactif, est mémorisé ; il est ensuite pris en compte le comparateur 32 uniquement si la cellule D(NL-1) est sélectionnée. Le signal Cde(NL-1) est produit de manière similaire : il est produit au démarrage de l'oscillateur et mémorisé, il est ensuite pris en compte uniquement lorsque la cellule D (NL-2) est sélectionnée. Cette variante est intéressante car elle consomme moins d'énergie que la précédente. En effet, l'oscillateur OSC(NL) et le comparateur COMP(NL) peuvent être désactivés dès que le signal Cde(NL) est mémorisé. De préférence, l'oscillateur OSC(NL-1) et le comparateur COMP(NL-1) associés sont utilisés (soit au démarrage soit chaque fois que la cellule D (NL-2) sélectionnée) uniquement si le signal Cde(NL) est actif, ce qui limite encore la consommation du circuit. REVENDICATIONS 1. Générateur comprenant un oscillateur produisant un signal d'horloge (CKHF) à partir d'un nombre de commande (NR) de N bits, N étant un nombre entier supérieur à 1, le générateur étant caractérisé en ce que l'oscillateur (40) comprend : - un premier groupe de cellules comprenant des cellules (C(l) à C (NH)), cellule comprenant au moins un inverseur associé en série, et des premiers moyens de sélection pour sélectionner un nombre variable de cellules du premier groupe de cellules en fonction de NHO bits de poids forts du nombre de commande (NR), et - un deuxième groupe de cellules comprenant des cellules (D(l) à D (NL)), cellule comprenant au moins un inverseur associé en série, et des deuxièmes moyens de sélection pour sélectionner une des cellules du deuxième groupe de cellules en fonction de NLO bits de poids faibles du nombre de commande (NR), les cellules du premier groupe et la cellule du deuxième groupe sélectionnées étant associées en série pour former une chaîne d'inverseurs. 2. Générateur selon la revendication 1, caractérisé en ce que chaque cellule (C(l) à C(NL)) du deuxième groupe de cellules est affectée d'un poids j compris entre 1 et NL, en ce que les deuxièmes moyens de sélection comprennent NL interrupteurs (INTD(l) à INTD(NL)) commandés par des signaux (SDL(l) à SDL(NL)) représentatifs des NLO bits de poids faibles du nombre de commande (NR), chaque interrupteur (INTD(j)) étant associé en série avec une cellule de même poids j entre un point d'entrée (E) et un point de sortie (S). 3. Générateur selon la revendication 1, caractérisé en ce que deux cellules différentes du deuxième groupe de cellules, de poids respectifs j, k, jk, ont des temps de propagation d'un 0 et d'un 1 (TDO(j)+TDl(j), TDO(k)+TDl(k)) différents. 4. Générateur selon la revendication 1, caractérisé en ce que la différence entre le temps de propagation (TDO(j)+TD1(j)) d'un 0 et d'un 1 dans une cellule de poids j du deuxième groupe de cellules, et le celui (TDO(j-1) + TD1(j-1)) d'une cellule de poids j-1 est inférieure à l'incertitude (#P) relative sur la période du signal (CKHF) d'horloge obtenu. 5. Générateur selon la revendication 1, caractérisé en ce que, lorsque le nombre de commande (NR) augmente de 1, une cellule (D(j)) de poids j du deuxième groupe est sélectionnée, cette cellule sélectionnée est: - la cellule de poids immédiatement supérieur à celui d'une cellule (D(j-1)) précédemment sélectionnée, ou - la cellule de poids le plus faible (D(l), une cellule C(i+1) supplémentaire du premier groupe de cellules étant dans ce cas également sélectionnée. 6. Générateur selon la revendication 1, caractérisé en ce qu'il comprend également un comparateur (32) pour comparer la période (PHF) du signal d'horloge (CKHF) avec une période souhaitée (PHFO) et fournir le nombre de commande (NR) sous la forme de N signaux logiques (S(l) à S (N)), le nombre de commande variant de la manière suivante : - le nombre de commande (NR) augmente si la période (PHF) du signal d'horloge (CKHF) est inférieure à la période souhaitée (PHFO), - le nombre de commande (NR) diminue si la période (PHF) du signal d'horloge (CKHF) est supérieur à la période souhaitée (PHFO), et - le nombre de commande (NR) est constant sinon. 7. Générateur selon la revendication 1, caractérisé en ce qu'il comprend également un premier décodeur (34), pour décoder les NLO bits de poids faibles du nombre de commande (NR) et fournir, aux deuxièmes moyens de sélection, un premier jeu de NL = 2NL0 signaux de commande (SDL(l) à SDL(NL)) ayant les propriétés suivantes : - SDL(j) = 1 si j = NRL+1, pour tout j compris entre 1 et NL, NRL correspondant à la valeur décimale des NLO bits de poids faibles du nombre de commande (NR). 8. Générateur selon la revendication 1, caractérisé en ce qu'il comprend également un deuxième décodeur (36), pour décoder les NHO bits de poids forts du nombre de commande (NR) et fournir, aux premiers moyens de sélection, un deuxième jeu de NH = 2NH0 signaux de commande (SDH(l) à SDH (NH)) les propriétés suivantes : - SDH(i) = 1 si i = NRH+1, pour tout i compris entre 1 et NH, NRH correspondant à la valeur décimale des NHO bits de poids forts du nombre de commande (NR). 9. Générateur selon la revendication 1, caractérisé en ce qu'il comprend également un circuit de contrôle (50), pour vérifier l'inéquation suivante : 0 # (TCO+TC1) + (TDO(1)+TD1(1))-(TDO(NL)+TD1(NL)) TCO+TC1 étant le temps de propagation d'un 0 et d'un 1 dans une cellule du premier groupe de cellules, TDO(1)+TD1(1) étant le temps de propagation d'un 0 et d'un 1 dans la cellule (D(l)) de poids le plus faible du deuxième groupe de cellules, TDO(NL)+TD1(NL) étant le temps de propagation d'un 0 et d'un 1 dans la cellule (D(NL) ) de poids le plus fort du deuxième groupe de cellules, le circuit de contrôle produisant un premier signal de contrôle (Cde(NL) ) si l'inéquation n'est pas vérifiée. 10. Générateur selon la revendication 9, caractérisé en ce que le circuit de contrôle (50) comprend : - un oscillateur de référence (OSCref) pour produire un signal d'horloge ayant une période de référence proportionnelle à (TCO+TC1) + (TDO(1)+TD1(1)) - un premier oscillateur de mesure (OSC(NL)) pour produire un signal d'horloge ayant une première période mesurée proportionnelle à (TDO(NL)+TD1(NL)), et - un premier circuit de comparaison (COMP(NL)), pour comparer la première période mesurée avec la période de référence et fournir le premier signal de contrôle (Cde(NL) ) actif si la période mesurée est inférieure à la période de référence. 11. Générateur selon la revendication 9, caractérisé en ce que le comparateur (32) augmente de une unité le nombre de commande (NR) lorsqu'il reçoit le signal de contrôle (Cde(NL)). 12. Générateur selon la revendication 10, caractérisé en ce que, pour vérifier l'inéquation : 0 # (TCO+TC1)+(TDO(1)+TD1(1))-(TDO(NL-1)+TD1(NL-1)), TCO+TC1 étant le temps de propagation d'un 0 et d'un 1 dans une cellule du premier groupe de cellules, le circuit de contrôle comprend également : - un deuxième oscillateur de mesure (OSC(NL-1)) pour produire un signal d'horloge ayant une deuxième période mesurée proportionnelle à (TDO(NL-1)+TD1(NL-1)), et - un deuxième circuit de comparaison (COMP(NL-1)), pour comparer la deuxième période mesurée avec la période de référence et fournir un deuxième signal de contrôle (Cde(NL-1)) actif si la période mesurée est inférieure à la période de référence. 13. Générateur selon l'une des revendications 10 à 12, caractérisé en ce le circuit de contrôle est activé au démarrage de l'oscillateur, le premier signal de contrôle (Cde(NL)) et/ou le deuxième signal de contrôle (Cde(NL-1)) produits par le circuit de contrôle étant mémorisés. 14. Générateur selon la revendication 13, caractérisé en ce que le premier signal de contrôle (Cde(NL) ) est pris en compte uniquement lorsque la cellule (D(NL-1)) de poids NL-1 du deuxième groupe de cellules est sélectionnée. 15. Générateur selon la revendication 13, caractérisé en ce que le deuxième signal de contrôle (Cde(NL-1)) est pris en compte uniquement lorsque la cellule (D(NL-2)) de poids NL-2 du deuxième groupe de cellules est sélectionnée. 16. Générateur selon l'une des revendications 10 à 12, caractérisé en ce que le circuit de contrôle est activé chaque fois que la cellule (D(NL-1)) de poids NL-1 du deuxième groupe de cellules est sélectionnée. 17. Générateur selon l'une des revendications 10 à 12, caractérisé en ce que le circuit de contrôle est activé chaque fois que la cellule (D(NL-2)) de poids NL-2 du deuxième groupe de cellules est sélectionnée.