Brevet FR2783064A1 — publié le 20000310

Etat de la technique. L'invention concerne un circuit comportant une mémoire pour les données qui sont émises dans l'ordre de leur mise en mémoire, un démultiplexeur de données d'entrée à plu- sieurs registres, un multiplexeur relié par des lignes de données au démultiplexeur de données d'entrée, le multi- plexeur ayant une sortie, des moyens d'adressage pour générer une adresse d'entrée pour adresser le registre ou pour géné- rer une adresse de sortie pour adresser un déblocage de l'une des lignes de données sur la sortie. On connaît déjà un tel circuit selon le document DE-3 431 785, comportant un démultiplexeur et un multiplexeur relié à celui-ci par des lignes de données pour enregistrer de façon intermédiaire des données. L'enregistrement et la lecture des données est commandé par des signaux externes et le circuit de commande correspondant comporte sa propre hor- loge (générateur de cadence) et différents éléments de tempo- risation. Avantaqes de l'invention. La présente invention a pour but de développer un tel circuit et concerne à cet effet un circuit caractérisé par un moyen de détection de collision travaillant indépen- damment de la cadence, qui fournit un signal de détection d'une concordance entre l'adresse d'entrée et l'adresse de sortie. Le circuit selon l'invention offre l'avantage de permettre, grâce à une construction simple, d'adapter les données couplées sur une certaine cadence à une autre cadence de même fréquence mais avec une autre phase connue ou os- cillante. Le circuit est mis en oeuvre du fait de la faible profondeur de la mémoire FIFO utilisée (mémoire de type " premier entré/premier sorti ") ainsi que le fait qu'à la conception du circuit on ne tient compte d'aucun temps de parcours minimum, puisqu'il s'agit d'une conception stricte- ment synchrone (c'est-à-dire rapportée à la cadence). Ainsi, à côté de la possibilité de réalisation en technique Asics, on peut également implémenter avec des composants logiques simples à programmer, c'est-àdire d'une façon indépendante de la technique de réalisation du circuit, on a la possibili- té d'une intégration simple dans ces conceptions complexes. Il est particulièrement avantageux de réaliser le moyen de détection de collision sous la forme d'un circuit en logique combinatoire (c'est-àdire fonctionnant de manière non cadencée). L'application d'un code Gray permet une détection de collision sûre et sans surtension. La détection de colli- sion d'adresses se met en oeuvre s'il y a effectivement une collision d'adresses. Cela évite efficacement les alarmes er- ronées. Une distance minimale de 3 des valeurs préréglées pour l'adresse d'entrée et de sortie garantit une transmis- sion sûre des données pour des cadences d'entrée et de sortie de même fréquence, de phases différentes avec une imprécision de phase. Suivant d'autres caractéristiques avantageuses de l'invention: * le moyen de détection de collision est un circuit logique purement combinatoire et joue le rôle d'une porte équiva- lente, les entrées de la porte équivalente étant occupées par les adresses d'entrée ou de sortie (46, 50) et la sor- tie de la porte équivalente fournit un signal. * le moyen d'adressage utilise un code Gray. * une installation de remise à l'état initial remettant à l'état initial l'adresse d'entrée et l'adresse de sortie sur des valeurs préréglées lorsque le signal indique une concordance. * une installation d'alarme génère un signal d'alarme, dé- clenché par un signal, qui active une installation de re- mise à l'état initial et reste activé jusqu'à ce que soit commencé la remise à l'état initial. * l'installation de remise à l'état présente par générateur d'adresse au moins un Flip-Flop qui transmet le signal d'alarme après un flan montant d'une cadence d'entrée ou de sortie vers l'entrée Reset du générateur d'adresse. * les valeurs préréglées ont une distance minimale égale à 3. * le démultiplexeur comporte au moins six registres. * la mémoire et le moyen d'adressage sont commandés en syn- chronisme avec des cadences ayant une fréquence du domaine du mégahertz. * il est réalisé sous la forme d'un composant logique pro- grammable. Dessins: Des exemples de réalisation de l'invention sont représentés dans les dessins et seront décrits ci-après de manière plus détaillée. Ainsi: - la figure 1 montre un schéma d'un circuit selon l'invention, - la figure 2 montre un diagramme impulsionnel. Description des exemples de réalisation. La figure 1 montre un circuit comprenant un dé- multiplexeur 1 ayant une entrée de données 8 à n bits. Le dé- multiplexeur 1 comprend un premier registre 2, un second registre 3 et d'autres registres 4, 5, 6, 7. Les registres sont réalisés chacun sous la forme de n Flip-Flop de type D en parallèle (bascule bistable). Chacun des registres 2-7 est relié à un multiplexeur 10 par n lignes de données de bits 9. Le multiplexeur 10 comporte un registre de sortie 11 à n bits ayant une sortie de données 12 à n bits. Une ligne d'horloge d'entrée 17 est reliée à la fois au démultiplexeur 1 et à l'entrée d'horloge (entrée de cadence) 14 du générateur d'adresse d'entrée 13. Le générateur d'adresse d'entrée 13 dispose d'une adresse pour chacun des registres 2-7 du démul- tiplexeur 1, comme cela est schématisé par le codage à trois chiffres de la figure 1. Les adresses sont en code Gray. Le codage Gray signifie que chaque code diffère du code voisin d'un bit. Le générateur d'entrée d'adresse 13 est relié par des lignes d'entrée d'adresse 16 (dans l'exemple il y a 3 li- gnes, c'est-à-dire autant de lignes d'adresse que l'on uti- lise de bits d'adresse) reliées au démultiplexeur 1. Une ligne de cadence de sortie 21 est reliée à la fois au multi- plexeur 10 et par une entrée d'horloge 20 au générateur d'adresse de sortie 18. Le générateur d'adresse de sortie 18 est relié au multiplexeur 10 par des lignes d'adresse de sortie 29. De fa- çon analogue au générateur d'adresse d'entrée 13, le généra- teur d'adresse de sortie 18 fournit des adresses en code Gray; mais, contrairement au générateur 13, la valeur ini- tiale, après remise à l'état initial du compteur, n'est pas égale à 000 mais 111. Les lignes d'adresse d'entrée 16 et les lignes d'adresse de sortie 29 sont reliées à un circuit de détection de collision 22. La sortie du circuit de détection de collision 22 est reliée à une entrée d'une porte ET. La sortie de la porte ET 23 est reliée à l'entrée de cadence (entrée d'horloge) d'un registre d'alarme 25 réalisé sous la forme d'un Flip-Flop de type D, susceptible d'être remis à l'état initial (Reset). L'entrée Reset du registre d'alarme est reliée à la seconde entrée de la porte ET 23. L'entrée D du registre d'alarme 25 est reliée en permanence sur le ni- veau " 1 ". La sortie du registre d'alarme 25 est reliée à deux portes OU. La seconde entrée inversée des deux portes OU est reliée à une ligne Reset 26 (ligne de remise à l'état initial). Les sorties des deux portes OU sont reliées chacune par deux Flip-Flop de type D 27, 28, reliés en série, à l'entrée Reset 15, 19 du générateur d'adresse d'entrée 13 ou du générateur d'adresse de sortie 18. Les Flip-Flop de type D 27 branchés en série sont cadencés par la ligne d'entrée de cadence 17; les deux Fip-Flop D 28 sont cadencés par la li- gne de sortie de cadence 21. L'entrée Reset 15 et l'entrée Reset 19 sont reliées chacune à une entrée d'une porte NAND (NON-ET) 24 dont la sortie est reliée à l'entrée Reset du re- gistre d'alarme 25. Chaque flan montant de la cadence d'entrée 44 de la ligne de cadence d'entrée 17 charge, en fonction de l'adresse d'entrée 46 appliquée aux lignes d'adresse d'entrée 16, précisément l'un des six registres 2-7 avec les données appliquées à l'entrée de données 8; les autres cinq regis- tres conservent leur valeur. Avec chaque flan montant de la cadence de sortie 48 appliquée à la ligne de cadence de sor- tie 21, en fonction de l'adresse de sortie 40 appliquée à la ligne d'adresse de sortie 29, on transfère les données de l'un des six registres du démultiplexeur 1 dans le registre de sortie 11 du multiplexeur 10. Les générateurs d'adresse 13 et 18 comptent, avec chaque flan montant de la cadence d'entrée ou de sortie, leurs adresses en code Gray, en pour- suivant de manière cyclique. Le codage Gray permet une détec- tion simple et sans surtension de la collision des adresses, ce qui sera détaillé ultérieurement. Les adresses sont codées de la manière suivante: Registre 2: code 000, registre 3: code 001, re- gistre 4: code 011, registre 5: code 111, registre 6: code , registre 7: code 100. Comme les générateurs d'adresse travaillent indé- pendamment les uns des autres et avec des cadences différen- tes, il faut exclure que, pendant le transfert de nouvelles données dans l'un des six registres du démultiplexeur 1, les données soient transférée précisément de ce registre dans le registre de sortie. Dans ce cas, on pourrait détériorer les temps de mise à jour et de maintien du registre de sortie 11 et recevoir ainsi des données non valables. De façon caracté- ristique dans ce cas, l'adresse d'entrée et l'adresse de sor- tie se correspondent pendant un certain intervalle de temps. Pour être sûr que le circuit de détection de collision 22 re- connaisse une concordance seulement brève des deux adresses, pour déclencher ensuite une remise des générateurs d'adresse sur des valeurs fiables, le circuit 22 est réalisé par un circuit logique à fonctionnement combinatoire permanent (c'est-à-dire indépendant de l'horloge). L'adresse d'entrée et l'adresse de sortie sont en code Gray. Ainsi, on distingue toujours statistiquement au moins un bit Baar si la distance d'adresse est au moins égale à 2. Si par exemple l'adresse d'entrée 46 passe de 011 à 111 et que l'adresse de sortie 50 passe de 110 à 100, les états intermédiaires X11 ou lX0 sont tels que les bits de va- leur la plus basse sont statistiquement différents. Le bit Baar statistique évite la formation de surtensions qui sont, au cas contraire, générées en logique combinatoire, de ma- nière générale, par des portes fonctionnant en parallèle, avec des différences de cadence. On évite ainsi une mise en oeuvre du circuit de détection de collision 22, ce qui est souhaité car l'adresse d'entrée et l'adresse de sortie, avant et après la modification, sont différentes l'une de l'autre et il n'y a pas dans ces conditions de collision. Dans le cas d'adresses à code binaire, même si la distance d'adresse est au moins égale à 2, on pourrait avoir des états intermédiai- res identiques bien que la valeur initiale et la valeur fi- nale de l'adresse d'entrée et de l'adresse de sortie se distinguent. Par un codage Gray des adresses on a ainsi une détection de collision à fonctionnement permanent indépendant de l'horloge et qui travaille sans surtension. Le circuit de détection de collision 22 génère, en cas de concordance des adresses, pour l'adresse d'entrée et l'adresse de sortie, un flan qui déclenche un signal d'alarme interne 53 à la sortie du registre d'alarme 25. Le signal d'alarme 53 se forme indé- pendamment de l'une des deux ondes de cadence données par la cadence d'entrée et la cadence de sortie. Une transmission dans le domaine de cadence respectif se fait par les cadences appliquées aux lignes 17 et 21 avec chaque fois deux Flip- Flop branchés l'un derrière l'autre. Les deux signaux d'alarme 47, 51 sont remis pendant deux périodes de la ca- dence d'entrée ou de la cadence de sortie à l'état 1 et ils mettent ainsi le registre d'alarme 25 sur la valeur 0 par le signal Reset généré par les signaux d'alarme 47, 51 et par la porte NON-ET 24. Les générateurs d'adresse réagissent aux si- gnaux d'alarme 47, 51 avec une remise à l'état des adresses d'entrée sur l'état 000 et de l'adresse de sortie sur la va- leur 111. Ainsi, après une alarme, les adresses s'écartent de nouveau de la distance maximale. Pour mettre les générateurs d'adresse dans l'état initial souhaité à la distance maxi- male, il faut forcer une alarme par la ligne Reset 26. Le circuit de la figure 1 comprend en tout 11 re- gistres fonctionnels et 7*n registres de données (ou 6*n re- gistres de données si le registre de sortie est un registre externe). Les registres fonctionnels comprennent un regis- tre d'alarme 25, 4 Flip-Flop D 27, 28 et 6 registres d'adresse (chaque fois 3 registres pour le générateur d'adresse d'entrée et pour le générateur d'adresse de sor- tie). Si les générateurs d'adresse doivent tourner à une dis- tance minimale égale à 3 après une alarme, il faut une pro- fondeur minimale pour le démultiplexeur 1 égale à 6 registres comme cela apparaît à la figure 1. En cas de cadence incer- taine, avec des oscillations de fréquence de courte durée, il est avantageux d'avoir un démultiplexeur ayant des registres d'une largeur supérieure à n bits. La porte ET 23 est facul- tative et sert de circuit de sécurité: en principe, il suf- fit d'une liaison directe entre le circuit de reconnaissance de collision 22 et le registre d'alarme 25. Chacun des deux Flip-Flop D 27, 28 sert à éviter des états métastables, c'est-à-dire qu'il n'est pas nécessaire, en théorie, pour le fonctionnement du circuit. En variante, le registre de sortie 11, à n bits, peut également être externe. La sortie du multiplexeur 10 est dans ce cas reliée au registre de sortie à n bits cadencé di- rectement par la ligne de sortie de cadence 21. La figure 2 montre le chronogramme du signal Re- set 43 de la ligne 26, la cadence d'entrée 44 de la ligne 17, les données d'entrée 45 de la ligne 8, l'adresse d'entrée 46 de la ligne 16, le signal d'alarme 47 à l'entrée 15, la ca- dence de sortie 48 sur la ligne 21, les données de sortie 49 sur la ligne 12, l'adresse de sortie 50 sur la ligne 29, le signal d'alarme 51 à l'entrée 19, le signal de collision à la sortie de la porte 23, le signal d'alarme à la sortie du re- gistre 25 et le signal d'extinction d'alarme 54 à la sortie de la porte 24. Une période de la cadence d'entrée ou de sor- tie 44, 48 correspond par exemple à 31 nanosecondes. Les don- nées d'entrée 45 ou les données de sortie 49 sont représentées schématiquement; il s'agit de paquets de don- nées d'une largeur de n bits qui sont caractérisés par des chiffres différents, schématiquement à la figure 2. Au début, on prérègle le générateur d'adresse d'entrée et le générateur d'adresse de sortie par un signal Reset 43 correspondant sur les valeurs d'adresse 000 et 111. Le paquet de données 4 est enregistré dans le registre 2 sous l'adresse 000; le paquet 5 est enregistré dans le registre 3 à l'adresse 001; le paquet de données 6 est enregistré dans le registre à l'adresse 011 et ainsi de suite. La cadence de sortie effectue la lecture des valeurs non valables au début car les registres correspondants n'ont pas encore été chargés de valeur; cela est indiqué par une surface hachurée. Le premier paquet de données valables est le paquet de données 4 représenté à la ligne 49 sous l'adresse 000. Directement après celui-ci, dans l'exemple de réalisation, il y a un in- tervalle dans la cadence de sortie 48. On enregistre en outre des données et la cadence d'entrée 44 continue. L'absence de certaines impulsions dans la cadence de sortie 48 laisse le générateur d'adresse de sortie à l'état 001. Le circuit de détection de collision 22 détecte la concordance de l'adresse de sortie 50 et de l'adresse d'entrée 46 directement après la commutation de l'adresse d'entrée 46 de l'état 000 à l'état 001 et applique un signal de collision 52 à l'entrée du registre d'alarme 25. Environ deux cadences ensuite (retardées par les deux Flip-Flop D 27 et 28) l'adresse d'entrée 46 est remise à l'état 000 et l'adresse de sortie 50 remise à l'état 111. Dans le cas par- ticulier de la figure 2, la remise de l'adresse de sortie 50 à l'état 111 se limite à l'opération identité car l'adresse 111 est déjà appliquée; cela ne correspond toutefois ici qu'à une coïncidence. Aussi longtemps que les signaux d'alarme 47 et 51 sont appliqués aux entrées Reset 15 et 19, les adresses conservent les valeurs préréglées. Ce n'est qu'après la remise à l'état initial du signal d'alarme 53 qu'après un retard de deux cadences (là encore à cause des deux paires de Flip-Flop D) le fonctionnement normal se pour- suit avec l'enregistrement et la lecture des données et les données de sortie 49, jusqu'à l'adresse 000, sont sans er- reur; ce n'est qu'après cela que l'on poursuit avec la suite croissante de paquets de données enregistrées 15, 16, 17. Le flux de données correctes à travers le circuit de la figure 1 suppose ainsi des cadences de même fréquence et aucun signal de cadence ne doit manquer. Si un signal de cadence fait dé- faut, la transmission défectueuse des données de l'entrée de données 8 à la sortie de données 12 se limite à quelques pa- quets de données car le circuit de détection de collision re- connaît une collision entre l'adresse d'entrée et l'adresse de sortie et produit une remise correspondante de l'adresse. R E V E N D I C A T IONS 1 ) Circuit comportant une mémoire (8, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12) pour les données qui sont émises dans l'ordre de leur mise en mémoire, un démultiplexeur de données d'entrée (1) à plusieurs registres (2, 3, 4, 5, 6, 7), un multiplexeur (10) relié par des lignes de données (9) au dé- multiplexeur de données d'entrée (1), le multiplexeur ayant une sortie, des moyens d'adressage (13, 16; 18, 29) pour générer une adresse d'entrée pour adresser le registre (2, 3, 4, 5, 6, 7) ou pour générer une adresse de sortie pour adresser un déblocage de l'une des lignes de données (9) sur la sortie, caractérisé par un moyen de détection de collision (22) travaillant indépen- damment de la cadence, qui fournit un signal de détection d'une concordance entre l'adresse d'entrée (46) et l'adresse de sortie (50). ) Circuit selon la revendication 1, caractérisé en ce que le moyen de détection de collision est un circuit logique pu- rement combinatoire et joue le rôle d'une porte équivalente, les entrées de la porte équivalente étant occupées par les adresses d'entrée ou de sortie (46, 50) et la sortie de la porte équivalente fournit un signal. ) Circuit selon la revendication 1 ou 2, caractérisé en ce que le moyen d'adressage (13, 16; 18, 29) utilise un code Gray. 4 ) Circuit selon l'une des revendications précédentes, caractérisé par une installation de remise à l'état initial (27, 15, 28, 19, 26) pour remettre à l'état initial l'adresse d'entrée et l'adresse de sortie sur des valeurs préréglées lorsque le si- gnal indique une concordance. 0) Circuit selon la revendication 4, 1l caractérisé par une installation d'alarme (23, 24, 25) générant un signal d'alarme (53), déclenché par un signal, qui active une ins- tallation de remise à l'état initial et reste activé jusqu'à ce que soit commencé la remise à l'état initial. 6 ) Circuit selon la revendication 5, caractérisé en ce que l'installation de remise à l'état présente par générateur d'adresse au moins un Flip-Flop D qui transmet le signal d'alarme après un flan montant d'une cadence d'entrée ou de sortie vers l'entrée Reset (15, 19) du générateur d'adresse. 7 ) Circuit selon l'une quelconque des revendications 4, 5, 6, caractérisé en ce que les valeurs préréglées ont une distance minimale égale à 3. 8 ) Circuit selon l'une quelconque des revendications précé- dentes, caractérisé en ce que le démultiplexeur (1) comporte au moins six registres. 9 ) Circuit selon l'une quelconque des revendications précé- dentes, caractérisé en ce que la mémoire et le moyen d'adressage sont commandés en synchro- nisme avec des cadences ayant une fréquence du domaine du mé- gahertz. ) Circuit selon l'une quelconque des revendications précé- dentes, caractérisé en ce qu' il est réalisé sous la forme d'un composant logique program- mable.