FR3134462A1 - Procédé de transfert de données entre un premier domaine numérique et un deuxième domaine numérique, et système sur puce correspondant. - Google Patents

Procédé de transfert de données entre un premier domaine numérique et un deuxième domaine numérique, et système sur puce correspondant. Download PDF

Info

Publication number
FR3134462A1
FR3134462A1 FR2203375A FR2203375A FR3134462A1 FR 3134462 A1 FR3134462 A1 FR 3134462A1 FR 2203375 A FR2203375 A FR 2203375A FR 2203375 A FR2203375 A FR 2203375A FR 3134462 A1 FR3134462 A1 FR 3134462A1
Authority
FR
France
Prior art keywords
domain
signal
transfer
reset
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR2203375A
Other languages
English (en)
Inventor
Nicolas Saux
Sébastien METZGER
Hervé Cassagnes
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
STMicroelectronics Rousset SAS
Original Assignee
STMicroelectronics Rousset SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by STMicroelectronics Rousset SAS filed Critical STMicroelectronics Rousset SAS
Priority to FR2203375A priority Critical patent/FR3134462A1/fr
Priority to US18/133,214 priority patent/US20230325336A1/en
Priority to CN202310385071.7A priority patent/CN117421273A/zh
Publication of FR3134462A1 publication Critical patent/FR3134462A1/fr
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

Le système sur puce comporte au moins un premier domaine numérique (V11) configuré pour être réinitialisé par un premier signal de réinitialisation (PADRST), un deuxième domaine numérique (V22) et un circuit d’interface (INTF). Le circuit d’interface comporte un registre de départ (RDEP) dans le premier domaine, un registre de destination (RDEST) dans le deuxième domaine et un circuit de synchronisation (FFSYNC) dans le premier domaine. Le circuit d’interface est configuré pour transférer des données (PWDAT, PADD) du registre de départ (RDEP) vers le registre de destination (RDEST) sur commande d’un signal de commande (W_pls_sync) transmis par le circuit de synchronisation (FFSYNC). Le registre de départ (RDEP) et le circuit de synchronisation (FFSYNC) sont configurés pour ne pas être réinitialisés par le premier signal de réinitialisation (PADRST). Figure pour l’abrégé : Fig 1

Description

