Brevet FR2653950A1 — publié le 19910503

La présente invention concerne un système de génération de données, capable de produire un train de données numériques avec une grande cadence de données. Les générateurs de mots numériques sont bien connus dans lrart antérieur pour produire un train de données numériques En référence à la Figure 1, une mémoire 403 mémorise des données de sortie désirées et elle fournit séquentiellement les données en réponse à une adresse indiquée par le compteur d'adresses 401 La sélection d'adresse est synchronisée avec un signal d'horloge fclk dans un intervalle compris entre une première adresse prédéfinie et une dernière adresse prédéfinie En conséquence, il en résulte qu'un train de données correspondantes écrites entre la première et la dernière adresse de la mémoire sont sorties de la mémoire 403. Un comparateur d'adresses 402 détermine si l'adresse engendrée par le compteur d'adresses 401 a atteint la dernière adresse Il est possible de sélectionner plusieurs modes de sortie de trains de données Quand l'adresse engendrée par le compteur d'adresses est la dernière adresse, le train de données de sortie est terminé En variante, le train de données entre la première et la dernière adresse peut être répété en revenant à nouveau à la première adresse. Dans un autre mode de génération de train de données, il est possible de répéter les données un nombre prédéterminé de fois en utilisant un compteur séparé pour produire un compte à chaque fois que le premier compteur atteint la dernière adresse En outre, un train de données différent peut être engendré par une rècriture de la première et de la dernière adresse lors de la terminaison d'un nombre donné de répétitions Une génération d'un train différent de données de sortie peut aussi être produite par un mode conditionnel faisant en sorte que la première et la dernière adresse soient récrites lorsque la condition est satisfaite Cependant, il est impossible d'atteindre de grandes cadences de données à cause d'une vitesse opératoire limitée de la mémoire. Pour remédier à cet inconvénient, le système représenté sur la Figure 2 produit un train de données à une vitesse supérieure à la vitesse opératoire de la mémoire Un diviseur-par-n 505 (n est un nombre naturel) divise une fréquence du signal d'horloge fclk par n, et le signal d'horloge divisé par N est appliqué au compteur d'adresses 401 Des adresses produites par le compteur d'adresses 401 servent à spécifier des addresses d'un groupe de mémorisation, c'est-à-dire une mémoire 501 se composant de n-blocs de mémorisation qui sont disposés en parallèle. Il en résulte que n-blocs de mémorisation sont simulta- nément spécifiqués par adresse Des signaux de sortie des blocs respectifs sont arrêtés par leurs éléments d'arrêt correspondants d'un verrou 502 En correspondance, le verrou 502 comprend n-éléments de stockage et fournit des données de sortie à une cadence f cl/n Les N éléments d'arrêt sont sélectionnés séquentiellement et en série dans le temps au moyen d'un multiplexeur 503 libérant les données stockées dans le verrou sélectionné pour leur sortie La sortie des données du train est par conséquent N fois supérieure à la vitesse de mémoire. Le train de données peut être produit à une vitesse bien supérieure à la vitesse de mémoire à mesure que N augmente Cependant, puisque N est fixé, le nombre de données doit être un multiple de n Sur la base de l'art antérieur, si le nombre de données n'est pas Vit multiple de n, le nombre de données est changé en un multiple par addition à celles-ci de données supplémentaires ou sans signification. Cependant, si les données supplémentaires ne sont pas ajoutées à cause d'une limitation de la capacité pratique de la mémoire, ou bien s'il intervient une utilisation futile de la mémoire à cause de l'écriture des trains de données pour plusieurs cycles, la limitation des données à des multiples de N devient problématique. En outre, la séquence de sortie du train de données ne peut pas être modifiée à la plus grande cadence fclk/n par le système représenté sur la Figure 2 Des modifications de la séquence désirée peuvent être produites seulement en changeant la première et la dernière adresse dans la mémoire 501, de sorte qu'on est par conséquent limité à la cadence de fonction- nement de la mémoire 501 Même si un mode conditionnel est utilisé pour changer la séquence de données, le changement désiré ne peut pas intervenir avant que l'élément formant verrou 502 soit déclenché et qu'une nouvelle donnée soit lue de la mémoire 501 dans l'élément formant verrou 502 En conséquence, un temps supplémentaire d'attente et un temps variable d'attente sont nécessaires entre l'instant o une condition est satisfaite et le changement effectif dans la séquence des données. D'autres caractéristiques et avantages de l'invention seront mis en évidence, dans la suite de la description, donnée à titre d'exemple non limitatif en référence aux dessins annexés dans lesquels: la Figure 1 est un schéma à blocs montrant schématiquement un système conventionnel de génération de trains de données; la Figure 2 est un schéma à blocs montrant schématiquement un système conventionnel de génération d'un train de données à une vitesse élevée par utilisation d'une mémoire à basse vitesse; la Figure 3 est un schéma représentant une réalisation préférée de la présente invention; et la Figure 4 est un schéma montrant une autre réalisation préférée de la présente invention; La présente invention résout les problèmes rencontrés dans l'art antérieur par création d'un système de génération de train de données capable de produire un train d'impulsions avec une grande cadence de données sans aucune restriction en ce qui concerne le nombre de données. Conformément à une réalisation préférée de l'invention, un système de génération de train de données comprend un moyen de division-par-n pour diviser par N une fréquence avec un signal d'horloge et pour produire un signal de sortie représentant le résultat de division-par-n Un moyen générateur d'adresses comportant une entrée reliée à la sortie du moyen de division-par-n produit à une sortie des adresses comprises entre une première et une dernière adresse Un premier moyen de mémorisation comprend n-blocs, chaque bloc comportant une entrée reliée à la sortie du moyen générateur d'adresses et une sortie produisant des données de sortie mémorisées qui sont associées aux adresses d'entrée Un premier moyen multiplexeur sélectionne séquentiellement des données de sortie à partir du premier moyen de mémorisa- tion en réponse au signal d'horloge Un second moyen de mémorisation comportant n-blocs mémorise des données. Un second moyen multiplexeur sélectionne séquentiellement des données de sortie du second moyen de mémorisation en réponse aux signaux d'horloge et un troisième moyen multiplexeur sélectionne les signaux de sortie des premier et second moyens multiplexeurs. Conformément à une réalisation particulière- ment préférée de l'invention, le premier moyen de mémorisation peut comprendre un moyen de mémorisation à double accès comportant n-blocs comportant chacun un accès d'entrée relié à la sortie du moyen générateur d'adresses et un autre accès d'entrée relié à la sortie du moyen générateur d'adresses, chacun des blocs comportant un premier et un second accès de sortie reliés au premier moyen multiplexeur et au second moyen multiplexeur. Selon encore une autre particularité de cette invention, le système de génération de train de données peut comprendre un premier moyen de mémorisa- tion à n-verrous comportant n-entrées, chaque entrée étant reliée à un des n-groupes dudit premier moyen de mémorisation pour recevoir une donnée associée à ladite adresse d'entrée et une sortie pour chacune desdites entrées reliées audit premier moyen multiplexeur, et un second moyen de mémorisation à n-verrous comportant n-entrées, chaque entrée étant reliée à un des n- groupes dudit second moyen de mémorisation pour recevoir une donnée associée auxdites adresses d'entrée et une sortie pour chacune desdites entrées reliées au second multiplexeur. Une réalisation de la présente invention est représentée sur la Figure 3 Chaque générateur d'adresses 103, 104 comporte un compteur d'adresses et un comparateur d'adresses qui sont représentés sur la Figure 1 et qui effectuent les mêmes opérations que celles décrites ci-dessus Un multiplexeur 102 introduit sélectivement des données d'adresses (une première et une dernière adresse) mémorisées dans l'unité de données d'adresses 101, dans les générateurs d'adresses 103 et 104. Les générateurs d'adresses 103 et 104 sont sélectivement commandés temporellement par un commutateur SW 1 à une cadence f Clk/n obtenue par division-par-n d'une fré- quence d'un signal d'horloge fclk par utilisation d'un di- viseur-par-n 111 Une mémoire principale 105 est composée de blocs de mémorisation à double accès comportant des accès d'entrée A reliés à une sortie du générateur d'adresses 103 et des accès d'entrée B reliés à une sortie du générateur d'adresses 104 Les accès de sortie A des blocs respectifs de mémoire sont reliés à des passages correspondants d'un verrou 106 à n- passages Les accès de sortie B sont reliés à des passages correspondants d'un verrou 107 à n-passages. Le blocage est synchronisé avec la cadence d'horloge fclk/n obtenue par division-par-n de la fréquence du signal d'horloge fclk par un diviseur-par-n 112. Les sorties de passages du verrou 106 sont séquentielle- ment sélectionnées en série dans le temps au moyen d'un multiplexeur 108 et la sortie sélectionnée est reliée à une entrée du multiplexeur 108 Les sorties de passages du verrou 107 sont séquentiellement sélection- nées en série dans le temps au moyen d'un multiplexeur 109 et la sortie sélectionnée est reliée à l'autre entrée du multiplexeur 110 L'une quelconque des sorties des multiplexeurs 108 et 109 est sélectionnée par le multiplexeur 110, à partir duquel un train d'impulsions désiré est fourni Le commutateur SW 1 et les multiplexeurs 102 et 110 sont commutés simultanément Concurremment avec cette opération de commutation, les diviseurs- par-n 111 et 112 et le compteur-n 113 sont ramenés à l'état initial. Pour mieux comprendre la présente invention on va décrire une réalisation préférée dans laquelle le train de données de sortie est modifié par un mode opératoire conditionnel En général, le système à accès A et le générateur d'adresses 103 sont sélection- nés par les multiplexeurs 102 et 110 et par le commutateur SW 1 Lorsque seulement ce système est utilisé, le fonctionnement est identique à ce qui a été expliqué en relation avec la Figure 2. Lors d'un fonctionnement dans le mode conditionnel, une adresse à sélectionner après que la condition est satisfaite est mémorisée auparavant dans le générateur d'adresses 104 Si la condition n'est pas établie, comme c'est souvent le cas, seulement le générateur d'adresses 103 produit l'adresse et les données du système à accès A sont fournies séquen- tiellement à la sortie tandis que le système à accès B et le générateur d'adresses 104 ne sont pas utilisés. Cependant, si la condition est établie, le multiplexeur 102 est relié au générateur d'adresses 104 tandis que le multiplexeur 110 est relié au système à accès B Simultanément, la sortie du diviseur-par-n 111 est reliée au générateur d'adresse 104 par commutation du commutateur SW 1 et les multiplexeurs 108 et 109 sontrespectivement ramenés à l'état initial, le résultat étant que l'opération de sortie du train d'impulsions est transférée au générateur d'adresses 104 et au système à accès B Ensuite, ce système est utilisé d'une manière continue, tandis que le générateur d'adresses 103 et le système à accès A terminent une opération jusqu'à ce qu'une seconde condition soit satisfaite. De cette manière, les données correspondant à différentes adresses peuvent être sorties indépendamment du cadencement de fonctionnement de la mémoire 105 En outre, le train d'impulsions de sortie est produit à une grande cadence de données aussi longtemps que les verrous 106 et 107 ont une cadence de fonctionnement plus rapide que celle de la mémoire 105. Lorsque des mémoires à double accès sont uti- lisées pour la mémoire 105, un verrouillage doit encore être effectué après une attente pendant un temps d'accès de la mémoire pour obtenir à la sortie des données correspondante Finalement, une période égale à un temps d'attente pouvant se prolonger jusqu'à la limite du bloc est nécessaire, avec pour résultat qu'un changement dans les données de sortie ne peut pas être effectué à un moment arbitraire. Lorsque les mémoires à double accès ont été utilisées, le problème concernant le temps d'accès peut être éliminé en préparant auparavant l'adresse suivante dans les accès qui sont initialement inopérants. Lorsque la condition est satisfaite, la donnée est déjà préparée pour un blocage et il en résulte que le temps d'attente n'est pas nécessaire. On va considérer dans la suite une donnée correspondant à un nombre arbitraire N, qui n'est pas défini comme un multiple de n. N = N * K + m, o K désigne le quotient obtenu par division de n par n, et m désigne le reste. Dans ce cas, pendant que le compteur d'adresses compte jusqu'à K, (n*K) données sont fournies à la sortie du multiplexeur 110 du fait que N données peuvent être sorties pour une adresse. Après l'adressage suivant, c'est-à-dire le (k+ 1)-ième adressage par le compteur d'adresses, en supposant que la condition est satisfaite après la m-ième (m est le reste) donné a été sortie, une commutation sur le système à accès B se produirait comme décrit ci-dessus Un signal qui informe que N données sont sorties est utilisé à la place de la satisfaction de condition. Lorsque N le temps d'accès aux adresses de la mémoire. Un autre exemple donnée à titre illustratif pour mieux comprendre la présente invention est obtenu quand le système opère dans un mode conditionnel et quand la condition est satisfaite à un instant arbitraire, alors que le nombre de données n'est pas un multiple de n. Dans une réalisation préférée, il est prévu un système additionnel, comprenant un générateur d'adresses ainsi qu'un verrou et un multiplexeur correspondants, de sorte que trois systèmes sont disponibles Lorsque l'un quelconque de ces systèmes est utilisé, les deux systèmes restants sont autorisés à opérer dans un cas o respectivement le nombre de données n'est pas un multiple de N et pour le mode conditionnel Dans cette réalisation, la mémoire principale 105 est composée de blocs de mémoire à triple accès. Les multiplexeurs 108 et 109 qui ont été cités dans la description des réalisations préférées peuvent être constitués de registres à décalage ou de verrous comportant des sorties à trois états. En référence à la Figure 4, celle-ci représente un schéma à blocs d'une autre réalisation préférée de la présente invention Dans cette réalisation, les composants intervenant en addition à ceux représentés sur la Figure 2 sont constitués par une mémoire à blocs ou une anté- mémoire à blocs 201 servant à mémoriser de façon préparatoire des données dans n-blocs, un multiplexeur 202 pour sélectionner séquentiellement des sorties respectives de l'anté-mémoire 201 en série dans le temps, et un multiplexeur 203 pour sélectionner les sorties des multiplexeurs 503 et 202. Typiquement, le multiplexeur 203 sélectionne le multiplexeur 503 tandis que le multiplexeur 202 reste inopérant La configuration et le fonctionnement du système sont identiques à ce qui a été représenté sur la Figure 2. Lorsqu'une condition est satisfaite, le multi- plexeur 202 est sélectionné et le diviseur-par-n 505 et le coupleur-n sont ramenés à l'état initial Puis les données mémorisées dans les n- blocs de l'anté-mémoire 201 sont séquentiellement sorties Après que la n- ième séquence de données a été sortie de la mémoire 201, le multiplexeur 203 revient au multiplexeur 503 et le système est ramené dans l'état de fonctionnement normal Les données mémorisées dans la mémoire 201 représentent les données désirées de sortie après qu'une condition est satisfaite Les données suivant la (n+l)ième donnée sont antérieurement mémorisées dans la mémoire 501 Pendant que les n-données se trouvant dans la mémoire 201 sont séquentiellement sorties, le compteur d'adresses 401 fournit à sa sortie une donnée d'adresse correspondant à la (n+l)ième donnée dans la mémoire 501. Le fonctionnement du système représenté sur la Figure 4 est le même que ce qui a été décrit pour la Figure 3, quand la donnée a une longueur d'impulsion N qui n'est pas un multiple de n. Lorsque la condition est établie à un instant arbitraire pendant une génération de données dont le nombre n'est pas un multiple de n, il est la en outre prévu une anté-mémoireà blocs additionnel le Une des antémémoires est utilisée lorsque le nombre de données n'est pas un multiple de N tandis que l'autre est utilisée pour modifier la séquence de données après qu'une condition est satisfaite Dans cette configuration, le multiplexeur 203 a de préférence trois entrées. Les multiplexeurs 503 et 202 décrits ci-dessus peuvent être des registres à décalage ou des verrous comportant des sorties à trois états. Bien entendu, la présente invention n'est nullement limitée aux modes de réalisation décrits et représentés; elle est susceptible de nombreuses variantes accessibles à l'homme de l'art, suivant les applications envisagées et sans que l'on ne s'écarte de l'esprit de l'invention. REVENDICATIONS 1 Système de génération de train de données, caractérisé en ce qu'il comprend: un moyen générateur de données d'adresses ( 101) produisant à sa sortie des données de première et dernière adresses, un moyen de division-par-n ( 111; 112) pour diviser-par-n une fréquence d'un signal d'horloge et pour produire à sa sortie la fréquence divisée- par-n; un premier et un second moyen générateur d'adresses ( 103, 104) pour produire à la sortie des adresses comprises entre lesdites première et dernière adresses en réponse à des signaux de sortie dudit moyen de division-par-n ( 112); un moyen de commutation (SW 1) pour sélection- ner le signal de sortie dudit moyen de division- par-n ( 112) et pour appliquer le signal de sortie auxdits premiers et seconds moyens générateurs d'adresses ( 103, 104); un premier moyen multiplexeur ( 108) pour appliquer sélectivement le signal de sortie dudit moyen générateur de données d'adresses ( 101) auxdits premiers et seconds moyens générateurs d'adresses ( 103, 104); des moyens de mémorisation à double accès ( 105; 201; 501) comprenant nblocs comportant chacun un accès d'entrée A relié à la sortie dudit premier moyen générateur d'adresses ( 103) et un second accès d'entrée B relié à la sortie dudit second moyen générateur d'adresses ( 104), chaque bloc comportant un accès de sortie A et un accès de sortie B; -des premier et second moyens de mémorisation à n-verrous ( 106, 107) comportant une entrée reliée au moyen de mémorisation à double accès, le premier moyen de mémorisation à n-verrous ( 106) comportant n-accès d'entrée qui sont reliés à l'accès de sortie A de chacun des n-blocs, les second moyen de mémorisation à n-verrous ( 107) comportant n-accès d'entrée reliés à l'accès de sortie B de chacun des n-blocs; un second moyen multiplexeur ( 109) pour sélectionner séquentiellement des données de sortie dudit premier moyen de mémorisation à n-verrous ( 106), les données étant associées auxdits accès d'entrée A en réponse auxdits signaux-d'horloge 4 un troisième moyen multiplexeur ( 203) pour sélectionner séquentiellement des données de sortie dudit second moyen de mémorisation à n-verrous ( 107), les données étant associées auxdits accès d'entrée B en réponse auxdits signaux d'horloge; un quatrième moyen multiplexeur ( 503) pour sélectionner des sorties desdits second ( 109) et troisième ( 203) moyens multiplexeurs; 2 Système de génération de train de données, caractérisé en ce qu'il comprend: un moyen de division- par-n ( 505) pour diviser-par-n une fréquence d'un signal d'horloge et pour fournir une sortie du résultat divisé-par- n; _ un moyen générateur d'adresses ( 103) comportant une entrée reliée à ladite sortie dudit moyen de division-par-n pour produire à une sortie des adresses comprises entre une première et une dernière adresse; un premier moyen de mémorisation ( 501) comprenant n-blocs, chaque bloc comportant une entrée reliée à la sortie dudit moyen générateur d'adresses ( 103) et une sortie fournissant des données de sortie mémorisées qui sont associées auxdites adresses d'entrée; un premier moyen multiplexeur ( 202) pour sélectionner séquentiellement des données de sortie dudit premier moyen de mémorisation en réponse auxdits signaux d'horloge; et un second moyen de mémorisation ( 201) comportant n-blocs dans lesquels des données sont mémorisées; un second moyen multiplexeur ( 203) pour sélectionner séquentiellement des données de sortie dudit second moyen de mémorisation ( 201) en réponse auxdits signaux d'horloge; et un troisième moyen multiplexeur ( 503) pour sélectionner des sorties desdits premier ( 202) et second ( 203) moyens multiplexeurs. 3 Système de génération de train de données selon la revendication 2, caractérisé en ce qu'il comprend en outre un moyen de mémorisation à nverrous ( 502) comportant n-entrées, chacune desdites entrées étant reliée à un des n-blocs pour recevoir des données associées auxdites adresses et une sortie pour chacune des n-entrées reliées audit premier moyen multiplexeur ( 108). 4 Système de génération de train de données selon la revendication 2, caractérisé en ce que chacun des n-blocs dudit second moyen de mémorisa- tion ( 201) comporte une entrée reliée à la sortie dudit moyen générateur d'adresses ( 103) et une sortie fournissant des données de sortie mémorisées qui sont associées auxdites adresses. Système de génération de train de données selon la revendication 4, caractérisé en ce que ledit premier moyen de mémorisation ( 105) comprend un moyen de mémorisation à double accès comportant n-blocs pourvus chacun d'un accès d'entrée relié à la sortie dudit moyen générateur d'adresses ( 103) et d'un autre accès d'entrée relié à la sortie dudit moyen générateur d'adresses ( 103), chacun desdits blocs comportant un premier et un second accès de sortie qui sont reliés audit premier moyen multi- plexeur ( 202) et audit second moyen multiplexeurs ( 203). 6 Système de génération de train de données selon la revendication 5, caractérisé en ce qu'il comprend en outre: un premier moyen de mémorisation à n- verrous ( 106) comportant n-entrées, chacune desdits entrées étant reliée à un des n-blocs dudit premier moyen de mémorisation pour recevoir des données associées auxdites adresses d'entrée et une sortie pour chacune des n-entrées reliées audit premier moyen multi- plexeur ( 202); un second moyen de mémorisation à n-verrous ( 107) comportant n-entrées, chacune desdites entrées étant reliée à un des nblocs dudit second moyen de mémorisation pour recevoir des données associées auxdites adresses d'entrée et une sortie pour chacune des nentrées reliées audit second moyen multiplexeur ( 203).