Brevet FR3053860A1 — publié le 20180112

B14958 - DD16938ST 1 PROCEDE ET DISPOSITIF POUR AMELIORER LA SYNCHRONISATION DANS UNE LIAISON DE COMMUNICATION Domaine de l'invention La présente description concerne une liaison de communication de données synchrone par la source, et en particulier un procédé et un dispositif pour ajuster un temps d'échantillonnage d'un ou plusieurs signaux de données transmis sur une liaison de communication synchrone par la source. Exposé de l'art antérieur Les liaisons de communication synchrones par la source utilisent un signal d'horloge pour synchroniser l'émission de données et la réception de données. Par exemple, le signal d'horloge utilisé pour l'émission des données est fourni au circuit de réception sur une ligne d'horloge, de sorte que la réception de données peut être basée sur un signal d'horloge connun. Une telle solution est relativement robuste vis-à-vis de variations de délai de propagation sur la liaison de coiuuunication, puisque les délais de propagation des flux de données et du signal d'horloge vont rester sensiblement égaux. Toutefois, pour des liaisons synchrones par la source fonctionnant à des débits de données relativement élevés, la synchronisation relative des signaux d'horloge et de données reçus 3053860 B14958 - DD16938ST 2 peut devenir non optimale, conduisant potentiellement à une augmentation du taux d'erreur de réception de données. Une solution à ce problème implique de détecter et de corriger des erreurs dans le signal de données reçu sur la base d'un code de 5 correction d'erreur, et d'ajuster la synchronisation relative des signaux de données et d'horloge afin de réduire le taux d'erreur à un minimum. Toutefois, une telle solution est relativement complexe et consommatrice en ce qui concerne la surface de puce et la consommation d'énergie. Par conséquent, une telle solution 10 n'est en général pas justifiée pour des communications sur des distances relativement courtes, et/ou pour des interfaces de données parallèles dans lesquelles le taux d'erreur de chaque ligne de données doit être considéré. Il existe donc un besoin d'un circuit et d'un procédé 15 simples et efficaces pour assurer une synchronisation correcte d'une liaison de communication synchrone par la source. Résumé Un objet de modes de réalisation de la présente 20 description est de répondre au moins partiellement à un ou plusieurs besoins de l'art antérieur. Selon un aspect, on prévoit un dispositif de réception de données comprenant : une première entrée de données pour recevoir un premier signal de données et une entrée d'horloge pour recevoir un signal d'horloge ; et un circuit de détection de stabilité adapté à générer : un premier signal d'erreur indiquant quand une transition de données du premier signal de données survient pendant une première période au moins partiellement avant un premier front d'horloge significatif du signal d'horloge ; et un deuxième signal d'erreur indiquant quand une transition de données du premier signal de données survient pendant une deuxième période au moins partiellement après le premier front d'horloge significatif du signal d'horloge ; et un circuit de commande agencé pour générer un signal de commande pour ajuster l'instant 3053860 B14958 - DD16938ST 3 d'échantillonnage du premier signal de données sur la base des premier et deuxième signaux d'erreur. Selon un mode de réalisation, le circuit de détection de stabilité est agencé pour régler les durées des première et 5 deuxième périodes sur la base d'un autre signal de commande. Selon un mode de réalisation, le circuit de commande est en outre adapté à générer l'autre signal de commande sur la base des premier et deuxième signaux d'erreur. Selon un mode de réalisation, le circuit de commande est 10 adapté à générer l'autre signal de commande afin de réduire les largeurs des première et deuxième périodes lorsque les premier et deuxième signaux d'erreur indiquent l'occurrence de transitions de données pendant les première et deuxième périodes. Selon un mode de réalisation, le circuit de commande est 15 adapté à générer le signal de commande pour contrôler la durée d'un retard appliqué au signal de données ou au signal d'horloge, le retard étant contrôlé afin de mettre l'instant d'échantillonnage plus en retard si le premier signal d'erreur est activé et de mettre l'instant d'échantillonnage plus en avance si le 20 deuxième signal d'erreur est activé. Selon un mode de réalisation, le circuit de détection de stabilité comprend : un premier élément de retard adapté à retarder le premier signal de données ; un deuxième élément de retard adapté à retarder le signal d'horloge ; et un circuit de 25 génération de signal d'erreur adapté à générer les premier et deuxième signaux d'erreur sur la base au moins du premier signal de données retardé et du signal d'horloge retardé. Selon un mode de réalisation, le circuit de détection de stabilité est en outre adapté à générer : un premier signal 30 d'avertissement indiquant quand une transition de données du signal de données survient pendant une troisième période au moins partiellement avant un premier front d'horloge significatif du signal d'horloge, la troisième période commençant plus tôt que la première période ; et un deuxième signal d'avertissement indiquant quand une transition de données du signal de données survient 3053860 B14958 - DD16938ST 4 pendant une quatrième période au moins partiellement après le premier front d'horloge significatif du signal d'horloge, la quatrième période se terminant plus tard que la deuxième période. Selon un mode de réalisation, le circuit de réception 5 de données comprend en outre : une deuxième entrée de données pour recevoir un deuxième signal de données, le circuit de détection de stabilité étant en outre adapté à générer : un troisième signal d'erreur indiquant quand une transition de données du deuxième signal de données survient pendant la première période allant 10 jusqu'à un premier front d'horloge significatif du signal d'horloge ; et un quatrième signal d'erreur indiquant quand une transition de données du deuxième signal de données survient pendant la deuxième période commençant à partir du premier front d'horloge significatif du signal d'horloge. 15 Selon un mode de réalisation, la première période est entièrement avant le premier front d'horloge significatif et la deuxième période est entièrement après le premier front d'horloge significatif. Selon un mode de réalisation, la première période se 20 termine au niveau du premier front d'horloge significatif et la deuxième période commence au niveau du premier front d'horloge significatif. Selon un autre aspect, on prévoit une liaison de communication de données synchrone par la source comprenant : le 25 circuit de réception de données susmentionné ; et un circuit d'émission de données adapté à générer le premier signal de données et le signal d'horloge, le circuit d'émission de données ou le circuit de réception de données comprenant en outre au moins un élément à retard variable adapté à retarder le premier signal 30 de données ou le signal d'horloge sur la base du signal de commande. Selon un autre aspect, on prévoit une procédé pour ajuster l'instant d'échantillonnage d'un signal de données transmis sur une liaison de données synchrone par la source, le 35 procédé comprenant : recevoir un premier signal de données au 3053860 B14958 - DD16938ST 5 niveau d'une première entrée de données d'un circuit de réception de données de la liaison de données synchrone par la source, et un signal d'horloge au niveau d'une entrée d'horloge du circuit de réception de données ; et générer, par un circuit de détection 5 de stabilité du circuit de réception de données : un premier signal d'erreur indiquant quand une transition de données du premier signal de données survient pendant une première période allant jusqu'à un premier front d'horloge significatif du signal d'horloge ; et un deuxième signal d'erreur indiquant quand une 10 transition de données du premier signal de données survient pendant une deuxième période commençant à partir du premier front d'horloge significatif du signal d'horloge ; et générer, par un circuit de commande du circuit de réception de données, un signal de commande pour ajuster l'instant d'échantillonnage du signal de 15 données sur la base des premier et deuxième signaux d'erreur. Brève description des dessins Les caractéristiques et avantages susmentionnés et d'autres apparaîtront clairement à la lecture de la description détaillée suivante de modes de réalisation, donnés à titre 20 d'illustration et non de limitation, en faisant référence aux dessins joints dans lesquels la figure lA illustre schématiquement une liaison de communication synchrone par la source selon un exemple de réalisation de la présente description ; 25 la figure 1B illustre schématiquement un élément de retard de la liaison de communication de la figure lA plus en détail selon un exemple de réalisation de la présente description ; la figure 1C est un chronogramme illustrant un exemple 30 de signaux dans la liaison de communication de la figure lA selon un exemple de réalisation de la présente description ; la figure 2 est un diagramme de l'oeil ; la figure 3A illustre schématiquement un dispositif synchrone de la liaison de communication de données de la figure 3053860 B14958 - DD16938ST 6 lA plus en détail selon un exemple de réalisation de la présente description ; la figure 3B est un chronogramme illustrant un exemple de signaux dans le circuit de la figure 3A ; 5 la figure 4A illustre schématiquement un détecteur de stabilité de la figure 3A plus en détail selon un exemple de réalisation de la présente description ;. la figure 4B est un chronogramme représentant des exemples de signaux dans le détecteur de stabilité de la figure 10 4A selon un exemple de réalisation ; la figure 5A illustre schématiquement un détecteur de stabilité de la figure 3A plus en détail selon un autre exemple de réalisation de la présente description ; la figure 5B est un chronogramme illustrant un exemple 15 de signaux dans le détecteur de stabilité de la figure 5A selon un exemple de réalisation ; les figures 6A à 6G sont des chronogrammes illustrant des exemples de fenêtres d'erreur d'avance et de retard et de fenêtres d'avertissement d'avance et de retard selon des exemples 20 de réalisation de la présente description ; la figure 7 illustre schématiquement une partie du circuit de réception de données de la figure lA adaptée à recevoir une pluralité de signaux de données selon un exemple de réalisation de la présente description ; et 25 la figure 8 est une vue en coupe d'un circuit 3D selon un exemple de réalisation. Description détaillée Dans la description suivante, le terme "connecté" est utilisé pour désigner une connexion électrique directe entre des 30 éléments d'un circuit, alors que le terme "couplé" est utilisé pour désigner une connexion qui peut être directe, ou qui peut se faire par l'intermédiaire d'un ou plusieurs éléments intermédiaires comme des résistances ou des condensateurs. Le terme "environ" est utilisé pour désigner une plage de_ plus ou moins 35 10 % autour de la valeur en question. 3053860 B14958 - DD16938ST 7 La figure 1A illustre schématiquement une liaison de coununication synchrone par la source 100 selon un exemple de réalisation. La liaison 100 comprend par exemple un circuit d'émission de données (TX) 102 et un circuit de réception de 5 données (RX) 104. Le circuit d'émission 102 comprend par exemple un dispositif synchrone 106, comme une bascule, recevant un signal de données DATA et un signal d'horloge CLK. Le dispositif synchrone 106 synchronise le signal de données DATA avec le signal 10 d'horloge CLK afin de générer un signal pour émission sur une ligne de données 107 vers le circuit de réception 104. Dans certains modes de réalisation, un élément à retard variable 108 est couplé entre la sortie du dispositif synchrone 106 et la ligne de données 107, et permet d'ajuster la synchronisation des 15 transitions de données du signal de données DATA. Le signal d'horloge CLK est par exemple transmis sur la liaison de communication sur une ligne d'horloge 109, et le circuit d'émission 102 comprend par exemple un élément à retard variable 110 recevant le signal d'horloge CLK et adapté à introduire un 20 retard variable dans le signal d'horloge CLK avant sa transmission sur la ligne 109. Les éléments à retard variable 108, 110 permettent d'ajuster l'instant l'échantillonnage du signal de données au niveau du circuit de réception 104. Dans des variantes de réalisation, l'un des éléments à retard variable 108 et 110 25 pourrait être omis ou mis en oeuvre dans le circuit de réception 104, ou les éléments à retard variable 108, 110 pourraient être remplacés par d'autres moyens permettant d'ajuster l'instant échantillonnage du signal de données. Le circuit de réception 104 comprend par exemple un 30 dispositif synchrone 112 recevant le signal de données DATA sur la ligne de données 107 et le signal d'horloge CLK sur la ligne d'horloge 109. Le dispositif synchrone 112 échantillonne par exemple le signal de données sur la ligne de données 107 sur la base du signal d'horloge reçu CLK afin de générer un signal de 35 données REG DATA, qui est par exemple stocké dans un registre (non 3053860 B14958 - DD16938ST 8 illustré dans les figures) du circuit de réception 104. Dans certains modes de réalisation, le dispositif synchrone 112 peut faire partie d'un tampon FIFO (premier entré, premier sorti). Le dispositif synchrone 112 comprend par exemple un 5 circuit d'ajustement de retard 114 qui détecte la synchronisation relative des transitions de données du signal de données DATA par rapport à des fronts de synchronisation du signal d'horloge CLK, et génère un signal de commande CTRL pour ajuster l'instant d'échantillonnage du signal de données DATA sur la base de cette 10 synchronisation relative détectée. Par exemple, le circuit 114 active des signaux d'erreur d'avance indiquant quand des transitions de données du signal de données surviennent pendant une période allant jusqu'à un front d'horloge significatif du signal d'horloge CLK, et des signaux d'erreur de retard indiquant 15 quand des transitions de données du signal de données surviennent pendant une période commençant à partir du premier front d'horloge significatif du signal d'horloge CLK. Le signal de commande CTRL est par exemple généré sur la base de ces signaux d'erreur. Par exemple, le signal de commande provoque un retardement de 20 l'instant échantillonnage du signal de données dans le cas où le signal d'erreur d'avance est activé, ou un avancement dans le cas où le signal d'erreur de retard est activé. Le signal de commande est par exemple utilisé pour contrôler l'élément à retard variable 108 et/ou 110, bien que dans des variantes de réalisation, il 25 pourrait amener l'instant d'échantillonnage du signal de données DATA à être ajusté d'une manière différente. La figure 1B illustre schématiquement un exemple de mise en oeuvre des éléments à retard variable 108, 110. Chaque élément 108, 110 comprend par exemple un dispositif à retard variable 116, 30 qui est par exemple capable de retarder le signal de données DATA ou le signal d'horloge CLK de jusqu'à environ une demi-période du signal d'horloge CLK. Par exemple, comme cela est connu de l'homme de l'art, le dispositif à retard variable 116 est par exemple mis en oeuvre par une chaîne de tampons, le nombre de tampons dans la 35 chaîne est variable et est sélectionné de manière numérique par 3053860 B14958 - DD16938ST 9 un ou plusieurs bits du signal de commande CTRL. La sortie du dispositif à retard variable 116 est par exemple couplée à deux entrées, une inverseuse et une non-inverseuse, d'un multiplexeur 118. Le multiplexeur 118 est par exemple contrôlé par un ou 5 plusieurs autres bits du signal de commande CTRL pour sélectionner le signal inversé ou le signal non-inversé pour générer le signal retardé DATA' ou CLK'. La figure 1C est un chronogramme illustrant un exemple des signaux CLK et DATA dans le circuit de la figure LA. Comme 10 cela est illustré, les transitions du signal de données DATA sont par exemple alignées avec des fronts d'horloge significatifs du signal d'horloge CLK, qui dans l'exemple de la figure 1C sont les fronts montants. Si la synchronisation relative du signal de données et du signal d'horloge reste inchangée lors la réception 15 par le circuit de réception 104, les fronts d'horloge intermédiaires, qui sont des fronts descendants dans l'exemple de la figure 1C, sont par exemple bien positionnés pour échantillonner le signal de données. Ce point est indiqué par une flèche 120 en figure 1C. 20 La figure 2 est un diagramme de l'oeil représentant des exemples du signal de données reçu par le circuit de réception 104. Le diagramme de l'oeil illustre, à un instant t, des exemples d'états hauts et bas du signal de données DATA, accompagnés de toutes les transitions possibles avant et après cet état bas. 25 L'instant t est l'instant optimal pour échantillonner le signal de données puisque c'est le point pour lequel l'oeil du diagramme est le plus ouvert, et ainsi le risque d'une erreur est considérablement réduit par rapport aux instants le plus avancé et le plus tardif, t' et t". 30 La figure 3A illustre schématiquement le dispositif synchrone 112 de la figure lA plus en détail selon un mode de réalisation. Le dispositif comprend par exemple une bascule 301, synchronisée par le signal d'horloge CLK, et ayant une entrée couplée à la ligne de données 107 pour recevoir le signal de 3053860 B14958 - DD16938ST 10 données DATA. La bascule fournit sur sa sortie le signal de données REG DATA, qui est par exemple mémorisé dans le registre. Le circuit d'ajustement de retard 114 comprend par exemple un détecteur de stabilité (STABILITY DETECTOR) 302 et un 5 générateur de signal de commande (CTRL GEN) 304. Le détecteur de stabilité 302 reçoit par exemple le signal d'horloge CLK sur la ligne 109 et le signal de données DATA sur la ligne 107, et détecte quand un front significatif du signal d'horloge est en avance ou en retard par rapport à une transition du signal de données. Par 10 exemple, le détecteur de stabilité 302 génère un signal d'erreur ERROR EARLY indiquant quand un front d'horloge significatif arrive en avance, ce qui signifie qu'une transition de données a lieu pendant une période d'avant front conduisant au front d'horloge significatif. Le détecteur 'de stabilité 302 génère aussi par 15 exemple un signal d'erreur ERROR LATE indiquant quand un front d'horloge significatif arrive en retard, ce qui signifie qu'une transition de données a lieu pendant une période d'après front à la suite du front d'horloge significatif. Ensemble, les périodes d'avant front et d'après front définissent une fenêtre de 20 détection. Une transition de données survenant pendant cette fenêtre de détection provoque l'activation de l'un ou de l'autre des signaux d'erreur. La largeur de la fenêtre de détection est par exemple égale à une valeur comprise entre un douzième et la moitié de la période d'horloge du signal d'horloge CLK, et par 25 exemple entre 10 % et 20 % de la période d'horloge de ce signal d'horloge CLK. Dans certains modes de réalisation, la largeur de cette fenêtre a une durée fixe. En variante, la largeur de la fenêtre est réglée par un signal de commande WINDOWWIDTH, qui est par exemple généré par le circuit 304 sur la base des signaux 30 d'erreur. Par exemple, la largeur de la fenêtre est réduite si les deux signaux d'erreur, d'avance et de retard, ERROREARLY, ERROR LATE sont activés pendant une même période d'horloge. La figure 3B est un chronogramme illustrant des exemples des signaux CLK, DATA, ERROR EARLY, ERRORLATE, et des signaux 3053860 B14958 - DD16938ST 11 d'avertissement WARNING EARLY, WARNING LATE, dans le détecteur de stabilité 302 de la figure 3A. Les fenêtres de détection centrées sur chacun des fronts d'horloge significatifs sont représentées en figure 3B avec la 5 référence W. Chaque fenêtre de détection W comprend par exemple une fenêtre d'erreur d'avance Wee utilisée pour déclencher le signal d'erreur d'avance ERROREARLY, et une fenêtre d'erreur de retard Wle utilisée pour déclencher le signal d'erreur de retard ERROR LATE. Dans l'exemple de la figure 3B, les fenêtres d'erreur 10 d'avance et de retard Wee, Wle se terminent et commencent respectivement au niveau du front d'horloge significatif. Toutefois, comme cela est décrit ci-après en référence aux figures 6A à 6G, d'autres configurations temporelles seraient possibles. Dans l'exemple de la figure 3B, les fronts d'horloge significatifs 15 sont des fronts montants, trois fronts montants Cl, C2 et C3 étant illustrés. Dans le cas du front Cl, il n'y a pas de transition de données pendant la fenêtre temporelle de détection W correspondante, et ainsi aucun des signaux d'erreur d'avance et de 20 retard n'est activé. Dans le cas du front C2, ce front arrive en avance par rapport à une transition du signal de données DATA, et ainsi cette transition de données a lieu dans l'intervalle entre le début de la fenêtre W et le front C2. Ainsi le signal d'erreur ERROR EARLY 25 est activé. Dans le cas du front C3, ce front arrive en retard par rapport à une transition du signal de données DATA, et ainsi cette transition de données a lieu dans l'intervalle entre le front C3 et la fin de la fenêtre W. Ainsi le signal d'erreur ERROR LATE 30 est activé. Dans un mode de réalisation, la largeur de la fenêtre de détection W est d'environ la moitié de la période du signal d'horloge CLK, et les fenêtres W sont centrées sur chaque front d'horloge significatif de sorte que les périodes d'avant front et 35 d'après front ont environ la même durée. Comme cela a été décrit 3053860 B14958 - DD16938ST 12 précédemment, la largeur des fenêtres W peut être variable. Par exemple, initialement, largeur de la fenêtre peut être sélectionnée pour être relativement grande, par exemple égale à environ la moitié de la période d'horloge, de sorte que l'instant 5 d'échantillonnage peut être ajusté avec une précision relativement élevée. La largeur de la fenêtre peut donc être réduite, de sorte qu'un seul des signaux d'erreur va être activé dans le cas d'un décalage relativement significatif dans la synchronisation relative des signaux d'horloge et de données. 10 Dans certains modes de réalisation, d'autres fenêtre de détection W' sont utilisées pour générer des signaux d'avertissement d'avance et de retard WARNING EARLY, WARNING LATE, qui indiquent par exemple quand l'instant d'échantillonnage du signal de données est devenu non optimal, ce qui permet d'appliquer un 15 certain degré de correction. Comme les fenêtres de détection W, les fenêtres de détection d'avertissement W' sont par exemple centrées sur les fronts d'horloge significatifs. De façon similaire à la fenêtre de détection d'erreur W, la fenêtre de détection d'avertissement W' comprend par exemple une fenêtre 20 d'avertissement d'avance Wew utilisée pour déclencher le signal d'avertissement d'avance WARNING EARLY, et un signal d'avertissement de retard Wlw utilisé pour déclencher le signal d'avertissement de retard WARNING LATE. Dans l'exemple de la figure 3B, les fenêtres d'avertissement d'avance et de retard Wew, 25 Wlw se terminent et commencent respectivement au niveau du front d'horloge. Cependant, comme cela est décrit ci-après en référence aux figures 6D à 6G, d'autres synchronisations seraient possibles. Dans l'exemple de la figure 3B, le signal d'avertissement d'avance WARNING EARLY est par exemple activé pour le front Cl, même si le 30 signal d'erreur d'avance ERROR EARLY n'est pas activé, puisque la transition de données a lieu entre le début de la fenêtre W' et le début de la fenêtre W. Dans l'exemple de la figure 3B, le signal d'avertissement d'avance WARNING EARLY est aussi activé pour le front C2, et le signal d'avertissement de retard 35 WARNING LATE est activé pour le front C3. 3053860 B14958 - DD16938ST 13 Les signaux d'avertissement d'avance et de retard WARNING EARLY, WARNING LATE sont par exemple générés par le détecteur de stabilité 302 et sont fournis au générateur de signal de commande 304 comme les signaux d'erreur. En outre, ces signaux 5 d'avertissement sont par exemple utilisés pour générer le signal de commande de la même manière que les signaux d'erreur. Dans certains modes de réalisation, les signaux d'avertissement d'avance et de retard sont utilisés pour fournir une correction de l'instant d'échantillonnage avant que le taux d'erreur ne 10 commence à augmenter de façon significative, et dans un tel cas les signaux d'erreur par exemple indiquent non seulement qu'un ajustement de l'instant d'échantillonnage doit être fait, mais aussi que les données sont susceptibles d'être endommagées, et ainsi doivent être supprimées ou corrigées. Dans des variantes de 15 réalisation, l'activation de l'un ou de l'autre des signaux d'avertissement peut être utilisée pour réaliser un ajustement graduel de l'instant d'échantillonnage du signal de données, tandis que l'activation de l'un ou de l'autre des signaux d'erreur peut être utilisée pour réaliser un ajustement plus significatif 20 de l'instant d'échantillonnage du signal de données. La figure 4A illustre schématiquement la bascule 301 et le détecteur de stabilité 302 plus en détail selon un exemple de réalisation. Le détecteur de stabilité 302 comprend par exemple une 25 bascule 402, synchronisée par le signal d'horloge CLK, et recevant un signal de données D' correspondant au signal de données DATA après avoir été retardé par un élément de retard (DELAY) 404. Le détecteur de stabilité 302 comprend aussi par exemple une autre bascule 406, synchronisée par un signal d'horloge CLK', et 30 recevant le signal de données DATA. Le signal d'horloge CLK' correspond par exemple au signal d'horloge CLK retardé par un élément de retard (DELAY) 408. La sortie de la bascule 402 est par exemple fournie à un comparateur mis en oeuvre par une porte OU EXCLUSIF 410, qui reçoit aussi le signal de données REG DATA, 35 et génère le signal d'erreur d'avance ERROREARLY lorsque ces 3053860 B14958 - DD16938ST 14 signaux diffèrent. La sortie de la bascule 406 est par exemple fournie à un comparateur mis en oeuvre par une porte OU EXCLUSIF 412, qui reçoit aussi le signal de données REG DATA, et génère le signal d'erreur de retard ERROR LATE lorsque ces signaux 5 diffèrent. On va maintenant décrire plus en détail le fonctionnement du circuit de la figure 4A en faisant référence au chronogramme de la figure 4B. La figure 4B illustre des exemples du signal d'horloge 10 CLK, du signal de données DATA, du signal de données retardé D', du signal d'erreur d'avance ERROR EARLY, du signal d'horloge CLK', et du signal d'erreur de retard ERROR LATE. Comme cela est illustré, le signal de données retardé D' est par exemple retardé par l'élément de retard 404 d'une durée 15 DL1, qui dans certains modes de réalisation est égale à la moitié de la durée de la fenêtre W. Si le signal de données DATA a une transition à moins que la valeur de retard DL1 avant un front significatif du signal d'horloge CLK, cette transition va ainsi être retardée pour survenir juste après ce front d'horloge 20 significatif, comme cela est représenté en figure 4B pour la transition T1. Cela implique que le signal de données DATA et le signal de données retardé D' vont avoir des valeurs différentes sur un front montant du signal d'horloge CLK, et ainsi la sortie de la porte OU EXCLUSIF 410 de la figure 4A va monter, provoquant 25 l'activation du signal d'erreur ERROR EARLY. Le signal d'horloge CLK' est par exemple retardé par l'élément de retard 408 d'une durée DL2, qui est aussi par exemple égale à la moitié de la largeur de la fenêtre W. Si une transition de données du signal de données DATA survient entre un front 30 significatif du signal d'horloge CLK et la version retardée de ce front du signal CLK', ce qui est le cas pour la transition T2, le signal d'erreur ERROR LATE est activé. La figure 5A illustre le détecteur de stabilité 302 plus en détail selon encore un autre exemple de réalisation. 3053860 B14958 - DD16938ST 15 Le circuit 302 dans cet exemple comprend par exemple un élément de retard (DELAY) 502 couplé à la ligne te données 107 et générant un signal de données retardé D'. Le signal de données D et le signal de données D' sont tous les deux par exemple fournis 5 à un vérificateur de stabilité (STABILITY CHECKER) 504. Le vérificateur de stabilité 504 reçoit aussi d'un générateur d'impulsions 506, un signal WIN. Le signal WIN comprend par exemple une impulsion haute sur chaque front significatif d'un signal d'horloge CLK. Par exemple, le générateur d'impulsions 506 10 comprend un élément de retard (DELAY) 508 couplé à la ligne d'horloge 109, et ayant sa sortie couplée à une entrée inversée d'une porte ET 510. L'autre entrée non inversée de la porte ET 510 est par exemple couplée à la ligne d'horloge 109. Le vérificateur de stabilité 504 est par exemple adapté 15 à activer un signal sur sa ligne de sortie 512 lorsqu'une transition du signal de données D' survient pendant l'impulsion haute du signal WIN, et un signal sur une ligne de sortie 514 lorsqu'une transition du signal de données D survient pendant l'impulsion haute du signal WIN. Les lignes de sortie 512 et 514 20 sont par exemple couplées à un circuit de verrouillage 516, qui mémorise l'état activé des signaux sur les lignes 512 et 514 et fournit ces signaux sur ses lignes de Sortie 518, 520 respectivement, jusqu'à ce qu'un signal de réinitialisation RN soit activé. Par exemple, la ligne 518 fournit le signal d'erreur 25 d'avance ERROR EARLY, et la ligne 520 fournit le signal d'erreur de retard ERROR LATE. Le circuit de verrouillage 516 comprend par exemple un premier verrou ayant son entrée de données couplée à un état haut et son entrée d'horloge couplée à la ligne 512, et un autre verrou ayant son entrée de données couplée à un état haut 30 et son entrée d'horloge couplée à la ligne 514. On va maintenant décrire plus en détail le fonctionnement du circuit de la figure 5A en faisant référence à la figure 5B. La figure 5B est un chronogramme illustrant des exemples 35 du signal d'horloge CLK, du signal de données D, du signal de 3053860 B14958 - DD16938ST 16 données D', du signal d'impulsion WIN et des signaux d'erreur ERROR EARLY et ERROR LATE dans le circuit de la figure 5A. Comme cela est illustré, le signal de données retardé D' est par exemple retardé par l'élément de retard 502 d'une durée 5 DL1', qui dans certains modes de réalisation est égale à la moitié de la durée de la fenêtre W. Si le signal de données a une transition à moins que la valeur de retard DL1 avant un front significatif du signal d'horloge CLK, cette transition va ainsi être retardée pour avoir lieu juste après ce front d'horloge 10 significatif, comme cela est représenté en figure 5B pour une transition de données T3. Cette transition va ainsi avoir lieu pendant une impulsion haute du signal WIN, qui a par exemple une durée DL2' introduite par l'élément de retard 508, aussi par exemple égale à la moitié de la durée de la fenêtre W. Ainsi le 15 vérificateur de stabilité 504 va activer le signal sur la ligne 512, et le signal d'erreur d'avance ERROR_EARLY va être activé par le circuit de verrouillage 516. De façon similaire, si une transition du signal de données D a lieu dans une fenêtre W et après un front d'horloge 20 significatif, elle va aussi avoir lieu pendant une impulsion haute du signal WIN. Cela est par exemple le cas pour une transition T4 de la figure 5B. Ainsi, le vérificateur de stabilité 504 va activer le signal sur la ligne 514, et le signal d'erreur de retard ERROR LATE va être activé par le circuit de verrouillage 516. 25 Les figures 6A à 6G sont des chronogrammes illustrant des exemples de fenêtres d'erreur d'avance et de retard et de fenêtres d'avertissement d'avance et de retard. La figure 6A illustre un exemple dans lequel la fenêtre d'erreur d'avance Wee se termine au niveau du front d'horloge 30 significatif du signal d'horloge CLK, et la fenêtre d'erreur de retard Wle démarre au niveau du front d'horloge significatif. La figure 6B illustre un exemple dans lequel la fenêtre d'erreur d'avance Wee se termine à un intervalle de temps tbl avant le front d'horloge significatif du signal d'horloge CLK, et 35 la fenêtre d'erreur de retard Wle commence à un intervallé de 3053860 B14958 - DD16938ST 17 temps tal après le front d'horloge significatif. Ainsi des signaux d'erreur ne sont pas générés si une transition de données a lieu pendant les périodes de temps tbl et tal, mais en pratique une telle transition n'est pas probable sans qu'il y ait eu d'abord 5 une ou plusieurs transitions pendant l'une des fenêtres Wee ou Wle. La figure 6C illustre un exemple dans lequel la fenêtre d'erreur d'avance Wee démarre avant et se termine après le front d'horloge significatif du signal d'horloge CLK, et la fenêtre 10 d'erreur de retard Wle commence avant et se termine après le front d'horloge significatif. La fenêtre d'erreur d'avance Wee commence avant la fenêtre d'erreur de retard Wle. Le chevauchement entre les fenêtres Wee, Wle signifie que, pour certaines transitions de données, les signaux d'erreur d'avance et de retard vont tous les 15 deux être activés. La figure 6D illustres un exemple dans lequel les fenêtres d'erreur d'avance et de retard Wee, Wle sont les mêmes que les fenêtres de la figure 6A. La figure 6D illustre aussi un exemple des fenêtres d'avertissement d'avance et de retard Wew, 20 Wlw. Dans l'exemple de la figure 6D, la fenêtre Wew se termine au niveau du front d'horloge significatif du signal d'horloge CLK, et la fenêtre Wlw commence au niveau du front d'horloge significatif. La figure 6E illustre un exemple dans lequel les 25 fenêtres d'erreur d'avance et de retard Wee, Wle sont les mêmes que les fenêtres de la figure 6A. Cependant, la fenêtre d'avertissement d'avance Wew commence avant le début de la fenêtre Wee et se termine au début de la fenêtre Wee, et la fenêtre d'avertissement de retard Wlw commence à la fin de la fenêtre Wle 30 et se termine après la fin de la fenêtre Wle. Ainsi, dans cet exemple des signaux d'erreur et des signaux d'avertissement ne seront pas activés simultanément pour une même transition de données. La figure 6F illustre un exemple dans lequel les 35 fenêtres d'erreur d'avance et de retard Wee, Wle sont les mêmes 3053860 B14958 - DD16938ST 18 que les fenêtres de la figure 6A. Toutefois, la fenêtre d'avertissement d'avance Wew commence avant le début de la fenêtre Wee et se termine à un intervalle de temps tb2 avant le début de la fenêtre Wee. La fenêtre d'avertissement de retard Wlw commence 5 à un intervalle de temps ta2 après la fin de la fenêtre Wle. La figure 6G illustre un exemple dans lequel les fenêtres d'erreur d'avance et de retard Wee, Wle sont les mêmes que les fenêtres de la figure 6A. Toutefois, la fenêtre d'avertissement d'avance Wew commence avant le début de la fenêtre 10 Wee et se termine à un intervalle de temps ta3 après le début de la fenêtre Wee. La fenêtre d'avertissement de retard Wlw commence à un intervalle de temps tb3 avant la fin de la fenêtre Wle, et se termine après la fin de la fenêtre Wle. Ainsi, pour des transitions de données ayant lieu pendant les intervalles de temps 15 ta3 et tb3, les signaux d'erreur et d'avertissement vont tous les deux être activés. Il apparaîtra clairement à l'homme de l'art que les caractéristiques temporelles des fenêtres Wee et Wle représentées dans les figures 6B et 6C pourraient être appliquées aux exemples 20 des figures 6D à 6G. La figure 7 illustre schématiquement une partie 700 d'un circuit de réception 104 de la figure 1A dans le cas où il y a une pluralité de N lignes de données 107[0] à 107[N-1] recevant respectivement des signaux de données DATA[0] à DATA[N-1], où N 25 est par exemple égal à 2 ou plus. Chacun de ces signaux de données est fourni à une bascule correspondante 301 générant des signaux de données correspondants REG DATA[0] à REG DATA[N-1], et à un détecteur de stabilité (STABILITY DETECTOR) 302 générant des signaux d'erreur d'avance et de retard correspondants 30 ERROR EARLY[0] à ERROR EARLY[N-1], et ERROR LATE[0] à ERROR LATE[N-1]. Dans certains modes de réalisation, chaque paire de signaux d'erreur peut être fournie à un générateur de signal de commande 304 correspondant (non illustré en figure 7) d'une 35 manière similaire au mode de réalisation de la figure 3A. Dans un 3053860 B14958 - DD16938ST 19 tel cas, chaque ligne de données comprend par exemple un circuit pour ajuster son instant d'échantillonnage sur la base du signal de commande correspondant, comme un élément de retard 108. En variante, les signaux d'erreur d'avance provenant des 5 détecteurs de stabilité 302 sont par exemple fournis à des entrées correspondantes d'une porte OU 702, qui génère un signal d'erreur d'avance commun ERROR EARLY pour les signaux de données reçus, et les signaux d'erreur de retard provenant des détecteurs de stabilité 302 sont par exemple fournis à des entrées 10 correspondantes d'une porte OU 704, qui génère un signal d'erreur de retard commun ERROR LATE pour les signaux de données reçus. Un seul générateur de signal de commande 304 est par exemple utilisé ensuite pour ajuster l'instant d'échantillonnage de tous les signaux de données ensemble, par exemple en ajustant la 15 synchronisation du signal d'horloge CLK en utilisant l'élément de retard 110. Dans certains modes de réalisation, une autre porte OU 706 assure la fonction OU des signaux d'erreur communs ERROR EARLY et ERROR LATE pour générer un signal d'erreur ERROR indiquant 20 quand au moins l'un des signaux d'erreur est actif, et donc qu'un étalonnage est nécessaire. La figure 8 est une vue en coupe d'un circuit 3D 800 selon un exemple de réalisation. Le circuit comprend par exemple des circuits élémen25 taires 802, dont trois sont illustrés dans l'exemple de la figure 8. Chaque circuit élémentaire 802 est par exemple monté sur un interposeur 804, qui assure une fonction de tampon active ou passive entre les circuits élémentaires, et par exemple met en oeuvre la liaison de communication décrite ici. L'interposeur 804 30 est par exemple monté sur un boîtier 806. Dans des variantes de réalisation, la liaison de conununication décrite ici pourrait être appliquée à d'autres applications, comme à des interfaces de communication dans un même circuit intégré, entre des circuits d'un NoC (de l'anglais 3053860 B14958 - DD16938ST 20 Network-On-Chip, réseau sur une puce), ou pour interconnecter plusieurs NoC. Un avantage des modes de réalisation décrits ici est que la synchronisation d'un ou plusieurs signaux de données par 5 rapport à un signal d'horloge transmis sur une liaison de communication de données peut être ajustée de manière simple, avec un circuit relativement compact. En effet, le détecteur de stabilité décrit ici est un circuit relativement simple qui peut être ajouté au dispositif de réception synchrone de chaque signal 10 de données dans un circuit de réception. Avec la description ainsi faite d'au moins un mode de réalisation illustratif, diverses altérations, modifications et améliorations apparaîtront facilement à l'homme de l'art. Par exemple, il apparaîtra clairement à l'homme de l'art que, alors 15 que des exemples de mise en oeuvre du détecteur de stabilité ont été décrits en relation avec les figures 4A et 5A, ce ne sont que des exemples, et d'autres mises en oeuvre seraient possibles. En outre, il apparaîtra clairement à l'homme de l'art que les divers éléments décrits en relation avec les divers modes 20 de réalisation pourraient être combinés, dans des variantes de réalisation, selon diverses combinaisons. Par exemple, la largeur de fenêtre ajustable décrite en relation avec la figure 3A pourrait être mise en oeuvre dans le mode de réalisation de la figure 7. REVENDICATIONS1. Dispositif de réception de données comprenant : une première entrée de données pour recevoir un premier signal de données (DATA) et une entrée d'horloge pour recevoir un signal d'horloge (CLK) ; et un circuit de détection de stabilité (114) adapté à générer : un premier signal d'erreur (ERROR EARLY) indiquant quand une transition de données du premier signal de données survient pendant une première période au moins partiellement avant 10 un premier front d'horloge significatif du signal d'horloge (CLK) ; et un deuxième signal d'erreur (ERROR LATE) indiquant quand une transition de données du premier signal de données survient pendant une deuxième période au moins partiellement après 15 le premier front d'horloge significatif du signal d'horloge ; et un circuit de commande (304) agencé pour générer un signal de commande (CTRL) pour ajuster l'instant d'échantillonnage du premier signal de données sur la base des premier et deuxième signaux d'erreur. 20 2. Dispositif de réception de données selon la revendication 1, dans lequel le circuit de détection de stabilité (302) est agencé pour régler les durées des première et deuxième périodes sur la base d'un autre signal de commande (WINDOWWIDTH). 3. Dispositif de réception de données selon la 25 revendication 2, dans lequel le circuit de commande est en outre adapté à générer l'autre signal de commande (WINDOW WIDTH) sur la base des premier et deuxième signaux d'erreur (ERROR EARLY, ERROR LATE). 4. Dispositif de réception de données selon la 30 revendication 3, dans lequel le circuit de commande est adapté à générer l'autre signal de commande afin de réduire les largeurs des première et deuxième périodes lorsque les premier et deuxième signaux d'erreur indiquent l'occurrence de transitions de données pendant les première et deuxième périodes. 3053860 B14958 - DD16938ST 22 5. Dispositif de réception de données selon l'une quelconque des revendications 1 à 4, dans lequel le circuit de commande (304) est adapté à générer le signal de coinutan.de (CTRL) pour contrôler la durée d'un retard appliqué au signal de données 5 ou au signal d'horloge, dans lequel le retard est contrôlé afin de mettre l'instant d'échantillonnage plus en retard si le premier signal d'erreur est activé et de mettre l'instant d'échantillonnage plus en avance si le deuxième signal d'erreur est activé. 6. Dispositif de réception de données selon l'une 10 quelconque des revendications 1 à 5, dans lequel le circuit de détection de stabilité comprend : un premier élément de retard (404, 502) adapté à retarder le premier signal de données (DATA) ; un deuxième élément de retard (408, 508) adapté à 15 retarder le signal d'horloge (CLK) ; et un circuit de génération de signal d'erreur (402, 406, 410, 412, 504, 516) adapté à générer les premier et deuxième signaux d'erreur sur la base au moins du premier signal de données retardé (D') et du signal d'horloge retardé (CLK'). 20 7. Dispositif de réception de données selon l'une quelconque des revendications 1 à 6, dans lequel le circuit de détection de stabilité (114) est en outre adapté à générer : un premier signal d'avertissement (WARNING EARLY) indiquant quand une transition de données du signal de données 25 survient pendant une troisième période au moins partiellement avant un premier front d'horloge significatif du signal d'horloge (CLK), la troisième période commençant plus tôt que la première période ; et un deuxième signal d'avertissement (WARNING LATE) 30 indiquant quand une transition de données du signal de données survient pendant une quatrième période au moins partiellement après le premier front d'horloge significatif du signal d'horloge, la quatrième période se terminant plus tard que la deuxième période. 3053860 B14958 - DD16938ST 23 8. Dispositif de réception de données selon l'une quelconque des revendications 1 à 7, comprenant en outre : une deuxième entrée de données pour recevoir un deuxième signal de données (DATA[1]), le circuit de détection de stabilité 5 (114) étant en outre adapté à générer : un troisième signal d'erreur (ERROR EARLY[1]) indiquant quand une transition de données du deuxième signal de données survient pendant la première période allant jusqu'à un premier front d'horloge significatif du signal d'horloge (CLK) ; et un quatrième signal d'erreur (ERROR LATE[1]) indiquant quand une transition de données du deuxième signal de données survient pendant la deuxième période commençant à partir du premier front d'horloge significatif du signal d'horloge (CLK). 9. Dispositif de réception de données selon l'une quelconque des revendications 1 à 8, dans lequel la première période est entièrement avant le premier front d'horloge significatif et la deuxième période est entièrement après le premier front d'horloge significatif. 10. Dispositif de réception de données selon l'une quelconque des revendications 1 à 8, dans lequel la première période se teimine au niveau du premier front d'horloge significatif et la deuxième période commence au niveau du premier front d'horloge significatif. 11. Liaison de communication de données synchrone par la source comprenant : le dispositif de réception de données de l'une quelconque des revendications 1 à 10 ; et un circuit d'émission de données (102) adapté à générer 30 le premier signal de données (DATA) et le signal d'horloge (CLK), le circuit d'émission de données (102) ou le dispositif de réception de données (104) comprenant en outre au moins un élément à retard variable (108, 110) adapté à retarder le premier signal de données (DATA) ou le signal d'horloge (CLK) sur la base du 35 signal de commande (CTRL). 3053860 B14958 - DD16938ST 24 12. Procédé pour ajuster l'instant d'échantillonnage d'un signal de données transmis sur une liaison de données synchrone par la source, le procédé comprenant : recevoir un premier signal de données (DATA) au niveau 5 d'une première entrée de données d'un circuit de réception de données (104) de la liaison de données synchrone par la source, et un signal d'horloge (CLK) au niveau d'une entrée d'horloge du circuit de réception de données ; et générer, par un circuit de détection de stabilité (114) 10 du circuit de réception de données : un premier signal d'erreur (ERROR EARLY) indiquant quand une transition de données du premier signal de données survient pendant une première période allant jusqu'à un premier front d'horloge significatif du signal d'horloge (CLK) ; et 15 un deuxième signal d'erreur (ERROR LATE) indiquant quand une transition de données du premier signal de données survient pendant une deuxième période commençant à partir du premier front d'horloge significatif du signal d'horloge ; et générer, par un circuit de commande du circuit de 20 réception de données, un signal de commande (CTRL) pour ajuster l'instant d'échantillonnage du signal de données sur la base des premier et deuxième signaux d'erreur.