Multiplieurs en "CS" |
Produits partiels d'opérandes en "CS" |
Le multiplieur X et les multiplicande A sont tous les deux en "CS",
c'est à dire écrits avec des chiffres Î { '0',
'1', '2'}. Une matrice de cellules "xCS" génère (n2 + 2n) bits dont la somme pondérée P est égale à A * X. Pour assurer que ces cellules "xCS" ne débordent jamais, il est nécessaire que dans l'écriture A ou bien dans l'écriture de X tout chiffre '2' soit précédé à droite par un '0'. Donc A ou bien X nécessite une réécriture. Dans l'applet les deux flèches ![]() |
Réduction des produits partiels |
Les produits partiels de la multiplication de nombres en "CS" sont simplement des bits, réduits de la même façon que pour les multiplieurs précédents. |
La cellule "xCS" permet de calculer le produit de deux chiffres "a" et "x" tous deux
en "CS". Son équation arithmétique est "2 × y + 2 × b + i = x × a + c + z". De plus les sorties "y" et "b" ne dépendent jamais des entrées "z" ou "c" (pas de propagation). En effet "c + z" ne prend pour valeur que 0 ou 1 (il est impossible que "c + z" vaille 2) et "a × x" ne prend pour valeur que 0, 1, 2 ou 4. Seul la valeur 1 pourrait provoquer une propagation, mais elle n'est possible que si c et z sont tous les deux 0. |
Le transcodeur "CS2CS" réécrit de "CS" à "CS" en garantissant qu'en sortie un '2' est toujours précédé à droite par un '0'. |
Codeur "CS2BC" |
Le transcodeur "CS2BC" réécrit de "CS" à "BC" , c'est à dire du code à retenue conservée base 2 au code symétrique de redondance minimum base 4. |
Multiplieurs par des constantes |
Multiplication d'un nombre par une série de constantes |
La transformée de Fourier discrète, la transformée Cosinus ou son inverse, le filtre numérique, etc..., contiennent des multiplications d'une variable X par plusieurs constantes C1, C2, .. Cn. La factorisation de ces constantes permet de réduire le nombre d'additions/soustractions de l'ensemble de ces multiplications, parfois fortement. L'applet ci-dessous calcule Y1 = X*C1, Y2 = X*C2, .. Yn = X*Cn. |