FR 2623349 A1 19890519 FR 8715945 A 19871118 Dispositif de retard d'au moins un train de données binaires à haut débit L'invention concerne un dispositif de retard d'au moins un train de données binaires à haut débit. L'invention permet de réaliser un registre à décalage synchrone de "n" coups d'horloges permettant de retarder de n bits un ou- "m" trains données binaires à haut débit (par exemple de 25 à 40 mégabits). Dans les dispositifs de l'art connu, on réalise ce retard à l'aide de bascule de type "D". Il faut alors distinguer les cas de faibles débits, et les cas de forts débits: - pour de faibles débits(: 2 mégabits>, on a recours à la technologie "MOS" ("metal oxyde semiconductor"); il existe des registres à décalage de 64,128,.. 1024 bits dans un seul boîtier de 16 "pins" (ou broches), -pour des débits supérieurs; on a recours à des technologies plus rapides comme la "FAST" ou l"'ECL 10000", voir "ECL 100 K"' (ECL ou "Emitter Coupled Logic"). Cependant comme la consommation croît très vite avec la vitesse, et avec le nombre de bascules, le nombre de bascules "D" par bottier diminue et n'atteint guère que le nombre de 8; on obtient alors des quantités de bottiers trop importantes: Par exemple 128 (1024: 8)boitiers de 8 bascules pour un retard de 1024 bits, ou 48 (6 x 8) bottiers de 8 bits pour faire un retard de 64 bits sur 6 trains binaires. Aussi dans les dispositifs de l'art connu, dès que n et m augmentent, on a recours à des circuits qui associent un compteur binaire n, programmable à deux mémoires RAM ("Random Access Memory") identiques, le compteur binaire adressant séquentiellement les bits de données successivement dans l'une des mémoires RAM (écriture), pendant qu'il adresse simultanément l'autre mémoire RAM pour la lecture, puis dans l'autre mémoire. Le retard désiré est obtenu par le rapport de division (n) du compteur. Un tel dispositif présente de nombreux inconvénients, et notamment: - Il comprend un bus d'adresses à véhiculer; - Il nécessite, pour les grandes capacités, de multiplexer: En effet l'entrée et la sortie du bus de données sont alors communes ce qui à pour conséquence de nécessiter l'emploi de registres supplémentaires; - Lors de la mise sous tension, il y a n'importe quelles valeurs dans -2- les mémoires: Il est donc nécessaire de prévoir une phase d'initialisation qui consiste en l'envoi d'un signal dans toutes les positions adresses. Pour pallier ces inconvénients, l'invention a pour objet un dispositif de retard d'au moins un train de données binaires à haut débit, caractérisé en ce qu'il comprend - un premier et un second registre de type FIFO ("First-in/First-out") à m entrées et à n mots séries; - un compteur binaire délivrant un signal MSB ("Mos Significant Bit"); - un circuit de commande d'écriture-lecture dans lesdits registres comportant: un circuit d'aiguillage d'un signal horloge (H) alternativement vers chacun de ces deux registres pour permettre de réaliser simultanément l'écriture dans l'un des deux registres et la lecture de l'autre, et réciproquement; un circuit de remise à zéro dynamique de ces registres immédiatement avant une phase d'écriture; un circuit de génération d'un signal "Output Enable" de commande de ces registres pour permettre la sortie des données, préalablement entrées, n coups d'horloge après le début d'une phase d'écriture. Un tel dispositif présente, notamment, les avantages suivants: - il est simple à mettre en oeuvre; - il est économique, et consomme faiblement. Plus précisément le circuit d'aiguillage du signal horloge comprend: - un diviseur par deux pour obtenir un signal MSB divisé par deux (MSB/2); - une bascule de synchronisation de ce signal MSB/2 sur le signal horloge H qui a un rythme égal à celui des données entrantes Do...Dm; - deux portes ET permettant de générer les signaux Sil (ou So2) et Si2 (ou Sol) qui sont les signaux d'écriture (ou de lecture) respectivement dans le premier et le second registre FIFO (ou en lecture respectivement dans le second et le premier registre FIFO); Le circuit de remise à zéro des registres comprend: - deux monostables permettant de générer des impulsions RAZ1 et RAZ2 d'initialisation instantanée des registres FIFO juste avant leurs phases d'écriture respectives. -3- Le circuit de génération d'un signal "Output Enable" comprend: - une bascule de pointage qui sert à retarder le signal MSB/2 pour que chaque FIFO soit mise successivement dans un état passant pour permettre la sortie des informations stockées. - Avantageusement chaque registre FIFO peut comporter plusieurs bottiers FIFO en série, ce qui permet d'augmenter le retard. De plus chaque registre FIFO peut comporter plusieurs bottiers en parallèle, ce qui permet d'augmenter le nombre d'entrées. Les caractéristiques et avantages de l'invention ressortiront d'ailleurs de la description qui va suivre, à titre d'exemple non limitatif, en référence aux figures annexées sur lesquelles: - la figure 1 représente schématiquement un dispositif de l'art connu; - la figure 2 représente le dispositif de l'invention; - la figure 3 représente la forme de signaux en fonction du temps en différents points du dispositif représenté à la figure 2. Le dispositif de l'art connu, représenté à la figure l, comprend: - un premier et un second multiplexeurs 10 et 1; - une première et une seconde mémoires RAM 12 et 13; - un éventuel démultiplexeur 9 pour les grandes capacités; - un compteur adresses 14 programmable; - un compteur 15 de remise à zéro des mémoires RAM 12 et 13. Ces différents circuits sont reliés entre eux par un certain nombre de liaisons, correspondant aux: - bus adresses 17, 18 et 19; - bus de données 16, 20, 21, 22 et-23; - signal horloge "H"; - signal d'initialisation "Init"; - signal d'écriture/lecture "W/R"; - signal de lecture/écriture "R/W"; - commande des multiplexeurs et du démultiplexeur. Dans un tel dispositif on stocke les informations dans la première mémoire 12 de type RAM ("Random Access Memory) à accès séquenciel, par un bus (Do.... Dm) grâce au compteur d'adresse 14 incrémenté selon un signal horloge H. Lorsque la première mémoire 12 de type RAM est complètement remplie, on adresse alors les informations sur la seconde mémoire 13 de type RAM grâce au même compteur d'adresse 14, la lecture de la première 4 - mémoire 12 de type RAM s'effectuant simultanément. Ce dispositif nécessite: - un système de remise à zéro des mémoires à l'initialisation nécessitant l'utilisation du compteur de remise à zéro 15 et des deux multiplexeurs 10 et 11; - un éventuel démultiplexeur 9, lorsque les entrées/sorties des mémoires RAM 12 et 13 sont communes; - la distribution du bus d'adresses 19 aux deux mémoires RAM 12 et 13, ce qui, si m et n sont importants, demande une implantation sur circuit imprimé délicate, qui prend beaucoup de place; pouvant nécessiter l'emploi d'une multicouche. Par contre le dispositif de l'invention, représenté à la figure 2, permet d'obtenir le même résultat sans avoir recours aux circuits cités cidessus. Il présente les caractéristiques suivantes: - les deux mémoires RAM sont remplacées par deux registres FIFO 25 et 26 (First in-First out); - les bus d'adresses sont supprimés. Seul un signal "MSB" ("Most Significant Bit"), correspondant au bit de plus fort poids pour le retard 2 désiré, est conservé pour l'aiguillage des horloges d'écriture et de lecture (la période T du signal MSB est égale à) ; - les multiplexeurs sont supprimés; - le démultiplexeur d'entrée/sortie est supprimé, il est remplacé par la fonction "Tristate" des FIFO; - le compteur d'initialisation est supprimé ainsi que les multiplexeurs associés, il est remplacé par un double monostable de remise à zéro qui initialise en dynamique les registres FIFO, juste avant l'écriture; - il est aisément cascadable et extensible - pour n bits de retard - pour m trains de données. Le dispositif de l'invention comprend donc: - un premier et un second registres FIFO 25 et 26; - un compteur d'adresses 27 programmable permettant d'obtenir un signal MSB ("Most Significant Bit"); - un circuit 28 de commande d'écriture et de lecture des deux registres et 26 comprenant notamment: 35. un diviseur par deux 29 pour obtenir un signal MSB divisé par deux (MBSI2) pour égaliser les temps d'écriture et de lecture dans les registres 25 et 26; -5 une bascule 30 de synchronisation de ce signal MSB/2 sur le signal horloge H, qui a un rythme égal à celui des données entrantes Do...Dm; deux portes ET 31 et 32 permettant de générer les signaux Sil (ou So2) et Si2 (ou Sol) qui sont les signaux d'écriture (ou de lecture) respectivement dans le premier et le second registre FIFO 25 et 26 (ou en lecture respectivement dans le second et le premier registre FIFO 26 et 25); deux monostables 33 et 34 permettant de générer des impulsions RAZ 1 et RAZ 2 d'initialisation instantanée des registres FIFO 25 et 26 juste avant leurs phases d'écriture respectives; une bascule de pointage 35, de type D par exemple, qui sert à retarder le signal MSB/2 pour que chaque FIFO soit mise successivement dans un état passant (signal OE ou "output enable" mis à un niveau bas) pour permettre la sortie des informations stockées. Pour chaque registre FIFO 25 et 26, on peut utiliser un certain nombre de cellules de FIFO (First in - First out) en série et en parallèle: Le fait d'augmenter le nombre de cellules FIFO en série permet d'augmenter le retard entre l'entrée des données Do...Dm et la sortie des données retardées DoR...DmR. Le fait d'augmenter le nombre de cellules FIFO en parallèle permet d'augmenter le nombre d'entrées Do...Dm. En fonctionnement, on écrit les données entrantes Do...Dm dans le premier registre FIFO 25 (envoi de l'horloge écriture). Puis on écrit les données entrantes dans le second registre FIFO 26, en même temps que l'on lit le premier registre FIFO 25 préalablement rempli. Puis, inversement, on écrit le premier registre FIFO 25 pendant que l'on lit le deuxième registre FIFO 26 et ainsi de suite.... La figure 3 représente l'évolution dans le temps des différents signaux qui viennent d'être décrits. Ils correspondent successivement: - dans une première phase 38, à une écriture dans le premier registre FIFO 25 des données Do (1 à 64) après une initialisation de celui-ci (impulsion RAZ1); - dans une seconde phase 39, à une écriture dans le second registre FIFO 26 des données Do (65 à 128) après une initialisation de celui-ci (impulsion RAZ2) et à une lecture simultanée du premier registre FIFO 25 des données DoR (1 à 64) retardées d'un retard 2; - dans une troisième phase 40 à une écriture dans le premier registre 25 des données Do (129 à 192) après une initialisation de celui-ci (RAZ1) et une lecture simultanée du second registre FIFO 26 des données DoR (65 à 128) retardées du retard 2 Le signal OE ("output enable") lorsqu'il a un niveau bas permet la sortie des données DoR... DmR. (1 à 64 et 129 à 192) du registre FIFO 25. Le signal OE ("output enable barre"), lorsqu'il a un niveau bas, permet la sortie des données DoR... DmR (65 à 128.... et 193 à 256) du registre FIFO 26. Dans un exemple de réalisation on retarde 6 trains binaires de 64 bits maximum, avec un débit de 25 MHz en utilisant 7 bottiers, à savoir: - 2 compteurs binaires (de type F163 de Fairchild ou Motorola par exemple); - 2 registres FIFO de 9 bits x 64 (de type HC Mos 7030 de RTC et RCA par exemple); - 1 boîtier de bascule D (de type F112 de Fairchild et Motorola par exemple); - 2 bottiers ET (ou "NAND") de type FOO de Fairchild et Motorola par exemple). Il est bien entendu que la présente invention n'a été décrite et représentée qu'à titre d'exemple préférentiel et que l'on pourra remplacer ses éléments constitutifs par des éléments équivalents sans, pour autant, sortir du cadre de l'invention. -7 REVENDICATIONS 1/ Dispositif de retard d'au moins un train de données binaires à haut débit, caractérisé en ce qu'il comprend - un premier (25) et un second (26) registre de type FIFO ("First-in First-out") à m entrées et à n mots séries; - un compteur binaire (27) délivrant un signal MSB ("Most Significant Bit"); - un circuit (28) de commande d'écriture-lecture dans lesdits registres (25, 26) comportant: 10. un circuit d'aiguillage d'un signal horloge (H) alternativement vers chacun de ces deux registres (25, 26) pour permettre de réaliser simultanément l'écriture dans l'un des deux registres et la lecture de l'autre et réciproquement; un circuit (33, 34) de remise à zéro dynamique de ces registres (25, 26) immédiatement avant une phase d'écriture; un circuit (35) de génération d'un signal "Output Enable" de commande de ces registres pour permettre la sortie des données, préalablement entrées, n coups d'horloge après le début d'une phase d'écriture. 2/ Dispositif selon la revendication 1, caractérisé en ce que le circuit d'aiguillage du signal horloge comprend: - un diviseur par deux (29) pour obtenir un signal MSB divisé par deux (MSBI2) pour égaliser les temps d'écriture et de lecture dans les registres (25, 26); - une bascule 30 de synchronisation de ce signal MSB/2 sur le signal horloge H qui a un rythme égal à celui des données entrantes Do...Dm; - deux portes ET (31, 32) permettant de générer les signaux Sil (ou So2) et Si2 (ou Sol) qui sont les signaux d'écriture (ou de lecture) respectivement dans le premier et le second registre FIFO (25, 26) (ou en lecture respectivement dans le second et le premier registre FIFO (26, 25)). 3/ Dispositif selon la revendication 1, caractérisé en ce que le circuit de remise à zéro des registres comprend: - deux monostables (33, 34) permettant de générer des impulsions (RAZ1 et RAZ2) d'initialisation instantanée des registres FIFO (25, 26) juste avant leurs phases d'écriture respectives. 4/ Dispositif selon la revendication 1, caractérisé en ce que le circuit de génération d'un signal "Output Enable" comprend: - 8 - - une bascule de pointage (35) qui sert à retarder le signal MSB/2 pour que chaque FIFO soit mise successivement dans un état passant (OE) ou "output enable", pour permettre la sortie des informations stockées. / Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que chaque registre FIFO (25, 26) peut comporter plusieurs boîtiers FIFO en série, ce qui permet d'augmenter le retard. 6/ Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que chaque FIFO peut comporter plusieurs boîtiers en parallèle, ce qui permet d'augmenter le nombre d'entrées.