Brevet FR3153433A1 — publié le 20250328

Circuit de fourniture d'un signal d'horloge La présente description concerne un circuit (180) de fourniture d'un signal d'horloge comprenant un sélecteur (320) d'un signal parmi plusieurs signaux d'horloge (CK50,CK100,CK150,CK200); un commutateur (225) entre le sélecteur et un nœud de fourniture (NOUT) du signal d'horloge sélectionné, le circuit (180) étant configuré pour que l'application d'une commande de sélection d'un des signaux d'horloge provoque, dans l'ordre, l'ouverture du commutateur (225), la sélection du signal via le sélecteur (320), et la fermeture du commutateur (225). Figure pour l'abrégé : Fig. 3 Circuit de fourniture d'un signal d'horloge La présente description concerne de façon générale les circuits de fourniture d'un signal d'horloge, et les procédés associés. La plupart des circuits digitaux utilisent plusieurs signaux d’horloge pour contrôler la synchronicité de leurs opérations. Dans l’utilisation de ces circuits, la sélection et le passage d’un signal d’horloge à un autre requiert une attention particulière au risque de générer des impulsions non voulues (« glitch » en anglais). Les solutions actuelles pour la sélection de signal d’horloge sont consommatrices en énergie et en surface de puce. Il existe un besoin pour limiter la création d’impulsions non voulues (glitchs) lors de la sélection d’un signal d’horloge tout en limitant la consommation énergétique et la surface de puce nécessaire. Un mode de réalisation pallie tout ou partie des inconvénients des circuits électroniques connus. Un mode de réalisation prévoit un circuit de fourniture d'un signal d'horloge comprenant : un sélecteur d'un signal parmi plusieurs signaux d'horloge ; un commutateur entre le sélecteur et un nœud de fourniture du signal d'horloge sélectionné, le circuit étant configuré pour que l'application d'une commande de sélection d'un des signaux d'horloge provoque, dans l'ordre, l'ouverture du commutateur, la sélection du signal via le sélecteur, et la fermeture du commutateur. Un mode de réalisation prévoit un procédé de fonctionnement d’un circuit de fourniture d’un signal d’horloge, le procédé comprenant, suite à l’application d'une commande de sélection d'un signal, les étapes successives suivantes : - l'ouverture d’un commutateur reliant un sélecteur d'un signal d'horloge parmi plusieurs et un nœud de fourniture ; - la sélection du signal via le sélecteur et ; - la fermeture du commutateur. Dans un mode de réalisation, le circuit est configuré pour ouvrir le commutateur lorsqu’un changement dans la commande de sélection est détecté. Dans un mode de réalisation, le circuit est configuré pour sélectionner ledit signal après un premier retard, d’au moins deux fronts montants d’un signal de décalage, suivant la détection du changement. Dans un mode de réalisation, le circuit est configuré pour fermer le commutateur après un deuxième retard, d’au moins deux fronts montant du signal de décalage, suivant ladite sélection. Dans un mode de réalisation, le circuit électronique est configuré pour générer, avec un premier circuit, un premier signal lorsque le changement est détecté. Dans un mode de réalisation, le circuit est configuré pour générer, avec un deuxième circuit, un deuxième signal, issu du premier signal, et décalé dans le temps du premier retard. Dans un mode de réalisation, le deuxième circuit comprenant une bascule de type RS dont une sortie est reliée à un inverseur qui est en série avec une entrée d’un registre à décalage d’au moins deux étages et/ou une cellule retardateur ; le deuxième signal étant généré sur une sortie du registre à décalage ; une première entrée de la bascule de type RS étant configurée pour recevoir le premier signal et une deuxième entrée de la bascule de type RS étant configurée pour recevoir le deuxième signal. Dans un mode de réalisation, le circuit comprend un troisième circuit configuré pour autoriser la propagation de la commande de sélection au sélecteur de signal en fonction d’une sortie d’un premier bloc logique apte à réaliser une fonction NON-OU à partir d’un signal présent en sortie de l’inverseur et du deuxième signal. Dans un mode de réalisation, le troisième circuit comprenant une bascule de verrouillage par signal de commande composant la commande de sélection, chaque bascule de verrouillage ayant : - une entrée de grille reliée à la sortie du premier bloc logique, - une entrée de donnée configurée pour recevoir le signal de commande correspondant, et - une sortie reliée au sélecteur de signal. Dans un mode de réalisation, ledit signal de décalage est un signal d’horloge ayant une fréquence inférieure ou égale à celle du signal, parmi lesdits plusieurs signaux d’horloge, ayant la plus faible fréquence. Dans un mode de réalisation, le commutateur comprend un premier bloc dont : une entrée d’horloge est reliée au sélecteur, une première entrée d’activation est reliée à la sortie du premier bloc logique, et une sortie est reliée à une deuxième entrée d’activation d’un deuxième bloc du commutateur ; une sortie du deuxième bloc du commutateur étant reliée au nœud de fourniture et une entrée d’horloge du deuxième bloc étant reliée à une sortie du sélecteur. Dans un mode de réalisation, le commutateur est configuré pour être ouvert lorsque la sortie du premier bloc logique est à un niveau bas. Dans un mode de réalisation, le commutateur est configuré pour être fermé lorsque la sortie du premier bloc logique est à un niveau haut, le signal d’horloge sélectionné se retrouvant alors sur le nœud de fourniture. Dans un mode de réalisation, le premier bloc du commutateur comprend une première et une deuxième bascules en série, l’entrée d’horloge du premier bloc étant une entrée d’horloge de la première bascule et la sortie de la deuxième bascule étant reliée à la deuxième entrée d’activation du deuxième bloc. Un mode de réalisation prévoit un microcontrôleur comprenant un circuit de fourniture de signal d’horloge tel que décrit ci-dessus. Ces caractéristiques et avantages, ainsi que d'autres, seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non limitatif en relation avec les figures jointes parmi lesquelles : la FIG. 1 représente une vue schématique d’un exemple de circuit électronique ; la FIG. 2 représente de façon très schématique un exemple d’implémentation d’un bloc du circuit électronique de la FIG. 1 ; la FIG. 3 représente de façon très schématique un bloc du circuit électronique de la FIG. 1 selon un mode de réalisation ; la FIG. 4 représente un circuit du bloc de la FIG. 3 selon un mode de réalisation ; la FIG. 5 représente un circuit du bloc de la FIG. 3 selon un mode de réalisation ; la FIG. 6 représente un circuit du bloc de la FIG. 3 selon un mode de réalisation ; la FIG. 7 représente un circuit du bloc de la FIG. 3 selon un mode de réalisation ; et la FIG. 8 est un chronogramme de fonctionnement du bloc de la FIG. 3 . De mêmes éléments ont été désignés par de mêmes références dans les différentes figures. En particulier, les éléments structurels et/ou fonctionnels communs aux différents modes de réalisation peuvent présenter les mêmes références et peuvent disposer de propriétés structurelles, dimensionnelles et matérielles identiques. Par souci de clarté, seuls les étapes et éléments utiles à la compréhension des modes de réalisation décrits ont été représentés et sont détaillés. Sauf précision contraire, lorsque l'on fait référence à deux éléments connectés entre eux, cela signifie directement connectés sans éléments intermédiaires autres que des conducteurs, et lorsque l'on fait référence à deux éléments reliés (en anglais "coupled") entre eux, cela signifie que ces deux éléments peuvent être connectés ou être reliés par l'intermédiaire d'un ou plusieurs autres éléments. Dans la description qui suit, lorsque l'on fait référence à des qualificatifs de position absolue, tels que les termes "avant", "arrière", "haut", "bas", "gauche", "droite", etc., ou relative, tels que les termes "dessus", "dessous", "supérieur", "inférieur", etc., ou à des qualificatifs d'orientation, tels que les termes "horizontal", "vertical", etc., il est fait référence sauf précision contraire à l'orientation des figures. Sauf précision contraire, les expressions "environ", "approximativement", "sensiblement", et "de l'ordre de" signifient à 10 % près, de préférence à 5 % près. La FIG. 1 représente une vue schématique d’un exemple de circuit électronique 100. Le circuit 100 comprend une mémoire 120 (FLASH MEMORY) par exemple non volatile, ou de type mémoire FLASH, capable de communiquer, via un bus de communication 110, avec par exemple une interface de mémoire 130 (FLASH INTERFACE) configurée pour écrire ou lire des données dans et depuis la mémoire non-volatile 120. Le circuit 100 comprend en outre, par exemple, une unité de traitement 150 (CPU) comprenant un ou plusieurs processeurs sous contrôle d’instructions stockées dans une mémoire d’instructions 170 (INSTR MEM). La mémoire d’instruction 170 est par exemple une mémoire volatile de type à accès aléatoire (en anglais Random Access Memory, RAM). L’unité de traitement 150 et la mémoire 170 communiquent, par exemple, via un bus système 160 (de données, d’adresses et de commande). La mémoire 120 est reliée au bus système 160 par l’intermédiaire de l’interface de mémoire non-volatile 130 et par l’intermédiaire du bus 110. Le dispositif 100 comprend en outre par exemple une interface d’entrée/sortie 140 (I/O interface) reliée au bus système 160 pour communiquer avec l’extérieur. Le circuit 100 peut intégrer d'autres circuits mettant en œuvre d'autres fonctions (par exemple, une ou plusieurs mémoires volatiles et/ou non-volatiles, d'autres unités de traitement), non illustrées en FIG. 1 . Parmi ces autres circuits, le circuit 100 comporte par exemple une mémoire morte ou statique. Certains ou l’ensemble des différents éléments 110,120,130,140,150,160,170 peuvent avoir un fonctionnement numérique. Dans ce cas, le cadencement de leurs opérations est par exemple obtenu en utilisant un ou plusieurs signaux d’horloge représentant une suite d’impulsions, par exemple sous forme de créneaux, alternant entre un état haut (1) et un état bas (0). Le circuit 100 comprend un bloc de fourniture 180 (CLKS PROVIDER) d’un ou plusieurs signaux d’horloge. Ce bloc de fourniture est par exemple relié, préférablement connecté, à un ou l’ensemble des éléments 110, 120,130,140,150,160,170. Le bloc de fourniture 180 peut avoir à changer le signal d’horloge, par exemple avec un signal à plus haute ou plus basse fréquence, qu’il fournit aux éléments auxquels il est connecté. Ce changement se fait par exemple en sélectionnant un parmi plusieurs signaux d’horloge mis à disposition par des circuits de génération de signaux d’horloge non illustrés. La sélection d’un signal d’horloge parmi plusieurs nécessite une attention particulière car, si le signal d’horloge à changer est interrompu au mauvais moment, par exemple à l’état haut, ou bien lors du passage d’un signal d’horloge à l’autre, cela peut engendrer des impulsions parasites. La FIG. 2 représente de façon très schématique un exemple d’implémentation d’un bloc du circuit électronique de la FIG. 1 . Plus particulièrement, la FIG. 2 illustre un exemple d’implémentation du bloc de fourniture 180. L’exemple de la FIG. 2 comprend un premier, un deuxième, un troisième et un quatrième circuits commutateurs 225, par exemple similaires entre eux. Chacun des commutateurs 225 comprend par exemple un premier bloc 202 formant une cellule de resynchronisation. Le premier bloc 202 comprend par exemple une première et une deuxième bascule 210, 220, par exemple des bascules D, en série. Dans un exemple ces bascules forment un registre à décalage. Dans un autre exemple, les deux bascules 210 et 220 sont de type à détection de front montant. La première bascule 210 comprend une entrée d’horloge CP, une entrée de réinitialisation (« reset » en anglais) R et une entrée dite de d’activation D. Une sortie de la première bascule 210 est reliée à l’entrée de la deuxième bascule 220. Les entrées d’horloge CP et de réinitialisation R de la première bascule 210 des commutateurs 225 correspondent respectivement à une entrée d’horloge CP et à une entrée de réinitialisation R des commutateurs 225 respectifs. L’entrée d’horloge CP de chaque commutateur 225 est configurée pour être reliée à un rail recevant un signal d’horloge C25, CK50, CK100, CK200, de fréquence ou de rapport cyclique différents d’un commutateur 225 à l’autre. Dans un exemple, un signal CK25 a une fréquence par exemple de 25 MHz, le signal CK50 a une fréquence double du signal CK25, le signal CK100 a une fréquence double du signal CK50 et le signal CK200 a une fréquence double du signal CK100. L’entrée D de chacune des premières bascules 210 de chaque commutateur 225 est configurée pour recevoir un signal d’activation respectif A_EN_25, A_EN_50, A_EN_100, A_EN_200. L’entrée D de chaque première bascule 210 correspond à une entrée d’activation D du commutateur 225 respectif. Dans l’exemple représenté, chaque commutateur 225 comprend en outre un deuxième bloc 230. Une sortie Q de la deuxième bascule 220 de chaque commutateur 225 est reliée à une entrée d’activation E du deuxième bloc 230 du commutateur 225 respectif. L’entrée d’activation E respective de chaque deuxième bloc 230 est configurée pour recevoir un signal d’activation S_EN_25, S_EN_50, S_EN_100, S_EN_200 qui correspond au signal de sortie sur la sortie Q de la deuxième bascule 220 du premier bloc 202 correspondant. De façon générale on nomme S_EN_CK le signal d’activation respectif correspond au signal de sortie sur la sortie Q de la deuxième bascule 220 du premier bloc 202 correspondant à un signal d’horloge CK. Dans un exemple, les deuxièmes blocs 230 sont formés avec une bascule D. Les deuxième blocs 230 comprennent en outre une entrée d’horloge CP reliée au premier rail correspondant recevant un des signaux d’horloge CK25, CK50, CK100, CK200. Une sortie Q du deuxième bloc 230 est reliée à un nœud de fourniture NOUT, NOUT2, NOUT3 et NOUT4 du commutateur 225 correspondant. Les commutateurs 225, par l’intermédiaire des deuxième bloc 230, agissent comme des cellules de commutation de signal d’horloge (« Clock Gating » en anglais) en arrêtant de propager le signal d’horloge vers les nœuds de fourniture respectifs NOUT, NOUT2, NOUT3, NOUT4 seulement lorsque le signal d’horloge est à l’état bas pour éviter des impulsions parasites et du moment que le signal d’activation du deuxième bloc 230 est synchrone avec le signal d’horloge à arrêter ou à propager. Le premier bloc 202 permet que le signal d’activation du deuxième bloc 230 soit synchrone avec le signal d’horloge à arrêter ou à propager. En fonctionnement, les commutateurs 225 peuvent être dans un état ouvert ou dans un état fermé. Dans un état dit fermé, les commutateurs 225 permettent la propagation du signal d’horloge reçu sur leur entrée d’horloge CP, autrement dit l’entrée d’horloge commune à la première bascule 210 et au deuxième bloc, vers leur nœud de fourniture respectifs NOUT, NOUT2, NOUT3, NOUT4. Dans un état dit ouvert, les commutateurs 225 ne permettent plus la propagation du signal d’horloge vers le nœud de fourniture respectif NOUT, NOUT2, NOUT3, NOUT4. Dans les exemples de fonctionnement suivants, les deux bascules 210 et 220 sont de type à détection de front montant. En ce qui concerne les commutateurs 225, pour passer du mode ouvert au mode fermé, le signal d’activation respectif A_EN_25, A_EN_50, A_EN_100, A_EN_200 du premier bloc est à l’état bas, ainsi que le signal d’activation S_EN_25, S_EN_50, S_EN_100, S_EN_200 du deuxième bloc 230 et le signal sur le nœud de fourniture respectif NOUT, NOUT2, NOUT3, NOUT4 est à l’état bas. Ensuite, le signal d’activation respectif A_EN_25, A_EN_50, A_EN_100, A_EN_200 du premier bloc monte à l’état haut. Puis le signal d’activation S_EN_25, S_EN_50, S_EN_100, S_EN_200 du deuxième bloc 230 monte également à l’état haut après deux fronts montants (correspondant au nombre de bascules 210, 220 présentes) reçus sur l’entrée d’horloge. Le signal d’horloge se propage sur le nœud de fourniture correspondant après un troisième front montant reçu sur l’entrée d’horloge. Pour passer du mode fermé au mode ouvert, le signal d’activation respectif A_EN_25, A_EN_50, A_EN_100, A_EN_200 du premier bloc est à l’état haut, ainsi que le signal d’activation S_EN_25, S_EN_50, S_EN_100, S_EN_200 du deuxième bloc 230. Dans le mode fermé, le signal qui se propage sur le nœud de fourniture respectif NOUT, NOUT2, NOUT3, NOUT4 est le signal d’horloge reçu sur l’entrée d’horloge. Ensuite, le signal d’activation respectif A_EN_25, A_EN_50, A_EN_100, A_EN_200 du premier bloc redescend à l’état bas. Puis c’est le tour du signal d’activation S_EN_25, S_EN_50, S_EN_100, S_EN_200 du deuxième bloc 230 qui redescend à l’état bas après deux fronts montants (correspondant au nombre de bascules 210, 220 présentes) reçus sur l’entrée d’horloge. Le signal d’horloge ne se propage alors plus sur le nœud de fourniture correspondant après un troisième front montant reçu sur l’entrée d’horloge. Dans l’exemple représenté, le bloc de fourniture 180 comprend deux blocs logiques 240, 280 configurés pour réaliser une fonction de type NON-OU (NOR en anglais) à partir respectivement des signaux présents sur les nœuds NOUT,NOUT2 et NOUT3,NOUT4. Dans l’exemple représenté, le bloc de fourniture 180 comprend en outre un bloc logique 290 configuré pour réaliser une fonction de type NON-ET (NAND en anglais) à partir des signaux présents respectivement en sortie des blocs logiques 240 et 280. En fonction de l’état des signaux d’activation respectif A_EN_25, A_EN_50, A_EN_100, A_EN_200 de chacun des commutateurs 225, le bloc de fourniture 180 permet la sélection, en sortie du bloc logique 290, d’un signal d’horloge parmi les signaux possibles CK25, CK50, CK100 et CK200. Le fait que le circuit de la FIG. 2 nécessite autant de commutateurs 225 que de signaux d’horloge à sélectionner implique une surface de puce et une consommation énergétique élevées. Dans le cas des microcontrôleurs par exemple, ces deux facteurs sont critiques et il convient de pouvoir les limiter tout en gardant la capacité de filtrage des impulsions parasites (glitch). A cette fin, les modes de réalisation décrits prévoient un circuit de fourniture d'un signal d'horloge comprenant : un sélecteur d'un signal parmi plusieurs signaux d'horloge ; un commutateur entre le sélecteur et un nœud de fourniture du signal d'horloge sélectionné, le circuit électronique étant configuré pour que l'application d'une commande de sélection d'un des signaux d'horloge provoque, dans l'ordre, l'ouverture du commutateur, la sélection du signal via le sélecteur, et la fermeture du commutateur. Le fait de n’avoir qu’un seul commutateur pour l’ensemble des signaux d’horloge disponibles permet un gain de surface de puce et également d’abaisser la consommation. Le fait que le commutateur soit d’abord ouvert avant la sélection du signal d’horloge à fournir permet de ne pas propager les impulsions parasites qui pourraient être générées au moment de la sélection du signal d’horloge. Une fois que le nouveau signal d’horloge est sélectionné, et donc stabilisé, il est ensuite possible de fermer le commutateur pour propager le signal d’horloge sélectionné. La FIG. 3 représente, de façon très schématique, un bloc du circuit électronique 100 de la FIG. 1 selon un mode de réalisation. Plus précisément, la FIG. 3 illustre un mode de réalisation du bloc de fourniture 180. Dans l’exemple de la FIG. 3 , le bloc de fourniture 180 comprend un sélecteur 320 (MUX) dont une sortie est reliée à un commutateur, par exemple similaire au commutateur 225 de la FIG. 2 , de sorte qu’un signal (CK_DIG_RAW) présent en sortie du sélecteur 320 se retrouve à l’entrée d’horloge CP du commutateur 225. Dans l’exemple représenté, le sélecteur 320 est configuré pour sélectionner un parmi les signaux d’horloge CK50, CK100, CK200, ainsi que six autres signaux non représentés, à partir de signaux de commandes (MUX_CTRL_FILT ). La notation est une notation concaténée pour neufs signaux différents et référencés 0 à 8. Les signaux de commandes MUX_CTRL_FILT sont issus d’une unité de commande 330 (CTRL) qui génèrent des signaux de commande de sélection (MUX_CTRL ) bruts. La propagation de ces signaux de commande de sélection MUX_CTRL bruts vers le sélecteur 320 est contrôlée par un circuit de verrouillage 360 (LATCH STD) en fonction de l’état d’un signal (CHANGE_DELAYED). Dans l’exemple représenté, le bloc de fourniture 180 comprend un circuit 340 (CHANGE DETECT) configuré pour détecter un changement dans les signaux de commande de sélection MUX_CTRL bruts. Lorsqu’un changement est détecté, un signal (CHANGE_PULSE) prend par exemple la forme d’un pulse. Le circuit 340 est relié, préférablement connecté, à un circuit 310 (DELAY) configuré pour générer un signal (CHANGE_DELAYED), en fonction du signal CHANGE_PULSE, et décalé dans le temps d’un premier décalage temporel. Le circuit 310 reçoit en entrée un signal d’horloge CK25 qui a par exemple la fréquence deux fois plus basse que le signal le plus lent des signaux d’horloge disponibles (ici CK50) ou un signal d’horloge dont la fréquence est inférieure, par exemple de moitié, au signal d’horloge le plus lent. Le circuit 310 est en outre configuré pour recevoir en entrée un signal de réinitialisation RESET envoyé par l’unité de commande 330. Le circuit 310 est configuré pour fournir en sortie un signal (CHANGE) et un signal (CHANGE_DELAYED). Les signaux CHANGE et CHANGE_DELAYED sont rebouclés dans le circuit 310 de sorte que le signal CHANGE monte quand un pulse positif est présent sur le signal CHANGE_PULSE, et il descend quand le signal CHANGE_DELAYED monte. Le signal CHANGE_DELAYED correspond à l’image du signal CHANGE avec un décalage dans le temps d’au moins deux, préférentiellement au moins trois, fronts montants du signal d’horloge CK25 qui est en entrée du circuit 310. Dans l’exemple représenté, l’entrée D du commutateur 225 est reliée, préférablement connectée, au circuit 310 par l’intermédiaire d’un bloc logique 325 configuré pour réaliser une fonction de type NON-OU (NOR en anglais) à partir des signaux CHANGE et CHANGE_DELAYED. La sortie du bloc logique 325 est un signal d’activation A_EN du premier bloc 202 du commutateur 225. Un procédé de fonctionnement du circuit de fourniture 180 de la FIG. 3 comprend, suite à l’application d'une commande de sélection d'un signal, les étapes successives suivantes : - l'ouverture du commutateur 225 reliant le sélecteur 320 d'un signal d'horloge parmi plusieurs et le nœud de fourniture NOUT ; - la sélection du signal via le sélecteur 320 et ; - la fermeture du commutateur 225. En fonctionnement, le circuit 340 est configuré pour ouvrir le commutateur 225 lorsqu’un ou des changements dans les signaux MUX_CTRL ce qui génère un pulse sur le signal CHANGE_PULSE. Le circuit 310 reçoit le pulse CHANGE_PULSE ce qui abaisse à sa sortie le signal CHANGE, qui fait passer à l’état bas le signal A_EN, ce qui in fine ouvre le commutateur 225. Le signal CHANGE est rebouclé dans le circuit 310 et devient le signal CHANGE_DELAYED après au moins deux coups d’horloge du signal d’horloge CK25 dont la fréquence est deux fois plus basse que le signal sélectionnable le plus lent, ici CK50. Le signal CHANGE_DELAYED est alors à l’état haut ce qui enclenche le déverrouillage des signaux MUX_CTRL par le circuit 360 pour qu’ils se propagent vers le sélecteur. Le signal d’horloge sélectionné est alors fourni sur l’entrée d’horloge CP du commutateur 225 qui est encore ouvert à ce stade. Le signal CHANGE_DELAYED est également rebouclé dans le circuit 310 et le front montant du signal CHANGE_DELAYED réinitialise le signal CHANGE à l’état bas. L’état bas du signal CHANGE se propage ensuite pour devenir le signal CHANGE_DELAYED après au moins deux fronts montant du signal d’horloge CK25. Les signaux CHANGE et CHANGE_DELAYED étant à l’état bas, le signal A_EN passe à l’état haut ce qui ferme le commutateur 225 et permet de propager, sur le nœud de fourniture NOUT du commutateur 225, un signal CK_DIG qui est le nouveau signal d’horloge qui a été sélectionné. La FIG. 4 représente un circuit du bloc de la FIG. 3 selon un mode de réalisation. Plus particulièrement, la FIG. 4 représente un exemple du circuit 340. Dans l’exemple représenté, le circuit 340 comprend neuf branches similaires, configurée pour recevoir chacune, sur un nœud d’entrée différent, un des signaux de commande de sélection MUX_CTRL . Chacune des branches comprend un ou plusieurs circuits de décalage temporel 402, 404 en série entre le nœud d’entrée N0,N1,N2,N3,N4,N5,N6,N7,N8 respectif de la branche qui reçoit respectivement un des signaux MUX_CTRL et une entrée d’un bloc logique 410 de la même branche. Une autre entrée du bloc logique 410 est rebouclé au nœud d’entrée de sa branche respective. Chaque bloc logique 410 est configuré pour réaliser une fonction OU exclusif (XOR en anglais) à partir du signal présent sur le nœud d’entrée de la branche respective et à partir du signal ayant parcouru les circuits de décalage temporels 402, 404. Le signal de commande de sélection MUX_CTRL présent sur le nœud d’entrée d’une branche sera donc traité par le bloc logique 410 correspondant avec sa version décalée dans le temps. Cela permet de détecter un changement intervenu sur les signaux de commande de sélection MUX_CTRL pendant le décalage temporel, autrement dit pendant le délai, introduit par les circuits 402 et 404. Le nombre de circuits de décalage temporels 402, 404 en série dans chaque branche peut être supérieur à deux ou égal à un. Le nombre de circuits de décalage temporels influe sur la durée de l'impulsion du signal CHANGE_PULSE. La personne de l'art pourra adapter ce nombre de manière à assurer un bon fonctionnement du circuit 310 dans toutes les conditions d'utilisation du circuit intégré. La sortie de chacun des blocs logiques 410, notée respectivement CHG_PULSE , est reliée, préférablement connectée, à un bloc logique configurée pour réaliser une fonction de type NON-OU (NOR en anglais). Dans l’exemple représenté, un bloc logique 450 est configuré pour réaliser une fonction NON-OU à partir des signaux CHG_PULSE1, CHG_PULSE2 et CHG_PULSE3, un bloc logique 460 est configuré pour réaliser une fonction NON-OU à partir des signaux CHG_PULSE4, CHG_PULSE5 et CHG_PULSE6, et un bloc logique 480 est configuré pour réaliser une fonction NON-OU à partir des signaux CHG_PULSE0, CHG_PULSE7 et CHG_PULSE8. Le circuit 340 comporte en outre un bloc logique 470 configuré pour réaliser une fonction de type NON-ET (NAND en anglais) à partir des sorties des blocs logiques 450, 460 et 480. Le signal CHANGE_PULSE, qui indique si un changement a eu lieu sur un ou des signaux de commande de sélection MUX_CTRL , se trouve généré sur la sortie du bloc logique 470. Autrement dit, les blocs logiques 450, 460, 470 et 480 forment ensemble un bloc logique de type OU qui combine les signaux CHG_PULSE pour générer un pulse sur le signal CHANGE_PULSE lorsqu’un changement est détecté. La FIG. 5 représente un circuit du bloc de la FIG. 3 selon un mode de réalisation. Plus particulièrement, la FIG. 5 représente un mode de réalisation du circuit 310. Dans l’exemple représenté, le circuit 310 comprend un bloc logique 585 relié, préférablement connecté, à la sortie du bloc 470 du circuit 340. Le bloc logique 585 est configuré pour réaliser une fonction de type ET (AND en anglais) à partir d’un signal d’activation ENABLE et du signal CHANGE_PULSE. La sortie du bloc logique 585 est reliée, préférablement connectée, à une entrée par exemple S, d’une bascule 502 de type RS (SR latch en anglais). En d’autres termes, lorsque le signal ENABLE est activé, le pulse du signal CHANGE_PULSE se retrouve sur l’entrée S. Une autre entrée, par exemple l’entrée R, de la bascule 502 est reliée à une sortie d’un registre à décalage 512. Une sortie de la bascule 502 est reliée à une entrée du registre à décalage 512 par l’intermédiaire d’un inverseur 535 en série avec un bloc de décalage temporel 575 (facultatif). Le signal en sortie de l’inverseur 535 est le signal CHANGE. Dans l’exemple représenté, le registre à décalage 512 est formé par deux bascules 565, 555, par exemple des bascules D, en série. La personne de l’art pourra choisir un registre à décalage ayant plus de deux bascules en série. L’entrée D de la bascule 565 est reliée, préférablement connectée, à la sortie de l’inverseur 535, facultativement par l’intermédiaire du bloc de décalage temporel 575. L’entrée de réinitialisation R de la bascule 565 est configurée pour recevoir le signal ENABLE_N et son entrée d’horloge CP est configurée pour recevoir le signal d’horloge le plus lent, ici CK25. La sortie Q de la bascule 555 est reliée à l’entrée R de la bascule 502. Dans un exemple, la bascule 502 est formée de deux portes logiques 525, 545, par exemple de type NON-OU ou éventuellement NON-ET, inter-couplés (cross-coupled en anglais). Dans l’exemple représenté, la porte 525 comprend trois entrées, l’entrée R recevant le signal CHANGE_DELAYED issu du registre à décalage 512, une entrée configurée pour recevoir un signal d’activation ENABLE_N et une entrée reliée à la sortie de la porte logique 545. Une entrée de la porte logique 545 comprend l’entrée S et une autre entrée de la porte logique 545 est reliée à la sortie de la porte logique 525. En fonctionnement, lorsque le signal sur les entrées R et S sont à l’état bas, la sortie de la bascule 502 est maintenue stable. Si le signal sur l’entrée S est un pulse haut tandis que le signal sur l’entrée R reste bas, le signal de sortie change puis reste maintenu y compris lorsque le signal sur l’entrée S retourne à un état bas. De façon similaire, si le signal CHANGE_DELAYED est un pulse montant et que le signal sur l’entrée S est gardé à l’état bas, alors le signal de sortie de la bascule 502 change et reste maintenu y compris lorsque le signal CHANGE_DELAYED repasse à l’état bas. Ainsi, le signal CHANGE passe à l’état haut lorsqu’un pulse positif est présent sur le signal CHANGE_PULSE et il passe à l’état bas lorsque le signal CHANGE_DELAYED passe à l’état haut. D’autre part, le signal CHANGE_DELAYED est l’image du signal CHANGE avec un décalage temporel de trois fronts montants du signal d’horloge le plus lent, ici CK25. Le décalage temporel entre le signal CHANGE et CHANGE_DELAYED permettra ainsi au commutateur 225 de se fermer, après que le signal d’horloge ait été sélectionné et fourni en sortie du sélecteur 320, ce qui permet qu’il soit exempt d’impulsions transitoires parasites apparues lors de la sélection. Le bloc de décalage temporel 575 permet d’éviter que le maintien de la sortie de la bascule 502 ne soit mis à mal lorsque le signal CHANGE_DELAYED monte à l’état haut ce qui pourrait engendrer un front descendant sur le signal CHANGE. La FIG. 6 représente un circuit du bloc de la FIG. 3 selon un mode de réalisation. Plus particulièrement, la FIG. 6 représente un mode de réalisation du circuit 360. Dans l’exemple représenté, le circuit 360 comprend une seule branche illustrée. D’autres branches, correspondant au traitement de l’ensemble des signaux MUX_CTRL ne sont pas illustrées mais sont similaires. Le circuit 360 comprend un bloc logique 610 configuré pour réaliser une fonction de type OU à partir du signal CHANGE_DELAYED et du signal d’activation ENABLE_N. Chaque branche comprend une bascule de verrouillage 620 (LATCH en anglais), autrement appelée verrou. La sortie LATCH du bloc logique 610 est reliée à une entrée G de commande de chacune des bascules de verrouillage 620 (LATCH en anglais). Ainsi, le signal LATCH arrive sur l’entrée G de la bascule de verrouillage 620 de chaque branche. Une entrée D des bascules 620 est configurée pour recevoir l’un des signaux de commande de sélection MUX_CTRL respectif. Ce signal MUX_CTRL devient le signal MUX_CTRL_FILT une fois propagé sur la sortie Q de la bascule de verrouillage 620. Ainsi, le signal LATCH, qui correspond au signal CHANGE_DELAYED propagé, contrôle la propagation des signaux de commande de sélection bruts MUX_CTRL avant qu’ils ne soient propagés vers le sélecteur 320. Le signal LATCH est à un niveau haut préférentiellement uniquement lorsque le signal d’horloge CK_DIG_RAW en sortie du sélecteur 320 est à l’état bas sinon il est possible qu’une impulsion parasite soit présente. Dans un exemple, la bascule de verrouillage 620 est remplacée par une bascule D (qui consiste basiquement en deux bascules de verrouillage en série) qui est plus sure mais qui occupe deux fois plus de place qu’une bascule de verrouillage simple. La FIG. 7 représente un circuit du bloc de la FIG. 3 selon un mode de réalisation. Plus particulièrement, la FIG. 7 illustre un mode de réalisation du sélecteur 320. Dans l’exemple représenté, le circuit 320 comprend quatre blocs logiques 710, 712, 714, 716 configurés pour réaliser une fonction de type ET à partir respectivement des signaux MUX_CTRL_FILT4, CK200 ; MUX_CTRL_FILT3, CK100 ; MUX_CTRL_FILT2, CK50 ; MUX_CTRL_FILT1, CK150 ; le signal CK150 étant par exemple un signal d’horloge de fréquence intermédiaire entre celles des signaux CK100 et CK200. Dans l’exemple représenté, le circuit 320 comprend également deux blocs logiques 718, 720 configurés pour réaliser une fonction NON-OU à partir respectivement des sorties des blocs logiques 714, 716 et 710, 712. Le circuit 320 comprend en outre un bloc logique 730 configuré pour réaliser une fonction NON-ET à partir des sorties des blocs logiques 718 et 720. La combinaison des blocs logiques 718,720 et 730 permet de réaliser une fonction logique de type OU à partir des sorties des blocs logiques 710,712,714 et 716. Le signal de sortie du bloc 730 est le signal d’horloge sélectionné CK_DIG_RAW avant son passage par le commutateur 225. Dans l’exemple représenté, seuls quatre blocs logiques 710, 712, 714, 716 sont représentés, néanmoins l’architecture représentée en FIG. 7 peut être dupliquée pour que la sélection du signal d’horloge se fasse à partir d’un nombre de signaux d’horloge disponibles plus élevé. Afin qu’un seul signal d’horloge soit sélectionnable à la fois, les signaux MUX_CTRL_FILT sont préférentiellement exclusifs. Lorsqu’un des signaux MUX_CTRL_FILT est à un niveau haut alors le signal d’horloge présent sur l’autre entrée du bloc logique 710,712,714,716 est propagé jusqu’à la sortie du sélecteur 320 et devient le signal CK_DIG_RAW. La FIG. 8 est un chronogramme de fonctionnement du bloc 180 de la FIG. 3 . Plus particulièrement, la FIG. 8 représente l’évolution temporelle des signaux CK100, CK50, CK_DIG_RAW, CK_DIG, MUX_CTRL, MUX_CTRL_FILT, CHANGE_PULSE, A_EN,S_EN_CK, EN_CK50,EN_CK100, RESET, CHANGE, CHANGE_DELAYED,LATCH et CK25. Dans l’exemple représenté, le signal MUX_CTRL est le signal de commande de sélection parmi les signaux MUX_CTRL , qui commande la sélection du signal CK100. L’exemple représenté illustre la sélection et le passage du signal CK50 au signal CK100 sur le nœud NOUT de la FIG. 3 . Entre un temps t1 et un temps t7, les signaux CK25, CK50 et CK100 alternent états haut et états bas avec un rapport cyclique proche ou égal à 50%. La fréquence de CK100 est double par rapport à celle de CK50 et quadruple par rapport à CK25. Entre le temps t1 et un temps t3 inférieur au temps t7, le signal CK_DIG_RAW sélectionné et propagé par le sélecteur 320 est le signal CK50. Au temps t1, le circuit 340 détecte un changement dans les signaux de commande de sélection MUX_CTRL et le signal MUX_CTRL passe d’un niveau bas à un niveau haut puis reste stable au niveau haut. Un pulse est alors généré sur le signal CHANGE_PULSE ce qui engendre le passage de l’état haut à l’état bas du signal A_EN et, un front montant du signal d’horloge CK25 plus tard, à un temps t2 précédent le temps t3, le deuxième bloc 230 du commutateur 225 passe de l’état haut à l’état bas et interrompt la propagation du signal CK50. Le signal de sortie CK_DIG devient alors nul ou stable à l’état bas. Au temps t1, un pulse positif est envoyé sur le signal RESET ce qui réinitialise la bascule 502 du circuit 310 et le signal CHANGE passe de l’état bas à l’état haut puis reste stable. Au bout du troisième front montant du signal d’horloge CK25 suivant cette réinitialisation et le pulse du signal CHANGE_PULSE, c’est-à-dire au temps t3, le signal CHANGE_DELAYED passe de l’état bas à l’état haut. Le circuit 360 bloque, entre le temps t1 et le temps t3, la modification du signal MUX_CTRL. Au temps t3, le signal LATCH et le signal EN_CK100 passent de l’état bas à l’état haut ce qui permet de propager le signal de commande de sélection MUX_CTRL à travers la bascule de verrouillage correspondante. Au temps t3, le signal EN_CK50 passe de l’état haut à l’état bas pour arrêter la sélection du signal CK50. Le signal d’horloge CK100 se retrouve sélectionné par le sélecteur 320 et forme le signal CK_DIG_RAW. Néanmoins, ce changement de signal d’horloge a provoqué une impulsion parasite (référencée GLITCH sur le chronogramme). Néanmoins, le commutateur 225 étant à ce stade ouvert, l’impulsion parasite n’est pas propagée. Au temps t3, la bascule RS 502 est réinitialisée par l’élévation du signal CHANGE_DELAYED et le signal CHANGE passe de l’état haut à l’état bas. L’état du signal CHANGE se propage sur l’état du signal CHANGE_DELAYED au troisième front montant du signal d’horloge CK25 suivant t3 à un temps t4. Au temps t4, le signal CHANGE_DELAYED passe de l’état haut à l’état bas et par voie de conséquence le signal LATCH en fait autant. Le signal A_EN passe de l’état bas à l’état haut et, après deux fronts montant suivant du signal d’horloge CK100, à un temps t5, le signal S_EN_CK passe de l’état bas à l’état haut. Le deuxième bloc 230 du commutateur 225 met alors en oeuvre la propagation du signal CK100 sur le nœud de fourniture NOUT du commutateur 225 après le front montant suivant du signal CK100 et le signal CK_DIG devient alors le signal CK100. Divers modes de réalisation et variantes ont été décrits. La personne du métier comprendra que certaines caractéristiques de ces divers modes de réalisation et variantes pourraient être combinées, et d’autres variantes apparaîtront à la personne du métier. En particulier, le nombre de bascules en série du bloc 202 des commutateurs peut être supérieur à deux et le type des bascules de ce bloc peut être différent des bascules D. Dans un autre exemple, le registre à décalage 512 peut être remplacé par une cellule de resynchronisation du même type que le bloc 202. Cela permet la réduction du risque d’instabilités liées à la potentielle désynchronisation des signaux de commande de sélection et le signal d’horloge utilisé en entrée d’horloge du registre à décalage. De façon générale, l’exemple du circuit 310 montre un exemple pour générer un décalage temporel entre l’ouverture du commutateur 225 et la sélection du nouveau signal d’horloge puis également entre la sélection du signal d’horloge et la fermeture du commutateur 225. La personne du métier pourra mettre en oeuvre ses connaissances afin de réaliser un tel décalage temporel avec d’autres architectures de circuits du moment que le décalage temporel soit d’au moins trois, préférentiellement quatre, fronts montant d’un signal d’horloge (CK25) dont la fréquence est deux fois plus basse que le signal d’horloge le plus lent à sélectionner (CK50). Un exemple de sélecteur 320 est présenté en FIG. 7 , néanmoins, la personne de l’art pourra mettre en oeuvre ses connaissances pour implémenter un circuit de sélection d’un signal parmi plusieurs signaux à partir de signaux de commande de sélection. Un tel circuit est par exemple un multiplexeur (MUX en anglais). Enfin, la mise en oeuvre pratique des modes de réalisation et variantes décrits est à la portée de la personne du métier à partir des indications fonctionnelles données ci-dessus. En particulier, pour ce qui est des commutateurs 225, ils peuvent comprendre par exemple uniquement le deuxième bloc 230, sans le premier bloc 202, du moment que le signal d’horloge n’est plus propagé sur le nœud de fourniture NOUT seulement lorsque le signal d’horloge est à l’état bas pour éviter des impulsions parasites et du moment que le signal d’activation S_EN_CK du deuxième bloc 230 est synchrone avec le signal d’horloge à arrêter ou à propager. Le circuit de fourniture 180 tel que décrit ci-dessus pourra être intégré dans un microcontrôleur basse consommation par exemple. Circuit (180) de fourniture d'un signal d'horloge comprenant : un sélecteur (320) d'un signal parmi plusieurs signaux d'horloge (CK50,CK100,CK150,CK200); un commutateur (225) entre le sélecteur et un nœud de fourniture (NOUT) du signal d'horloge sélectionné, le circuit (180) étant configuré pour que l'application d'une commande de sélection d'un des signaux d'horloge provoque, dans l'ordre, l'ouverture du commutateur (225), la sélection du signal via le sélecteur (320), et la fermeture du commutateur (225). Circuit (180) selon la revendication 1, dans lequel le circuit (180) est configuré pour ouvrir le commutateur (225) lorsqu’un changement dans la commande de sélection est détecté. Circuit selon la revendication 2, dans lequel le circuit est configuré pour sélectionner ledit signal après un premier retard, d’au moins deux fronts montants d’un signal de décalage (CK25), suivant la détection du changement. Circuit selon la revendication 3, dans lequel le circuit (180) est configuré pour fermer le commutateur (225) après un deuxième retard, d’au moins deux fronts montant du signal de décalage (CK25), suivant ladite sélection. Circuit selon l’une quelconque des revendications 2 à 4, dans lequel le circuit électronique est configuré pour générer, avec un premier circuit (340), un premier signal (CHANGE_PULSE) lorsque le changement est détecté. Circuit selon la revendication 5, le circuit (180) étant configuré pour générer, avec un deuxième circuit (310), un deuxième signal (CHANGE_DELAYED), issu du premier signal (CHANGE_PULSE), et décalé dans le temps du premier retard. Circuit selon la revendication 6, le deuxième circuit (310) comprenant une bascule (502) de type RS dont une sortie est reliée à un inverseur (535) qui est en série avec une entrée (D) d’un registre à décalage (512) d’au moins deux étages et/ou une cellule retardateur (575) ; le deuxième signal (CHANGE_DELAYED) étant généré sur une sortie (Q) du registre à décalage (512) ; une première entrée (S) de la bascule de type RS (502) étant configurée pour recevoir le premier signal (CHANGE_PULSE) et une deuxième entrée (R) de la bascule de type RS (502) étant configurée pour recevoir le deuxième signal (CHANGE_DELAYED). Circuit selon la revendication précédente, le circuit (180) comprenant un troisième circuit (360) configuré pour autoriser la propagation de la commande de sélection (MUX_CTRL ) au sélecteur (320) de signal en fonction d’une sortie d’un premier bloc logique (325) apte à réaliser une fonction NON-OU (NOR) à partir d’un signal (CHANGE) présent en sortie de l’inverseur (535) et du deuxième signal (CHANGE_DELAYED). Circuit selon la revendication précédente, le troisième circuit (360) comprenant une bascule de verrouillage (620) par signal de commande (MUX_CTRL ) composant la commande de sélection, chaque bascule de verrouillage (620) ayant : - une entrée de grille (G) reliée à la sortie du premier bloc logique (325), - une entrée de donnée (D) configurée pour recevoir le signal de commande (MUX_CTRL ) correspondant , et - une sortie (MUX_CTRL_FILT ) reliée au sélecteur (320) de signal. Circuit selon l’une quelconque des revendications 3, ou 4 à 9 dans leur dépendance à la revendication 3, dans lequel ledit signal de décalage (CK25) est un signal d’horloge ayant une fréquence inférieure ou égale à celle du signal (CK25), parmi lesdits plusieurs signaux d’horloge, ayant la plus faible fréquence. Circuit selon l’une quelconque des revendications 8, ou 9 à 10 dans leur dépendance à la revendication 8, dans lequel le commutateur (225) comprend un premier bloc (202) dont : une entrée d’horloge (CP) est reliée au sélecteur (320), une première entrée d’activation (D) est reliée à la sortie du premier bloc logique (325), et une sortie (Q) est reliée à une deuxième entrée d’activation (E) d’un deuxième bloc (230) du commutateur (225); une sortie (CK_DIG) du deuxième bloc (230) du commutateur (225) étant reliée au nœud de fourniture (NOUT) et une entrée d’horloge (CP) du deuxième bloc (230) étant reliée à une sortie du sélecteur (320). Circuit selon l’une quelconque des revendications 8, ou 9 à 111 dans leur dépendance à la revendication 8, dans lequel le commutateur (225) est configuré pour être ouvert lorsque la sortie du premier bloc logique (320) est à un niveau bas. Circuit selon la revendication précédente, dans lequel le commutateur (225) est configuré pour être fermé lorsque la sortie du premier bloc logique (325) est à un niveau haut, le signal d’horloge sélectionné (CK_DIG) se retrouvant alors sur le nœud de fourniture (NOUT). Circuit selon l’une quelconque des revendications 11, ou 12 ou 13 dans leur dépendance à la revendication 11, dans lequel le premier bloc (202) du commutateur (225) comprend une première et une deuxième bascules en série (210,220), l’entrée d’horloge (CP) du premier bloc (202) étant une entrée d’horloge de la première bascule (210) et la sortie de la deuxième bascule (220) étant reliée à la deuxième entrée d’activation (S_EN_CK) du deuxième bloc (230). Procédé de fonctionnement d’un circuit de fourniture d’un signal d’horloge selon l’une quelconque des revendications précédentes, le procédé comprenant, suite à l’application d'une commande de sélection d'un signal, les étapes successives suivantes : - l'ouverture d’un commutateur (225) reliant un sélecteur (320) d'un signal d'horloge parmi plusieurs et un nœud de fourniture (NOUT) ; - la sélection du signal via le sélecteur (320) et ; - la fermeture du commutateur (225). Microcontrôleur comprenant un circuit de fourniture de signal d’horloge selon l’une quelconque des revendications 1 à 14.