Procédé de transfert de données entre un premier domaine numérique et un deuxième domaine numérique, et système sur puce correspondant.
Des modes de réalisation et de mise en œuvre concernent les transferts de données entre des domaines numériques distincts d’un système sur puce, en particulier des domaines numériques ayant des tensions d’alimentation et des fréquences de fonctionnement différentes.
Classiquement, dans des systèmes sur puce comportant des domaines de puissance distincts, c’est-à-dire en particulier des domaines numériques alimentés et cadencés par des couples tension-fréquence différents, certains domaines de puissance peuvent être alimentés par intermittence tandis que d’autres domaines de puissance peuvent être alimentés en permanence.
Les domaines de puissance alimentés par intermittence sont typiquement des domaines à hautes performances qui peuvent être activés et désactivés en fonction de l’utilisation du système sur puce. Ces domaines hautes performances sont consommateur d’énergie car alimentés par fréquences relativement grandes dans le système sur puce.
Les domaines alimentés en permanence sont quant à eux typiquement économes en énergie et permettent en particulier de maintenir des données critiques ou des fonctions critiques lorsque le système fonctionne dans un mode basse consommation. En conséquence, les domaines alimentés en permanence sont typiquement cadencés à des basses fréquences.
Or, des informations critiques à conserver dans le domaine alimenté en permanence peuvent être écrites par des initiateurs de transactions à haute fréquence, par exemple issus du domaine haute performance.
D’une part, les informations critiques doivent être reçue est enregistrées, typiquement dans des registres du domaine basse fréquence, quelle que soit la fréquence de transmission des données vis-à-vis de la fréquence d’écriture des registres.
D’autre part, une réinitialisation du système sur puce peut se produire de manière aléatoire par rapport à l’écriture des registres, typiquement lors d’un actionnement d’un signal de réinitialisation externe et asynchrone.
Ce type de réinitialisation externe et asynchrone peut provoquer une métastabilité sur les registres contenant les informations critiques à transférer, conduisant à un dysfonctionnement du système sur puce, si la réinitialisation se produit en même temps que l’écriture des registres.
La métastabilité d’un registre, tel qu’une bascule « D » classique et connue en soi, se produit typiquement lorsque les broches de données du registre basculent lors d’une transition de son signal d’horloge ou lorsque que le signal d’horloge est interrompu, auxquels cas la sortie du registre reste entre les états bas et haut pendant un certain temps et converge vers un état inconnu.
Ainsi, une métastabilité des registres du domaine basse fréquence, contenant des données critiques, peut être provoquée lorsque les entrées de ce registre sont réinitialisées de manière asynchrone par rapport à l’horloge basse fréquence. Par exemple, l’événement de réinitialisation externe pendant un transfert des données entre les deux domaines peut corrompre le contenu critique du registre.
Il existe en conséquence un besoin d’éviter la corruption de données critiques lors d’un transfert entre deux domaines de puissance d’un système sur puce.
A cet égard, selon un aspect il est proposé un système sur puce comportant au moins un premier domaine numérique configuré pour être réinitialisé par un premier signal de réinitialisation, un deuxième domaine numérique et un circuit d’interface comportant au moins un élément de transfert dans le premier domaine. Le circuit d’interface est configuré pour transférer des données dudit au moins un élément de transfert vers le deuxième domaine. Ledit au moins un élément de transfert est configuré pour ne pas être réinitialisé par le premier signal de réinitialisation.
L’élément de transfert du circuit d’interface est par exemple un registre contenant des données à transférer, ou un état de signal numérique à transférer.
Etant donné que l’élément de transfert du circuit d’interface n’est pas affecté par le premier signal de réinitialisation, qui est par exemple un signal de réinitialisation externe asynchrone, le risque d’engager des données corrompues à cause d’une métastabilité résultant d’une réinitialisation asynchrone par le premier signal de réinitialisation pendant le transfert est grandement limité. En effet, cela permet au circuit d’interface de réagir de façon maitrisée à une réinitialisation par le premier signal de réinitialisation, l’élément de transfert étant ainsi capable de terminer un transfert avec des données non corrompues, malgré une réinitialisation survenant à l’instant du transfert.
Selon un mode de réalisation, le deuxième domaine est configuré pour être réinitialisé par un deuxième signal de réinitialisation, ledit au moins un élément de transfert étant configuré pour être réinitialisé par le deuxième signal de réinitialisation.
Par exemple le deuxième signal de réinitialisation peut être un signal interne de réinitialisation au démarrage, usuellement « power-on reset » en anglais, utilisé lors d’un arrêt total du système sur puce ou lors d’un arrêt intermittent du domaine, qui se produisent de manière synchrone.
Selon un mode de réalisation, le premier domaine est configuré pour être cadencé par un premier signal d’horloge à une première fréquence et le deuxième domaine est configuré pour être cadencé par un deuxième signal d’horloge à une deuxième fréquence inférieure à la première fréquence.
Cela correspond à un exemple où le premier domaine est destiné à des exécutions numériques à haute performance, tandis que le deuxième domaine est destiné à être maintenu en activité par exemple pour enregistrer des données critiques issues du premier domaine.
Selon un mode de réalisation, le premier domaine est configuré pour recevoir le premier signal de réinitialisation de l’extérieur du système sur puce de manière asynchrone avec le premier signal d’horloge, et le deuxième domaine est configuré pour générer le deuxième signal de réinitialisation lors d’un processus synchrone de réinitialisation au démarrage du système sur puce.
Selon un mode de réalisation, le circuit d’interface comporte un registre de départ parmi ledit au moins un élément de transfert, un registre de destination dans le deuxième domaine et un circuit de synchronisation dans le premier domaine, le circuit d’interface étant configuré pour transférer des données du registre de départ vers le registre de destination sur commande d’un signal de commande transmis par le circuit de synchronisation, dans lequel le circuit de synchronisation est configuré pour ne pas être réinitialisé par le premier signal de réinitialisation.
Cela permet en outre de limiter le risque d’engager des données corrompues dans le transfert. En effet, là encore le circuit d’interface peut réagir de façon maitrisée à une réinitialisation par le premier signal de réinitialisation, étant donné que le circuit de synchronisation est ainsi capable de ne pas engager la commande d’un transfert avec des données corrompues à cause d’une métastabilité du registre de départ, causée par une réinitialisation survenant à l’instant du chargement du registre de départ.
Selon un mode de réalisation, le premier domaine est configuré pour communiquer les données à transférer sur une entrée du registre de départ et pour communiquer le signal de commande au circuit de synchronisation au moins un cycle du premier signal d’horloge après lesdites données, et le registre de départ est configuré pour saisir les données à transférer en un seul cycle du premier signal d’horloge et ensuite conserver lesdites données indépendamment de ladite entrée.
Ce mode de réalisation permet d’une part de garantir que les données à transférer, lorsqu’elles sont conservées par le registre de départ, ne soient pas corrompues par une éventuelle réinitialisation se produisant après ledit un seul cycle utilisé pour saisir les données. En outre, ce mode de réalisation permet d’autre part de garantir de ne pas transférer des données corrompues par une réinitialisation se produisant pendant ledit un seul cycle utilisé pour saisir les données, étant donné que dans un tel cas, le signal de commande ne peut pas être communiqué au circuit de synchronisation un cycle après ledit un seul cycle utilisé pour saisir les données, puisque la réinitialisation survient pendant ce cycle.
En d’autres termes, ce mode de réalisation permet de ne pas subir une corruption des données survenant après le cycle utilisé pour la saisie des données, et de ne pas transférer des données corrompues pendant le cycle utilisé pour la saisie.
Selon un mode de réalisation, le circuit d’interface comporte un élément d’adaptation de signal parmi ledit au moins un élément de transfert, configuré pour transférer, entre le premier domaine et le deuxième domaine, un signal d’établissement de liaison.
Cela permet là encore de limiter le risque d’engager ledit signal contribuant audit transfert, corrompu à cause d’une réinitialisation pendant le transfert.
Selon un mode de réalisation, ledit au moins un élément d’adaptation de signal comporte un deuxième registre de départ configuré pour saisir la valeur d’un signal de conditionnement d’établissement de liaison en un seul cycle dudit premier signal d’horloge et ensuite conserver ladite valeur.
Ce mode de réalisation permet là encore de ne pas subir une corruption sur ledit signal survenant après le cycle utilisé pour la saisie de ce signal.
Selon un mode de réalisation, un circuit logique de commande est configuré pour générer un signal d’état de transfert pendant le premier cycle du premier signal d’horloge du transfert des données du premier domaine vers le deuxième domaine, le(s) registre(s) de départ étant configuré(s) pour saisir lesdites données ou ledit signal de conditionnement d’établissement de liaison sur commande du signal d’état de transfert, de sorte que ledit un seul cycle du premier signal d’horloge est ce premier cycle.
Selon un mode de réalisation, le circuit logique de commande est configuré pour fournir le signal d’état de transfert décalé d’au moins un cycle du premier signal d’horloge au circuit de synchronisation déclenchant la transmission dudit signal de commande.
Selon un autre aspect, il est proposé un procédé de transfert de données entre au moins un premier domaine numérique, et un deuxième domaine numérique d’un système sur puce, comprenant un transfert des données depuis au moins un élément de transfert dans le premier domaine vers le deuxième domaine, dans lequel un premier signal de réinitialisation provoque une réinitialisation du premier domaine mais ne provoque pas une réinitialisation dudit au moins un élément de transfert.
Selon un mode de mise en œuvre, un deuxième signal de réinitialisation réinitialise le deuxième domaine, et ledit au moins un élément de transfert.
Selon un mode de mise en œuvre, le premier domaine est cadencé par un premier signal d’horloge à une première fréquence et le deuxième domaine est cadencé par un deuxième signal d’horloge à une deuxième fréquence inférieure à la première fréquence.
Selon un mode de mise en œuvre, le premier signal de réinitialisation provient de l’extérieur du système sur puce de manière asynchrone avec le signal d’horloge du premier domaine, et le deuxième signal de réinitialisation est généré lors d’un processus synchrone de réinitialisation au démarrage du système sur puce.
Selon un mode de mise en œuvre, ledit transfert comprend un transfert de données fait depuis un registre de départ parmi ledit au moins un élément de transfert, vers un registre de destination dans le deuxième domaine, sur commande d’un signal de commande transmis par un circuit de synchronisation du premier domaine, le premier signal de réinitialisation ne provoquant pas une réinitialisation un circuit de synchronisation.
Selon un mode de mise en œuvre, le procédé comprend une communication des données à transférer sur une entrée du registre de départ et une communication du signal de commande au circuit de synchronisation au moins un cycle du premier signal d’horloge après lesdites données, et dans lequel le transfert des données comprend une saisie, par le registre de départ, des données à transférer en un seul cycle du premier signal d’horloge et une conservation desdites données ensuite, indépendamment de ladite entrée.
Selon un mode de mise en œuvre, ledit transfert comprend une adaptation de signal depuis un élément d’adaptation de signal parmi ledit au moins un élément de transfert, comprenant un transfert d’un signal d’établissement de liaison entre le premier domaine et le deuxième domaine.
Selon un mode de mise en œuvre, ladite moins une adaptation de signal comprend une saisie, dans un deuxième registre de départ, de la valeur d’un signal de conditionnement d’établissement de liaison en un seul cycle dudit premier signal d’horloge et une conservation de ladite valeur ensuite.
Selon un mode de mise en œuvre, le procédé comprenant une génération d’un signal d’état de transfert pendant le premier cycle du premier signal d’horloge du transfert des données du premier domaine vers le deuxième domaine, ladite saisie dans le(s) registre(s) de départ étant commandée par le signal d’état de transfert, de sorte que ledit un seul cycle du premier signal d’horloge est ce premier cycle.
Selon un mode de mise en œuvre, on fournit le signal d’état de transfert décalé d’au moins un cycle du premier signal d’horloge au circuit de synchronisation et déclenchant la transmission dudit signal de commande.
D’autres avantages et caractéristiques de l’invention apparaîtront à l’examen de la description détaillée de modes de réalisation et de mise en œuvre, nullement limitatifs, et des dessins annexés sur lesquels :
;
illustrent des modes de réalisation et de mise en œuvre de l’invention.
La illustre un exemple de système sur puce SOC comportant au moins deux domaines numériques V11, V22 ayant des tensions d’alimentations différentes et des fréquences de fonctionnement différentes.
Le premier domaine numérique V11 est alimenté par une première tension d’alimentation VDD11, par exemple de 1,1 volt, générée par un étage d’alimentation SUPP11. Le premier domaine numérique V11 est cadencé par un premier signal d’horloge CLK11 à une première fréquence, généré par un étage de génération d’horloge CLKGEN11.
Le deuxième domaine numérique V22 est alimenté par une deuxième tension d’alimentation VDD22, par exemple de 3,3 volt, générée par un étage d’alimentation SUPP22. Le deuxième domaine numérique V22 est cadencé par un deuxième signal d’horloge CLK22 à une deuxième fréquence, généré par un étage de génération d’horloge CLKGEN22.
Dans cet exemple, la deuxième fréquence est inférieure à la première fréquence, et la deuxième tension d’alimentation VDD22 est supérieure à la première tension d’alimentation VDD11.
Dans le cadre de cet exemple, le premier domaine V11 peut par exemple être destiné à effectuer des opérations avec une haute performance et en conséquence une grande consommation énergétique, tandis que le deuxième domaine V22 peut par exemple être destiné à être toujours actif, de manière à assurer des opération critiques, et selon une basse consommation énergétique.
D’autre part, le premier domaine V11 est configuré pour être réinitialisé par un premier signal de réinitialisation PADRST, tandis que le deuxième domaine V22 est configuré pour être réinitialisé par un deuxième signal de réinitialisation POR distinct du premier signal de réinitialisation PADRST. Les signaux de réinitialisation respectifs PADRST, POR sont utilisés pour placer le domaine respectif V11, V22 dans un état vierge et maîtrisé (typiquement pour redémarrer le domaine), et ont pour effet notamment d’interrompre les actions en cours et d’effacer les données contenues dans les registres du domaine réinitialisé.
Le premier signal de réinitialisation PADRST peut en particulier provenir de l’extérieur du système sur puce SOC de manière asynchrone avec le premier signal d’horloge CLK11. Par exemple le premier signal de réinitialisation PADRST peut être un signal de réinitialisation forcée actionné par un utilisateur indépendamment des actions en cours d’exécution par le premier domaine V11.
Le deuxième domaine V22 peut quant à lui être configuré pour générer le deuxième signal de réinitialisation POR lors d’un processus synchrone de réinitialisation au démarrage du système sur puce SOC, usuellement désigné par les termes anglais « power-on reset ».
Des informations critiques à conserver dans le deuxième domaine V22 peuvent être écrites par des initiateurs issus du premier domaine V11, et le système sur puce SOC comporte à cet égard un circuit d’interface INTF configuré pour mettre en œuvre un transfert de données et de signaux entre les deux domaines V11, V22.
Le circuit d’interface INTF permet de rendre compatibles, en particulier selon les couples tension-fréquence respectifs à chaque domaine, les signaux issus du premier domaine V11 pour le deuxième domaine V22, et éventuellement les signaux issus du deuxième domaine V22 pour le premier domaine V11.
En outre, le circuit d’interface INTF permet de protéger les données, potentiellement critiques, contre une corruption causée par une réinitialisation asynchrone se produisant au cours du transfert.
En effet, si par exemple une réinitialisation asynchrone cause un basculement des signaux d’entrée de registres pendant une fenêtre de transition du signal d’horloge cadençant les registres (usuellement « setup-hold window » en anglais), alors les sorties des registres peuvent trouver dans des états métastables. Dans l’état métastable, un signal de sortie oscille entre l’état haut et l’état bas pendant un certain temps puis converge vers un état inconnu et indépendant du signal d’entrée.
Du point de vue de la compatibilité entre la première tension d’alimentation VDD11 et la deuxième tension d’alimentation VDD22, le circuit d’interface INTF comporte des circuits de décalage de niveaux de tension LS configurés pour convertir les tensions des niveaux logiques de l’un des deux domaines V11, V22 à la tension correspondante de l’autre domaine V22, V11.
Du point de vue de la compatibilité entre la première fréquence CLK11 et la deuxième fréquence CLK22, le circuit d’interface INTF comporte en particulier un registre de départ RDEP dans le premier domaine V11, un circuit de synchronisation FFSYNC dans le premier domaine V11, et un registre de destination RDEST dans le deuxième domaine V11.
Par « un circuit dans le premier domaine (respectivement deuxième domaine) », on entend que ce circuit appartient au premier domaine (resp. au deuxième domaine), qu’il est alimenté par la première tension d’alimentation VDD11 (resp. la deuxième tension d’alimentation VDD22) et que son fonctionnement est cadencé par le premier signal d’horloge CLK11 (resp. le deuxième signal d’horloge CLK22).
Le circuit d’interface INTF comporte des éléments de transfert RDEP, ADPT1, (voir aussi à la ADPT2, RDEP2) dans le premier domaine V11, afin de transférer des données PWDAT, PADD, ou des signaux tels qu’un signal d’établissement de liaison CDC11, vers le deuxième domaine V22.
Dans les exemples des figures 1 et 2, les éléments de transfert comportent des registres, notamment des registres de départ RDEP, RDEP2, destinés à des transferts de données, et des éléments d’adaptation de signal ADPT1, ADPT2, destinés à des transferts de signaux fonctionnels, tels que des signaux d’établissement de liaison.
Les éléments de transfert RDEP, ADPT1, ADPT2, RDEP2, sont avantageusement configurés pour ne pas être réinitialisés par le premier signal de réinitialisation PADRST du premier domaine V11.
Pour transférer des données PWDAT, PADD, issues du premier domaine V11 vers le deuxième domaine V22, le circuit d’interface INTF est configuré pour charger les données à transférer PWDAT, PADD dans le registre de départ RDEP, de façon cadencée par le premier signal d’horloge CLK11 dans le premier domaine V11. Les données accDAT, accADD chargées dans le registre de départ RDEP sont ensuite transférées vers le registre de destination RDEST sur commande d’un signal de commande W_pls_sync transmis par le circuit de synchronisation FFSYNC adapté pour cadencer le registre de destination du deuxième domaine V22.
Par exemple, les données à transférer sont destinées à être écrites dans une mémoire du deuxième domaine V22 et peuvent comporter à cet égard des données de contenu PWDAT et une adresse mémoire PADD respective. Les données et adresses sont transmises par mots de N bits (avec N un entier naturel) par exemple 16 bits, 32 bits ou 64 bits, sur des bus respectifs. Le registre de départ RDEP comporte en conséquence un registre de respectivement 16, 32 ou 64 bits pour contenir le mot de données PWDAT à transférer et un registre de respectivement 16, 32 ou 64 bits pour contenir le mot d’adresse PADD correspondantes.
Du point de vue de la protection contre une corruption causée par une réinitialisation asynchrone au cours du transfert, le circuit d’interface INTF est configuré pour mettre en œuvre des mesures 100, 200, 300 pour assurer une absence de risque de corruption.
Dans la première mesure 100, les éléments de transfert RDEP, ADPT1 et le circuit de synchronisation FFSYNC sont configurés pour ne pas être réinitialisés par le premier signal de réinitialisation PADRST, contrairement aux autres circuits du premier domaine V11.
Les éléments de transfert RDEP, ADPT1 et le circuit de synchronisation FFSYNC peuvent néanmoins être configurés pour être réinitialisés par le deuxième signal de réinitialisation POR. Cela ne présente pas de risque du point de vue de la corruption de données étant donné que le deuxième signal de réinitialisation POR est généré de manière synchrone par le système sur puce SOC.
Ainsi, du fait de la première mesure 100, si le premier signal de réinitialisation PADRST survient pendant le transfert des données accDAT, accADD correctement chargées dans le registre de départ RDEP, ces données accDAT, accADD ne seront pas effacées en sortie dudit registre de départ RDEP. En particulier les données accDAT, accADD chargées dans le registre de départ RDEP ne pourront pas basculer lors de la fenêtre de transition du registre de destination RDEST. De même, du fait de la première mesure 100, le signal de commande W_pls_sync transmis au registre de destination RDEST par le circuit de synchronisation FFSYNC ne pourra pas basculer de manière imprévue au cours d’une saisie des données par le registre de destination RDEST, assurant ainsi une saisie correctement effectuée desdites données accDAT, accADD dans le deuxième domaine V22.
Par ailleurs, les données à transférer PWDAT, PADD sont communiquées par des circuits d’usage général (non représentés) du premier domaine V11, sur des voies d’entrée du registre de départ RDEP.
Dans la deuxième mesure 200, le registre de départ RDEP est configuré pour saisir les données à transférer PWDAT, PADD en un seul cycle du premier signal d’horloge CLK11, et ensuite conserver lesdites données accDAT, accADD, par exemple dans une bascule du type D, indépendamment des voies d’entrée PWDAT, PADD.
Le registre de départ RDEP peut comporter à cet égard un élément multiplexeur fournissant les données à conserver dans le registre de départ. L’élément multiplexeur est configuré à cet égard pour sélectionner soit les données PWDAT, PADD présentes sur les voies d’entrée, soit la donnée accDAT, accADD contenue dans le registre de départ RDEP, rebouclée depuis la sortie du registre de départ RDEP vers une entrée du multiplexeur.
L’élément multiplexeur est ainsi commandé pour sélectionner (sur « 1 ») les voies d’entrée PWDAT, PADD lors d’un seul cycle pour saisir les données PWDAT, PADD dans le registre de départ RDEP, puis pour sélectionner (sur « 0 ») le rebouclage de la sortie du registre de départ RDEP ensuite, afin de conserver les données saisies accDAT, accADD.
Avantageusement à cet égard, l’élément multiplexeur peut être commandé par un signal d’état de transfert PRDY_fe, généré par un circuit logique de commande FSM, également appelé « machine d’état » ou « machine à états finis ». Le signal d’état de transfert PRDY_fe est généré pendant le premier cycle du premier signal d’horloge CLK11 du transfert des données.
L’élément multiplexeur est ainsi commandé pour sélectionner la voie d’entrée PWDAT, PADD par le signal d’état de transfert PRDY_fe. Le registre de départ RDEP est ainsi configuré pour saisir lesdites données PWDAT, PADD sur commande du signal d’état de transfert PRDY_fe, de sorte que ledit un seul cycle du premier signal d’horloge CLK11 est le premier cycle du signal d’horloge CLK11 de la mise en œuvre du transfert.
Cela permet de garantir que les données à transférées accDAT, accADD, ne puissent pas être corrompues sur la voie d’entrée PWDAT, PADD par une éventuelle réinitialisation PADRST se produisant après le premier cycle du transfert, étant donné que les données accDAT, accADD sont conservées par le registre de départ RDEP indépendamment de l’état des signaux de données sur ladite voie d’entrée PWDAT, PADD.
En alternative à l’élément multiplexeur, un circuit de verrouillage d’horloge, usuellement désigné par les termes anglais « clock gating », peut être prévu sur le signal d’horloge cadençant la bascule D du registre de départ afin de saisir les données sur les voies d’entrée en un seul cycle. Un circuit conventionnel de verrouillage d’horloge, avantageusement sans déviation (usuellement « glitch free » en anglais), peut être obtenu par un montage d’une bascule D cadencée par le signal d’horloge CLK11 inversé, et recevant en entrée le signal d’état de transfert PRDY_fe. Une porte ET entre la sortie de la bascule D et le signal d’horloge CLK11 permet de transmettre une pulsation d’horloge conditionnée par le signal d’état de transfert PRDY_fe.
En pratique, et dans un exemple suivant un protocole de communication du type « APB » (acronyme des termes anglais usuels « Advanced Peripheral Bus »), le signal d’état de transfert PRDY_fe peut être issu d’un signal PRDY prévu dans le protocole APB, et généré par le circuit logique de commande FSM. Le signal PRDY prévu dans le protocole APB est généré à un premier niveau logique, par exemple 0, pendant toute mise en œuvre du transfert, et à un deuxième niveau logique, par exemple 1, en dehors de la mise en œuvre du transfert. En conséquence, un front descendant se produit sur ce signal PRDY au début du premier cycle du transfert.
A partir de ce front descendant, on peut générer le signal d’état de transfert PRDY_fe commandant l’élément multiplexeur et tel que défini ci-avant, c’est-à-dire la génération de l’instant de capture des données PWDAT, PADD pendant le premier cycle du transfert.
En outre, à partir du signal PRDY prévu dans le protocole APB, on peut générer le signal d’état de transfert décalé PRDY_fe_d, définissant l’instant auquel on commande l’écriture dans le deuxième domaine V22, c’est-à-dire après et seulement après ce premier cycle, tel que défini ci-après en relation avec la troisième mesure 300.
Par exemple, et de façon adaptée au contexte du protocole « APB », le circuit logique de commande FSM est par ailleurs configuré pour recevoir des signaux de commande PWRITE, PSEL, PENABLE, issus du premier domaine V11, commandant le transfert.
Dans la troisième mesure 300, le circuit de synchronisation FFSYNC est configuré pour transmettre le signal de commande W_pls_sync au registre de destination RDEST après le premier cycle du signal d’horloge CLK11 cadençant la mise en œuvre du transfert dans le premier domaine V11. A cet égard, le circuit logique de commande FSM est avantageusement configuré pour fournir le signal d’état de transfert décalé PRDY_fe_d d’un (ou plusieurs) cycle(s) du premier signal d’horloge CLK11, afin de déclencher la génération et la transmission du signal de commande W_pls_sync au registre de destination RDEST par le circuit de synchronisation FFSYNC.
Le signal de commande W_pls_sync est par exemple généré par un circuit d’étirement d’impulsion STRCHR, configuré pour générer une impulsion W_pls ayant une durée suffisamment longue pour traverser le circuit de décalage de niveaux de tension LS, à partir d’une impulsion générée dans le premier domaine V11 et ayant une durée correspondant à la première fréquence CLK11.
A cet égard, un événement déclencheur, par exemple généré par une logique combinatoire entre deux signaux, par exemple un ET entre un signal de validité d’accès AccVld généré par le circuit logique de commande FSM et le front descendant du signal d’état de transfert décalé d’un cycle PRDY_fe_d, est saisi par une bascule D. La bascule D étant cadencée par le premier signal d’horloge CLK11, la sortie de la bascule D fournit une impulsion d’une durée d’un cycle du premier signal d’horloge CLK11 et déclenchée par le signal d’état de transfert décalé d’un cycle PRDY_fe_d. Le circuit d’étirement d’impulsion STRCHR peut comporter typiquement une série de bascules et des conditions logiques sur des signaux intermédiaires dans la série pour étendre la durée de l’impulsion sur plusieurs cycles du premier signal d’horloge CLK11. Le nombre de bascules de la série et de cycles du premier signal d’horloge est choisi de manière à être adapté au temps de traversée du circuit de décalage de niveaux de tension LS.
En d’autres termes, le premier domaine V11 est configuré pour communiquer le signal de commande W_pls au circuit de synchronisation FFSYNC, au moins un cycle du premier signal d’horloge CLK11 après la fourniture desdites données PWDAT, PADD.
Cela permet de garantir que des données conservées accDAT, accADD par le registre de départ RDEP, éventuellement corrompues par une réinitialisation PADRST se produisant lors du premier cycle du transfert, ne soient pas saisies par le registre de destination RDEST, étant donné que la réinitialisation PADRST empêche la génération du signal d’état de transfert décalé d’un cycle PRDY_fe_d et donc empêche le déclenchement de la transmission du signal de commande W_pls.
En outre, le circuit de synchronisation FFSYNC, pour transmettre le signal de commande W_pls_sync, comporte avantageusement une série de bascules, par exemple du type bascule D, en nombre suffisant pour garantir un risque de propagation d’une métastabilité inférieur à une spécification de durée moyenne entre pannes du système sur puce SOC (usuellement désignée par l’acronyme « MTBF » des termes anglais « Mean Time Between Failures »).
Par conséquent, si une réinitialisation PADRST survient après le premier cycle du transfert et après la génération de la commande de déclenchement PRDY_fe_d, une éventuelle métastabilité ne sera pas transmise dans le signal de commande W_pls à travers le circuit de synchronisation FFSYNC, étant donnée de sa configuration à cet égard et étant donné que le circuit de synchronisation FFSYNC n’est pas impacté par le premier signal de réinitialisation PADRST.
Le circuit d’interface INTF ainsi décrit permet donc de ne pas communiquer au registre de destination RDEST des données corrompues par une réinitialisation PADRST survenant pendant le premier cycle du transfert grâce à la troisième mesure 300, ni des données corrompues par une réinitialisation PADRST survenant dans des cycles ultérieurs pendant le transfert grâce à la deuxième mesure 200, ni de corrompre des données en cours de saisie par le registre de destination RDEST grâce à la première mesure 100.
Les mêmes effets sont respectivement obtenus sur le signal de commande W_pls_sync, grâce à la troisième mesure 300 et à la première mesure agissant sur la génération du signal de commande W_pls et la transmission du signal de commande W_pls_sync par le circuit de synchronisation FFSYNC.
En outre, d’autres signaux échangés entre le premier domaine V11 et le deuxième domaine V22, en particulier des signaux d’établissement de liaison CDC11, CDC22, contribuant par exemple au transfert des données, peuvent bénéficier desdites première mesure 100, deuxième mesure 200, et/ou troisième mesure 300.
Par exemple, un signal CDC22 peut être généré dans le deuxième domaine V22 pour communiquer un état prêt pour le transfert du registre de destination RDEST. Le signal CDC22 peut faire l’objet d’une procédure « d’établissement de liaison », usuellement désignée par le terme anglais « handshake », et passer à cet égard dans un élément d’adaptation de signal ADPT1 du premier domaine V11, puis être retransmis CDC11 au deuxième domaine V22. Dans le deuxième domaine V22, le signal d’établissement de liaison CDC11 issu de la procédure de « handshake » peut par exemple permettre l’activation d’une borne d’activation E du registre de destination RDEST, par exemple en combinaison avec d’autres signaux via un circuit logique cond conditionnant l’activation.
Dans cet exemple, l’élément d’adaptation de signal ADPT1 peut comprendre une série de bascules D cadencées par le premier signal d’horloge CLK11, de manière à fournir le signal d’établissement de liaison CDC11 contribuant à la saisie du registre de destination RDEST, de manière synchrone avec les autres signaux accDAT, accADD, W_pls_sync issus du premier domaine et commandant la saisie du registre de destination RDEST.
Un tel élément d’adaptation de signal ADPT1 est avantageusement configuré pour ne pas être réinitialisé par le premier signal de réinitialisation PADRST, et ainsi bénéficier des effets de la première mesure 100. Par ailleurs, l’élément d’adaptation de signal ADPT1 peut être réinitialisé par le deuxième signal de réinitialisation POR.
La illustre un autre exemple d’élément d’adaptation de signal ADPT2, appartenant au premier domaine V11, configuré pour transférer, entre le premier domaine V11 et le deuxième domaine V22, un signal d’activation Enbl22 contribuant audit transfert des données. Le signal d’activation Enbl22 est par exemple fourni au circuit logique conditionnant l’activation cond.
Cet autre exemple d’élément d’adaptation de signal ADPT2 comporte un moyen adapté pour un procédé de « handshake », tel que décrit ci-avant en relation avec la , fournissant un signal d’établissement de liaison CDC11 synchronisé dans le premier domaine V11 à partir d’un signal d’établissement de liaison CDC22 issu du deuxième domaine CDC22. Le signal CDC11 est transmis sur une entrée d’une porte logique PL, par exemple une porte OU, conditionnant la transmission du signal Enbl22 au deuxième domaine V22 avec un signal de conditionnement d’établissement de liaison flg11, issu du premier domaine V11.
Et, l’élément d’adaptation de signal ADPT2 comporte avantageusement un deuxième registre de départ RDEP2 configuré pour saisir la valeur, c’est-à-dire l’état logique, du signal de conditionnement d’établissement de liaison flg11, en un seul cycle dudit premier signal d’horloge CLK11, c’est-à-dire selon la deuxième mesure 200 décrite précédemment en relation avec la .
Ce deuxième registre de départ RDEP2 est en outre configuré pour ne pas être réinitialisé par le premier signal de réinitialisation PADRST, c’est-à-dire selon la première mesure 100 décrite précédemment en relation avec la .
Cela permet là encore de limiter le risque d’engager ledit signal contribuant audit transfert dans un état corrompu par une réinitialisation survenant pendant le transfert, après le cycle utilisé pour la saisie du signal numérique.
Par ailleurs, l’invention ne se limite pas aux modes de réalisation et de mise en œuvre décrits en relation avec les figures 1 et 2, mais en embrasse toutes les variantes ; par exemple, l’invention embrasse un système sur puce muni d’un élément d’adaptation de signal ADPT1, ADPT2, tel que décrit en relation avec les figures 1 et 2, mais considéré de façon isolée, c’est-à-dire sans les registres de départ RDEP1, RDEP2 ni le circuit de synchronisation FFSYNC ; ou bien un système sur puce muni d’un deuxième registre de départ RDEP2 configuré pour transférer un signal conditionnel flg11 tel que décrit en relation avec la , mais considéré de façon isolée, c’est-à-dire sans le circuit d’adaptation de signal ADPT2, en combinaison ou non avec le circuit décrit en relation avec la ; ou encore un système sur puce muni d’un élément d’adaptation de signal ADPT2 tel que décrit en relation avec la , mais considéré de façon isolée, c’est-à-dire sans le registre de départ RDEP1, ni le circuit de synchronisation FFSYNC décrit en relation avec la .

