Unterlagen zu Versuch 2
Unterlagen zu Versuch 2
Unterlagen zu Versuch 2
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Praktikum <strong>zu</strong> RgS 2 <strong>Versuch</strong>2: VHDL-VERHALTENSBESCHREIBUNG<br />
3. <strong>Versuch</strong>sziel<br />
In diesem <strong>Versuch</strong> soll die übliche Vorgehensweise bei einer Hardwareentwicklung - von der Idee bis<br />
<strong>zu</strong>r realisierbaren Schaltung - angedeutet werden. Ziel ist hier, die Entwicklung eines Multiplizierers, der<br />
zwei binäre, 4-Bit-breite, positive Zahlen miteinander multipliziert.<br />
3.1. Vorgehensweise<br />
Zunächst sollte der Entwickler den grundlegenden, sprachunabhängigen Algorithmus seiner Problemlösung<br />
finden. In unserem Fall kann dieser aus der bekannten schriftlichen Multiplikation mit mehrstelligem<br />
Multiplikator gewonnen werden.<br />
Multipliziert man zwei mehrstellige Zahlen, so führt man die Multiplikation stellenweise von der 10 0 Stelle<br />
<strong>zu</strong> höheren Stellenwertigkeiten durch. Üblicherweise bildet man <strong>zu</strong>erst alle Stellenmultiplikationen und<br />
addiert dann alle Zwischenergebnisse.<br />
Beispiel:<br />
536 * 237<br />
3752 -- 10 0<br />
1608 -- 10 1<br />
1072 -- 10 2<br />
127032<br />
Hier wird die Aufgabe - im Zehnersystem - auf zwei Multiplikationen<br />
mit einstelligem Multiplikator <strong>zu</strong>rückgeführt. Die Multiplikation<br />
mit der “(i - 1)-ten” Potenz der Zahlenbasis erfolg<br />
implizit durch die Stellenverschiebung der Ergebnisse.<br />
Für die Durchführung der Rechnung sind folgende Werkzeuge<br />
nötig:<br />
Stellenverschiebung<br />
Multiplikation mit einstelligem Multiplikator<br />
Addition<br />
Für eine technische Realisierung muss man die Dualzahlen-Darstellung annehmen. Die Stellenmultiplikation<br />
ergibt entweder Null, wenn die Multiplikatorstelle ’0’ ist oder den Multiplikanden, wenn sie ’1’ ist.<br />
Die Addition erfolgt nach jeder Stellenberechnung akkumulativ. Das weitere Beispiel für positive 4-bit<br />
Dualzahlen soll dies zeigen:<br />
Beispiel:<br />
3.2. Aufgabe 1<br />
1010 * 0110<br />
0000<br />
+ 0000 -- 2 0<br />
0000 – ZE1<br />
+ 1010 -- 2 1<br />
10100 – ZE2<br />
+ 1010 -- 2 2<br />
110100 – ZE2<br />
+ 0000 -- 2 3<br />
0110100 -- Erg<br />
Im Dualsystem ist jeweils die Summenbildung nach jeder<br />
Stelle angedeutet durch ZEi.<br />
Man erkennt den Algorithmus durch iterative Stellenverschiebung<br />
und Addition (Shift & Add).<br />
Entwickeln Sie einen Multiplizierer nach dem oben vorgestellten Algorithmus, der zwei positive, vierstellige<br />
Zahlen des Typs Integer im Zehnersystem Multipliziert.<br />
Erlaubte Werkzeuge sind:<br />
Schleifenkonstrukte (z.B. for-Schleifen);<br />
for k in 1 to 8 loop<br />
.....<br />
Universität Duisburg-Essen; Fakultät 5; Abt. IIMT; Inst. Informationstechnik (IT), Verteilte Systeme (VS) Seite 7