FR 2805356 A1 20010824 FR 0002096 A 20000221 CIRCUIT DE GENERATION D'UN SIGNAL D'HORLOGE La présente invention concerne un circuit de génération d'un signal d'horloge comprenant une première source de signal d'horloge délivrant un premier signal d'horloge et au moins une seconde source de signal d'horloge délivrant un second signal d'horloge de fréquence différente, un n#ud de sortie pour délivrer un signal d'horloge de sortie, une première voie d'entrée délivrant sélectivement sur le n#ud de sortie le premier signal d'horloge associé à cette voie et au moins une seconde voie d'entrée délivrant sélectivement sur le noeud de sortie le second signal d'horloge associé à cette voie, et des moyens de commutation sans recouvrement sélectionnant l'une ou l'autre seulement de la première ou de la seconde voie d'entrée en fonction de l'état logique d'au moins un signal de sélection d'horloge, en sorte que le signal d'horloge de sortie est le signal d'horloge associé à ladite voie d'entrée sélectionnée. L'invention se rapporte au domaine des systèmes électroniques numériques synchrones, et plus particulièrement des composants électroniques numériques synchrones comme les microprocesseurs ou les microcontrôleurs. De tels composants nécessitent un signal d'horloge permettant d'assurer le cadencement de leur activité interne. Un signal d'horloge est un signal périodique à deux états comprenant des impulsions actives et des impulsions inactives alternées. Une impulsion active débute par un front d'activation et se termine par un front de désactivation. En général, les impulsions actives sont des impulsions positives, en sorte que les fronts d'activation sont les fronts montants et les fronts de désactivation sont les fronts descendants. Un tel signal d'horloge est délivré par un circuit de génération de signal d'horloge comprenant au moins une source de signal d'horloge telle qu'un oscillateur éventuellement couplé à une source d'oscillations. Ce circuit de génération peut être externe au composant. Il peut aussi être interne au composant, la source d'oscillations étant alors soit externe, dans le cas par exemple d'un quartz, d'un résonateur céramique ou d'un circuit RC, soit interne, dans le cas par exemple d'un oscillateur en anneau. Le développement constant des technologies de réalisation des composants électroniques, se traduisant notamment par l'accroissement de la densité d'intégration qui résulte de la maîtrise croissante des techniques d'implantation sub-micronique, s'accompagne d'une augmentation de la fréquence de fonctionnement des composants synchrones. Cette augmentation conduit à utiliser des circuits de génération de signal d'horloge qui délivrent un signal d'horloge de fréquence toujours plus élevée. Les fréquences de fonctionnement couramment atteintes actuellement sont de l'ordre de plusieurs centaines de mégahertz. Ceci créé des problèmes liés à l'accroissement de la consommation électrique et des émissions électromagnétiques dans le circuit de génération qui en résulte. Afin de diminuer les conséquences de ces phénomènes, on a proposé de réaliser des circuits de génération d'un signal d'horloge comportant au moins deux oscillateurs générant des signaux d'horloge de fréquences différentes. Le signal d'horloge de sortie délivré par le circuit de génération est soit l'un soit l'autre de ces signaux d'horloge, selon les besoins du composant en termes de vitesse de fonctionnement. A la figure 1, on a représenté un exemple de composant électronique numérique synchrone, par exemple un microprocesseur pP, comprenant un tel circuit de génération selon l'art antérieur. Comme montré sur cette figure, le microprocesseur pP comprend une unité centrale de calcul CPU et un circuit de génération de signal d'horloge CLKGEN qui délivre un signal d'horloge de sortie OSC sur une entrée Clockln de l'unité CPU. Le circuit CLKGEN comporte à cet effet une première source de signal d'horloge telle qu'un oscillateur OSCILLAT1 qui délivre un premier signal d'horloge OSC1 ayant une fréquence élevée, et une seconde source de signal d'horloge telle qu'un oscillateur OSCILLAT2 qui délivre un second signal OSC2 ayant une fréquence basse. Les oscillateurs OSCILLAT1 et OSCILLAT2 sont reliés dans un exemple à une source d'oscillations externe, respectivement OS1 et OS2. Ces sources sont par exemple des quartz ayant des fréquences d'oscillations différentes. Le premier oscillateur est sélectionné lorsque l'unité CPU du composant, par exemple, effectue des tâches nécessitant une vitesse de fonctionnement élevée, comme des opérations de calcul. Le second signal d'horloge est sélectionné dans les autres cas, lorsque le microprocesseur effectue des tâches ne nécessitant pas une vitesse élevée, comme des opérations de veille ou de rafraîchissement de certains organes internes ou périphériques (mémoires dynamiques, afficheurs, ... ). A cet effet, le circuit CLKGEN reçoit un signal de sélection d'horloge OSCSEL délivré par l'unité CPU. Il comprend un multiplexeur MUX à deux entrées recevant respectivement le premier OSC1 et le second OSC2 signal d'horloge, une entrée de sélection recevant le signal OSCSEL, et une sortie délivrant le signal d'horloge de sortie OSC sur l'entrée ClockIn de l'unité CPU. Le signal d'horloge de sortie OSC est alors soit le premier signal d'horloge OSC1, soit le second signal d'horloge OSC2, en fonction de l'état logique du signal OSCSEL. L'oscillateur OSCILLAT1 ou OSCILLAT2 qui n'est pas sélectionné peut être arrêté par un signal de commande respectivement CTRL1 ou CTRL2 délivré par l'unité CPU. Ainsi, les effets de l'accroissement de la consommation électrique et des émissions électromagnétiques dans le circuit de génération ne sont supportés que lorsque cela est vraiment nécessaire. Afin de prévenir un fonctionnement erratique du composant lors des changements d'état du signal de sélection d'horloge, il est connu d'utiliser pour le multiplexeur MUX des moyens de commutation sans recouvrement. De tels moyens permettent de commuter sur la sortie du multiplexeur l'un ou l'autre seulement des signaux d'horloge OSC1 ou OSC2 en fonction de l'état logique du signal de sélection d'horloge OSCSEL, en empêchant que les deux signaux d'horloge OSCI et OSC2 ne puissent se recouvrir dans le signal d'horloge de sortie OSC, notamment lors des transitions du signal OSCSEL. Néanmoins, ces moyens sont encore imparfaits en ce sens qu'un fonctionnement erratique du composant peut malgré tout se produire dans certains cas particuliers tenant à la position respective des fronts des deux signaux d'horloge. Notamment, dans le cas d'un signal d'horloge de sortie OSC actif à l'état logique haut, il a été observé que, au moment de la commutation de l'un des deux signaux d'horloge vers l'autre, des impulsions positives du signal d'horloge de sortie OSC peuvent présenter une durée inférieure à une demi-période du signal d'horloge OSC1 de fréquence la plus élevée. Or ceci peut conduire à un fonctionnement erratique du composant. En effet, la durée d'une telle impulsion positive peut alors être inférieure à un seuil déterminé par la fréquence limite de fonctionnement du composant, qui tient compte du temps de propagation des signaux dans le composant. L'invention vise à prévenir ce genre de dysfonctionnement en proposant des moyens pour empêcher la formation dans le signal d'horloge de sortie OSC d'impulsions actives dont la durée soit inférieure à celle des impulsions du signal d'horloge OSCII de fréquence la plus élevée. Ce but est atteint, conformément à l'invention, grâce à un circuit de génération de signal d'horloge du type mentionné en introduction, dans lequel, en réponse à un changement d'état logique du signal de sélection d'horloge, les moyens de commutation sans recouvrement sont commandés pour désélectionner la voie sélectionnée sur un front de désactivation de son signal d'horloge associé, et pour sélectionner la voie à sélectionner sur un front de désactivation ultérieur de son signal d'horloge associé. De cette manière, le signal d'horloge de sortie ne présente pas d'impulsion active tronquée du fait du changement d'état logique du signal de sélection d'horloge, et ce, ni à la désélection de la voie initialement sélectionnée, ni à la sélection de la voie à sélectionner. On évite ainsi le risque d'un fonctionnement erratique du composant. D'autres caractéristiques et avantages de l'invention apparaîtront encore à la lecture de la description qui va suivre. Celle-ci est purement illustrative et doit être lue en regard des dessins annexés, sur lesquels on a représenté : - à la figure 1, déjà analysée : le schéma d'un composant électronique numérique synchrone comprenant un générateur de signal d'horloge selon l'art antérieur ; - à la figure 2 : le schéma d'un microprocesseur comprenant un générateur de signal d'horloge selon l'invention ; - à la figure 3 : le schéma d'un microcontrôleur comprenant un générateur de signal d'horloge selon l'invention ; - à la figure 4: le schéma des moyens de commutation sans recouvrement d'un générateur de signal d'horloge selon l'invention ; - aux figures 5a à 5g, et aux figures 6a à 6g : des chronogrammes de signaux de fonctionnement d'un générateur de signal d'horloge selon l'invention. A la figure 2, on a représenté le schéma d'un microprocesseur l.IP comprenant un circuit de génération de signal d'horloge CLKGEN selon l'invention. Sur cette figure, les mêmes éléments qu'à la figure 1 portent les mêmes références. Le circuit CLKGEN de la figure 2 se distingue de celui de la figure 1 essentiellement par le fait que le multiplexeur MUX est remplacé par un circuit de sélection 10. Ce circuit reçoit un signal de sélection d'horloge OSCSEL délivré par l'unité centrale de calcul CPU. Il reçoit également de cette unité un signal de réinitialisation RESET sur lequel on reviendra plus loin. Il reçoit en outre le premier signal d'horloge OSC1 et le second signal d'horloge OSC2 délivrés respectivement par le premier oscillateur OSCILLAT1 et par le second oscillateur OSCILLAT2. Enfin, il délivre le signal d'horloge de sortie OSC sur l'entrée Clockln de l'unité centrale de calcul CPU. Cette dernière délivre les signaux de commande CTRL1 et CTRL2 respectivement au premier oscillateur OSCILLATI et au second oscillateur OSCILLAT2. A la figure 3, on a représenté le schéma d'un microcontrôleur #tC comprenant un circuit de génération de signal d'horloge CLKGEN selon l'invention. A la figure 3, les mêmes éléments qu'à la figure 2 portent les mêmes références. Le microcontrôleur #LC de la figure 3 se distingue du microprocesseur #tP de la figure 2 en ce qu'il comprend en outre une mémoire MEM reliée à l'unité CPU par un bus 20. Ainsi qu'il est connu, la mémoire MEM est une mémoire non volatile stockant un programme de pilotage de l'unité CPU qui est exécuté lors de la mise sous tension du microcontrôleur #1C. A la figure 4, on a représenté un schéma du circuit de sélection 10 de la figure 2 et de la figure 3. Le circuit comporte un n#ud de sortie OUT pour délivrer le signal d'horloge de sortie OSC. Dans un exemple, ce signal est actif à l'état logique haut, c'est-à-dire qu'il comprend des impulsions actives qui sont des impulsions positives. De telles impulsions actives sont comprises entre un front d'activation qui est un front montant, et un front de désactivation qui est un front descendant. Le circuit comporte également une première entrée IN1 pour recevoir le premier signal d'horloge OSCI, ainsi qu'une seconde entrée IN2 pour recevoir le second signal d'horloge OSC2. Il comporte également une troisième entrée IN3 pour recevoir le signal de sélection d'horloge OSCSEL, ainsi qu'une quatrième entrée IN4 pour recevoir le signal de réinitialisation RESET. Le circuit comporte en outre une première voie d'entrée 100 pour acheminer sélectivement le signal d'horloge OSC1 sur le n#ud de sortie OUT ainsi qu'une seconde voie d'entrée pour acheminer sélectivement le second signal d'horloge OSC2 sur le n#ud de sortie OUT. Dit autrement, ces deux voies d'entrée 100 et 200 délivrent sélectivement, sur le n#ud de sortie OUT, le premier signal d'horloge OSC1 ou le second signal d'horloge OSC2 qui leur est respectivement associé. A cet effet, la première et la seconde voie d'entrée comprennent des moyens de commutation sans recouvrement qui sélectionnent l'une ou l'autre seulement de la première ou de la seconde voie d'entrée, en fonction de l'état logique du signal de sélection d'horloge OSCSEL. Dans la suite, le premier signal d'horloge OSC1 est dit associé à la première voie d'entrée 100. De même, le second signal d'horloge OSC2 est dit associé à la seconde voie d'entrée 200. La première voie d'entrée 100 comporte un module bistable Bl activé par l'inverse logique du premier signal d'horloge OSC1, un second élément bistabie 131-133, activé par l'inverse logique du premier signal d'horloge OSC1, et une porte logique de type ET référencée AND1. Dans un mode de réalisation préféré, le premier module bistable Bl comprend une unique bascule de type D. L'entrée de donnée D de la bascule reçoit le signal de sélection d'horloge OSCSEL. L'entrée d'activation de cette bascule (repérée à la figure par le signe ">" qui indique que cette bascule est sensible à un front de signal) reçoit le signal d'horloge OSC1 par l'intermédiaire d'un inverseur logique INV1. Une bascule de type D est activée par les fronts montants du signal appliqué sur son entrée d'activation. Ce dernier étant l'inverse logique du signal d'horloge OSC1, la bascule Bl est donc activée par les fronts descendants du signal d'horloge OSC1. La sortie du premier module bistable Bl est prise sur la sortie inverseuse Q de la bascule de type D, Bl. Cette sortie délivre un signal Disable0sci. Dans un mode de réalisation préféré conforme à la figure 4, le second module bistable B2-B3 comprend, en cascade, une première bascule de type D référencée B2 et une seconde bascule de type D référencée B3. L'entrée du second module bistable correspond à l'entrée de données D de la première bascule B2. L'entrée D de la seconde bascule B3 est reliée à la sortie inverseuse U de la première bascule B2. La sortie du module bistable B2-B3 est prise sur la sortie non-inverseuse Q de la seconde bascule B3. Cette sortie délivre un signal Enable0sel. L'entrée d'activation de la première bascule B2 reçoit le signal d'horloge associé OSC1, alors que l'entrée d'activation de la seconde bascule B3 reçoit toujours le signal d'horloge associé par l'intermédiaire de l'inverseur logique INV3. On notera que le second module bistable B2-B3 est activé par les fronts de désactivation du premier signal d'horloge OSCI. En effet, le signal Enable0scl délivré par la sortie non- inverseuse Q de la seconde bascule B3 change d'état logique, le cas échéant, sur un front descendant du signal d'horloge associé OSC1. La première bascule B2 a pour fonction d'introduire un retard supplémentaire, égal à une demi-période du signal d'horloge associé OSC1, entre un changement d'état du signal porté sur l'entrée du module bistable B2-B3 et le changement d'état correspondant de la sortie de ce module bistable. Toutefois, dans un autre mode de réalisation, le second module bistable B2-B3 de la première voie d'entrée 100 comprend une unique bascule bistable de type D, par exemple la bascule B3. L'entrée d'activation de cette bascule B3 reçoit le premier signal OSC1 par l'intermédiaire de l'inverseur logique INV3. De cette manière, la bascule B3 est, également dans ce mode de réalisation, activée par les fronts descendants du premier signal d'horloge OSC1. L'entrée du second module bistable est prise sur l'entrée de données D de la bascule B3. La sortie du module bistable, formé ici de l'unique bascule B3, est prise sur la sortie inverseuse #Î de cette bascule. La seconde voie d'entrée 200 comporte un module bistable B4 activé par l'inverse logique du second signal d'horloge associé OSC2, un second élément bistable B5-B6, activé par l'inverse logique du second signal d'horloge associé OSC2, et une porte logique de type ET référencée AND2. Dans un mode de réalisation préféré, le premier module bistable B4 comprend une unique bascule de type D. L'entrée de données D de la bascule B4 reçoit le signal de sélection d'horloge OSCSEL. L'entrée d'activation de cette bascule reçoit le signal d'horloge associé OSC2 par l'intermédiaire d'un inverseur logique INV4. De cette manière, la bascule B4 est activée par les fronts descendants du second signal d'horloge associé OSC2. Lorsque la sortie du premier module bistable de la première voie 100 est prise sur la sortie inverseuse U de la bascule Bl (comme c'est le cas dans l'exemple), la sortie du premier module bistable de la seconde voie 200 est prise sur la sortie non- inverseuse Q de la bascule B4, et réciproquement. Dans l'exemple, la première voie d'entrée 100 est sélectionnée lorsque le signal de sélection d'horloge OSCSEL est à l'état logique bas, la seconde voie d'entrée étant alors désélectionnée, et la seconde voie d'entrée 200 est sélectionnée lorsque le signal de sélection d'horloge OSCSEL est à l'état logique haut, la première voie d'entrée étant alors désélectionnée. La sortie du premier module bistable (bascule 134) de la seconde voie d'entrée délivre un signal DisableOsc2. Dans un mode de réalisation préféré conforme à la figure 4, le second module bistable B5-B6 de la seconde voie d'entrée 200 comprend, en cascade, une première bascule de type D référencée B5 et une seconde bascule de type D référencée B6. L'entrée du second module bistable correspond à l'entrée de données D de la première bascule B5. L'entrée D de la seconde bascule B6 est reliée à la sortie inverseuse Q de la première bascule B5. La sortie du module bistable B5-B6 est prise sur la sortie non-inverseuse Q de la seconde bascule B6. L'entrée d'activation de la première bascule B5 reçoit le second signal d'horloge associé OSC2, alors que l'entrée d'activation de la seconde bascule B6 reçoit le second signal d'horloge associé OSC2 par l'intermédiaire d'un inverseur logique INV6. De cette manière, le module bistable B5-B6 est activée par les fronts descendants du second signal d'horloge associé OSC2. La première bascule B5 a pour fonction d'introduire un retard supplémentaire, égal à une demi-période du signal d'horloge associé OSC2, entre un changement d'état du signal porté sur l'entrée du module bistable B5-B6 et le changement d'état correspondant de la sortie de ce module bistable. Cette sortie délivre un signal EnableOsc2. Toutefois, dans un autre mode de réalisation, le second module bistable B5-B6 de la seconde voie d'entrée 200 comprend une unique bascule bistable de type D, par exemple la bascule B6. L'entrée d'activation de cette bascule B6 reçoit le second signal d'horloge associé OSC2 par l'intermédiaire de l'inverseur logique INV6. On notera que, dans ce mode de réalisation aussi, le second module bistable B5-B6 est activé par les fronts descendants du second signal d'horloge OSC2. L'entrée du second module bistable est prise sur l'entrée de donnée D de la bascule B6. La sortie du second module bistable est par contre prise sur la sortie inverseuse Q de cette bascule. Lorsque le circuit comprend deux voies d'entrée, la porte AND1 est une porte à trois entrées. La première entrée de la porte AND1 reçoit la sortie du module bistable 131. La seconde entrée de la porte AND1 reçoit la sortie du second élément bistable BI-B3. Enfin, la troisième entrée de la porte AND1 reçoit le signal d'horloge OSC1. Dit autrement, les signaux Disable0scl, Enable0scl et OSC1 sont portés respectivement sur la première, la deuxième et la troisième entrée de la porte AND1. La sortie du premier module bistable Bl de la première voie d'entrée 100 est reliée à l'entrée du second module bistable B5-B6 de la seconde voie d'entrée 200. A l'inverse, la sortie du premier module bistable B4 de la seconde voie d'entrée 200 est reliée à l'entrée du second module bistable B2-B3 de la première voie d'entrée 100. Ces connexions croisées ont pour fonction d'assurer le non-recouvrement des moyens de commutation des deux voies 100 et 200. Ce non-recouvrement provient de ce que, en réponse à un changement d'état logique du signal de sélection d'horloge OSCSEL, la voie initialement sélectionnée est désélectionnée avant que la voie à sélectionner ne soit sélectionnée. Le signal de réinitialisation RESET est asynchrone c'est à dire qu'il n'est pas activé par les fronts d'un signal d'horloge. Il est porté sur l'entrée de mise à l'état logique bas du module bistable 131. Ceci a pour effet de porter l'entrée inverseuse U de la bascule Bl à l'état logique haut lorsque le signal RESET passe à l'état logique haut. Le signal RESET est également porté sur l'entrée de mise à l'état logique haut de la bascule B3 du module bistable B2-B3. Ainsi, la sortie non-inverseuse Q de la bascule B3, et donc la sortie du module bistable B2-B3 est mise à l'état logique haut lorsque le signal RESET passe à l'état logique haut. Lorsque le second module bistable B2-B3 comprend en outre une bascule de type D référencée B2, le signal RESET est en outre porté sur l'entrée de mise à l'état logique bas de cette bascule B2. Ainsi, la sortie inverseuse #j de la bascule B2 est portée à l'état logique haut lorsque le signal RESET passe à l'état logique haut. De même pour la seconde voie d'entrée 200, le signal de réinitialisation RESET est porté sur l'entrée de mise à l'état logique bas du module bistable B4. Ceci a pour effet de porter l'entrée non-inverseuse Q de la bascule B4 à l'état logique bas lorsque le signal RESET passe à l'état logique haut. Le signal RESET est également porté sur l'entrée de mise à l'état logique bas de la bascule B6 du module bistable B5-B6. Ainsi, la sortie non-inverseuse Q de la bascule B6, et donc la sortie du second module bistable B5-B6 est mise à l'état logique bas lorsque le signal RESET passe à l'état logique haut. Lorsque le second module bistable B5-B6 comprend en outre une bascule B5, le signal RESET est en outre porté sur l'entrée de mise à l'état logique haut de cette bascule B5. Ainsi, la sortie inverseuse U de la bascule B5 est portée à l'état logique bas lorsque le signal RESET passe à l'état logique haut. L'application du signal d'initialisation RESET décrite ci-dessus a pour fonction, à la mise sous tension du composant, de sélectionner par défaut la première voie d'entrée 100. En effet, on notera que le signal Disable0sel et le signal Enable0scl sont alors à l'état logique haut, alors que le signal Disable0sc2 et le signal Enable0sc2 sont à l'état logique bas. Le fonctionnement du circuit de sélection de la figure 4 en réponse à un changement d'état du signal de sélection d'horloge OSCSEL va maintenant être décrit, en envisageant successivement deux cas distincts. Dans le premier cas, on supposera que la voie 100 est initialement sélectionnée. La seconde voie d'entrée 200 est alors la voie à sélectionner. Dit autrement, le signal OSCSEL est initialement à l'état logique bas et passe à l'état logique haut. Ce changement d'état logique du signal de sélection d'horloge OSCSEL a alors pour effet de commuter le second signal d'horloge OSC2 associé à la seconde voie d'entrée 200 sur la borne de sortie OUT. Dans le second cas, on supposera que la voie 200 est initialement sélectionnée. La seconde voie d'entrée 100 est alors la voie à sélectionner. Dit autrement, le signal OSCSEL est initialement à l'état logique haut et passe à l'état logique bas. Ce changement d'état logique du signal de sélection d'horloge OSCSEL a alors pour effet de commuter le premier signal d'horloge OSC1 associé à la première voie d'entrée 100 sur la borne de sortie OUT. Ces deux cas sont décrits ci- dessous en référence aux chronogrammes respectivement des figures 5a à 5g et des figures 6a à 6g. Aux figures 5a et 6a, on a représenté l'allure du premier signal d'horloge OSC1. De même, aux la figures 5b et 6b, on a représenté celle du second signal d'horloge OSC2. Dans l'exemple, le signal d'horloge OSC1 a une fréquence supérieure à celle du signal d'horloge OSC2. Les figures 5c et 6c montrent l'allure du signal de sélection d'horloge OSCSEL dans chaque cas respectivement. Les figures 5d et 6e montrent l'allure du signal Disable0scl dans chaque cas respectivement, et les figures 5e et 6d montrent l'allure du signal Disable0sc2 dans chaque cas respectivement. De plus, la figure 5f montre l'allure du signal Enable0sc2 dans le premier cas, alors que la figure 6f montre l'allure du signal Enable0scl dans le second cas. Enfin, les figures 5g et 6g montrent l'allure du signal d'horloge de sortie OSC dans chaque cas respectivement. Sur le figures, les implications logiques entre les différents signaux sont symbolisées par des flèches. Pour le premier cas, le signal OSCSEL est initialement à l'état logique bas, ainsi que le montre la figure 5c ce qui implique que la première voie d'entrée 100 est sélectionnée. En conséquence, le signal d'horloge de sortie OSC se confond initialement avec le premier signal d'horloge OSC1. Supposons que, sur un front montant déterminé du signal d'horloge OSC (qu'elle reçoit sur son entrée d'horloge Clockln), l'unité centrale de calcul CPU commande un changement d'état du signal OSCSEL. Le signal OSCSEL passe alors à l'état logique haut, comme montré sur la figure 5c, et présente donc un front montant. De retour à la figure 4, le signal OSCSEL est échantillonné par la bascule Bl sur le premier front descendant suivant du premier signal d'horloge OSC1, en sorte que le signal Disable0scl passe de l'état logique haut à l'état logique bas. Ceci a pour effet de désélectionner la première voie d'entrée 100. En effet, la porte AND1 ne transmet plus le signal d'horloge OSC1 sur le noeud de sortie OUT. Selon un avantage de l'invention, ceci se produit sur un front de désactivation du signal d'horloge OSC1 associé à la voie 100 initialement sélectionnée. De la sorte, l'impulsion active correspondante du signal d'horloge de sortie OSC, qui est en phase avec ce signal d'horloge OSCII, n'est pas tronquée par la fin. On notera que, pendant une période de temps déterminée, le signal d'horloge de sortie OSC est un signal plat à l'état logique bas, comme montré à la figure 5g. De même, le signal OSCSEL est échantillonné par la bascule B4 sur le premier front descendant du second signal d'horloge OSC2 associé à la seconde voie 200, qui fait suite au passage à l'état logique haut du signal OSCSEL, en sorte que le signal Disable0sc2 passe de l'état logique bas à l'état logique haut. La seconde voie d'entrée 200 n'est toutefois pas encore sélectionnée, puisque le signal Enable0sc2 est encore à l'état logique bas, et que la porte AND2 ne peut donc transmettre le second signal d'horloge OSC2 sur le n#ud de sortie OUT. On notera que la sélection de la seconde voie d'entrée 200 est réalisée par celui des passages à l'état logique haut du signal Enable0sc2 ou du signal Disable0sc2 qui se produit en second. Dans l'exemple décrit aux figures il s'agit du signal Enable0sc2 mais il pourrait aussi s'agir du signal Disable0sc2. Le passage à l'état logique haut du signal Enable0sc2 est réalisé de la manière suivante. Le signal Disable0scl est échantillonné par la bascule B5 sur les fronts montants du second signal d'horloge OSC2, et la sortie Q de la bascule B5 est échantillonnée par la bascule B6 sur les fronts descendants du second signal d'horloge OSC2. En conséquence, la sortie U de la bascule B5 passe à l'état logique haut sur la premier front montant du second signal d'horloge OSC2 qui suit le passage à l'état logique bas du signal Disable0scl. Il en résulte que la sortie Q de la bascule B6 et donc le signal EnableOsc2 passent à l'état logique haut sur le front descendant suivant du signal d'horloge OSC2, c'est-à-dire une demi-période du signal d'horloge OSC2 plus tard. Dit autrement, une fois que la première voie d'entrée 100 est désélectionnée, la seconde voie d'entrée 200 est sélectionnée sur un front descendant ultérieur du signal d'horloge OSC2 qui lui est associé. Le second signal d'horloge OSC2 est alors délivré sur le noeud de sortie OUT. En effet la porte logique AND2 transmet alors les impulsions actives du second signal d'horloge OSC2. Le signal d'horloge de sortie OSC se confond donc avec celui-ci, au temps de propagation dans les portes logiques AND2 et OR1 près. Selon un avantage de l'invention, ceci se produit sur un front de désactivation du second signal OSC2, en raison du fait que la bascule B6 dont la sortie délivre le signal EnableOsc2 est activée par un front descendant du signal OSC2. De cette façon, la première impulsion active suivante du second signal d'horloge OSC2, se produit à un moment où la seconde voie d'entrée 200 est déjà sélectionnée, en sorte que cette impulsion est transmise sans déformation sur le noeud de sortie OUT. Cette impulsion constitue la première impulsion active du signal d'horloge OSC en phase avec le second signal d'horloge OSC2, comme le montre le chronogramme de la figure 5g. La première impulsion active du signal d'horloge de sortie OSC ne risque donc pas d'être tronquée. En particulier, elle ne risque donc pas d'avoir une durée inférieure à la demi- période du premier signal d'horloge OSC1. Pour le second cas, le signal OSCSEL est initialement à l'état logique haut, ainsi que le montre la figure 6c ce qui implique que la seconde voie d'entrée 200 est sélectionnée. Le signal d'horloge de sortie OSC se confond donc initialement avec le second signal d'horloge OSC2. Supposons que, sur un front montant déterminé du signal d'horloge OSC, l'unité centrale de calcul CPU commande un changement d'état du signal OSCSEL. Le signal OSCSEL passe alors à l'état logique bas, comme montré sur la figure 6c, et présente donc un front descendant. De retour à la figure 4, le signal OSCSEL est échantillonné par la bascule B4 sur le premier front descendant suivant du second signal d'horloge OSC2, en sorte que le signal Disable0sc2 passe de l'état logique haut à l'état logique bas. Ceci a pour effet de désélectionner la seconde voie d'entrée 200. En effet, la porte AND2 ne transmet plus le signal d'horloge OSC2 sur le noeud de sortie OUT. Selon un avantage de l'invention, ceci se produit sur un front de désactivation du signal d'horloge OSC2 associé à la voie 200 initialement sélectionnée. De la sorte, l'impulsion active correspondante du signal d'horloge de sortie OSC, qui est en phase avec ce signal d'horloge OSC2, n'est pas tronquée par la fin. On notera que, pendant une période de temps déterminée, le signal d'horloge de sortie OSC est un signal plat à l'état logique bas, comme montré à la figure 6g. De même, le signal OSCSEL est échantillonné par la bascule Bl sur le premier front descendant du premier signal d'horloge OSC1 associé à la première voie 100, qui fait suite au passage à l'état logique bas du signal OSCSEL, en sorte que le signal Disable0scl passe de l'état logique bas à l'état logique haut. La seconde voie d'entrée 100 n'est toutefois pas encore sélectionnée, puisque le signal Enable0scl est encore à l'état logique bas, et que la porte AND1 ne peut donc transmettre le premier signal d'horloge OSC1 sur le n#ud de sortie OUT. On notera en effet que la sélection de la seconde voie d'entrée 200 est réalisée par celui des passages à l'état logique haut du signal Enable0scl ou du signal Disable0scl qui se produit en second. Dans l'exemple décrit aux figures il s'agit du signal Enable0scl mais il pourrait aussi s'agir du signal Disable0scl. Le passage à l'état logique haut du signal Enable0scl est réalisé de la manière suivante. Le signal Disable0sc2 est échantillonné par la bascule B2 sur les fronts montants du premier signal d'horloge OSC1, et la sortie Q de la bascule B2 est échantillonnée par la bascule B3 sur les fronts descendants du premier signal d'horloge OSC1. En conséquence, la sortie U de la bascule B2 passe à l'état logique haut sur la premier front montant du premier signal d'horloge OSC1 qui suit le passage à l'état logique bas du signal Disable0sc2. Il en résulte que la sortie Q de la bascule B3 et donc le signal Enable0scl passent à l'état logique haut sur le front descendant suivant du premier signal d'horloge OSC1, c'est-à-dire une demi-période du signal d'horloge OSC1 plus tard. Dit autrement, une fois que la seconde voie d'entrée 200 est désélectionnée, la première voie d'entrée 100 est sélectionnée sur un front descendant ultérieur du premier signal d'horloge OSC1 qui est associé à cette voie. Le premier signal d'horloge OSC1 est alors délivré sur le n#ud de sortie OUT. En effet, la porte logique AND1 transmet alors les impulsions actives du premier signal d'horloge OSC1. Le signal d'horloge de sortie OSC se confond donc avec celui-ci, au temps de propagation dans les portes logiques AND1 et ORI près. Selon un avantage de l'invention, ceci se produit sur un passage à l'état logique bas du premier signal d'horloge OSC1, en raison du fait que la bascule B3 dont la sortie délivre le signal Enable0sel est activée par un front descendant du premier signal d'horloge OSCII. De cette façon, la première impulsion active suivante du premier signal d'horloge OSC1 se produit à un moment où la première voie d'entrée 100 est déjà sélectionnée, en sorte que cette impulsion est transmise sans déformation sur le n#ud de sortie OUT. Cette impulsion constitue la première impulsion active du signal d'horloge OSC en phase avec le premier signal d'horloge OSC1, comme le montre le chronogramme de la figure 6g. La première impulsion active du signal d'horloge de sortie OSC ne risque donc pas d'être tronquée. En particulier, elle ne risque donc pas d'avoir une durée inférieure à la demi-période du premier signal d'horloge OSC1. Le mode de réalisation préféré, seul envisagé dans la description du fonctionnement du circuit de sélection de la figure 4 donnée ci-dessus, et dans lequel le second module bistable de chaque voie d'entrée 100 ou 200 comprend deux bascules de type D, est avantageux car la première bascule de type D, respectivement B2 ou B5, de ce second module introduit un retard à la sélection de la voie à sélectionner qui permet d'éviter que le signal d'horloge de sortie présente une impulsion, active ou inactive, de durée inférieure à une demi période du signal d'horloge OSCII. Ce retard augmente la période de temps pendant laquelle aucune voie d'entrée n'est sélectionnée en sorte que le signal d'horloge de sortie OSC est constant à l'état logique bas. Toutefois, du point de vue de la durée d'inactivité de l'unité de calcul CPU qui en découle, cette période de temps reste négligeable compte tenu de la fréquence des signaux d'horloge OSC1 et OSC2. L'invention a été décrite ci-dessus dans le cadre d'un exemple non limitatif. En particulier, les impulsions actives du signal d'horloge de sortie OSC peuvent être les impulsions complémentaires des impulsions positives envisagées dans l'exemple. Dans ce cas les fronts d'activation des modules bistables sont les fronts descendants du premier signal d'horloge OSCII et du second signal d'horloge OSC2, et les fronts de désactivation sont les fronts montants de ces signaux. En outre, il est possible de réaliser des circuits de génération de signal d'horloge suivant l'enseignement de l'invention, qui comprennent plus de deux oscillateurs différents, par exemple trois. Dans ce cas, le schéma du circuit de sélection 10 doit être complété par une voie d'entrée supplémentaire comprenant des moyens supplémentaires assurant la commutation sans recouvrement d'une voie parmi trois. Dans ce cas également, les portes logiques de type ET doivent présenter quatre entrées. En outre, deux signaux de sélection d'horloge sont requis, coopérant avec des moyens de décodage appropriés. REVENDICATIONS 1. Circuit de génération d'un signal d'horloge comportant : - une première source de signal d'horloge (OSCILLAT11) délivrant un premier signal d'horloge (OSC1) et au moins une seconde source de signal d'horloge (OSCILLAT2) délivrant un second signal d'horloge (OSC2) de fréquence différente ; - un n#ud de sortie (OUT) pour délivrer un signal d'horloge de sortie (OSC) 5 - une première voie d'entrée (100) délivrant sélectivement sur le n#ud de sortie (OUT) le premier signal d'horloge (OSCl) associé à cette voie, et au moins une seconde voie d'entrée (200) délivrant sélectivement sur le n#ud de sortie (OUT) le second signal d'horloge (OSC2) associé à cette voie, la première et la seconde voie d'entrée (100,200) comprenant des moyens de commutation sans recouvrement (1311-136) qui sélectionnent l'une ou l'autre seulement de la première ou de la seconde voie d'entrée, en fonction de l'état logique d'au moins un signal de sélection d'horloge (OSCSEL), caractérisé en ce que, en réponse à un changement d'état logique du signal de sélection d'horloge (OSCSEL), les moyens de commutation sans recouvrement sont commandés pour désélectionner la voie sélectionnée sur un front de désactivation de son signal d'horloge associé, et pour sélectionner la voie à sélectionner sur un front de désactivation ultérieur de son signal d'horloge associé. 2. Circuit de génération selon la revendication 1, caractérisé en ce qu'il comprend une porte logique de type OU (OR'l) dont une première entrée reçoit la sortie de la première voie d'entrée (100) et dont une seconde entrée reçoit la sortie de la seconde voie d'entrée (200), la sortie de ladite porte logique (ORl) étant reliée au n#ud de sortie (OUT) du générateur pour délivrer le signal d'horloge de sortie (OSC). 3. Circuit de génération selon la revendication 1 ou la revendication 2, caractérisé en ce que la première voie d'entrée (100) comporte un premier module bistable (BI) et un second module bistable (B2-B3) activés par l'inverse logique du premier signal d'horloge (OSC1) associé, ainsi qu'une porte logique de type ET (AND1) dont une première entrée reçoit la sortie du premier module bistable (BI), dont une deuxième entrée reçoit la sortie du second élément bistable (B2-B3), et dont une troisième entrée reçoit le premier signal d'horloge (OSC1) associé, en ce que la seconde voie d'entrée (200) comporte un premier module bistable (B4) et un second module bistable (B5,B6) activés par l'inverse logique du second signal d'horloge (OSC2) associé, ainsi qu'une porte logique de type ET (AND2) dont une première entrée reçoit la sortie du premier module bistable (134), dont une deuxième entrée reçoit la sortie du second module bistable (B5,B6), et dont une troisième entrée reçoit le second signal d'horloge (OSC2) associé, en ce que l'entrée du premier module bistable (BI) de la première voie d'entrée (100) et l'entrée du premier module bistable (134) de la seconde voie d'entrée (200) reçoivent le signal de sélection d'horloge (OSCSEL), et en ce que en ce que la sortie du premier module bistable (BI) de la première voie d'entrée (100) est reliée à l'entrée du second module bistable (B5,B6) de la seconde voie d'entrée (200), alors que la sortie du premier module bistable (B4) de la seconde voie d'entrée (200) est reliée à l'entrée du second module bistable (B2,B3) de la première voie d'entrée (100). 4. Circuit de génération selon la revendication 3, caractérisé en ce que le premier module bistable (Bl,B4) de chaque voie d'entrée comprend une unique bascule de type D, et en ce que la sortie du premier module bistable (BI) de la première voie d'entrée (100) est prise sur la sortie inverseuse (Qb) de sa bascule de type D alors que la sortie du premier module bistable (B4) de la seconde voie d'entrée (200) est prise sur l'entrée non-inverseuse (Q) de sa bascule de type D, ou vice versa. 5. Circuit de génération selon la revendication 3 ou selon la revendication 4, caractérisé en ce que le second module bistable (B2-B3,B5- B6) de chaque voie d'entrée (100,200), comprend en cascade une première bascule de type D (B2,B5) et une seconde bascule de type D (B3,B6), l'entrée de ladite seconde bascule de type D étant reliée à la sortie inverseuse de ladite première bascule de type D, et la sortie dudit module bistable étant prise sur la sortie non-inverseuse de ladite seconde bascule de type D. 6. Circuit de génération selon la revendication 3 ou selon la revendication 4, caractérisé en ce que le second module bistable (B2-B3,B5- B6) de chaque voie d'entrée (100,200), comprend une unique bascule de type D (B3,B6), la sortie dudit module bistable étant prise sur la sortie inverseuse de ladite bascule de type D. 7. Circuit de génération selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend des moyens pour, à la mise sous tension, sélectionner par défaut la première voie d'entrée (100). 8. Composant électronique numérique synchrone caractérisé en ce qu'il comporte un circuit de génération de signal d'horloge (CLKGEN) selon l'une quelconque des revendications 1 à 7. 9. Microcontrôleur (pC) caractérisé en ce qu'il comporte un circuit de génération de signal d'horloge (CLKGEN) selon l'une quelconque des revendications 1 à 7. 10. Microprocesseur (pP) caractérisé en ce qu'il comporte un circuit de génération de signal d'horloge (CLKGEN) selon l'une quelconque des revendications 1 à 7.