Claims (20)

  1. Système sur puce comportant au moins un premier domaine numérique (V11) configuré pour être réinitialisé par un premier signal de réinitialisation (PADRST), un deuxième domaine numérique (V22) et un circuit d’interface (INTF) comportant au moins un élément de transfert (RDEP, ADPT1, ADPT2, RDEP2) dans le premier domaine, le circuit d’interface étant configuré pour transférer des données (PWDAT, PADD, CDC11) dudit au moins un élément de transfert (RDEP, ADPT1, ADPT2, RDEP2) vers le deuxième domaine (V22), dans lequel ledit au moins un élément de transfert (RDEP, ADPT1, ADPT2, RDEP2) est configuré pour ne pas être réinitialisé par le premier signal de réinitialisation (PADRST).
  2. Système sur puce selon la revendication 1, dans lequel le deuxième domaine (V22) est configuré pour être réinitialisé par un deuxième signal de réinitialisation (POR), ledit au moins un élément de transfert (RDEP, ADPT1, ADPT2, RDEP2) étant configuré pour être réinitialisé par le deuxième signal de réinitialisation (POR).
  3. Système sur puce selon l’une des revendications 1 ou 2, dans lequel le premier domaine (V11) est configuré pour être cadencé par un premier signal d’horloge (CLK11) à une première fréquence et le deuxième domaine (V22) est configuré pour être cadencé par un deuxième signal d’horloge (CLK22) à une deuxième fréquence inférieure à la première fréquence.
  4. Système sur puce selon les revendications 2 et 3, dans lequel le premier domaine (V11) est configuré pour recevoir le premier signal de réinitialisation (PADRST) de l’extérieur du système sur puce (SOC) de manière asynchrone avec le premier signal d’horloge (CLK11), et le deuxième domaine (V22) est configuré pour générer le deuxième signal de réinitialisation (POR) lors d’un processus synchrone de réinitialisation au démarrage du système sur puce (SOC).
  5. Système sur puce selon l’une des revendications 1 à 4, dans lequel le circuit d’interface (INTF) comporte un registre de départ (RDEP) parmi ledit au moins un élément de transfert, un registre de destination (RDEST) dans le deuxième domaine et un circuit de synchronisation (FFSYNC) dans le premier domaine, le circuit d’interface étant configuré pour transférer des données (PWDAT, PADD) du registre de départ (RDEP) vers le registre de destination (RDEST) sur commande d’un signal de commande (W_pls_sync) transmis par le circuit de synchronisation (FFSYNC), dans lequel le circuit de synchronisation (FFSYNC) est configuré pour ne pas être réinitialisé par le premier signal de réinitialisation (PADRST).
  6. Système sur puce selon la revendication 5 prise en combinaison avec la revendication 3, dans lequel le premier domaine (V11) est configuré pour communiquer les données à transférer (PWDAT, PADD) sur une entrée du registre de départ (RDEP) et pour communiquer le signal de commande (W_pls) au circuit de synchronisation (FFSYNC) au moins un cycle du premier signal d’horloge (CLK11) après lesdites données, et dans lequel le registre de départ (RDEP) est configuré pour saisir les données à transférer (PWDAT, PADD) en un seul cycle du premier signal d’horloge (CLK11) et ensuite conserver lesdites données (accDAT, accADD) indépendamment de ladite entrée.
  7. Système sur puce selon l’une des revendications précédentes, dans lequel le circuit d’interface (INTF) comporte un élément d’adaptation de signal (ADPT1, ADPT2), parmi ledit au moins un élément de transfert, configuré pour transférer, entre le premier domaine (V11) et le deuxième domaine (V22), un signal d’établissement de liaison (CDC11, CDC22).
  8. Système sur puce selon la revendication 7, dans lequel ledit au moins un élément d’adaptation de signal (ADPT2) comporte un deuxième registre de départ (RDEP2) configuré pour saisir la valeur d’un signal de conditionnement d’établissement de liaison (flg11) (flg11) en un seul cycle dudit premier signal d’horloge (CLK11) et ensuite conserver ladite valeur (acc_flg).
  9. Système sur puce selon l’une des revendications 5, 6 ou 8, dans lequel un circuit logique de commande (FSM) est configuré pour générer un signal d’état de transfert (PRDY) pendant le premier cycle du premier signal d’horloge (CLK11) du transfert des données du premier domaine vers le deuxième domaine, le(s) registre(s) de départ (RDEP, RDEP2) étant configuré(s) pour saisir lesdites données (PWDAT, PADD) ou ledit signal de conditionnement d’établissement de liaison (flg11) sur commande du signal d’état de transfert (PRDY_fe), de sorte que ledit un seul cycle du premier signal d’horloge (CLK11) est ce premier cycle.
  10. Système sur puce selon la revendication 9, dans lequel le circuit logique de commande (FSM) est configuré pour fournir le signal d’état de transfert décalé (PRDY_fe_d) d’au moins un cycle du premier signal d’horloge (CLK11) au circuit de synchronisation (FFSYNC) et adapté pour déclencher la transmission dudit signal de commande (W_pls, W_pls_sync).
  11. Procédé de transfert de données entre au moins un premier domaine numérique (V11) et un deuxième domaine numérique (V22) d’un système sur puce (SOC), comprenant un transfert des données (PWDAT, PADD, CDC11) depuis au moins un élément de transfert (RDEP, ADPT1, ADPT2, RDEP2) dans le premier domaine vers le deuxième domaine, dans lequel un premier signal de réinitialisation (PADRST) provoque une réinitialisation du premier domaine (V11) mais ne provoque pas une réinitialisation dudit au moins un élément de transfert (RDEP, ADPT1, ADPT2, RDEP2).
  12. Procédé selon la revendication 11, dans lequel un deuxième signal de réinitialisation (POR) réinitialise le deuxième domaine (V22), et ledit au moins un élément de transfert (RDEP, ADPT1, ADPT2, RDEP2).
  13. Procédé selon l’une des revendications 11 ou 12, dans lequel le premier domaine (V11) est cadencé par un premier signal d’horloge à une première fréquence (CLK11) et le deuxième domaine (V22) est cadencé par un deuxième signal d’horloge à une deuxième fréquence (CLK22) inférieure à la première fréquence.
  14. Procédé selon les revendications 12 et 13, dans lequel le premier signal de réinitialisation (PADRST) provient de l’extérieur du système sur puce (SOC) de manière asynchrone avec le signal d’horloge du premier domaine (CLK11), et le deuxième signal de réinitialisation (POR) est généré lors d’un processus synchrone de réinitialisation au démarrage du système sur puce (SOC).
  15. Procédé selon l’une des revendications 11 à 14, dans lequel ledit transfert comprend un transfert de données (PWDAT, PADD) fait depuis un registre de départ (RDEP) parmi ledit au moins un élément de transfert, vers un registre de destination (RDEST) dans le deuxième domaine, sur commande d’un signal de commande (W_pls_sync) transmis par un circuit de synchronisation (FFSYNC) du premier domaine, le premier signal de réinitialisation (PADRST) ne provoquant pas une réinitialisation un circuit de synchronisation (FFSYNC).
  16. Procédé selon la revendication 15 prise en combinaison avec la revendication 13, comprenant une communication des données à transférer (PWDAT, PADD) sur une entrée du registre de départ (RDEP) et une communication du signal de commande (W_pls) au circuit de synchronisation (FFSYNC) au moins un cycle du premier signal d’horloge (CLK11) après lesdites données, et dans lequel le transfert des données (PWDAT, PADD) comprend une saisie, par le registre de départ (RDEP), des données à transférer (PWDAT, PADD) en un seul cycle du premier signal d’horloge (CLK11) et une conservation desdites données ensuite (accDAT, accADD), indépendamment de ladite entrée.
  17. Procédé selon l’une des revendications 11 à 16, dans lequel ledit transfert comprend une adaptation de signal (ADPT1) depuis un élément d’adaptation de signal (ADPT1) parmi ledit au moins un élément de transfert, comprenant un transfert d’un signal d’établissement de liaison (CDC11, CDC22) entre le premier domaine et le deuxième domaine.
  18. Procédé selon la revendication 17, dans lequel ladite moins une adaptation de signal (ADPT2) comprend une saisie, dans un deuxième registre de départ (RDEP2), de la valeur d’un signal de conditionnement d’établissement de liaison (flg11) en un seul cycle dudit premier signal d’horloge (CLK11) et une conservation de ladite valeur ensuite (acc_flg).
  19. Procédé selon l’une des revendications 15, 16 ou 18, comprenant une génération d’un signal d’état de transfert (PRDY) pendant le premier cycle du premier signal d’horloge (CLK11) du transfert des données du premier domaine vers le deuxième domaine, ladite saisie dans le(s) registre(s) de départ (RDEP, RDEP2) étant commandée par le signal d’état de transfert (PRDY_fe), de sorte que ledit un seul cycle du premier signal d’horloge (CLK11) est ce premier cycle.
  20. Procédé selon la revendication 19, dans lequel on fournit le signal d’état de transfert décalé (PRDY_fe_d) d’au moins un cycle du premier signal d’horloge (CLK11) au circuit de synchronisation (FFSYNC) et déclenchant la transmission dudit signal de commande (W_pls, W_pls_sync).
