VHDL-Forum

 
Sie sind nicht eingeloggt.
LoginLogin Kostenlos anmeldenKostenlos anmelden
BeiträgeBeiträge MembersMitglieder SucheSuche HilfeHilfe
VotesUmfragen FilesDateien CalendarKalender BookmarksBookmarks
Multiplikationsschleife

Anfang   zurück   weiter   Ende
Autor Beitrag
student
Gast
New PostErstellt: 15.05.06, 08:57  Betreff: Multiplikationsschleife  drucken  Thema drucken  weiterempfehlen Antwort mit Zitat  

Ich versuche gerade einen digitalen Multiplizierer zu programmieren, der zwei positive, vier-Bit-breiten Zahlen im Binärsystem multiplizieren soll.
Frage:

Wie oft wird die Multiplikationsschleife bei der Multiplikation zwei vierstelliger Zahlen durchlaufen?

Wie groß ist der Ergebnisvektor zu wählen, damit selbst die Multiplikation der größtmöglichen Werten keinen Überlauf verursacht?
4,8..oder 16Bit?
nach oben
Alex
Neuling


Beiträge: 8

New PostErstellt: 16.05.06, 22:35  Betreff: Re: Multiplikationsschleife  drucken  weiterempfehlen Antwort mit Zitat  

Hallo Student,

mit einer 4-bit breiten positiven Zahl lassen sich die Werte 0 bis 15
darstellen, d.h. mit einer Multiplikation liegt das Ergebnis irgendwo
zwischen 0 und 225 -> d.h. Du brauchts 8 bit für die Darstellung des
Ergebnisses (n-Bit mal n-Bit benötigt immer 2n-Bit).

> Wie oft wird die Multiplikationsschleife durchlaufen ...
???
Hängt davon ab, wie Du die Multiplikation implementierst.
Bei 4 Bit kann man eine Multiplikation durchaus direkt in einem Taktzyklus
ausführen, also "keine" Schleife - nur ein Durchlauf.
Will man beispielsweise zwei 16-Bit-Vektoren multiplizieren, kann
man das z.B. durch 4 Multiplikationen machen, die unteren beiden Bytes,
die oberen beiden Bytes und die Paare jeweils über Kreuz. Das ganze noch
entsprechent an die richtige Stelle geschoben und addiert.

Man kann allerdings auch die eine Zahl immer um eine Stelle nach links
schieben (entspricht einer Multiplikation mit 2) und auf das Ergebnis
aufaddieren, abhängig davon, ob das zugehörige Bit in der anderen
Zahl =1 ist oder nicht.
Dann würde man bei 4*4 vier Multiplikationen (und 3 Shift und 3 Add)
benötigen, bei 8*8 entsprechend 8 Multiplikationen usw.
(Genaugenommen sind's nur 3 (bzw. 7) Multiplikationen, da der erste
Wert nur eine Multiplikation mit 1 (oder 0) ist, also nicht als
Multiplikation ausgeführt werden muss.)

Gruss,

Alex

nach oben
Benutzerprofil anzeigen Private Nachricht an dieses Mitglied senden
student
Gast
New PostErstellt: 17.05.06, 12:25  Betreff: Re: Multiplikationsschleife  drucken  weiterempfehlen Antwort mit Zitat  

Vielen Dank Alex. Das Problem hat sich erledigt.
nach oben
Sortierung ndern:  
Anfang   zurück   weiter   Ende
Seite 1 von 1
Gehe zu:   
Search

powered by carookee.com - eigenes profi-forum kostenlos

Design © trevorj