11.10.2013 Aufrufe

Unterlagen zu Versuch 2

Unterlagen zu Versuch 2

Unterlagen zu Versuch 2

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!