Jack
Gast
|
Erstellt: 19.05.06, 18:16 Betreff: IDEA-Algorithmus(Modulo-Multiplizierer)
drucken
Thema drucken weiterempfehlen
|
|
|
hi jungs, bei diesem Modulo-Multiplizierer werden zwei 16-Bit Eingangsvektoren miteinander Multipliziert, wobei eine Eingangsbelegung von 0 jeweils durch eine Belegung von 2^16 ersezt wird. Das 33Bit breite Ergebnis der Multiplikation wird modulo (2^16)+1 genommen und danach auf 16 Bit begrenzt. Ich hab mir gedacht:
1.Schritt: Ich ersetze erstmal die Eingangsbelegungen von 0. seien A und B die Eingänge des MMultiplizieres. wenn A=0 => X1<= "10000000000000000" wenn B=0 => X2<= "10000000000000000" mit X1 und X2 Variablen in meinem Process
2.Schritt: ich multipliziere die 17Bit breiten Variablen X1,X2 und bekomme Y (33Bit : der höchste Wert von X ist 2^16 also Ymax=2^32 => deshalb 33 Bit )
3.Schritt: Modulo-Operation Y->Z Gegeben ist der Low-High Algorithmus ab mod (2n + 1) = (ab mod 2n) - (ab div 2n) ;(ab mod 2n)>=abdiv(2n) ab mod (2n + 1) = (ab mod 2n) - (ab div 2n)+2^n+1 ; else
4.Schritt:Begrenzung auf 16 Bit (Z->O)
Nun zu meiner Frage : wie lässt sich die Modulo-Operation(Schritt 3) implementieren ?
Danke im Voraus
MfG Jack
|
|