Brevet FR2645294A1 — publié le 19901005

i La présente invention se rapporte à un montage pour donner le produit pondéré de deux-nombres binaires. Fréquemment, dans des systèmes-de traitement de signaux numériques, il est nécessaire de multiplier un nombre entier par un nombre fractionnaire. La précision du produit ne sera pas meilleure que la précision du nombre entier. La largeur binaire du produit et ainsi la largeur binaire du circuit multiplicateur sera égale à la somme du nombre de bits dans le multiplicateur et le multiplicande. Cependant, en général, le produit ne doit pas nécessairement être exprimé avec plus de bits que le nombre de bits dans le multiplicande plus un. Pour la facilité de l'assemblage du matériel de traitement, les nombres fractionnaires sont fréquemment convertis en un format à virgule flottante, pour réduire le nombre de connexions requises. Dans ce cas, des calculs sont accomplis en utilisant des nombres non fractionnaires avec les résultats finalement justifiés et tronqués d'une manière appropriée à la précision requise. Un exemple de ce type de montage peut être trouvé dans un montage d'un récepteur de télévision numérique pour ajuster la teinte ou couleur. Dans ce montage, des grandeurs de signal représentant des signaux de différence de couleurs sont multipliées par des facteurs de correction sous la forme de sinus et de cosinus pour produire des vecteurs appropriés de couleur. Les valeurs fractionnaires représentant les sinus et les cosinus sont typiquement produites par des circuits de mémoire qui sont programmés R pour produire les sinus et cosinus multipliés par 2 o R est égal au nombre de bits qui sera utilisé pour représenter un sinus ou cosinus fractionnaire. Les sinus et cosinus multipliés sont ainsi produits sous la forme de nombres entiers que l'on utilise alors dans le montage de correction. Il faut cependant noter que si une fraction d'une précision de X bits est placée sous une forme à virgule flottante pour multiplier un nombre entier d'une précision de X bits, le produit sera un nombre de 2X bits avant justification et troncature appropriées. Ainsi, qu'une fraction de X bits soit ou non placée en format à virgule flottante pour multiplier un nombre entier de X bits, des circuits multiplicateurs typiques donnent-des produits de 2X bits. Selon les principes de la présente invention, un multiplicateur est prévu pour multiplier un nombre entier par une fraction à virgule flottante et donner un produit bien justifié et tronqué d'une précision égale à celle du nombre entier, en utilisant un montage simplifié relativement à celui des circuits multiplicateurs typiques. A titre d'exemple, le nouveau multiplicateur peut de manière pratique être utilisé pour donner le produit d'un premier nombre par un second nombre de X bits, lequel produit est pondéré par 2 (X-1). La présente invention est un multiplicateur à mots en série ayant une première boucle répondant à une impulsion de charge pour charger un échantillon multiplicateur à bits en parallèle et répondant à une horloge du système, pour produire, en tant qu'impulsions de commande, les bits de l'échantillon multiplicateur en une séquence du bit de poids fort en premier au bit de poids faible en dernier. Une seconde boucle répondant à l'impulsion de charge, charge un échantillon multiplicande à bits en parallèle et, répondant à l'horloge du système, produit une séquence de sous-échantillons à bits en parallèle, chaque sous-échantillon correspondant à l'échantillon multiplicande divisé en succession par deux. Un circuit de déclenchement, couplé aux première et seconde boucles répondant aux impulsions de commande, laisse passer les sous-échantillons qui se produisent con- curremment avec une impulsion de commande. Les sous- -échantilions qui passent par le circuit de déclenchement sont appliqués à une troisième boucle du circuit ayant un accumulateur pour additionner les sous-échantillons. L'accumulateur est remis à zéro en réponse aux impulsions de charge et donne un produit après un nombre prédéterminé d'impulsions d'horloge. L'invention sera mieux comprise, et d'autres buts, caractéristiques, détails et avantages de celle-ci apparaîtront plus clairement au cours de la description explicative qui va suivre faite en référence aux dessins schématiques annexés donnés uniquement à titre d'exemple illustrant plusieurs modes de réalisation de l'invention, et dans lesquels: - La figure 1 est un schéma de formes d'onde choisies d'échantillons et d'horloge utiles pour décrire l'invention; - la figure 2 donne un schéma bloc d'un exemple d'un montage multiplicateur selon l'invention; - la figure 3 donne un schéma bloc d'un autre mode de réalisation de l'invention; et - la figure 4 est un schéma partiel d'un autre mode de réalisation d'un circuit multiplicateur. La structure de base de la présente invention est un multiplicateur à un quadrant pour donner des produits pondérés d'échantillons modulés par impulsions codées (PCM) (comme des échantillons binaires). Le quadrant particulier choisi pour la description est le quadrant o le multiplicateur et le multiplicande sont tous deux positifs. D'autres quadrants peuvent être choisis avec des modifications mineures du montage à décrire. Le système est un système à mots en série, ce qui, dans le contexte de la préserte divulgation, signifie que les échantillons PCM à multiplier (multiplicande et multiplicateur) se présentent sous la forme d'échantillons à bits en parallèle à une fréquence prédéterminée Fs mais que le traitement de chaque échantillon est accompli de manière itérative selon, par exemple, le nombre de bits dans un échantillon multiplicateur. Sur la figure 1, la fréquence des échantillons est égale à la fréquence du signal L Les périodes des échantillons multiplicandes A P sont indiquées par les blocs de temporisation "A" et la période des échantillons multiplicateurs est indiquée par les blocs de temporisation "B". Une horloge du système Fc est montrée à la figure 1, laquelle horloge est utilisée pour réaliser le traitement itératif. La forme d'onde donnée à titre d'exemple de l'horloge du système Fc est montrée comme ayant neuf périodes par période- d'échantillon. Cela force la largeur binaire des échantillons multiplicateurs à être de neuf ou moins. Alternativement, si les échantillons multiplicateurs ont N bits, l'horloge du système doit avoir au moins N cycles par période d'échantillon. On se réfère maintenant à la figure 2. Sur la figure, les flèches larges indiquent les bus de connexion en parallèle. Un trait en diagonale à travers un bus avec un nombre adjacent au trait indique le nombre de connexions dans le bus. Des échantillons multiplicateurs, B, sont appliqués d'une source (non représentée) à une connexion d'entrée 10. Des échantillons multiplicandes, A, sont appliqués d'une autre source (non représentée) à une connexion d'entrée 20. Les échantillons multiplicandes sont couplés à un élément du circuit 22 o ils sont multipliés par le facteur de 2. Dans cette description, on suppose que les échantillons multiplicateurs et multiplicandes sont en format binaire. En format binaire, la multiplication d'échantillons par le facteur de 2 est accomplie en décalant les bits respectifs de l'échantillon à une position d'importance binaire plus grande et en insérant un zéro à la position de moindre poids (LTSB). Sur la figure 2, ll1ément 22 est un d&calage binaire câbié d'une position d'un bit de plus grande importance. Les échantillons multiplicateurs B sont appliqués à un point d'entrée d'un multiplexeur 12 et les échantillons muliplicandes dans les (2A) sont appliqués à un point d'entrée d'un autre multiplexeur 24. Quand le signal d'impulsion de charge Lp est haut, les échantillons 2A et B sont introduits dans les boucles respectives de traitement du système par les multiplexeurs 24 et 12. Une boucle comprend le multiplexeur 12, le verrouillage 16 et les éléments 14 et 18. L'élément 14 est simplement une connexion de câblage qui élimine la connexion du bit de poids fort du bus reliant la sortie du multiplexeur à l'entrée du verrouillage 16. La connexion du bit de poids fort est utilisée comme signal de déclenchement Gs et est couplée pour commander les circuits ET 30 et 32. L'élément 18 est un agencement de câblage qui décale tous les bits d'un échantillon à une position de plus grande importance en ajoutant une position de LSB ayant une valeur nulle. Quand l'impulsion de charge est basse, l'élément 14, le verrouillage 16 et l'élément 18 sont configurés en un circuit fermé par le multiplexeur 12. L'échantillon B introduit dans cette boucle est mis en circulation dans la boucle par le verrouillage 16 qui est déclenché par l'horloge du système Fc. Le verrouillage 16 peut être un verrouillage du type D avec les échantillons B en circulation qui sont couplés à son entrée "Donnée", le signal d'horloge du système étant couplé à son entrée "Horloge". Pendant chaque période de l'horloge du système, Fc, l'échantillon B circule autour de la boucle et un bit de poids faible passe à la position de MSB. On suppose que les bits d'un échantillon B, agencés de MSB à LSB, sont désignés par B8, B7, B6..B1, Bo. Quand l'échantillon est d'abord chargé dans la boucle. le bit B8 est à la position de MSB et est appliqué en tant que signal de porte Gs, aux circuits ET 30 et 32. Pendant la période subséquente du signal d'horloge Fc, le bit B7 est à la position de MSB et 2645294- est appliqué sous la forme du signal Gs. La rangée des symboles désignée par Gs sur la figure 1 illustre la séquence des bits échantillons qui sont appliqués pour commander les circuits ET pendant les périodes respectives d'horloge. La seconde boucle comprend le multiplexeur 24, l'élément de circuit 26 et le verrouillage 28. Le verrouillage 28 peut être un verrouillage du type D déclenché par l'horloge Fc du système. L'élément 26 est un agencement de câblage qui décale tous les bits de l'échantillon 2A à une position de moindre importance. Ce décalage des bits accomplit une fonction de division par deux. L'élément 26 peut être agencé soit pour précéder ou pour suivre le verrouillage 28. Si l'élément 26 est placé après le verrouillage 28, le verrouillage 28 doit simplement être un verrouillage de N bits plutôt qu'un verrouillags de N+1 bits. Les échantillons multiplicandes sont mis en circulation dans la seconde boucle sous le contrôle de l'horloge Fc du système. A chaque fois que l'échantillon est mis en circulation, il est divisé par le facteur de deux. Pour chaque période de l'horloge Fc, qui se produit pendant une période d'échantillon, la valeur respective de l'échantillon donnée par le multiplexeur 24 est illustrée à la figure 1 dans la rangée marquée MUX 24. En supposant que l'échantillon 2A a N+1 bits, les N MSB de l'échantillon produit par le multiplexeur. 24 sont appliqués au circuit ET 30 et le LSB est cbuplé au circuit ET 32. Les circuits ET 30 et 32 laissent passer les valeurs binaires qui sont couplées à leurs connexions respectives d'entrée quand le signal Gs présente un état logique prédéterminé, tel qu'une valeur UN logique et produit des valeurs nulles lorsque-le signal Gs présente un étant logique opposé à l'état prédéterminé. La connexion de sortie du circuit ET 30 est couplée à un premier point d'entrée d'un circuit additionneur 40. La connexion de sortie du circuit ET 32 est couplée à la borne d'entrée de report de l'additionneur 40. Le point de sortie de l'additionneur est couplé au point d'entrée du verrouillage 42, dont le point de sortie est couplé au point d'entrée d'un circuit ET 38. Le point de sortie du circuit ET 38 est couplé à un second point d'entrée de l'additionneur 40. L'additionneur 40, le verrouillage 42 et le circuit ET 38 forment un circuit accumulateur typique. Le circuit ET 38 est conditionné par le signal Lp pour ouvrir la boucle de contre-réaction d'accumulateur et ainsi réinitialiser l'accumultateur à chaque fois qu'un nouvel échantillon est chargé dans le système (pendant les impulsions Lp) et pour ferme la boucle pendant des périodes subséquentes de l'horloge du système. Les N MSB des échantillons du multiplexeur 24 sont appliqués aux N positions de LSB du point d'entrée de l'additionneur 40. Cette Connexion accomplit une autre division par deux. Les valeurs d'échantillon -ui sont appliquées au point d'entrée A de l'additionneur pour chaque période d'horloge sont montrées dans la région des valeurs de la figure 1 marquée AIN. Il faut noter que chacune de ces valeurs est un produit d'un échantillon A fractionnaire par une valeur binaire (un ou zéro) de l'échantillon B. Les valeurs séquentielles de sortie produites par le circuit additionneur 40 sont montrées en partie en dessous de la rangée AIN. Les valeurs de sortie produites par l'accumulateur, c'est-à-dire le verrouillage 42, sont les mêmes que les valeurs de sortie produites par l'additionneur mais se produisent à une période de l'horloge du système Fc plus tard. La dernière somme mentionnée illustrée à la figure 1 correspond à la valeur du produit donnée par le multiplicateur. Si chaque bit de l'échantillon B est un UN logique, l'échantillon de sortie est égal à A fois:(1+255/256) ou 511/256. Typiquement, cependant, si les échantillons multiplicateurs sont de valeur positive et sous forme de complément à deux, le MSB (B) sera de valeur nulle. Dans ce cas, l'étendue des valeurs de sortie va de A fois 255/256 à A fois zéro. Chacune de ces valeurs d'échantillon de sortie est plus faible que la valeur d'échantillon d'origine A et ainsi peut être représentée par le même nombre de bits que l'échantillon multiplicande A. Par conséquent, l'additionneur 40, le verrouillage 42 et le circuit ET 38 doivent avoir une capacité binaire qui n'est pas plus - importante que celle du multiplicande. Sur la figure, ces éléments sont pourvus d'un bit supplémentaire pour tenir compte d'un MSB non nul de l'échantillon B et pour offrir un bit supplémentaire pour empêcher un repliement dans le cas d'un bruit corrompant le procédé. Une caractéristique facultative du montage de la figure 2 est l'application du LSB du multiplicande à l'entrée de report de l'additionneur accumulateur. La porte ET 30 applique, à l'additionneur 40, un produit divisé par 2 et partiel tronqué. Le LSB produit par la porte ET 32 représente le restant de la division qui, lorsqu'on l'ajoute en tant qu'une entrée de report, a une fonction d'arrondissement. L'addition de LSB par le report empêche des erreurs de troncature. Le résultat de l'accumulateur est toujours aussi proche du bon résultat que la précision du nombre de bits le permet. En se référant au tout dernier produit de la figure 1, on peut voir que le nombre de bits dans l'échantillon multiplicateur B est de 9 mais que le produit est divisé par 28. Par conséquent, si l'échantillon multiplicateur a m bits, le système de la figure 2 accomplit la fonction AB/2m-1. Il faut de plus noter que si l'échantillon multiplicateur B a mains de 9 bits, l'effet sur les rangées Gs et AIN de la figure 1 sera une substitution de zéro pour les positions binaires de moindre d'importance. Par exemple, si les échantillons ont cinq bits de large, chaque case dans les rangées Gs et AIN ayant les bits B3, B2, B1 et B0 sera de valeur zéro. Le produit de sortie sera égal à AB/2 = AB/16. Le fait que le nombre de bits dans l'échantillon B soit plus faible que le nombre de périodes d'horloge du système par échantillon n'a pas d'importance. La seule restriction est que le nombre de périodes d'horloge du système par échantillon soit au moins aussi important que le nombre de bits définissant les échantillons multiplicateurs. Le nombre de bits dans les échantillons multiplicandes n'a pas de conséquence pour déterminer le signal d'horlcge du système. La figure 3 adapte le montage de la figure 2 pour multiplier des nombres de différentes polarités. Cela est accompli par un montage qui a) assure que seuls des échantillons de valeur positive sont appliques au circuit multiplicateur de la figure et b) permet de garder les polarités d'origine des échantillons d'entrée de manière qu'aux échantillons à la sortie du mulitiplicateur puisse être assignée la polarité appropriée. Sur la figure 3, les échantillons d'un signal multiplicande d'entrée A' sont appliqués à un circuit de complémentation 60. Le bit de signe des échantillons d'entrée est également couplé à une borne d'entrée de commande C du circuit de complémentation. En réponse aux bits de signe des échantillons d'entrée, le circuit de complémentation 60 inverse la polarité des échantillons négatifs et fait passer des échantillons positifs non modifiés au point d'entrée 20 du montage de la figure 2. De même, un signal d'entrée multiplicateur B' est appliqué à un circuit de complémentation 62 qui applique des échantillons B d'une seule polarité à la connexion d'entrée 10. Les bits de signe des échantillons de signa]. A' et B' sont appliqués au montage logique comprenant les portes ET 64 et 66 et la porte OU 68. Ce montage logique, à la sortie de la porte OU 68, produit un signal de contrôle de polarité ayant un état logique UN à chaque fois que les échantillons A' et B' sont de polarité opposée et un état zéro logique autrement. Le signal de contr8le de polarité est chargé dans un verrouillage 72 à la transition négative de l'impulsion de charge. Le verrouillage 72 stocke le signal de contrôle pendant une période de temps égale à une période d'échantillon et qui s'étend sur l'intervalle o le signal de sortie de multiplicateur est correct. Le signal stocké de contrôle de polarité est appliqué à la borne d'entrée du contrôle d'un autre circuit de complémentation 74. Le circuit 74 est agencé pour laisser passer les produits à la sortie du montage de la figure 2 sans les changer quand le signal de contrôle de polarité présente ud état logique zéro et pour compléter les produits de sortie quand le signal de contrôle de polarité présente un état logique UN. La figure 4 est un autre agencement pour une portion de montage de la figure 2. Sur la figure 4, la première boucle pour le traitement des échantillons multiplicateurs B est remplacée par un registre à décalage 82 à entrée en parallèle-sortie en série. Les échantillons B à bits en parallèle sont introduits dans le registre 82 en réponse au signal d'impulsion de charge Lp. Les bits des échantillons B sont agencés séquentiellement dans le registre 82, le bit le plus important étant le plus près de la connexion de sortie en série. Les bits sont séquentiellemert décalés vers la borne de sortie en réponse à l'horloge du système Fc. La borne de sortie en série du registre 82 est couplée aux bornes de commande des circuits de déclenchements 30 et 32. La seconde boucle pour le traitement des échantillons 2A est remplacée par un registre à décalage entrée en parallèle-sortie en parallèle 80. Les bits des échantillons 2A sont chargés en parallèle dans le registre en réponse aux impulsions de charge Lp. La connexion de sortie en parallèle corres- pondant au LSB çst couplée à la borne d'entrée du circuit porte 32. Les connexions restantes de sortie en parallèle il correspondant aux bits de poids fort sont couplées à la borne d'entrée du circuit porte 30. Le registre 80, en réponse à l'horloge du système Fc, décale séquentiellement les bits introduits dans le registre 80 vers une position de moindre importance à chaque période de l'horloge Fc. La position du bit le plus important qui est vidée par l'opération de décalage est conditionnée pour présenter un étant logique zéro. En fonctionnant de cette manière, le registre à décalage 80 accomplit une fonction de division o par deux à chaque cycle d'horloge du système. Les connexions de sortie des circuits portes 30 et 32 sont couplées à un montage similaire à celui montré à la figure 2. Il faut noter que le montage de la figure 4 est, par sa conception, plus simple que celui illustré à la figure 2; cependant, le montage de la figure 2 est préféré parce qu'il est plus performant et plus facile à réaliser sous forme intégrée. REVEND I CATIONS 1. Montage multiplicateur pour donner les produits d'échantillons A et B en PCM à bits en parallèle, lesdits échantillons A et B ayant respectivement-des bits d'importance croissante comprenant un LSB et un MSB, ledit montage multiplicateur comprenant des sources respectives desdits échantillons PCM A et B, un signal-impulsionnel de charge et un signal d'horloge du système Fc, caractérisé par: -.un premier moyen (12, 14, 16, 18) répondant lo audit signal impulsionnel de charge pour charger un échantillon B, répondant à ladite horloge du système Fc pour produire un signal de déclenchement correspondant à une séquence de bits dudit échantillon B en ordre descendant d'importance à partir du MSB en premier jusqu'au LSB en dernier; - un second moyen (22, 24, 28) répondant audit signal impulsionnel de.charge pour charger un échantillon A et répondant audit signal d'horloge du système pour produire une séquence d'échantillons correspondant audit échantillon A, divisé en succession par deux; - un troisième moyen (30) couplé audit second -moyen et répondant audit signal de déclenchement présentant un état prédéterminé pour laisser passer les bits de poids fort à l'exclusion dudit LSB de ladite séquence d'échantillons correspondant audit échantillon A, divisé en succession par deux; - un montage additionneur (40) ayant une première borne d'entrée et une borne de sortie couplées via un verrouillage répondant audit signal d'horloge du système Fc pour configurer ledit montage additionneur en tant qu'accumulateur, ledit montage ayant-une seconde borne d'entrée couplée audit troisième moyen avec lesdits bits de poids fort couplés aux positions des bits de moindre poids de ladite seconde borne d'entrée et en ce cue ledit accumulateur donne un produit pondéré de sortie à la présence du signal impulsionnel de cnarge. 2. Montage multiplicateur selon la revendication 1, caractérisé de plus en ce que l'échantillon B se com- pose de m bits et l'accumulateur (40) donne des produits m-1 pondérés de sorties égaux à AB/2m, A et B représentant les valeurs des échantillons A et B, respectivement. 3. Montage multiplicateur selon la revendication 1, caractérisé de plus par: - un quatrième moyen (32) couplé audit second moyen et répondant au signal de déclenchement présentant un état prédéterminé pour laisser passer le LSB de la séquence d'échantillons correspondant à l'échantillon A divisé en succession par deux; - et de plus, en ce que ledit montage additionneur a une borne d'entrée de report pour recevoir le LSB ayant passé par le quatrième moyen. 4. Montage multiplicateur selon.la revendication 3, cractérisé de plus en ce que le premier moyen com- prend: - un multiplexeur (12) ayant une première borne d'entrée pour recevoir l'échantillon B, ayant-une seconde borne d'entrée et une borne de sortie; - un verrouillage déclenché (16) ayant des bornes d'entrée et de sortie et répondant à l'horloge du systme Fc pour stocker un échantillon appliqué à sa borne d'entrée; - un cinquième moyen (14) ayant des connexions d'entrée et de sortie pour recevoir un échantillon à bits en parallèle et décaler chacun des bits. de l'échantillon vers une position de plus grande importance et; - un moyen (18) pour relier en série le verrouillage déclenché et le cinquième moyen entre la borne de sortie et le seconde borne d'entrée du multiplexeur et en ce que l'accès du signal de déclenchement est par le MSB de la borne de sortie du multiplexeur. 5. Montage multiplicateur selon la revendication 3, caractérisé de plus en ce que le second moyen com- prend: - un moyen (22) couplé pour recevoir l'échantillon A pour multiplier ledit échantillon A par le facteur de 2; - un multiplexeur (24) ayant une première borne d'entrée couplée pour recevoir l'échantillon A multiplié par deux, ayant une seconde borne d'entrée et une borne de sortie; - un verrouillage déclenché (28) ayant des bornes respectives d'entrée et de sortie et répondant au signal d'horloge du système pour stocker des échantillons appliqués à sa borne d'entrée; - un cinquième moyen (26) ayant des connexions respectives d'entrée et de sortie pour diviser les échantillons appliqués à ses connexions d'entrée par le facteur de deux; - un moyen pour coupler en série le verrouillage et le cinquième moyen entre la borne de sortie du multiplexeur et la seconde borne d'entrée dudit multiplexeur et en ce que les troisième et quatrième moyens sont couplés à la borne de sortie du multiplexeur. 6. Montage multiplicateur selon la revendication , caractérisé de plus, en ce que le premier moyen comprend: - un autre multiplexeur (12) ayant une première borne d'entrée pour recevoir l'échantillon B, ayant une seconde borne d'entrée et une borne de sortie; - un autre verrouillage (16) ayant des bornes d'entrée et de sortie et répondant à l'horloge du système Fc pour stocker un échantillon appliqué à la borne d'entrée; - un sixième moyen ayant des connexions d'entrée et de sortie pour recevoir un échantillon à bits en parallèle et décaler chacun des bits de l'échantillon à une position de plus grande importance-; et - un moyen pour connecter en série l'autre verrouillage et le sixième moyen entre la borne de de sortie et la seconde borne d'entrée de l'autre multiplexeur et en ce que l'accès de signal de déclenchement est du MSB de la borne de sortie de l'autre multiplexeur.