Brevet FR3048832A1 (20170915)
REVENDICATIONS1. Circuit asynchrone comprenant : un premier circuit (404,\n<CLM>\1\tadapté à recevoir un premier signal d'entrée de données sur une première ligne d'entrée de données et à générer un premier signal d'accusé de réception 5 et un premier signal de sortie de données ; un deuxième circuit (404', 904') adapté à recevoir un deuxième signal d'entrée de données sur une deuxième ligne d'entrée de données et à générer un deuxième signal d'accusé de réception et un deuxième signal de sortie de données, le deuxième 10 circuit étant fonctionnellement équivalent au premier circuit ; un comparateur (414,\n<CLM>\1\tadapté à détecter une discordance soit entre les premier et deuxième signaux d'entrée de données soit entre les premier et deuxième signaux de sortie de données ; et 15 au moins un circuit de mise en pause d'accusé de réception (422, 422', 914, 914') adapté à empêcher la propagation des premier et deuxième signaux d'accusé de réception si une discordance est détectée par le comparateur.\n<CLM>\1\tCircuit asynchrone selon la revendication 1, dans 20 lequel le comparateur est adapté à détecter une discordance entre les premier et deuxième signaux de sortie de données, le circuit comprenant en outre : un autre comparateur (412) adapté à détecter une discordance entre les premier et deuxième signaux d'entrée de 25 données ; et un circuit de mémoire non volatile (602) couplé à la première ligne d'entrée de données et adapté à mémoriser une première valeur du premier signal d'entrée de données lorsque l'autre comparateur n'indique pas de discordance entre les premier 30 et deuxième signaux d'entrée de données.\n<CLM>\1\tCircuit asynchrone selon la revendication 2, dans lequel le circuit de mémoire non volatile (602) est en outre adapté à fournir la première valeur mémorisée en réponse à une 3048832 B14811 - BD16818 - D108856-01 26 discordance détectée entre les premier et deuxième signaux de sortie de données.\n<CLM>\1\tCircuit asynchrone selon la revendication 3, dans lequel le circuit de mémoire non volatile (602) est adapté à 5 fournir la première valeur mémorisée sur des lignes de données transmettant les premier et deuxième signaux d'entrée de données.\n<CLM>\1\tCircuit asynchrone selon l'une quelconque des revendications 2 à 4, dans lequel le circuit de mémoire non volatile comprend au moins un élément de mémorisation non volatile 10 (802,\n<CLM>\1\tprogrammable pour maintenir, de manière non volatile, l'un d'une pluralité d'états résistifs.\n<CLM>\1\tCircuit asynchrone selon l'une quelconque des revendications 1 à 5, dans lequel ledit au moins un circuit de mise en pause d'accusé de réception (422, 422', 914, 914') est 15 adapté à propager les premier et deuxième signaux d'accusé de réception une fois que le comparateur (414,\n<CLM>\1\tindique une concordance entre les premier et deuxième signaux d'entrée de données ou entre les premier et deuxième signaux de sortie de données. 20\n<CLM>\1\tCircuit asynchrone selon l'une quelconque des revendications 1 à 6, dans lequel chacun desdits au moins un circuit de mise en pause d'accusé de réception (422, 422', 914, 914') est une porte logique adaptée à recevoir le premier ou le deuxième signal d'accusé de réception et un signal de sortie (Err) 25 du comparateur.\n<CLM>\1\tCircuit asynchrone selon l'une quelconque des revendications 1 à 7, dans lequel les premier et deuxième circuits (904, 904') sont des circuits de réception synchrones, le circuit asynchrone comprenant en outre : 30 un premier circuit de transmission synchrone (902) adapté à générer le premier signal d'entrée de données (Dl) et à le transmettre au premier circuit ; et un deuxième circuit de transmission synchrone (902') adapté à générer le deuxième signal d'entrée de données (D2) et à 35 le transmettre au deuxième circuit. 3048832 B14811 - BD16818 - D108856-01 27\n<CLM>\1\tPipeline asynchrone comprenant le circuit asynchrone de l'une quelconque des revendications 1 à 8, dans lequel le pipeline asynchrone comprend : un premier sous-pipeline comprenant une première 5 pluralité d'étages (402 à\n<CLM>\1\tdont l'un comprend le premier circuit ; et un deuxième sous-pipeline comprenant une deuxième pluralité d'étages (402' à 408') dont l'un comprend le deuxième circuit. 10\n<CLM>\1\tProcédé de détection et de correction de dérangements par événement singulier dans un circuit asynchrone comprenant : recevoir par un premier circuit (404,\n<CLM>\1\tun premier signal d'entrée de données sur une première ligne d'entrée de 15 données et générer par le premier circuit un premier signal d'accusé de réception et un premier signal de sortie de données ; recevoir par un deuxième circuit (404', 904') un deuxième signal d'entrée de données sur une deuxième ligne d'entrée de données et générer par le deuxième circuit un deuxième 20 signal d'accusé de réception et un deuxième signal de sortie de données, le deuxième circuit étant fonctionnellement équivalent au premier circuit ; comparer, par un comparateur (414, 912), les premier et deuxième signaux d'entrée de données ou les premier et deuxième 25 signaux de sortie de données pour détecter une discordance ; et empêcher, par au moins un circuit de mise en pause d'accusé de réception (422, 422', 914, 914'), la propagation des premier et deuxième signaux d'accusé de réception si une discordance est détectée entre les premier et deuxième signaux 30 d'entrée de données ou entre les premier et deuxième signaux de sortie de données.