FR2203375A 2022-04-12 2022-04-12 Procédé de transfert de données entre un premier domaine numérique et un deuxième domaine numérique, et système sur puce correspondant. Pending FR3134462A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR2203375A FR3134462A1 (fr) 2022-04-12 2022-04-12 Procédé de transfert de données entre un premier domaine numérique et un deuxième domaine numérique, et système sur puce correspondant.
US18/133,214 US20230325336A1 (en) 2022-04-12 2023-04-11 Method for transferring data between a first digital domain and a second digital domain, and corresponding system on a chip
CN202310385071.7A CN117421273A (zh) 2022-04-12 2023-04-12 传送数据的方法以及相应的片上系统

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2203375 2022-04-12
FR2203375A FR3134462A1 (fr) 2022-04-12 2022-04-12 Procédé de transfert de données entre un premier domaine numérique et un deuxième domaine numérique, et système sur puce correspondant.

Publications (1)

Publication Number Publication Date
FR3134462A1 true FR3134462A1 (fr) 2023-10-13

Family

ID=82850218

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2203375A Pending FR3134462A1 (fr) 2022-04-12 2022-04-12 Procédé de transfert de données entre un premier domaine numérique et un deuxième domaine numérique, et système sur puce correspondant.

Country Status (3)

Country Link
US (1) US20230325336A1 (fr)
CN (1) CN117421273A (fr)
FR (1) FR3134462A1 (fr)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210333852A1 (en) * 2020-04-23 2021-10-28 Nordic Semiconductor Asa Circuitry for transferring data across reset domains
EP3907886A2 (fr) * 2020-05-04 2021-11-10 STMicroelectronics International N.V. Procédés et appareil de synchronisation de données dans des systèmes ayant de multiples domaines d'horloge et de réinitialisation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210333852A1 (en) * 2020-04-23 2021-10-28 Nordic Semiconductor Asa Circuitry for transferring data across reset domains
EP3907886A2 (fr) * 2020-05-04 2021-11-10 STMicroelectronics International N.V. Procédés et appareil de synchronisation de données dans des systèmes ayant de multiples domaines d'horloge et de réinitialisation

Also Published As

Publication number Publication date
CN117421273A (zh) 2024-01-19
US20230325336A1 (en) 2023-10-12

Similar Documents

Publication Publication Date Title
EP1159673B1 (fr) Generateur de nombres aleatoires haut debit
EP0168077B1 (fr) Circuit d'interface du type esclave fonctionnant avec un bus série
EP1993057B1 (fr) Détection d'une perturbation d'état d'une bascule d'un circuit électronique
EP0109898A1 (fr) Unité de stockage temporaire de données organisée en file d'attente
EP0875830B1 (fr) Circuit testable à faible nombre de broches
FR2849228A1 (fr) Dispositif de transfert de donnees entre deux sous-systemes asynchrones disposant d'une memoire tampon
FR2632092A1 (fr) Circuit de conditionnement d'ecriture d'antememoire retarde pour un systeme de microcalculateur a bus double comprenant une unite 80386 et une unite 82385
FR3134462A1 (fr) Procédé de transfert de données entre un premier domaine numérique et un deuxième domaine numérique, et système sur puce correspondant.
EP1417582B1 (fr) Ensemble de circuits electroniques comportant des moyens de decontamination de parties contaminees par des erreurs
EP0134374B1 (fr) Horloge à verrouillage de phase
FR2844892A1 (fr) Horloge de surveillance de microcontroleur
EP0809255B1 (fr) Cellule pour registre à décalage
US6900665B2 (en) Transfer of digital data across asynchronous clock domains
FR2899985A1 (fr) Dispositif de commande d'une memoire tampon
EP1748355A1 (fr) Dispositif d'interfaçage unidirectionnel de type FIFO entre un bloc maître et un bloc esclave, bloc maître et bloc esclave correspondants
EP1739567A1 (fr) Dispositif d'arbitrage asynchrone et microcontrôleur comprenant un tel dispositif d'arbitrage
EP0733975B1 (fr) Interface de sortie de données binaires
EP1120714B1 (fr) Dispositif de régénération d'une horloge
EP0707260A1 (fr) Dispositif de mémoire asynchrone à accès séquentiel et procédé de stockage et de lecture correspondant
TW201403289A (zh) 時脈域間之資料轉移
EP0344052B1 (fr) Mémoire modulaire
FR3142571A1 (fr) Procédé de transfert de signal de commande entre un premier domaine numérique et un deuxième domaine numérique, et système sur puce correspondant.
FR3047136A1 (fr)
JP3688137B2 (ja) マイクロコンピュータ
FR2793088A1 (fr) Procede et dispositif de collecte des valeurs logiques de sortie d'une unite logique dans un circuit electronique

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20231013

PLFP Fee payment

Year of fee payment: 3